esug2012/references.bib
author hlopkmar
Sat, 01 Dec 2012 22:06:11 +0000
branchdevelopment
changeset 1851 d74d5dc547f3
parent 1396 01684fc4f368
permissions -rw-r--r--
junit tests for param annotations

@comment{This file has been generated by Pybliographer}

@article{Hirs08a,
  Abstract     = {Context-dependent behavior is becoming increasingly
                  important for a wide range of application domains,
                  from pervasive computing to common business
                  applications. Unfortunately, mainstream programming
                  languages do not provide mechanisms that enable
                  software entities to adapt their behavior
                  dynamically to the current execution context. This
                  leads developers to adopt convoluted designs to
                  achieve the necessary runtime flexibility. We
                  propose a new programming technique called
                  Context-oriented Programming (COP) which addresses
                  this problem. COP treats context explicitly, and
                  provides mechanisms to dynamically adapt behavior in
                  reaction to changes in context, even after system
                  deployment at runtime. In this paper we lay the
                  foundations of COP, show how dynamic layer
                  activation enables multi-dimensional dispatch,
                  illustrate the application of COP by examples in
                  several language extensions, and demonstrate that
                  COP is largely independent of other commitments to
                  programming style.},
  Annote       = {internationaljournal},
  Author       = {Robert Hirschfeld and Pascal Costanza and Oscar Nierstrasz},
  Bdsk-Url-1   = {http://www.jot.fm/issues/issue_2008_03/article4/index.html
                  http://www.jot.fm/issues/issue_2008_03/article4.pdf},
  Cached       = {http://scg.unibe.ch/archive/papers/Hirs08aCOP-JOT.pdf},
  Journal      = {Journal of Object Technology},
  Keywords     = {cop-lit cop jot scg08 scg-pub skip-doi jb08 snf08
                  onhindex(104)},
  Medium       = {2},
  Misc	       = {March-April},
  Month	       = mar,
  Number       = {3},
  Peerreview   = {yes},
  Title	       = {Context-Oriented Programming},
  Doi	       = {10.5381/jot.2008.7.3.a4},
  Url	       = {http://www.jot.fm/contents/issue_2008_03/article4.html http://www.jot.fm/issues/issue_2008_03/article4.pdf},
  Volume       = {7},
  Year	       = {2008},
  Bdsk-Url-2   = {http://www.jot.fm/issues/issue_2008_03/article4/index.html%20http://www.jot.fm/issues/issue_2008_03/article4.pdf}
}

@InProceedings{Cian96c,
  Author         = {Paolo Cinacarini and Davide Rossi},
  Title          = {Jada: Coordination and Communication for {Java} Agents},
  BookTitle      = {MOS '96: Towards the Programmable Internet},
  Volume         = {1222},
  Series         = {LNCS},
  Pages          = {213-228},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {coordination},
  month          = jul,
  year           = 1996
}

@InProceedings{Vand98b,
  Author         = {Mark van den Brand and Alex Sellink and Chris Verhoef},
  Title          = {Current Parsing Techniques in Software Renovation
                   Considered Harmful},
  BookTitle      = {Proceedings of 6th International Workshop on Program
                   Comprehension (IWPC '98)},
  Editor         = {S. Tilley and G. Visaggio},
  Pages          = {108-117},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/WPC.1998.693325},
  keywords       = {parsing},
  misc           = {was: Bran98c},
  month          = jun,
  year           = 1998
}

@Article{Duca02w,
  Author         = {St\'ephane Ducasse},
  Title          = {SUnit: Ces tests que souvent l'on deteste},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 39,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2002
}

@Book{Kruc04a,
  Author         = {Philippe Kruchten},
  Title          = {The Rational Unified Process},
  Publisher      = {Addison-Wesley},
  Edition        = {Third},
  isbn           = {0321197704},
  keywords       = {scglib},
  year           = 2004
}

@Misc{Hami97a,
  Author         = {Graham Hamilton and Rick Hamilton and Rick Cattell and
                   Maydene Fisher},
  Title          = {{JDBC} Database Access with {Java}},
  isbn           = {0-201-30995-5},
  keywords       = {java jdbc scglib},
  year           = 1997
}

@InProceedings{Prat04a,
  Author         = {Polyvios Pratikakis and Jaime Spacco and Michael Hicks},
  Title          = {Transparent proxies for java futures},
  BookTitle      = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN
                   Conference on Object-oriented programming, systems,
                   languages, and applications},
  Pages          = {206-223},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028976.1028994},
  isbn           = {1-58113-831-9},
  keywords       = {nonstandard types},
  location       = {Vancouver, BC, Canada},
  url            = {https://drum.umd.edu/dspace/bitstream/1903/1347/1/CS-TR-4574.pdf},
  year           = 2004
}

@Article{McIl60a,
  Author         = {M. Douglas McIlroy},
  Title          = {Macro instruction extensions of compiler languages},
  Journal        = {Communications of the {ACM}},
  Volume         = 3,
  Number         = 4,
  Pages          = {214-220},
  year           = 1960
}

@InProceedings{Free04a,
  Author         = {Steve Freeman and Nat Pryce and Tim Mackinnon and Joe
                   Walnes},
  Title          = {Mock Roles, not Objects},
  BookTitle      = {Companion of OOPSLA '04, ACM SIGPLAN Notices},
  Pages          = {236-246},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  url            = {http://www.jmock.org/oopsla2004.pdf},
  year           = 2004
}

@InProceedings{Haut02a,
  Author         = {E. Hautus},
  Title          = {Inmproving {Java} Software Through Package Structure
                   Analysis},
  BookTitle      = {International Conference Software Engineering and
                   Applications},
  year           = 2002
}

@Book{Bert74a,
  Author         = {Jacques Bertin},
  Title          = {Graphische Semiologie},
  Publisher      = {Walter de Gruyter},
  keywords       = {visualization scglib},
  year           = 1974
}

@InCollection{Nier05a,
  Author         = {Oscar Nierstrasz and Franz Achermann},
  Title          = {Separating Concerns with First-Class Namespaces},
  BookTitle      = {Aspect-Oriented Software Development},
  Publisher      = {Addison-Wesley},
  Editor         = {Robert E. Filman and Tzilla Elrad and Siobh\'an Clarke
                   and Mehmet Aksit},
  Pages          = {243-259},
  abstract       = {As applications evolve, it becomes harder and harder
                   to separate independent concerns. Small changes to a
                   software system increasingly affect different parts of
                   the source code. AOP and related approaches offer
                   various ways to separate concerns into concrete
                   software artifacts, but what is the \emph{essence} of
                   this process? We claim that first-class namespaces
                   ---which we refer to as \emph{forms}--- offer a
                   suitable foundation for separating concerns, by
                   offering simple, yet expressive mechanisms for defining
                   composable abstractions. We demonstrate how forms help
                   a programmer to separate concerns by means of practical
                   examples in Piccola, an experimental composition
                   language.},
  cvs            = {PiccolaAOSDbook},
  isbn           = {0-321-21976-7},
  keywords       = {snf04 scg-pub skipdoi jb05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05aNamespaces.pdf},
  year           = 2005
}

@Manual{Look96a,
  Title          = {Manual of Look},
  Author         = {Objective Software Technology},
  Organization   = {{Objective} {Software} {Technology}},
  Address        = {1 Michaelson Square, Livingston, Scotland},
  url            = {http://www.objectivesoft.com},
  year           = 1996
}

@InProceedings{Nico87b,
  Author         = {Rocco de Nicola and Matthew Hennessy},
  Title          = {{CCS} Without {\tau}s},
  BookTitle      = {Proceedings TAPSOFT '87},
  Editor         = {Ehrig and Kowalski and Levi and Montanari},
  Series         = {LNCS 249},
  Pages          = {138-152},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence tapsoft87 tccs binder(ccs)},
  year           = 1987
}

@InProceedings{Berg07a,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz and Roel Wuyts},
  Title          = {Stateful Traits},
  BookTitle      = {Advances in Smalltalk --- Proceedings of 14th
                   International Smalltalk Conference (ISC 2006)},
  Volume         = {4406},
  Series         = {LNCS},
  Pages          = {66-90},
  Publisher      = {Springer},
  abstract       = {Traits offer a fine-grained mechanism to compose
                   classes from reusable components while avoiding
                   problems of fragility brought by multiple inheritance
                   and mixins. Traits as originally proposed are
                   \emph{stateless}, that is, they contain only methods,
                   but no instance variables. State can only be accessed
                   within traits by accessors, which become \emph{required
                   methods} of the trait. Although this approach works
                   reasonably well in practice, it means that many traits,
                   viewed as software components, are artificially
                   \emph{incomplete}, and classes that use such traits may
                   contain significant amounts of boilerplate glue code.
                   Although these limitations are largely mitigated by
                   proper tool support, we seek a cleaner solution that
                   supports \emph{stateful traits}. The key difficulty is
                   how to handle conflicts that arise when composed traits
                   contribute instance variables whose names clash. We
                   present a solution that is faithful to the guiding
                   principle of stateless traits: \emph{the client retains
                   control of the composition}. Stateful traits consist of
                   a minimal extension to stateless traits in which
                   instance variables are purely local to the scope of a
                   trait, unless they are explicitly made accessible by
                   the composing client of a trait. Naming conflicts are
                   avoided, and variables of disjoint traits can be
                   explicitly merged by clients. We discuss and compare
                   two implementation strategies, and briefly present a
                   case study in which stateful traits have been used to
                   refactor the trait-based version of the Smalltalk
                   collection hierarchy.},
  annote         = {internationalconference},
  keywords       = {stefPub scg-pub jb07 snf06 },
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg07aStatefulTraits.pdf},
  year           = 2007
}

@Unpublished{Deme97c,
  Author         = {Serge Demeyer},
  Title          = {{Tool} {Support} for {Object}--{Oriented}
                   {Re}--engineering. {F}{A}{M}{O}{O}{S} --- {Lessons}
                   {Learned} {II}},
  Note           = {3rd FAMOSS Re--engineering workshop, March 1997,
                   Karlsruhe Germany},
  month          = feb,
  year           = 1997
}

@MastersThesis{Reng06a,
  Author         = {Lukas Renggli},
  Title          = {{Magritte} -- Meta-Described Web Application
                   Development},
  School         = {University of Bern},
  abstract       = {Developing applications that end users can customize
                   is a challenge, since end users are domain experts but
                   still have concrete requirements. In this master thesis
                   we present how we used a meta-driven approach to
                   support the end user customization of Web applications.
                   We present Magritte, a recursive meta-data meta-model
                   integrated into the Smalltalk reflective meta-model.
                   The adaptive model of Magritte enables to not only
                   describe existing classes but also let end users build
                   their own meta-models on the fly. Further on we
                   describe how meta-interpreters automatically build
                   views, reports, validating editors and persistency
                   mechanisms. As a complete example of how we applied a
                   meta-model to a Web application we present Pier, the
                   second version of a fully object-oriented
                   implementation of a content management system and Wiki
                   engine. Pier is implemented with objects from the top
                   to the bottom and is designed to be customizable to
                   accommodate new needs. The integration of a powerful
                   meta-description layer makes it a breeze to extend the
                   running system with new functionality without having to
                   patch the core engine. We describe the lessons learned
                   from using the Magritte meta-model to build
                   applications. Both projects described in this thesis
                   are open source and can be downloaded from the Web site
                   of the author. },
  keywords       = {scg-msc scg-pub skipdoi magritte pier jb06 fb06 snf06},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Reng06a.pdf},
  year           = 2006
}

@PhdThesis{Barr95a,
  Author         = {Manuel Barrio Sol\'orzano},
  Title          = {Estudio de Aspectos Din\'amicos en Sistemas Orientados
                   al Objeto},
  School         = {Universidad de Valladolid, Spain},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit pcalc binder},
  month          = sep,
  year           = 1995
}

@InProceedings{Nier05b,
  Author         = {Oscar Nierstrasz and Alexandre Bergel and Marcus
                   Denker and St\'ephane Ducasse and Markus Gaelli and
                   Roel Wuyts},
  Title          = {On the Revival of Dynamic Languages},
  BookTitle      = {Proceedings of Software Composition 2005},
  Editor         = {Thomas Gschwind and Uwe A{\ss}mann},
  Volume         = {3628},
  Pages          = {1-13},
  Publisher      = {LNCS 3628},
  Note           = {Invited paper},
  abstract       = { The programming languages of today are stuck in a
                   deep rut that has developed over the past 50 years.
                   Although we are faced with new challenges posed by
                   enormous advances in hardware and internet technology,
                   we continue to struggle with old-fashioned languages
                   based on rigid, static, closed-world file-based views
                   of programming. We argue the need for a new class of
                   dynamic languages that support a view of programming as
                   constant evolution of living and open software models.
                   Such languages would require features such as dynamic
                   first-class namespaces, explicit meta-models, optional,
                   pluggable type systems, and incremental compilation of
                   running software systems.},
  annote         = {invited},
  cvs            = {SC05Revival},
  doi            = {http://dx.doi.org/10.1007/11550679_1},
  isbn           = {3-540-28748-5},
  keywords       = {snf05 snf-actsc scg-pub jb06},
  misc           = {gaelli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05bRevival.pdf},
  year           = 2005
}

@TechReport{Kate90a,
  Author         = {Manolis Katevenis and T. Sorilos and Christos Georgis
                   and P. Kalogerakis},
  Title          = {Laby User's Manual (version 2.10)},
  Institution    = {Foundation of Research and Technology --- Hellas},
  Type           = {ITHACA report},
  Number         = {FORTH.90.E3.3.#7},
  Address        = {Iraklion, Crete},
  keywords       = {olit-ithaca laby},
  misc           = {Dec. 31},
  month          = dec,
  year           = 1990
}

@Book{Pigo97a,
  Author         = {T. Pigoski},
  Title          = {Practical Software Maintenance. Best Practices
                   Managing your Software Investment.},
  Publisher      = {John Wiley and Sons},
  keywords       = {book scglib},
  year           = 1997
}

@InProceedings{Scal88a,
  Author         = {C.A. Scaletti and Ralph E. Johnson},
  Title          = {An Interactive Environment for Object-Oriented Music
                   Composition and Sound Synthesis},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {222-233},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Klim98a,
  Author         = {Edward J. Klimas},
  Title          = {Getting The Biggest Bang For Your Buck},
  Journal        = {Visual Age Magazine},
  month          = may,
  year           = 1998
}

@InProceedings{Wei91b,
  Author         = {Jiawang Wei and Markus Endler},
  Title          = {Programming Dynamic Reconfigurations for
                   Multi-Language Distributed Applications},
  BookTitle      = {Proc. 24th Hawaii Conference on System Science},
  keywords       = {olit rex scripting binder},
  month          = jan,
  year           = 1991
}

@Misc{Dewa00a,
  Author         = {Rick Dewar et al.},
  Title          = {PublicReengineering Wiki},
  Note           = {http://www.dcs.ed.ac.uk/home/rgd/wiki/html/PublicReengineering/ReengineeringPatterns.htm},
  keywords       = {olit oorp}
}

@InProceedings{Wang03a,
  Author         = {Qin Wang and Wei Wang and Rhodes Brown and Karel
                   Driesen and Bruno Dufour and Laurie Hendfren and Clark
                   Verbrugge},
  Title          = {{EVolve}: an Open Extensible Software Visualization
                   Framework},
  BookTitle      = {Proceedings of ACM Symposium on Software Visualization
                   (SOFTVIS 2003)},
  Pages          = {37--49},
  year           = 2003
}

@InProceedings{Nier00c,
  Author         = {Oscar Nierstrasz and Jean-Guy Schneider and Franz
                   Achermann},
  Title          = {Agents Everywhere, All the Time},
  BookTitle      = {ECOOP 2000 Workshop on Component-Oriented Programming},
  abstract       = {Moore's Law is pushing us inevitably towards a world
                   of pervasive, wireless, spontaneously networked
                   computing devices. Whatever these devices do, they will
                   have to talk to and negotiate with one another, and so
                   software agents will have to represent them. Whereas
                   conventional services on intranets will continue to be
                   distributed using established middleware standards,
                   internet services are being built on top of http, wap
                   or other protocols, and exchange information in HTML,
                   XML and just about anything that can be wrapped as a
                   MIME type or streamed. This situation leads us to three
                   software problems: (i) How can we simplify the task of
                   programming these agents? (i.e., {Java} is not enough),
                   (ii) How can agents interact and interoperate in an
                   open, evolving network environment? (i.e., XML is not
                   enough), (iii) How can we reason about the services
                   that agents provide and use? (i.e., IDL is not enough).
                   We discuss these questions in the context of our work
                   on Piccola, a small composition language, and outline
                   ongoing and further research.},
  annote         = {internationalworkshop},
  keywords       = {oobib(gen) piccola scg-pub skipdoi snf00 jb00
                   scg-coord-00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier00cAgentsEverywhere.pdf},
  year           = 2000
}

@InCollection{Hui93a,
  Author         = {Siu Cheung Hui and Angela Goh and Jose K. Raphel},
  Title          = {{CLOG}: {A} Class-Based Logic Language For
                   Object-Oriented Databases},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {356-370},
  abstract       = {In this paper a class-based logic language for
                   object-oriented databases which is called CLOG is
                   described. CLOG is based on many sorted horn clauses
                   with concept of classes, objects, object identity,
                   multiple class membership of objects and non-monotonic
                   inheritance. The database view of a class is maintained
                   as a collection of objects and a type. Class is a
                   collection of many sorted horn clauses and functions
                   which define the structural and behavioral aspects of
                   an object. Generic classes give parameterized types.
                   Queries are class-based. Support for view and derived
                   classes are inherent.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Bach04a,
  Author         = {Felix Bachmann and Michael Goedicke and Julio Leite
                   and Robert Nord and Klaus Pohl and Balasubramaniam
                   Ramesh and Alexander Vilbig},
  Title          = {A Meta-model for Representing Variability in Product
                   Family Development},
  BookTitle      = {Proceedings of Europ\"aischen Workshop zur
                   Produktfamilien-Entwicklung (PFE'03)},
  Volume         = {3014},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {66--80},
  Publisher      = {Springer-Verlag},
  year           = 2004
}

@TechReport{Papa92a,
  Author         = {Michael Papathomas},
  Title          = {Behaviour Compatibility and Specification for Active
                   Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {For taking advantage of object-oriented programming
                   features such as data-abstraction, late binding, type
                   polymorphism and inheritance for software reuse, it is
                   essential to have a precise understanding of whether or
                   not classes providing similar functionality are
                   interchangeable within programs and to be able to
                   determine and state what are the behavioural
                   constraints to be met by a class implementation. We
                   discuss the importance of these issues in the context
                   of concurrent programs where determining
                   substitutability of classes may be extremely complex,
                   and discuss the use of process calculi for modelling
                   object-behaviours and investigating behaviour
                   compatibility between classes. We then identify some
                   issues that should be addressed by such models and
                   discuss directions for further investigation of these
                   issues.},
  editor         = {D. Tsichritzis},
  keywords       = {olit pcalc osg-ftp of92},
  month          = jul,
  pages          = {31-40},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/behaviourCompatibility.pdf},
  year           = 1992
}

@Article{Dijk71a,
  Author         = {Edsger W. Dijkstra},
  Title          = {Hierarchical ordering of sequential processes},
  Journal        = {Acta Informatica},
  Volume         = {1},
  Number         = {2},
  Pages          = {115-138},
  keywords       = {dining philosophers},
  url            = {http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF},
  year           = 1971
}

@Book{Date92a,
  Author         = {C. J. Date and D. McGoveran},
  Title          = {A Guide to Sybase and {SQL} Server},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-55710-X},
  keywords       = {book scglib},
  year           = 1992
}

@InProceedings{Mull93a,
  Author         = {Hausi A. M{\"u}ller},
  Title          = {Software {Engineering} {Education} should concentrate
                   on {Software} {Evolution}},
  BookTitle      = {Proceedings of National Workshop on Software
                   Engineering Education},
  Pages          = {102-104},
  Note           = {University of Victoria (Canada)},
  keywords       = {software engineering education binder},
  location       = {Toronto, Canada},
  month          = may,
  year           = 1993
}

@PhdThesis{Huet91a,
  Author         = {Hans H{\"u}ttel},
  Title          = {Decidability, Behavioural Equivalences and Infinite
                   Transition Graphs},
  School         = {Computer Science Dept., University of Edinburgh},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pcalc equivalence binder},
  month          = dec,
  number         = {ECS-LFCS-91-181},
  year           = 1991
}

@Book{Cars87a,
  Author         = {James P. Carse},
  Title          = {Finite and Infinite Games -- A Vision of Life as Play
                   and Possibility},
  Publisher      = {Ballantine Books},
  isbn           = {978-0345341846},
  year           = 1987
}

@InCollection{Mohn02a,
  Author         = {Markus Mohnen},
  Title          = {Interfaces with default implementations in {Java}},
  BookTitle      = {Conference on the Principles and Practice of
                   Programming in {Java}},
  Publisher      = {ACM Press},
  Pages          = {35-40},
  Address        = {Dublin, Ireland},
  month          = {jun},
  year           = 2002
}

@InCollection{Knie05a,
  Author         = {G{\"u}nter Kniesel and Tobias Rho},
  Title          = {Generic Aspect Languages -- Needs, Options and
                   Challenges, JFDLPA 2005},
  BookTitle      = {Proceedings of JFDLPA 2005},
  Publisher      = {Hermes Paris},
  month          = sep,
  year           = 2005
}

@TechReport{Ande93a,
  Author         = {Egil P. Andersen},
  Title          = {Substitutability of Abstract Behaviour Descriptions},
  Institution    = {University of Oslo},
  Type           = {preliminary draft},
  keywords       = {types olit binder},
  url            = {ftp://ftp.ifi.uio.no/pub/rolem/BDConformance.ps.gz},
  year           = 1993
}

@Article{Solo88a,
  Author         = {Elliot Soloway and Robin Lampert and Stan Letovsky and
                   David Littman and Jeannine Pinto},
  Title          = {Designing {Documentation} to {Compensate} for
                   {Delocalized} {Plans}},
  Journal        = {Commununications of ACM},
  Volume         = {31},
  Number         = {11},
  Pages          = {1259-1267},
  publisher      = {ACM Press},
  year           = 1988
}

@InProceedings{Bane87b,
  Author         = {Jay Banerjee and Won Kim and H-J. Kim and H.F. Korth},
  Title          = {Semantics and Implementation of Schema Evolution in
                   Object-Oriented Databases},
  BookTitle      = {Proceedings ACM SIGMOD '87},
  Volume         = {16},
  Pages          = {311-322},
  keywords       = {olit-db orion schema evolution oobib(oodb)},
  month          = dec,
  year           = 1987
}

@InProceedings{Rako94a,
  Author         = {Andry Rakotonirainy},
  Title          = {{DPL} to Express a Concurrency Control Using
                   Transaction and Object Semantics},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Series         = {LNCS 791},
  Pages          = {122-138},
  Publisher      = {Springer-Verlag},
  abstract       = {There is a currently considerable interest in advanced
                   transaction processing. Most proposals weaken
                   serializability. The concurrency of transactions
                   executing on shared objects can be enhanced with the
                   use of semantic information about operations type or
                   through user defined semantics called transaction
                   semantic. This paper attempts to unify the two
                   approaches; we present an extended model which exploits
                   both transaction and object semantics to increase
                   concurrency. The approach we adopt is similar to the
                   one used in [Lynch83,Molina83,FO89]. However, our
                   mechanism for specifying allowable interleavings is
                   based on predicate over step types and synchronization
                   operators. It supports concurrent execution of steps
                   and synchronization amongst them. We will integrate
                   this distributed concurrency control policy into a high
                   level language to hide low-level details such as locks,
                   timestamps management and concurrent activities
                   synchronization inside the implementation of the
                   language constructs. We use ANSA computational language
                   DPL (Distributed Programming Language) as a basic
                   language construct. We propose a few DPL extensions to
                   support our model. This model is suitable to express a
                   wide range of synchronization constraints between
                   concurrent activities.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InProceedings{Beec88a,
  Author         = {David Beech},
  Title          = {Intensional Concepts in an Object Database Model},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {164-175},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Misc{OCaml,
  Title          = {OCaml},
  Note           = {http://caml.inria.fr/},
  keywords       = {OCaml}
}

@InProceedings{Inve93a,
  Author         = {P. Inverardi and B. Krishnamurthy and D. Yankelevich},
  Title          = {Yeast: {A} Case Study for a Practical Use of Formal
                   Methods},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {105-120},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@InProceedings{Medv03a,
  Author         = {Nenad Medvidovic and Alexander Egyed and Paul
                   Gruenbacher},
  Title          = {Stemming Architectural Erosion by Architectural
                   Discovery and Recovery},
  BookTitle      = {Proceedings of the 2nd Second International Workshop
                   from Software Requirements to Architectures (STRAW)},
  year           = 2003
}

@Article{Roet07a,
  Author         = {David R{\"o}thlisberger and Marcus Denker and {\'E}ric
                   Tanter},
  Title          = {Unanticipated Partial Behavioral Reflection: Adapting
                   Applications at Runtime},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Note           = {To appear},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2007.05.001},
  keywords       = {scg-pub jb07 snf07 inprint},
  publisher      = {Elsevier},
  year           = 2007
}

@InProceedings{Cassou07a,
  Author         = {Damien Cassou and St\'{e}phane Ducasse and Roel Wuyts},
  Title          = {Redesigning with traits: the Nile stream trait-based
                   library},
  BookTitle      = {ICDL '07: Proceedings of the 2007 international
                   conference on Dynamic languages},
  Pages          = {50--75},
  Address        = {New York, NY, USA},
  Publisher      = {ACM},
  doi            = {http://doi.acm.org/10.1145/1352678.1352682},
  isbn           = {978-1-60558-084-5},
  location       = {Lugano, Switzerland},
  year           = 2007
}

@InProceedings{MacQ67a,
  Author         = {J. B. MacQueen},
  Title          = {Some {Methods} for {Classification} and {Analysis} of
                   {Multivariate} {Observations}},
  BookTitle      = {Proceedings of the 5th Symposium on Mathematics,
                   Statistics and Probability},
  Pages          = {281-297},
  Address        = {Berkley},
  Publisher      = {University of California Press},
  keywords       = {clustering},
  year           = 1967
}

@Book{Carg92a,
  Author         = {Tom Cargill},
  Title          = {{C}++ Programming Style},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-56365-7},
  keywords       = {c++ scglib},
  year           = 1992
}

@Article{Alth99a,
  Author         = {Marcel Altherr and Martin Erzberger and Silvano
                   Maffeis},
  Title          = {{SoftWired} {iBus} --- Middleware for the {Java}
                   Platform},
  Journal        = {{Java} Report},
  Volume         = 4,
  Number         = 12,
  month          = dec,
  year           = 1999
}

@InProceedings{Coll03a,
  Author         = {Christian Collberg and Stephen Kobourov and Jasvir
                   Nagra and Jacob Pitts and Kevin Wampler},
  Title          = {A System for Graph-based Visualization of the
                   Evolution of Software},
  BookTitle      = {Proceedings of the 2003 ACM Symposium on Software
                   Visualization},
  Pages          = {77--86},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  isbn           = {1-58113-642-0},
  keywords       = {evolution},
  location       = {San Diego, California},
  year           = 2003
}

@InProceedings{Krist94a,
  Author         = {Bent Brunn Kristensen},
  Title          = {Complex Associations: Abstractions in Object-Oriented
                   Modeling},
  BookTitle      = {Proceedings of OOPSLA '94},
  Editor         = {ACM},
  Volume         = {29},
  Number         = {10},
  Series         = {ACM Sigplan Notices},
  Pages          = {272-286},
  Address        = {Portland},
  Organization   = {ACM},
  month          = oct,
  year           = 1994
}

@Book{Appe92a,
  Author         = {Andrew W. Appel},
  Title          = {Compiling with Continuations},
  Publisher      = {Cambridge University Press},
  keywords       = {compiler sml binder (shelf)},
  year           = 1992
}

@Article{Fowl01a,
  Author         = {Martin Fowler and Jim Highsmith},
  Title          = {The {Agile} {Manifesto}},
  Journal        = {Software Development Magazine},
  Volume         = {9(8)},
  Note           = {http://agilemanifesto.org},
  month          = aug,
  year           = 2001
}

@InProceedings{Duca98b,
  Author         = {St\'ephane Ducasse and Robb Nebbe and Tamar Richner},
  Title          = {Two Reengineering Patterns: Eliminating Type Checking},
  BookTitle      = {Proceedings of the 4th European Conference on Pattern
                   Languages of Programming and Computing, 1999},
  Editor         = {Paul Dyson},
  Address        = {Konstanz, Germany},
  Publisher      = {UVK Universit\"atsverlag Konstanz GmbH},
  abstract       = {A reengineering pattern describes how to go from an
                   existing legacy solution to a new refactored solution.
                   In this paper we discuss the role of reengineering
                   patterns and contrast them with design patterns and
                   antipatterns. We then highlight the structure of a
                   reengineering pattern and present two simple, related
                   patterns for type-check elimination.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi olit famoos-papunr oobib snf98 pattern
                   jb98 stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca98bTwoReengPatterns.pdf},
  year           = 1998
}

@InProceedings{Szcz88a,
  Author         = {Martha R. Szczur and Philip Miller},
  Title          = {Transportable Applications Environment ({TAE}) Plus
                   Experiences in "Object"-ively Modernizing a User
                   Interface Environment},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {58-70},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Duca06f,
  Author         = {St\'ephane Ducasse and Serge Stinckwich},
  Title          = {Seaside: d\'eveloppement d'applications web en
                   Smalltalk},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 86,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = sep,
  year           = 2006
}

@Book{Booc97a,
  Author         = {Grady Booch and James Rumbaugh},
  Title          = {Unified Method for Object-Oriented Development Version
                   1.0},
  Publisher      = {Rational Software Corporation},
  keywords       = {olit scglib book},
  year           = 1997
}

@PhdThesis{Pinz05b,
  Author         = {Martin Pinzger},
  Title          = {ArchView -- Analyzing Evolutionary Aspects of Complex
                   Software Systems},
  School         = {Vienna University of Technology},
  year           = 2005
}

@Article{Oppe80a,
  Author         = {Derek C. Oppen},
  Title          = {Prettyprinting},
  Journal        = {ACM Transactions on Programming Languages and Systems
                   (TOPLAS)},
  Volume         = {2},
  Number         = {4},
  Pages          = {465-483},
  month          = oct,
  year           = 1980
}

@MastersThesis{Duca93a,
  Author         = {St\'ephane Ducasse},
  Title          = {Protocole meta pour l'expression de relations dans un
                   langage \`a objets},
  School         = {Laboratoire I3S-Universit\'e de Nice-Sophia Antipolis},
  Note           = {Equipe Janus, Supervis\'e par M. Blay-Fornarino et E.
                   Gall\'esio, Team Janus, supervised by M. Blay-Fornarino
                   and E. Gall\'esio},
  annote         = {dea},
  keywords       = {flo},
  month          = sep,
  year           = 1993
}

@InProceedings{Maed96a,
  Author         = {C. Maeda},
  Title          = {A Metaobject Protocol For Controlling File Cache
                   Management},
  BookTitle      = {Proceedings of ISOTAS '96, LNCS 1049},
  Pages          = {275-286},
  Organization   = {JSSST-JAIST},
  month          = mar,
  year           = 1996
}

@Article{Baud02a,
  Author         = {Benoit Baudry and Franck Fleurey and Jean-Marc
                   Jezequel and Yves Le Traon},
  Title          = {Automatic Test Cases Optimization Using a
                   Bacteriological Adaptation Model: Application to .NET
                   Components},
  Journal        = {ase},
  Volume         = {00},
  Pages          = {253},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ASE.2002.1115023},
  issn           = {1527-1366},
  publisher      = {IEEE Computer Society},
  year           = 2002
}

@InProceedings{Harr86a,
  Author         = {D.R. Harris},
  Title          = {A Hybrid Structured Object and Constraint
                   Representation Language},
  BookTitle      = {Proceedings of the AAAI '86},
  Pages          = {986-990},
  year           = 1986
}

@Book{Niel93b,
  Author         = {Jakob Nielsen},
  Title          = {Usability Engineering},
  Publisher      = {Morgan Kaufmann},
  keywords       = {oorp scglib},
  year           = 1999
}

@TechReport{Bake90a,
  Author         = {Henry G. Baker},
  Title          = {The Nimble Type Inferencer for Common Lisp-84},
  Institution    = {Nimble Computer Corp.},
  Type           = {Pre-publication draft},
  Note           = {submitted to ACM TOPLAS},
  keywords       = {types fp binder},
  month          = apr,
  url            = {ftp://ftp.netcom.com/pub/hbaker/TInference.ps.gz},
  year           = 1990
}

@InProceedings{Mens03b,
  Author         = {Tom Mens and Tom Tourw\'{e} and Francisca Munoz},
  Title          = {Content-Based Software Classification by
                   Self-Organization},
  BookTitle      = {Proc. International Workshop Principles of Software
                   Evolution},
  Pages          = {39--44},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-7695-1903-2},
  keywords       = {refactoring, software evolution},
  year           = 2003
}

@Book{863556,
  Author         = {Samuele Pedroni and Noel Rappin},
  Title          = {Jython Essentials: Rapid Scripting in Java},
  Publisher      = {O'Reilly \& Associates, Inc.},
  Address        = {Sebastopol, CA, USA},
  isbn           = {0596002475},
  year           = 2002
}

@InProceedings{Kreu87a,
  Author         = {Wolfgang Kreutzer},
  Title          = {A Modeller's Workbench: Experiments in Object-Oriented
                   Simulation},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {203-212},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@TechReport{Stad90a,
  Author         = {Marc Stadelmann and Gerti Kappel and Jan Vitek},
  Title          = {{VST}: {A} Scripting Tool Based on the {UNIX} Shell},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Scripting is a programming technique in which
                   applications are built by composing specially designed,
                   pre-packaged software components. Depending on the kind
                   of applications different types of components and ways
                   of composing them will be used. Hence, we distinguish
                   between scripting models, defining the allowed
                   components and kinds of connections between them, and
                   scripting tools, helping to build scripts in accordance
                   to the underlying model. We describe the implementation
                   of the Visual Scripting Tool VST which supports the
                   construction of scripts through the interactive editing
                   of scripts' visual counterparts. The current version of
                   the VST supports the UNIX shell scripting model.
                   Extensions to VST supporting different scripting models
                   are discussed.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca osg om90},
  month          = jul,
  pages          = {333-344},
  year           = 1990
}

@InProceedings{Ceri00a,
  Author         = {Stefano Ceri and Piero Fraternali and Aldo Bongio},
  Title          = {Web modeling language ({Web}{M}{L}): a modeling
                   language for designing Web sites},
  BookTitle      = {Ninth International World Wide Web Conference},
  year           = 2000
}

@InProceedings{Vion94a,
  Author         = {Jean-Yves Vion-Dury and Miguel Santana},
  Title          = {Virtual Images: Interactive Visualization of
                   Distributed Object-Oriented Systems},
  BookTitle      = {Proceedings of OOPSLA 1994},
  Editor         = {ACM Press},
  Pages          = {65-84},
  keywords       = {sv},
  year           = 1994
}

@Article{Jung96a,
  Author         = {R. Jungclaus and G. Saake and T. Hartmann and C.
                   Sernadas},
  Title          = {Troll --- A langguae for Object-Oriented Specification
                   of Information Systems},
  Journal        = {ACM transactions on Inofrmation Systems},
  Volume         = {14},
  Number         = {2},
  Pages          = {175-211},
  month          = apr,
  year           = 1996
}

@Article{Vain04a,
  Author         = {Daniel Vainsencher},
  Title          = {MudPie: layers in the ball of mud.},
  Journal        = {Computer Languages, Systems {\&} Structures},
  Volume         = {30},
  Number         = {1-2},
  Pages          = {5-19},
  bibsource      = {DBLP, http://dblp.uni-trier.de},
  ee             = {http://dx.doi.org/10.1016/j.cl.2003.09.001},
  year           = 2004
}

@Unpublished{Huni95a,
  Author         = {Hermann H{\"u}ni and Ralph Johnson and Robert Engel},
  Title          = {A Framework for Network Protocol Software},
  Note           = {GLUE Software Engineering (Bern), Ascom Tech AG(Bern),
                   University of Illinois},
  keywords       = {oobib(gen) patterns networks binder},
  misc           = {February 28},
  month          = feb,
  type           = {Draft},
  year           = 1995
}

@InProceedings{Gamm93b,
  Author         = {Erich Gamma and Richard Helm and John Vlissides and
                   Ralph E. Johnson},
  Title          = {Design Patterns: Abstraction and Reuse of
                   Object-Oriented Design},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {406-431},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {We propose design patterns as a new mechanism for
                   expressing object-oriented design experience. Design
                   patterns identify, name, and abstract common themes in
                   object-oriented design. They capture the intent behind
                   a design by identifying objects, their collaborations,
                   and the distribution of responsibilities. Design
                   patterns play many roles in the object-oriented
                   development process: they provide a common vocabulary
                   for design, they reduce system complexity by naming and
                   defining abstractions, they constitute a base of
                   experience for building reusable software, and they act
                   as building blocks from which more complex designs can
                   be built. Design patterns can be considered reusable
                   micro-architectures that contribute to an overall
                   system architecture. We describe how to express and
                   organize design patterns and introduce a catalog of
                   design patterns. We also describe our experience in
                   applying design patterns to the design of
                   object-oriented systems.},
  keywords       = {olit-oose ecoop93proc design-patterns},
  month          = jul,
  url            = {ftp://st.cs.uiuc.edu/pub/papers/patterns/ecoop93-patterns.ps},
  year           = 1993
}

@InProceedings{Pinz02a,
  Author         = {Martin Pinzger and Michael Fischer and Harald Gall and
                   Mehdi Jazayeri},
  Title          = {Revealer: A Lexical Pattern Matcher for Architecture
                   Recovery},
  BookTitle      = {Proceedings of the 9th Working Conference on Reverse
                   Engineering (WCRE 2002)},
  Pages          = {170-178},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2002.1173075},
  keywords       = {design-recovery parsing},
  year           = 2002
}

@MastersThesis{Hofm01a,
  Author         = {Thomas F. Hofmann},
  Title          = {{OPENSPACES}, An Object-Oriented Framework for
                   Configurable Coordination of Heterogeneous Agents},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Tuple spaces have turned out to be one of the most
                   fundamental abstractions for coordinating software
                   agents. They offer a simple and natural way of
                   communication and are capable to express a large class
                   of distributed and parallel algorithms. While many
                   extensions to the original Linda model have been
                   proposed, no one approach seems to be universally
                   applicable to all problem domains. In this thesis we
                   investigated how a tuple space can be extended to
                   support configurability of its behavior. In this way,
                   several variants of the coordination model can be
                   realized without changing the underlying base system.
                   Moreover, charging tasks to the coordination medium
                   allows a programmer to implement an application at any
                   desired level of abstraction. A prototype framework,
                   OPENSPACES, has been developed with the object-oriented
                   language Smalltalk. It supports both static
                   configurability as well as dynamic reconfiguration of
                   the behavior policies through runtime composition. To
                   be useful in open distributed systems, a coordination
                   medium must be capable of coordinating a variety of
                   different software entities. OPENSPACES therefore is
                   built on top of CORBA and provides access for
                   heterogeneous external clients. It can be used from any
                   platform using any programming language with a CORBA
                   implementation. The sole prerequisite for participating
                   in a OPENSPACES-based application is the implementation
                   of the small IDL interface. Hence not only the provided
                   standard clients, but any external software agent may
                   be coordinated. We present the framework and show with
                   a set of typical examples how it can be instantiated
                   and configured for different and changing needs. As an
                   example of a heterogeneous setup with external clients,
                   a Java agent has been developed to participate in one
                   of the example applications.},
  keywords       = {scg-pub skipdoi scg-msc jb01 snf02},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Hofm01a.pdf},
  year           = 2001
}

@InProceedings{Tzer99a,
  Author         = {Vassilios Tzerpos and Rick Holt},
  Title          = {{MoJo}: A Distance Metric for Software Clusterings},
  BookTitle      = {Proceedings Working Conference on Reverse Engineering
                   (WCRE 1999)},
  Pages          = {187--195},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  year           = 1999
}

@Article{Keme99a,
  Author         = {Chris F. Kemerer and S. Slaughter},
  Title          = {An Empirical Approach to Studying Software Evolution},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {25},
  Number         = {4},
  Pages          = {493-509},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/32.799945},
  keywords       = {olit},
  url            = {http://plg.uwaterloo.ca/~migod/846/papers/kemerer-tse.pdf},
  year           = 1999
}

@Book{Huth04a,
  Author         = {Michael Huth and Mark Ryan},
  Title          = {Logic in Computer Science},
  Publisher      = {Cambridge},
  Edition        = {second},
  isbn           = {0-521-54310-X},
  keywords       = {olit design scglib uml},
  year           = 2004
}

@InProceedings{Rock00a,
  Author         = {T. Rock and R. Wille},
  Title          = {Ein {TOSCANA} --- Erkundungsystem zur Literatursuche},
  BookTitle      = {Begriffliche Wissensverabeitung: Methoden und
                   Anwendungen},
  Editor         = {G. Stumme and R. Wille},
  Pages          = {239-253},
  Address        = {Berlin-Heidelberg},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  year           = 2000
}

@InProceedings{Mehl04a,
  Author         = {Michael Mehlich},
  Title          = {Transformation Systems for Real Programming Languages.
                   Preprocessing Directives Everywhere},
  BookTitle      = {Proceedings of the First International Workshop on
                   Software Evolution Transformations (SET)},
  Editor         = {Ying Zou and James R. Cordy},
  Pages          = {25-28},
  Address        = {Delft, the Netherlands},
  month          = nov,
  year           = 2004
}

@Article{Warr80a,
  Author         = {David H.D. Warren},
  Title          = {Logic Programming and Compiler Writing},
  Journal        = {Software --- Practice and Experience},
  Volume         = {10},
  Pages          = {97-125},
  keywords       = {patterns binder},
  year           = 1980
}

@Misc{CSS2,
  Author         = {{W3C} Recommendation},
  Title          = {Cascading Style Sheets, Level 2, {CSS2} Specification},
  Note           = {http://www.w3.org/TR/REC-CSS2},
  key            = {CSS2},
  year           = 2002
}

@InProceedings{Nier00a,
  Author         = {Oscar Nierstrasz},
  Title          = {Identify the Champion},
  BookTitle      = {Pattern Languages of Program Design},
  Editor         = {N. Harrison and B. Foote and H. Rohnert},
  Volume         = {4},
  Pages          = {539-556},
  Publisher      = {Addison Wesley},
  abstract       = {The peer review process for technical contributions to
                   conferences in computing sciences is very thorough, and
                   can be as stringent as the review process for journal
                   publications in other domains. The programme committee
                   for such a conference will typically convene at a
                   meeting, where submitted papers are discussed, and
                   accepted or rejected for presentation at the
                   conference. Experience shows that discussions are more
                   focussed, and the entire process runs more smoothly if
                   most of the time is devoted to those papers that are
                   actually "championed" by some committee member. In
                   order to make this work effectively, however, the
                   notion of "championing" must be introduced early in the
                   review process. This paper presents a set of process
                   patterns that help to achieve this goal.},
  annote         = {internationalconference},
  keywords       = {olit scg-pub skipdoi jb98 snf99 jb00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier00aIdentifyTheChampion.pdf
                   http://www.iam.unibe.ch/~oscar/Champion/index.html},
  year           = 2000
}

@PhdThesis{Brat93a,
  Author         = {Svein Erik Bratsberg},
  Title          = {Evolution and Integration of Classes in
                   Object-Oriented Databases},
  School         = {The Norwegian Institute of Technology, University of
                   Trondheim},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-oodb (smc)},
  month          = jun,
  year           = 1993
}

@Article{Zobe98a,
  Author         = {Justin Zobel and Alistair Moffat},
  Title          = {Exploring the Similarity Space},
  Journal        = {ACM SIGIR Forum},
  Volume         = {32},
  Number         = {1},
  Pages          = {18-34},
  keywords       = {text retrieval},
  year           = 1998
}

@InProceedings{Beck87a,
  Author         = {C. Beckstein and G. G{\"o}rz and M. Tielemann},
  Title          = {{FORK}: {A} System for Object- and Rule-Oriented
                   Programming},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {253-264},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{McCu87a,
  Author         = {Paul L. McCullough},
  Title          = {Transparent Forwarding: First Steps},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {331-341},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Ager97a,
  Author         = {E. Agerbo and A. Cornils},
  Title          = {Implementing {GoF} Design Patterns in {BETA}},
  BookTitle      = {Object-Oriented Technology (ECOOP '97 Workshop Reader)},
  Editor         = {Jan Bosch and Stuart Mitchell},
  Volume         = {1357},
  Pages          = {92-95},
  Publisher      = {Springer-Verlag},
  year           = 1997
}

@InProceedings{Teit84a,
  Author         = {W. Teitelman},
  Title          = {A Tour through Cedar},
  BookTitle      = {Proceedings of ICSE 1984 (7th International Conference
                   on Software Engineering},
  Pages          = {181-195},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  year           = 1984
}

@Book{Beck01a,
  Author         = {Kent Beck and Martin Fowler},
  Title          = {Planning Extreme Programming},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-71091-9},
  keywords       = {scglib XP oorp},
  year           = 2001
}

@TechReport{Schw00a,
  Author         = {Daniel Schweizer},
  Title          = {Exporting {MOOSE} Models to {Rational} {Rose} {UML}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {In software re-engineering projects very often you
                   have the source code of an application but you miss its
                   programmer, the design and the documentation. In order
                   to understand these systems you need reverse
                   engineering tools. UMLDesignExtractor is the prototype
                   of a reverse engineering tool generating UML class
                   diagrams from object-oriented code. UMLDesignExtractor
                   is built on top of MOOSE and is written in SMALLTALK.
                   For the graphical output it uses the API of Rational
                   Rose, a professional UML modeler.},
  keywords       = {snf-none scg-ip jb00 moose-pub},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Schw00a.pdf},
  year           = 2000
}

@InProceedings{Deme00d,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {A Pattern Language for Reverse Engineering},
  BookTitle      = {Proceedings of EuroPLoP '2000},
  Pages          = {189-208},
  Publisher      = {UVK GmbH},
  abstract       = {Since object-oriented programming is usually
                   associated with iterative development, reverse
                   engineering must be considered an essential facet of
                   the object-oriented paradigm. The reverse engineering
                   pattern language presented here summarises the reverse
                   engineering experience gathered as part of the FAMOOS
                   project, a project with the explicit goal of
                   investigating reverse and reengineering techniques in
                   an object-oriented context. Due to limitations on
                   EuroPLOP submissions, only part of the full pattern
                   language is presented, namely the patterns describing
                   how to gain an initial understanding of a software
                   system.},
  annote         = {internationalworkshop},
  isbn           = {3-87940-775-4},
  keywords       = {snf-none stefPub olit scg-pub skipdoi jb00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme00dRevEng.pdf},
  year           = 2000
}

@InProceedings{Sliw05a,
  Author         = {Jacek \'{Sliwerski} and Thomas Zimmermann and Andreas
                   Zeller},
  Title          = {When Do changes Induce Fixes?},
  BookTitle      = {Proceedings of International Workshop on Mining
                   Software Repositorie -- MSR'05},
  Address        = {Saint Lous, Missouri, USA},
  Publisher      = {ACM Press},
  year           = 2005
}

@InProceedings{Weid98a,
  Author         = {Johannes Weidl and Harald Gall},
  Title          = {Binding Object Models to Source Code: An Approach to
                   Object-Oriented Rearchitecting},
  BookTitle      = {Proceedings of the 22nd Computer Software and
                   Application Conference (COMPSAC 1998)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp},
  year           = 1998
}

@InProceedings{Herr03a,
  Author         = {Stephan Herrmann},
  Title          = {Object Confinement in {Object Teams} -- Reconciling
                   Encapsulation And Flexible Integration},
  BookTitle      = {3rd German Workshop on Aspect-Oriented Software
                   Development},
  Organization   = {SIG Object-Oriented Software Development, German
                   Informatics Society},
  keywords       = {objectteams module},
  url            = {http://www.objectteams.org},
  year           = 2003
}

@InProceedings{Harr92a,
  Author         = {Harrison William and Harold Ossher},
  Title          = {Integrating Coarse-Grained and Fine-Grained Tool
                   Integration},
  BookTitle      = {Proceedings of the 5th International Workshop on
                   Computer-Aided Software Engineering},
  Publisher      = {IEEE Computer Society},
  keywords       = {olit binder},
  month          = jul,
  year           = 1992
}

@Book{Your97a,
  Author         = {Edward Yourdon},
  Title          = {Death March},
  Publisher      = {Prentice-Hall},
  keywords       = {scglib oorp},
  year           = 1997
}

@Book{McGi92a,
  Author         = {Henry McGilton and Mary Campione},
  Title          = {PostScript by Example},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63228-4},
  keywords       = {postscript scglib},
  year           = 1992
}

@Article{Juni00a,
  Author         = {Thomas Junier and Marco Pagni},
  Title          = {Dotlet: Diagonal Plots in a Web Browser},
  Journal        = {Bioinformatics},
  Volume         = {16},
  Number         = {2},
  Pages          = {178-179},
  keywords       = {dotplot},
  publisher      = {Oxford University Press},
  year           = 2000
}

@Article{Duca05k,
  Author         = {St\'ephane Ducasse and Hilaire Fernandes},
  Title          = {Squeak: un Smalltalk libre multim\'edia},
  Journal        = {Linux Pratique},
  Volume         = 1,
  Number         = 28,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub jb05},
  month          = mar,
  year           = 2005
}

@Article{Bucc94a,
  Author         = {Paolo Bucci and Joseph E. Hollingsworth and Joan Krone
                   and Bruce W. Weide},
  Title          = {Part III: implementing components in {RESOLVE}},
  Journal        = {SIGSOFT Softw. Eng. Notes},
  Volume         = {19},
  Number         = {4},
  Pages          = {40-51},
  doi            = {http://doi.acm.org/10.1145/190679.190683},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1994
}

@Article{Need70a,
  Author         = {Saul B. Needleman and Christian D. Wunsch},
  Title          = {A General Method Applicable to the Search for
                   Similarity in the Amino Acid Sequences of Two Proteins},
  Journal        = {J. Mol. Biol.},
  Volume         = {48},
  Pages          = {443-453},
  keywords       = {dynamic programming},
  year           = 1970
}

@Proceedings{Sang98a,
  Title          = {Concurrency Theory},
  Editor         = {Davide Sangiorgi},
  Volume         = {1466},
  Series         = {LNCS},
  Address        = {Nice, France},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the 9th International, CONCUR '98},
  isbn           = {3-540-64896-0},
  keywords       = {concur98 scglib},
  month          = sep,
  year           = 1998
}

@Article{Niel89b,
  Author         = {Jakob Nielsen and John T. Richards},
  Title          = {The {Experience} of {Learning} and {Using} {Smalltalk}},
  Journal        = {IEEE Software},
  Volume         = {6},
  Number         = {3},
  Pages          = {73-77},
  publisher      = {IEEE Computer Society Press},
  year           = 1989
}

@InProceedings{Nier95f,
  Author         = {Oscar Nierstrasz},
  Title          = {Research Topics in Software Composition},
  BookTitle      = {Proceedings, Langages et Mod\`eles \`a Objets},
  Pages          = {193-204},
  Address        = {Nancy},
  abstract       = {Traditional software development approaches do not
                   cope well with the evolving requirements of open
                   systems. We argue that such systems are best viewed as
                   flexible compositions of "software components" designed
                   to work together as part of a component framework that
                   formalizes a class of applications with a common
                   software architecture. To enable such a view of
                   software systems, we need appropriate support from
                   programming language technology, software tools, and
                   methods. We will briefly review the current state of
                   object-oriented technology, insofar as it supports
                   componentoriented development, and propose a research
                   agenda of topics for further investigation.},
  annote         = {internationalconference},
  keywords       = {olit scg-pub skipdoi toBeChecked snf95 jb95
                   scg-coord-old},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier95fResearchTopics.pdf},
  year           = 1995
}

@InProceedings{Cook87a,
  Author         = {Steve Cook},
  Title          = {{OOPSLA} '87 {Panel} {P2}: Varieties of Inheritance},
  BookTitle      = {OOPSLA '87 Addendum To The Proceedings},
  Pages          = {35-40},
  Publisher      = {ACM Press},
  month          = oct,
  year           = 1987
}

@Book{xml1.1,
  Author         = {Tim Bray, Jean Paoli, C. M. Sperberg-McQueen and Eve
                   Maler and François Yergeau and John Cowan},
  Title          = {Extensible Markup Language (XML) 1.1},
  Publisher      = {W3C},
  Edition        = {2nd},
  Note           = {\verb|http://www.w3.org/TR/xml11/|},
  year           = 2006
}

@Article{Snel96a,
  Author         = {Gregor Snelting},
  Title          = {Reengineering of {Configurations} {Based} on
                   {Mathematical} {Concept} {Analysis}},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {5},
  Number         = {2},
  Pages          = {146-189},
  keywords       = {fca},
  month          = apr,
  year           = 1996
}

@TechReport{Dami90a,
  Author         = {Laurent Dami},
  Title          = {Scripting Musical Components in Application Interfaces},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Musical events can enrich application interfaces in
                   two ways: by adding new channels for notifying users
                   about changes in the internal state of an application,
                   or by getting data input from audio equipment connected
                   to the workstation. Such possibilities will only get
                   more widely used if environments are developed in which
                   musical components can be scripted, i.e. can be easily
                   arranged and connected to applications by direct
                   manipulation, as opposed to traditional programming
                   methods. Similar facilities already exist in several
                   systems for working with graphical components like
                   buttons or windows. This paper describes ongoing work
                   for extending one of those systems, namely Interface
                   Builder on the NeXT workstation, with musical
                   capabilities.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg-ftp om90},
  month          = jul,
  pages          = {357-366},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/musicalScripting.pdf},
  year           = 1990
}

@InProceedings{Flat98a,
  Author         = {Matthew Flatt and Matthias Felleisen},
  Title          = {Units: Cool Modules for HOT Languages},
  BookTitle      = {Proceedings of PLDI '98 Conference on Programming
                   Language Design and Implementation},
  Pages          = {236-248},
  Publisher      = {ACM Press},
  year           = 1998
}

@InProceedings{Snel98a,
  Author         = {Gregor Snelting and Frank Tip},
  Title          = {Reengineering {Class} {Hierarchies} using {Concept}
                   {Analysis}},
  BookTitle      = {ACM Trans. Programming Languages and Systems},
  keywords       = {fca},
  year           = 1998
}

@InProceedings{Mins89a,
  Author         = {Naftaly H. Minsky and David Rozenshtein},
  Title          = {Controllable Delegation: An Exercise in Law-Governed
                   Systems},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {371-380},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Pint88b,
  Author         = {Xavier Pintado and Eugene Fiume},
  Title          = {Grafields: Field-Directed Dynamic Splines for
                   Interactive Motion Control},
  BookTitle      = {Proceedings of Eurographics 1988 (North-Holland)},
  Editor         = {Duce and Jancene},
  Pages          = {43-54},
  Address        = {Nice},
  Publisher      = {North-Holland},
  keywords       = {olit-oopl grafields osg aoe88},
  month          = sep,
  year           = 1988
}

@InProceedings{Card00b,
  Author         = {Luca Cardelli and Andrew D. Gordon},
  Title          = {Anytime, Anywhere. Modal Logics for Mobile Ambients},
  BookTitle      = {Proceedings of the 27th ACM Symposium on Principles of
                   Programming Languages},
  Pages          = {365-377},
  keywords       = {pcalc mobility ambients pisem},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 2000
}

@InProceedings{Koch94a,
  Author         = {S. Kochhar},
  Title          = {On Providing a High-Level {C} Interface for an
                   Object-Oriented, {C}++ System},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {232-247},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Wuyt04a,
  Author         = {Roel Wuyts and St\'ephane Ducasse},
  Title          = {Unanticipated Integration of Development Tools using
                   the Classification Model},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {30},
  Number         = {1-2},
  Pages          = {63-77},
  abstract       = {The increasing complexity of software development
                   spawns lots of specialised tools to edit code, employ
                   UML schemes, integrate documentation, and so on. The
                   problem is that the tool builders themselves are
                   responsible for making their tools interoperable with
                   other tools or development environments. Because they
                   cannot anticipate all other tools they can integrate
                   with, a lot of tools cannot co-operate. This paper
                   introduces the classication model, a lightweight
                   integration medium that enables unrelated tools that
                   were not meant to be integrated to cooperate easily.
                   Moreover, the tool integration is done by a tool
                   integrator, and not by the tool builder. To validate
                   this claim, we show how to integrate several
                   third-party tools using the classication model, and how
                   it forms the foundation for the StarBrowser, a
                   Smalltalk browser integrating different tools.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2003.08.003},
  keywords       = {recast04 scg-pub jb04 decomp-pub},
  misc           = {SCI impact factor 0.176},
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt04aClassifications.pdf},
  year           = 2004
}

@InCollection{Hogg85a,
  Author         = {John Hogg and Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Office Procedures},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {137-166},
  Address        = {Heidelberg},
  abstract       = {This paper outlines an effort to introduce automation
                   into forms-oriented office procedures. The system
                   allows its users to specify a set of operations on
                   electronic forms. Actions are triggered automatically
                   when certain events occur, for example, when forms or
                   combinations of forms arrive at particular nodes in the
                   network of stations. The actions deal with operations
                   on forms. The paper discusses the facilities provided
                   for the specification of form-oriented automatic
                   procedures and sketches their implementation.},
  keywords       = {oislit skipdoi forms tla oact85},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Hogg85aOfficeProcedures.pdf},
  year           = 1985
}

@TechReport{Papa96a,
  Author         = {Michael Papathomas},
  Title          = {{ATOM}: An Active object model for enhancing reuse in
                   the development of concurrent software},
  Institution    = {Grenoble-France},
  Type           = {RR 963-I-LSR-2, IMAG-LSR},
  keywords       = {concurrency atom},
  month          = nov,
  year           = 1996
}

@TechReport{Gael03a,
  Author         = {Markus Gaelli},
  Title          = {Test composition with example objects and example
                   methods},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-03-009},
  Address        = {Universit\"at Bern, Switzerland},
  abstract       = {While assertions of Design by Contract from Eiffel
                   found its way into the language-definitions of Python
                   and of Java SDK 1.4, current object-oriented languages
                   do not make the concepts of unit-testing explicit in
                   their definitions or meta-models. Not having support of
                   unit-testing in a programming language makes it harder
                   to compose and re-compose test-scenarios and tests. We
                   propose, that an ob ject-oriented language should
                   include explicit concepts for example ob jects, example
                   methods and instance-specific assertions. This concepts
                   ease the composition of complex test-scenarios, they
                   help to refactor the program with the tests and also to
                   keep the duration of the tests as low and the coverage
                   of the tests as high as possible.},
  classification = {D.2.6 Programming Environments D.2.10 Design D.1.5
                   Object-oriented Programming; D.3.3 Language Constructs
                   and Features},
  general_terms  = {Testing, Refactoring, Test Composition, Scenarios,
                   Reuse, Smalltalk},
  keywords       = {scg-wp jb03},
  misc           = {gaelli},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael03aTestComposition.pdf},
  year           = 2003
}

@InProceedings{Pinz04a,
  Author         = {Martin Pinzger and Harald Gall and Jean-Francois
                   Girard and Jens Knodel and Claudio Riva and Wim Pasman
                   and Chris Broerse and Jan Gerben Wijnstra},
  Title          = {Architecture Recovery for Product Families},
  BookTitle      = {Proceedings of the 5th International Workshop on
                   Product Family Engineering (PFE-5)},
  Series         = {LNCS 3014},
  Pages          = {332-351},
  Publisher      = {Springer-Verlag},
  keywords       = {design-recovery},
  url            = {http://www.infosys.tuwien.ac.at/Cafe/doc/mp-ar_for_families.pdf},
  year           = 2004
}

@Misc{Code00X,
  Author         = {Michele Lanza},
  Title          = {CodeCrawler},
  Note           = {http://www.iam.unibe.ch/$\sim$lanza/CodeCrawler/codecrawler.html},
  key            = {CodeCrawler}
}

@Book{Meye97a,
  Author         = {Bertrand Meyer},
  Title          = {Object-Oriented Software Construction},
  Publisher      = {Prentice-Hall},
  Edition        = {Second},
  keywords       = {olit-oopl eiffel oobib(oopl) sclit},
  year           = 1997
}

@Article{Fell89a,
  Author         = {Matthias Felleisen and Robert Hieb},
  Title          = {The revised report on the syntactic theories of
                   sequential control and state},
  Journal        = {Theor. Comput. Sci.},
  Volume         = {103},
  Number         = {2},
  Pages          = {235--271},
  address        = {Essex, UK},
  doi            = {http://dx.doi.org/10.1016/0304-3975(92)90014-7},
  issn           = {0304-3975},
  publisher      = {Elsevier Science Publishers Ltd.},
  year           = 1992
}

@InProceedings{Hear06a,
  Author         = {David Hearnden and Michael Lawley and Kerry Raymond},
  Title          = {Incremental Model Transformation for the Evolution of
                   Model-Driven Systems},
  BookTitle      = {International Conference on Model Driven Engineering
                   Languages and Systems (Models/UML 2006)},
  Volume         = {4199},
  Series         = {LNCS},
  Pages          = {321--335},
  Address        = {Berlin, Germany},
  Publisher      = {Springer-Verlag},
  annote         = {internationalconference},
  year           = 2006
}

@Book{Bust88a,
  Author         = {David Bustard and John Elder and Jim Welsh},
  Title          = {Concurrent Program Structures},
  Publisher      = {Prentice-Hall},
  Series         = {Prentice Hall International series in computer science},
  Address        = {New York},
  keywords       = {concurrency},
  year           = 1988
}

@Book{Thom05a,
  Author         = {David Thomas and Andy Hunt},
  Title          = {Programming Ruby},
  Publisher      = {Addison Wesley},
  Edition        = {2nd},
  keywords       = {scglib ruby},
  year           = 2005
}

@InProceedings{Marc01a,
  Author         = {Andrian Marcus and Jonathan I. Maletic},
  Title          = {Identification of High-Level Concept Clones in Source
                   Code},
  BookTitle      = {Proceedings of the 16th International Conference on
                   Automated Software Engineering (ASE 2001)},
  Pages          = {107--114},
  keywords       = {clones lsi},
  month          = nov,
  year           = 2001
}

@Book{Warr99a,
  Author         = {Nigel Warren and Philip Bishop},
  Title          = {Java in Practice},
  Publisher      = {Addison Wesley},
  keywords       = {java scglib},
  year           = 1999
}

@Book{Beck97a,
  Author         = {Kent Beck},
  Title          = {{Smalltalk} Best Practice Patterns},
  Publisher      = {Prentice-Hall},
  keywords       = {olit patterns book scglib oorp},
  year           = 1997
}

@Book{Hubb98a,
  Author         = {Thane Hubbel},
  Title          = {Teach Yourself Cobol in 24 Hours},
  Publisher      = {Sams},
  keywords       = {cobol},
  year           = 1998
}

@Book{Kaa02a,
  Author         = {Stephen H. Kan},
  Title          = {Metrics and Models in Software Quality Engineering},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-72915-6},
  keywords       = {scglib},
  year           = 2002
}

@InCollection{Ache01a,
  Author         = {Franz Achermann and Oscar Nierstrasz},
  Title          = {Applications = Components + Scripts --- A Tour of
                   {Piccola}},
  BookTitle      = {Software Architectures and Component Technology},
  Publisher      = {Kluwer},
  Editor         = {Mehmet Aksit},
  Pages          = {261-292},
  abstract       = {Piccola is a language for composing applications from
                   software components. It has a small syntax and a
                   minimal set of features needed for specifying different
                   styles of software composition. The core features of
                   Piccola are communicating agents, which perform
                   computations, and forms, which are the communicated
                   values. Forms are a special notion of extensible,
                   immutable records. Forms and agents allow us to unify
                   components, static and dynamic contexts and arguments
                   for invoking services. Through a series of examples, we
                   present a tour of Piccola, illustrating how forms and
                   agents suffice to express a variety of compositional
                   abstractions and styles.},
  isbn           = {0-7923-7576-9},
  keywords       = {olit scg-pub skipdoi piccola jb00 snf00 scg-coord-00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache01aTour.pdf},
  year           = 2001
}

@TechReport{Hess94a,
  Author         = {Win H. Hesselink},
  Title          = {{NQTHM} proving sequential programs},
  Institution    = {University of Groningen, the Netherlands},
  Type           = {CS Reports Groningen},
  Number         = {CS-R9407},
  keywords       = {Semantics},
  year           = 1994
}

@Article{Metc76a,
  Author         = {R.M. Metcalfe and D.R. Boggs},
  Title          = {Ethernet: Distributed Packet Switching for Local
                   Computer Networks},
  Journal        = {CACM},
  Volume         = {19},
  Number         = {7},
  Pages          = {395-404},
  keywords       = {misc ethernet networks},
  month          = jul,
  year           = 1976
}

@Misc{Rigi,
  Title          = {Rigi Home Page},
  Note           = {http://www.rigi.csc.uvic.ca/},
  key            = {rigi design-recovery},
  url            = {http://www.rigi.csc.uvic.ca/}
}

@MastersThesis{Bell02a,
  Author         = {Stefan Bellon},
  Title          = {{Vergleich} von {Techniken} zur {Erkennung}
                   duplizierten {Quellcodes}},
  School         = {Universit\"at Stuttgart},
  month          = sep,
  url            = {http://www.bauhaus-stuttgart.de/bauhaus/papers/DIP-1998.pdf
                   http://www.bauhaus-stuttgart.de/clones/index.html},
  year           = 2002
}

@InProceedings{Deur98a,
  Author         = {Deursen, {Arie van} and Leon Moonen},
  Title          = {Type Inference for COBOL Systems},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {220-229},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Reyn94a,
  Author         = {Jeffrey C. Reynar},
  Title          = {An Automatic Method of Finding Topic Boundaries},
  BookTitle      = {Proceedings of the 32. Meeting of the Association for
                   Computational Linguistics},
  Pages          = {331-333},
  keywords       = {dotplot},
  url            = {citeseer.ist.psu.edu/reynar94automatic.html},
  year           = 1994
}

@InProceedings{Mitc02a,
  Author         = {Brian S. Mitchell and Spiros Mancoridis and Martin
                   Traverso},
  Title          = {Search based reverse engineering},
  BookTitle      = {Proceedings of the 14th international conference on
                   Software engineering and knowledge engineering},
  Pages          = {431-438},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/568760.568835},
  isbn           = {1-58113-556-4},
  keywords       = {design-recovery},
  location       = {Ischia, Italy},
  year           = 2002
}

@Book{Stutz02,
  Author         = {David Stutz and Ted Neward and Geoff Shilling},
  Title          = {Shared Source Cli Essentials},
  Publisher      = {O'Reilly \& Associates, Inc.},
  Address        = {Sebastopol, CA, USA},
  isbn           = {059600351X},
  year           = 2002
}

@Article{Bruc95c,
  Author         = {Kim B. Bruce and Luca Cardelli and Giuseppe Castagna
                   and The Hopkins Objects Group and Gary T. Leavens and
                   Benjamin Pierce},
  Title          = {On Binary Methods},
  Journal        = {Theory and Practice of Object Systems},
  Volume         = {1},
  Number         = {3},
  Pages          = {221-242},
  address        = {New York, NY},
  keywords       = {olit},
  publisher      = {John, Wiley and Sons, Inc.},
  year           = 1995
}

@Article{Yell97a,
  Author         = {Daniel M. Yellin and Robert E. Strom},
  Title          = {Protocol Specifications and Component Adapters},
  Journal        = {ACM Transactions on Programming Languages},
  Volume         = {19},
  Number         = {2},
  Pages          = {292-333},
  keywords       = {olit glue adapting mismatch concurrency},
  month          = mar,
  year           = 1997
}

@InProceedings{Bran98a,
  Author         = {John Brant and Brian Foote and Ralph Johnson and Don
                   Roberts},
  Title          = {Wrappers to the Rescue},
  BookTitle      = {Proceedings European Conference on Object Oriented
                   Programming (ECOOP 1998)},
  Volume         = {1445},
  Series         = {LNCS},
  Pages          = {396-417},
  Organization   = {Springer-Verlag},
  misc           = {method wrappers},
  year           = 1998
}

@Book{Ande83a,
  Author         = {J.R. Anderson},
  Title          = {The Architecture of Cognition},
  Publisher      = {Harvard University Press},
  year           = 1983
}

@MastersThesis{Roet99a,
  Author         = {Tobias R{\"o}thlisberger},
  Title          = {Compiler Framework for the {Java} Virtual Machine},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Ein Compiler \"ubersetzt ein Programm einer
                   Quellsprache in eine Zielsprache. Um Programme in einer
                   beliebigen Umgebung ausf\"uhren zu k\"onnen, muss eine
                   plattformunabh\"angige Zielsprache gesucht werden. Die
                   Plattformunabh\"angigkeit wird dadurch erreicht, dass
                   die Programme nicht auf einer konkreten, sondern auf
                   einer virtuellen Maschine ausgef\"uhrt werden, die als
                   Schnittstelle zwischen compiliertem Code und Plattform
                   dient. Die virtuelle Maschine von Java ("JVM")
                   verarbeitet nicht nur Java, sondern alle Programme, die
                   in einem genau spezifizierten Format dargestellt
                   werden. Beim Compilerbau trennt eine Zwischensprache
                   die Analyse des Quellprogrammes von der Synthese zum
                   Zielprogramm; man kann die beiden Teile unabh\"angig
                   voneinander behandeln. Durch die Verwendung einer
                   Zwischensprache muss nicht jede Quellsprache einzeln in
                   eine bestimmte Zielsprache \"ubersetzt werden, sondern
                   die verschiedenen Analyse-Teile, die Compilerfrontends
                   der Quellsprachen, arbeiten mit einem einzigen
                   Synthese-Teil, dem Compilerbackend f\"ur die
                   Zielsprache zusammen. In dieser Diplomarbeit wird ein
                   Compilerframework aufgebaut, das dank der Zielmaschine
                   JVM plattformunabh\"angig ist, und eine Zwischensprache
                   verwendet, die die Eigenschaften verschiedenartigster
                   Sprachen umfasst. Mittels einer Analyse von
                   Programmiersprachen des imperativen, des
                   objektorientierten, des funktionalen und des logischen
                   Paradigmas werden die Anforderungen an diese generelle
                   Zwischensprache aufgestellt. F\"ur jedes Paradigma wird
                   die Grammatik einer Beispielsprache definiert und ein
                   Parser konstruiert. Diese Parser \"ubersetzen Programme
                   ihrer Quellsprachen in die generelle Zwischensprache.
                   Das Compilerbackend dieser Arbeit generiert aus der
                   generellen Zwischensprache JVM-Code. Der Compiler wird
                   mit Hilfe eines Frameworks konstruiert, indem die
                   Zwischensprache und die Codegenerierung in Klassen mit
                   m\"oglichst genereller Funktionalit\"at aufgeteilt
                   werden. Dadurch k\"onnen sowohl die untersuchten
                   Sprachen, als auch in dieser Arbeit nicht behandelte
                   Programmiersprachen nach JVM Code compiliert werden.},
  keywords       = {snf-none scg-pub skipdoi toBeChecked scg-msc jb99},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Roet99a.pdf},
  year           = 1999
}

@TechReport{Lamp90a,
  Author         = {Leslie Lamport},
  Title          = {A Temporal Logic of Actions},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {57},
  Address        = {Palo Alto, California},
  keywords       = {temporal-logic tla binder (shelf)},
  month          = apr,
  year           = 1990
}

@Article{Krak90a,
  Author         = {Sacha Krakowiak and M. Meysembourg and H. Nguyen Van
                   and Michel Riveill and C. Roisin and X. Rousset de Pina},
  Title          = {Design and Implementation of an Object-Oriented
                   Strongly Typed Language for Distributed Applications},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {3},
  Number         = {3},
  Pages          = {11-22},
  keywords       = {olit-obcl guide joop},
  month          = sep,
  year           = 1990
}

@Article{Godi98a,
  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        = {Theory and Application of Object Systems},
  Volume         = {4},
  Number         = {2},
  Pages          = {117-134},
  keywords       = {fca},
  year           = 1998
}

@InProceedings{Yeh97b,
  Author         = {A.S. Yeh and D.R. Harris and M.P. Chase},
  Title          = {Manipulating Recovered Software Architecture Views},
  BookTitle      = {Proceedings of International Conference Software
                   Engineering (ICSE'97)},
  year           = 1997
}

@Misc{Poll02a,
  Author         = {Pollet, Damien and Vojtisek, Didier and J\'ez\'equel,
                   Jean-Marc},
  Title          = {OCL as a Core UML Transformation Language},
  HowPublished   = {Workshop on Integration and Transformation of UML
                   models (WITUML~2002)},
  address        = {Malaga},
  annote         = {internationalworkshop},
  month          = jun,
  url            = {http://ctp.di.fct.unl.pt/~ja/wituml02.htm},
  year           = 2002
}

@Book{Goos99a,
  Author         = {Michael Goossens and Sebastian Rahtz},
  Title          = {The LaTex Web Companion},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Nier02c,
  Author         = {J{\"{o}}rg Niere and Wilhelm Sch{\"{a}}fer and J\"urg
                   P. Wadsack and Lothar Wendehals and Jim Welsh},
  Title          = {Towards pattern-based design recovery},
  BookTitle      = {Proceedings of ICSE '02 (24th International Conference
                   on Software Engineering)},
  Pages          = {338-348},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/581339.581382},
  isbn           = {1-58113-472-X},
  keywords       = {parseError design-recovery},
  location       = {Orlando, Florida},
  year           = 2002
}

@InProceedings{Lope96a,
  Author         = {Cristina Videira Lopes},
  Title          = {Adaptive Parameter Passing},
  BookTitle      = {Proceedings of ISOTAS '96, LNCS 1049},
  Pages          = {118-136},
  Organization   = {JSSST-JAIST},
  month          = mar,
  year           = 1996
}

@InProceedings{Pede91a,
  Author         = {Jan Pedersen and Doug Cutting and John Tukey},
  Title          = {Snippet Search: A Single Phrase Approach to Text
                   Access},
  BookTitle      = {Proceedings of the 1991 Joint Statistical Meetings},
  Publisher      = {American Statistical Association},
  Note           = {Also available as Xerox PARC Technical Report
                   SSL-91-08},
  institution    = {Xerox PARC},
  keywords       = {text retrieval, human in the loop},
  year           = 1991
}

@InProceedings{Pana05a,
  Author         = {Thomas Panas and R\"udiger Lincke and Welf L\"owe},
  Title          = {Online-configuration of software visualization with
                   {Vizz3D}},
  BookTitle      = {Proceedings of ACM Symposium on Software Visualization
                   (SOFTVIS 2005)},
  Pages          = {173--182},
  year           = 2005
}

@InProceedings{Cheo02a,
  Author         = {Y. Cheon and G. T. Leavens},
  Title          = {A simple and practical approach to unit testing: The
                   JML and JUnit way},
  BookTitle      = {Proceedings ECOOP 2002},
  Editor         = {Boris Magnusson},
  Volume         = 2374,
  Series         = {LNCS},
  Pages          = {231-255},
  Address        = {Malaga, Spain},
  Publisher      = {Springer Verlag},
  keywords       = {unit tests testing ecoop02proc},
  month          = jun,
  year           = 2002
}

@InProceedings{Nier04b,
  Author         = {Oscar Nierstrasz},
  Title          = {Putting Change at the Center of the Software Process},
  BookTitle      = {International Symposium on Component-Based Software
                   Engineering (CBSE) 2004},
  Editor         = {I. Crnkovic and J.A. Stafford and H.W. Schmidt and K.
                   Wallnau},
  Volume         = {3054},
  Series         = {LNCS},
  Pages          = {1-4},
  Publisher      = {Springer-Verlag},
  Note           = {Extended abstract of an invited talk},
  abstract       = {We know that successful software systems are doomed to
                   change. But our programming languages and tools
                   continue to focus on developing static, unchanging
                   models of software. We propose that change should be at
                   the center of our software process. To that end, we are
                   exploring programming language mechanisms to support
                   both fine-grained composition and coarse-grained
                   extensibility, and we are developing tools and
                   techniques to analyse and facilitate change in complex
                   systems. In this talk we review problems and
                   limitations with object-oriented and component-based
                   development approaches, and we explore both
                   technological and methodological ways in which change
                   can be better accommodated. },
  annote         = {invited},
  cvs            = {SCG-CBSE7Abstract},
  doi            = {http://dx.doi.org/10.1007/b97813},
  keywords       = {scg-pub jb04 snf04 cbse7},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier04bChange.pdf},
  year           = 2004
}

@InProceedings{Kim88a,
  Author         = {Won Kim and Nat Ballou and Jay Banerjee and Hong-Tai
                   Chou and Jorge F. Garza and Darrell Woelk},
  Title          = {Integrating an Object-Oriented Programming System with
                   a Database System},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {142-152},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Bobr80a,
  Author         = {Daniel G. Bobrow and Ira P. Goldstein},
  Title          = {Representing Design Alternatives},
  BookTitle      = {Proceedings of the Conference on Artificial
                   Intelligence and the Simulation of Behavior},
  keywords       = {olit-oopl pie},
  month          = jul,
  year           = 1980
}

@InProceedings{Amer87b,
  Author         = {Pierre America},
  Title          = {Inheritance and Subtyping in a Parallel
                   Object-Oriented Language},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {234-242},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obcl inheritance types pool ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Book{Hoar85a,
  Author         = {C.A.R. Hoare},
  Title          = {Communicating Sequential Processes},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-153289-8},
  keywords       = {pcalc equivalence csp book scglib},
  year           = 1985
}

@InProceedings{Goer05a,
  Author         = {Carsten G\"org and Peter Weissgerber},
  Title          = {Detecting and Visualizing Refactorings from Software
                   Archives},
  BookTitle      = {Proceedings of IWPC (13th International Workshop on
                   Program Comprehension},
  Pages          = {205-214},
  Publisher      = {IEEE CS Press},
  keywords       = {iwpc},
  year           = 2005
}

@InProceedings{Hend93a,
  Author         = {Brian Henderson-Sellers and Simon Moser and Silke
                   Seehusen and Bernhard Weinelt},
  Title          = {A proposed multi-dimensional framework for
                   object-oriented metrics},
  BookTitle      = {Proc. of 1st Australian Software Metrics Conf.},
  keywords       = {olit},
  month          = nov,
  year           = 1993
}

@InProceedings{Whit92a,
  Author         = {Benjamin R. Whittle and Mark Ratcliffe},
  Title          = {The Reuse of Component Interfaces Through Description
                   and Translation},
  BookTitle      = {Proceedings, International Workshop on Software Reuse},
  Address        = {Lucca},
  Note           = {To appear},
  keywords       = {olit-reuse binder},
  year           = 1992
}

@Article{Nguy86a,
  Author         = {V. Nguyen and Brent Hailpern},
  Title          = {A Generalized Object Model},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {78-87},
  keywords       = {olit-obc concepts messages oopws86},
  month          = oct,
  year           = 1986
}

@InProceedings{More05a,
  Author         = {A. Moreira and A. Rashid and J. Ara\'{u}jo},
  Title          = {Multi-Dimensional Separation of Conserns in
                   Requirements Engineering},
  BookTitle      = {Proceedings of the 13th IEEE International
                   Requirements Engineering Conference (RE 2005)},
  Address        = {Paris, France},
  Publisher      = {IEEE Computer Society},
  month          = aug,
  year           = 2005
}

@InProceedings{Knud88a,
  Author         = {J\/orgen Lindskov Knudsen and Ole Lehrmann Madsen},
  Title          = {Teaching Object-Oriented Programming Is More than
                   Teaching Object-Oriented Programming Languages},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {21-40},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@TechReport{Pint92a,
  Author         = {Xavier Pintado and Betty Junod},
  Title          = {Gluons: Support for Software Component Cooperation},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {This paper presents gluons as objects that mediate
                   software component cooperation. We discuss the
                   advantages of encapsulating inter-component interaction
                   inside a set of special objects. We present the design
                   of a hierarchy of gluon classes that provide the
                   support for the application domain independent part of
                   component interaction protocols. As an example, we
                   present the design of a financial information framework
                   and we discuss the role that gluons play in the
                   definition of the framework.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg of92},
  month          = jul,
  pages          = {311-346},
  year           = 1992
}

@Book{Ster86a,
  Author         = {Leon Sterling and Ehud Shapiro},
  Title          = {The Art of Prolog: Advanced Programming Techniques},
  Publisher      = {MIT Press},
  isbn           = {0-262-19250-0},
  year           = 1986
}

@InProceedings{Duca05d,
  Author         = {St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Being a Long-Living Software Mayor --- the SimCity
                   Metaphor to Explain the Challenges Behind Software
                   Evolution},
  BookTitle      = {Proceedings of CHASE International Workshop 2005},
  annote         = {internationalworkshop},
  keywords       = {stefPub girba jb05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05dChaseSimCity.pdf},
  year           = 2005
}

@InProceedings{Andr97b,
  Author         = {Keith Andrews and Josef Wolte and Michael Pichler},
  Title          = {Information Pyramids: A New Approach to Visualising
                   Large Hierarchies},
  BookTitle      = {Proceedings of VIS 1997 (IEEE Visualization
                   Conference)},
  Pages          = {49-52},
  Publisher      = {IEEE CS},
  month          = oct,
  year           = 1997
}

@PhdThesis{Deme96a,
  Author         = {Serge Demeyer},
  Title          = {{ZYPHER} Tailorability as a link from Object-Oriented
                   Software Engineering to Open Hypermedia},
  School         = {Vrije Universiteit Brussel (Belgium), Department of
                   Computer Science},
  abstract       = {The dissertation concerns a study of state of the art
                   object-oriented software engineering applied within the
                   domain of open hypermedia systems. The results of this
                   study are discussed within the context of a software
                   artefact named Zypher. The scientific contribution of
                   this work is situated in the domain of object-oriented
                   software engineering. The contribution is a proper
                   combination of frameworks and meta-object protocols,
                   which are two promising techniques in object-oriented
                   software engineering. We show that, when combining both
                   approaches, explicit representations of framework
                   contracts are part of a meta-object protocol. This
                   insight is valuable in the design of meta-object
                   protocols.},
  keywords       = {olit hypermedia zypher mop sergedem-thesis},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme96a/
                   http://www.iam.unibe.ch/~demeyer/Zypher/
                   http://dinf.vub.ac.be/~demeyer/Zypher/},
  year           = 1996
}

@InProceedings{Tobi05a,
  Author         = {Sam Tobin-Hochstadt and Eric Allen},
  Title          = {A Core Calculus of Metaclasses},
  BookTitle      = {Foundations of Object Oriented Languages},
  url            = {http://research.sun.com/projects/plrg/fool2005.pdf},
  year           = 2005
}

@TechReport{Duca96a,
  Author         = {St\'ephane Ducasse},
  Title          = {Reifying Inheritance in a Reflective Language},
  Institution    = {University of Nice Sophia-Antipolis, Laboratoire I3S},
  Note           = {I3S Lab, RR-95-28},
  annote         = {report notrefereed},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca96aInhReify.ps.gz},
  year           = 1996
}

@Book{Orfa97a,
  Author         = {Robert Orfali and Dan Harkey},
  Title          = {Client/Server Programming with {Java} and Corba},
  Publisher      = {Wiley},
  isbn           = {0-471-16351-1},
  keywords       = {corba java jdbc scglib},
  url            = {http://www.wiley.com/compbooks/catalog/16351-1.htm},
  year           = 1997
}

@InProceedings{Maqb04a,
  Author         = {O. Maqbool and H.A. Babri},
  Title          = {The Weighted Combined Algorithm: A Linkage Algorithm
                   for Software Clustering},
  BookTitle      = {Proceedings of the Eighth European Conference on
                   Software Maintenance and Reengineering},
  location       = {Tampere, Finland},
  month          = mar,
  page           = {15-24},
  year           = 2004
}

@InCollection{Abad95b,
  Author         = {Mart{\'\i}n Abadi and Stephan Merz},
  Title          = {An Abstract Account of Composition},
  BookTitle      = {Mathematical Foundations of Computer Science},
  Publisher      = {Springer Verlag},
  Editor         = {J. Wiedermann and Petr Hajek},
  Volume         = {969},
  Series         = {LNCS},
  Pages          = {499-508},
  keywords       = {olit},
  year           = 1995
}

@Article{Duca99a,
  Author         = {St\'ephane Ducasse},
  Title          = {Evaluating Message Passing Control Techniques in
                   {Smalltalk}},
  Journal        = {Journal of Object-Oriented Programming (JOOP)},
  Volume         = {12},
  Number         = {6},
  Pages          = {39-44},
  abstract       = {In a language like Smalltalk in which objects
                   communicate only via message passing, message passing
                   control is a fundamental tool for the analysis of
                   object behavior (trace, spying) or for the definition
                   of new semantics (asynchronous messages, proxy,...).
                   Different techniques exist, from the well known
                   approach based on the specialization of the
                   doesNotUnderstand: method to the exploitation the
                   method lookup algorithm done by the virtual machine.
                   Until now no comparison between these techniques has
                   been made. In this article we compare the different
                   techniques taking into account the reflective aspects
                   used, the scope, the limit and the cost of the control.},
  annote         = {internationaljournal},
  keywords       = {olit famoos-papref snf98 oobib scg-pub skipdoi jb99
                   stefPub flo},
  misc           = {SCI impact factor 0.306},
  month          = jun,
  publisher      = {SIGS Press},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca99aMsgPassingControl.pdf},
  year           = 1999
}

@Book{Krug97a,
  Author         = {David J. Kruglinski},
  Title          = {Inside Visual {C++}},
  Publisher      = {Microsoft Press},
  year           = 1997
}

@Unpublished{Dami94c,
  Author         = {Laurent Dami},
  Title          = {Named Parameters: {A} Foundation for Subtyping},
  Note           = {Centre Universitaire d'Informatique de Gen\`eve},
  keywords       = {oilt subtyping binder},
  type           = {Draft},
  year           = 1994
}

@InProceedings{Bric00a,
  Author         = {Johan Brichau},
  Title          = {Declarative Meta Programming for a Language
                   ExtensibilityMechanism},
  BookTitle      = {ECOOP 2000 Workshop on Reflection and Meta Level
                   Architectures},
  year           = 2000
}

@InProceedings{Bert99a,
  Author         = {Elisa Bertino and Giovanna Guerrini and Isabella Merlo
                   and Marco Mesiti},
  Title          = {An Approach to Classify Semi-Structured Objects},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {416-440},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Several advanced applications, such as those dealing
                   with the Web, need to handle data whose structure is
                   not known a-priori. Such requirement severely limits
                   the applicability of traditional database techniques,
                   that are based on the fact that the structure of data
                   (e.g. the database schema) is known before data are
                   entered into the database. Moreover, in traditional
                   database systems, whenever a data item (e.g. a tuple,
                   an object, and so on) is entered, the application
                   specifies the collection (e.g. relation, class, and so
                   on) the data item belongs to. Collections are the basis
                   for handling queries and indexing and therefore a
                   proper classification of data items in collections is
                   crucial. In this paper, we address this issue in the
                   context of an extended object-oriented data model. We
                   propose an approach to classify objects, created
                   without specifying the class they belong to, in the
                   most appropriate class of the schema, that is, the
                   class closest to the object state. In particular, we
                   introduce the notion of weak membership of an object in
                   a class, and define two measures, the conformity and
                   the heterogeneity degrees, exploited by our
                   classification algorithm to identify the most
                   appropriate class in which an object can be classified,
                   among the ones of which it is a weak member.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Nier93a,
  Author         = {Oscar Nierstrasz and Dimitri Konstantas and Klaus
                   Dittrich and Dirk Jonscher},
  Title          = {{CHASSIS} --- Une Plate-forme pour la Construction de
                   Syst\`emes d'Information Ouverts},
  BookTitle      = {Proceedings, AFCET '93 --- Vers des Syst\`emes
                   d'Information Flexibles},
  Pages          = {153-161},
  Address        = {Versailles},
  Note           = {In French},
  abstract       = {Les syst\`emes d'information d'aujourd'hui ont de plus
                   en plus la n\'ecessit\'e d'\^etre ouverts. Ceci
                   implique qu'ils doivent r\'epondre aux besoins de
                   r\'eseaux ouverts, de logiciel et de mat\'eriel
                   h\'et\'erog\`enes et "inter-op\'erables," et, surtout,
                   \`a des besoins \'evolutifs et changeants. Le projet
                   CHASSIS vise le d\'eveloppement d'un cadre informatique
                   et m\'ethodologique pour (i) la conception et la
                   construction de syst\`emes d'information
                   h\'et\'erog\`enes, s\^urs et fiables \`a partir de
                   composants de logiciel et bases de donn\'ees soit
                   d\'ej\`a existants soit d\'evelopp\'es pour l'occasion,
                   et (ii) leur int\'egration s\^ure et fiable. Dans
                   CHASSIS, l'orientation-objet est la technologie cl\'e
                   pour la construction d'un tel syst\`eme, car son
                   interface uniforme est r\'ealis\'ee par un mod\`ele de
                   donn\'ees orient\'e-objet, et la couche d'int\'egration
                   est r\'ealis\'ee par du logiciel orient\'e-objet.
                   CHASSIS consiste en des mod\`eles objets pour
                   l'int\'egration de base de donn\'ees et langages de
                   programmation, du logiciel orient\'e-objet pour
                   l'int\'egration des syst\`emes, des m\'ethodes de
                   sp\'ecification pour soutenir le processus de
                   conception, et des m\'ecanismes de s\'ecurit\'e
                   avanc\'es qui permettent d'assurer un haut degr\'e de
                   s\'ecurit\'e pour le syst\`eme d'information
                   r\'esultant. CHASSIS est un projet de collaboration
                   Suisse entre l'Universit\'e de Z{\"u}rich,
                   l'Universit\'e de Gen\`eve, et le centre de recherche
                   d'Asea Brown Boveri (Baden).},
  annote         = {internationalconference},
  keywords       = {olit skipdoi chassis osg afcet93},
  misc           = {June 8-10},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier93aChassis.pdf},
  year           = 1993
}

@InProceedings{Liu92a,
  Author         = {Chamond Liu and Stephen Goetze and Bill Glynn},
  Title          = {What Contributes to Successful Object-Oriented
                   Learning?},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {77-86},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@TechReport{Gold80c,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {A Layered Approach to Software Design},
  Institution    = {Xerox PARC},
  Number         = {CSL-80-5},
  keywords       = {olit-oopl smalltalk pie},
  month          = dec,
  year           = 1980
}

@Article{Bosc97c,
  Author         = {Jan Bosch},
  Title          = {Design Patterns as Language Constructs},
  Journal        = {Journal of Object-Oriented Programming},
  month          = nov,
  year           = 1997
}

@Misc{Bell92b,
  Author         = {Gianluigi Bellin and Philip Scott},
  Title          = {On the $\pi$-Calculus and Linear Logic},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@InCollection{Habe81a,
  Author         = {A. Nico Habermann and D.E. Perry},
  Title          = {System Composition and Version Control for Ada},
  BookTitle      = {Software Engineering Environments},
  Publisher      = {North-Holland Publishing Co.},
  Editor         = {H. H{\"u}nke},
  Pages          = {331-343},
  keywords       = {misc selit gandalf ada},
  year           = 1981
}

@Article{Godi94a,
  Author         = {Godin, R. and Missaoui, R.},
  Title          = {An Incremental Concept Formation Approach for Learning
                   from Databases},
  Journal        = {Theoretical Computer Science, Special Issue on Formal
                   Methods in Databases and Software Engineering},
  Volume         = {133},
  Pages          = {387-419},
  keywords       = {fca},
  year           = 1994
}

@InProceedings{Ruth99a,
  Author         = {O.~R\"{u}thing and J.~Knoop and B.~Steffen},
  Title          = {Detecting Equalities of Variables: Combining
                   Efficiency with Precision},
  BookTitle      = {Proceedings of the 6th Static Analysis Symposium
                   (SAS'99), Venice (Italy)},
  Editor         = {A. Cortesi and G. File},
  Volume         = {1694},
  Series         = {LNCS},
  Pages          = {232-247},
  Publisher      = {Springer-Verlag},
  month          = sep,
  year           = 1999
}

@TechReport{Brue06a,
  Author         = {Andrea Br\"uhlmann},
  Title          = {{Albatross}: Seaside Web Applications Scenario Testing
                   Framework},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {Seaside is a framework for developing sophisticated
                   web applications in Smalltalk. One thing missing until
                   now has been a way to automatically test the running
                   applications in a web browser. We could open a browser
                   and test some scenarios by hand. This is not very
                   effective for larger applications and for regression
                   testing though, so we need a way to write automatic
                   tests for our web applications. Albatross is the key to
                   this problem, because it allows us to write tests
                   directly in Smalltalk using the unit testing framework.
                   It opens the web application in an external web browser
                   and simulates user interactions. It provides access to
                   the running and rendered web application and at the
                   same time to the model of your application. There is
                   even no need of bothering with HTML tags and ids,
                   because Albatross has cleverer ways to find out what to
                   do. It finds form fields just by identifying the
                   corresponding label text or clicks on links just by
                   locating the displayed link text.},
  keywords       = {snf-none scg-bp jb06 fb06},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Brue06a.pdf},
  year           = 2006
}

@InProceedings{Andr93a,
  Author         = {Jean-Marc Andreoli and Paolo Ciancarini and Remo
                   Pareschi},
  Title          = {Interaction Abstract Machines},
  BookTitle      = {Research Directions in Object-Based Concurrency},
  Editor         = {G. Agha and P. Wegner and A. Yonezawa},
  Note           = {To appear},
  keywords       = {concurrency binder},
  year           = 1993
}

@TechReport{From91a,
  Author         = {Markus Fromherz},
  Title          = {Explore/{L} --- An Object-Oriented Logic Language},
  Institution    = {University of Zurich},
  Type           = {Report},
  Number         = {91.06},
  keywords       = {olit-oopl explore/l binder (shelf)},
  month          = jun,
  year           = 1991
}

@InProceedings{Aksi88a,
  Author         = {Mehmet Aksit and Anand Tripathi},
  Title          = {Data Abstraction Mechanisms in {SINA}/{ST}},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {267-275},
  keywords       = {olit-oopl sina oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Holt06a,
  Author         = {Holt and Sch\"urr and Sim and Winter},
  Title          = {GXL: A graph-based standard exchange format for
                   reengineering},
  Journal        = {Science of Computer Programming},
  Volume         = 60,
  Number         = 2,
  Pages          = {149-170},
  month          = apr,
  year           = 2006
}

@TechReport{Duca97g,
  Author         = {St\'ephane Ducasse},
  Title          = {Des techniques de contr\^ole de l'envoi de messages en
                   {Smalltalk}},
  Institution    = {University of Berne, Institut of Applied Mathematics
                   and Computer Sciences},
  Number         = {97-004},
  Note           = {Extension version of Duca97e: Des techniques de
                   contr\^ole de l'envoi de messages en Smalltalk},
  annote         = {report notrefereed},
  keywords       = {scg-pub skipdoi skip-pdf skip-abstract jb-none flo},
  year           = 1997
}

@Article{Drumm00a,
  Author         = {Chris Drummond and Dan Ionescu and Robert C. Holte},
  Title          = {A Learning Agent that Assists the Browsing of Software
                   Libraries},
  Journal        = {Software Engineering},
  Volume         = {26},
  Number         = {12},
  Pages          = {1179-1196},
  year           = 2000
}

@InProceedings{Aign96a,
  Author         = {Gerald Aigner and Urs H{\"o}lzle},
  Title          = {Eliminating Virtual Function Calls in {C}++ Programs},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {142-166},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Duca03z,
  Author         = {St\'ephane Ducasse},
  Title          = {Espionnage en Squeak},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 50,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2003
}

@InProceedings{Seit99a,
  Author         = {Linda Seiter and Mira Mezini and Karl Lieberherr},
  Title          = {Dynamic Component Gluing},
  BookTitle      = {Proc. First International Symposium on Generative and
                   Component-Based Software Engineering, GCSE '99},
  Series         = {LNCS},
  Publisher      = {Springer Verlag},
  year           = 1999
}

@Book{DeMa02,
  Author         = {Tom DeMarco},
  Title          = {Slack, Getting Past Burnout, BusyWork, and the Myth of
                   Total Efficiency},
  Publisher      = {Broadway Books},
  isbn           = {0-7679-0769-8},
  keywords       = {oorp scglib},
  year           = 2002
}

@Article{Bern81a,
  Author         = {Philip A. Bernstein and Nathan Goodman},
  Title          = {Concurrency Control in Distributed Database Systems},
  Journal        = {ACM Comput. Surv.},
  Volume         = {13},
  Number         = {2},
  Pages          = {185--221},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/356842.356846},
  issn           = {0360-0300},
  publisher      = {ACM},
  year           = 1981
}

@Article{Inga81,
  Author         = {Daniel H. Ingalls},
  Title          = {Design Principles Behind {Smalltalk}},
  Journal        = {Byte},
  Volume         = {6},
  Number         = {8},
  Pages          = {286-298},
  month          = aug,
  year           = 1981
}

@Book{Weis96d,
  Author         = {Michael Weiss and Andy Jhonson and Joe Kiniry},
  Title          = {Security Features of {Java} and HotJava},
  Publisher      = {Open Software Foundation Version 2.1},
  keywords       = {java olit binder},
  month          = feb,
  year           = 1996
}

@InProceedings{Kahn89a,
  Author         = {K.M. Kahn},
  Title          = {Objects --- {A} Fresh Look},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {207-223},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-obc logic ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InCollection{Gand91a,
  Author         = {M.A Gandrieu and B. Durin},
  Title          = {Identification and Classification of Reusable Elements
                   in Space Domain},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@PhdThesis{Arev05a,
  Author         = {Gabriela Ar{\'e}valo},
  Title          = {High Level Views in Object-Oriented Systems using
                   Formal Concept Analysis},
  School         = {University of Berne},
  Address        = {Berne},
  abstract       = {Within object-oriented systems there are different
                   meaningful dependencies between different objects.
                   These dependencies reveal ``contracts",
                   ``collaborations" and ``relationships" between classes,
                   methods, packages and any development unit in the
                   systems. In most of the cases, these dependencies are
                   not explicit in the code. This problem is due to
                   inadequate or out-of-date documentation and mechanisms
                   such as dynamic binding, inheritance and polymorphism
                   that obscure the presence of existing dependencies.
                   These dependencies play an important part in implicit
                   contracts between the various software artifacts of the
                   system. It is therefore essential that a developer, who
                   has to make changes or extensions to an object-oriented
                   system, understands the dependencies among the classes.
                   Lack of understanding increases the risk that seemingly
                   innocuous changes break the implicit existing contracts
                   in the system. In short, implicit, undocumented
                   dependencies lead to ``fragile systems" that are
                   difficult to extend or modify correctly. In this thesis
                   we develop an approach -- based on a methodology and a
                   tool support -- to recover this implicit information
                   and generate ``high-level views" of a system at
                   different abstraction levels, using a formal clustering
                   technique called Formal Concept Analysis (FCA). With
                   these views, we help to build the first mental model of
                   a system. Thus the implicit or lost information is made
                   explicit and we are able to find uses of coding styles,
                   possible bottlenecks and weakpoints of a system,
                   identify eventual contracts between the entities,
                   ``patterns" based on the dependencies and -- if
                   possible -- propose possible solutions to correct
                   problems in the code. With this approach we also
                   evaluate which are the advantages and disadvantages of
                   using a clustering technique in software reverse
                   engineering},
  cvs            = {ArevaloPhDThesis},
  keywords       = {scg-phd evolution fca recast05 arevalo jb05 moose-pub},
  month          = jan,
  pages          = {113},
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/arevalo-phd.pdf},
  year           = 2005
}

@Book{Cahi93b,
  Editor         = {Roland Balter and Neville R. Harris and Vinny Cahill
                   and Xavier Rousset de Pina},
  Title          = {The {COMANDOS}: Distributed Application Platform},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-56660-0},
  keywords       = {dp esprit93 book scglib},
  year           = 1993
}

@Article{Gall91a,
  Author         = {Keith Brian Gallagher and James R. Lyle},
  Title          = {Using {Program} {Slicing} in {Software} {Maintenance}},
  Journal        = {Transactions on Software Engineering},
  Volume         = {17},
  Number         = {18},
  Pages          = {751-761},
  month          = aug,
  organization   = {IEEE},
  year           = 1991
}

@Misc{Eclipse03a,
  Title          = {{Eclipse} {Platform}: {Technical} {Overview}},
  Note           = {http://www.\-eclipse\-.org/\-white\-papers/\-eclipse-over\-view.pdf},
  key            = {Eclipse03a},
  year           = 2003
}

@Article{Kung81a,
  Author         = {H.T. Kung and J.T. Robinson},
  Title          = {On Optimistic Methods for Concurrency Control},
  Journal        = {ACM TODS},
  Volume         = {6},
  Number         = {2},
  keywords       = {concurrency other},
  month          = jun,
  year           = 1981
}

@InProceedings{Hirs02b,
  Author         = {Robert Hirschfeld},
  Title          = {{PerspectiveS} -- {AspectS} with Context},
  BookTitle      = {OOPSLA 2002 Workshop on Engineering Context-Aware
                   Object-Oriented Systems and Environments},
  Address        = {Seattle, WA, United States},
  keywords       = {cop-lit},
  month          = {nov},
  year           = 2002
}

@MastersThesis{Kauf01a,
  Author         = {Christian Kaufmann},
  Title          = {Software Engineering im Spannungsfeld Theorie und
                   Praxis},
  School         = {University of Bern},
  abstract       = { Die wesentlichen Probleme bei der Softwareentwicklung
                   sind bekannt. Sie wurden in zahlreichen Publikationen
                   beschrieben. Ebenso zahlreich sind die vorgeschlagenen
                   Techniken, Werkzeuge und Methoden zur Lsung dieser
                   Probleme. Trotzdem scheitern zahlreiche
                   Softwareprojekte. In dieser Arbeit wird nicht eine
                   weitere Methode oder Technik zur Softwareentwicklung
                   definiert. Vielmehr habe ich meine Erfahrungen in einer
                   einfachen Liste von Grunds{\"a}tzen zusammengefasst.
                   Theorie und Praxis ergnzen diese Grunds{\"a}tze und
                   zeigen auch ihre Grenzen auf. },
  keywords       = {scg-pub skipdoi jb02 scg-msc snf02},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Kauf01a.pdf},
  year           = 2001
}

@InCollection{Busi95a,
  Author         = {Nadia Busi and Roberto Gorrieri},
  Title          = {Distributed Conflicts in Communicating Systems},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {49-65},
  abstract       = {We argue that the alternative composition operator of
                   CCS not only lacks expressiveness, but also provides a
                   too abstract description of conflicting activities.
                   Hence, we propose to replace it with a unary conflict
                   operator and a conflict restriction operator, yielding
                   the process algebra DiX. We show that DiX is a semantic
                   extension of CCS. Moreover, DiX is equipped with a
                   simple distributed semantics defined in terms of nets
                   with inhibitor arcs, where the set of transitions is
                   generated by three axiom schemata only. This net
                   semantics is the main motivation for the present
                   proposal.},
  keywords       = {olit OBM94-04},
  year           = 1995
}

@Book{Gamm95a,
  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.},
  amount         = {2},
  isbn           = {0-201-63361-2-(3)},
  keywords       = {olit-oose design-patterns reuse book scglib sclit oorp
                   gang of four GOF},
  year           = 1995
}

@Book{Kern82a,
  Author         = {B. W. Kernighan and P.J. Plauger},
  Title          = {The Elements of Programming Style},
  Publisher      = {McGraw-Hill, Inc.},
  Address        = {New York, NY, USA},
  isbn           = {0070342075},
  year           = 1982
}

@InProceedings{Cout89a,
  Author         = {Jo\"elle Coutaz},
  Title          = {Architecture Models for Interactive Software},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {383-399},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit ui binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InCollection{Lamp81a,
  Author         = {Butler W. Lampson},
  Title          = {Atomic Transactions},
  BookTitle      = {Distributed Systems --- Architecture and
                   Implementation},
  Publisher      = {Springer-Verlag},
  Editor         = {B.W. Lampson and M. Paul and H.J. Siegert},
  Volume         = {150},
  Series         = {LNCS},
  Pages          = {246-265},
  keywords       = {olit transactions},
  year           = 1981
}

@Article{Hess88a,
  Author         = {Win H. Hesselink},
  Title          = {A Mathematical Approach to Nodeterminism in Data Types},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {10},
  Number         = {1},
  Pages          = {87-117},
  keywords       = {types semantics binder},
  month          = jan,
  year           = 1988
}

@Book{Coul98a,
  Author         = {Bernard Coulange},
  Title          = {Software Reuse},
  Publisher      = {Springer-Verlag},
  keywords       = {scglib},
  year           = 1998
}

@Book{Jone86a,
  Author         = {C.B. Jones},
  Title          = {Systematic Software Development Using {VDM}},
  Publisher      = {Prentice Hall International},
  keywords       = {plang vdm},
  year           = 1986
}

@PhdThesis{Duwe00b,
  Author         = {Stephan D{\"{u}}wel},
  Title          = {BASE --- ein be\-griffs\-basiertes {Analyseverfahren}
                   f{\"{u}}r die {Soft}\-ware-{Ent}\-wick\-lung},
  School         = {Philipps-Universit{\"{a}}t},
  Address        = {Marburg},
  keywords       = {parseError fca},
  url            = {http://www.ub.uni-marburg.de/digibib/ediss/welcome.html},
  year           = 2000
}

@Book{Lea96a,
  Author         = {Doug Lea},
  Title          = {Concurrent Programming in {Java}, Design Principles
                   and Patterns},
  Publisher      = {Addison Wesley},
  Series         = {The {Java} Series},
  isbn           = {0-201-69581-2},
  keywords       = {olit design-patterns java scglib oorp},
  year           = 1996
}

@PhdThesis{Paci05a,
  Author         = {Michael Pacione},
  Title          = {A Novel Software Visualisation Model to Support
                   Object-Oriented Program Comprehension},
  School         = {Univ. Strathclyde},
  month          = nov,
  year           = 2005
}

@Book{Kanj99a,
  Author         = {Gopal K. Kanji},
  Title          = {100 Statistical Tests},
  Publisher      = {SAGE Publications},
  pages          = {110},
  year           = 1999
}

@InProceedings{Duca99b,
  Author         = {St\'ephane Ducasse and Matthias Rieger and Serge
                   Demeyer},
  Title          = {A Language Independent Approach for Detecting
                   Duplicated Code},
  BookTitle      = {Proceedings of 15th IEEE International Conference on
                   Software Maintenance (ICSM'99)},
  Editor         = {Hongji Yang and Lee White},
  Pages          = {109-118},
  Publisher      = {IEEE Computer Society},
  abstract       = {Code duplication is one of the factors that severely
                   complicates the maintenance and evolution of large
                   software systems. Good tools for detecting duplicated
                   code are scarce because of the large amount of data to
                   be checked, because duplicated code is not known a
                   priori and because especially it requires parsing
                   technology. In this paper we show that is possible to
                   circumvent these complicating factors by applying a
                   language independent and lightweigth approach, i.e. a
                   tool that requires no parsing and a little learning and
                   configuration time, yet is able to detect a significant
                   amount of code duplication. We validate our approach on
                   a number of case studies, involving five different
                   implementation languages and ranging from 256 K up
                   untill 26Mb of source code.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.1999.792593},
  keywords       = {olit famoos-papref scg-pub toBeChecked sergedem-papref
                   duploc snf99 jb99 oorp stefPub moose-pub},
  misc           = {acceptance rate: 49/100 = 49\%},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca99bCodeDuplication.pdf},
  year           = 1999
}

@InProceedings{Walk00a,
  Author         = {Robert J. Walker and Gail C. Murphy},
  Title          = {Implicit context: easing software evolution and reuse},
  BookTitle      = {SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT
                   international symposium on Foundations of software
                   engineering},
  Pages          = {69--78},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/355045.355054},
  isbn           = {1-58113-205-0},
  keyworks       = {cop-lit},
  location       = {San Diego, California, United States},
  url            = {http://www.cs.ubc.ca/labs/se/papers/2000/fse00-ic.pdf},
  year           = 2000
}

@InProceedings{Anqu98a,
  Author         = {Nicolas Anquetil and Timothy Lethbridge},
  Title          = {Assessing the relevance of identifier names in a
                   legacy software system},
  BookTitle      = {Conference of the Centre for Advanced Studies on
                   Collaborative research (CASCON)},
  Pages          = {213-222},
  Publisher      = {IBM Press},
  year           = 1998
}

@InProceedings{Frol92a,
  Author         = {Svend Fr\/olund},
  Title          = {Inheritance of Synchronization Constraints in
                   Concurrent Object-Oriented Programming Languages},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {185-196},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  abstract       = {We analyse how inheritance of synchronization
                   constraints should be supported. The conclusion of our
                   analysis is that inheritance of synchronization
                   constraints should take the form of incrementally {\em
                   more} restrictive constraints for derived subclasses.
                   Our conclusion is based on the view that combinations
                   of behavior in object-oriented languages yield
                   subclasses that {\em extend} superclass behavior. We
                   give a notation for describing synchronization
                   constraints. In our notation, synchronization
                   constraints can be inherited and aggregated. We present
                   a number of examples that illustrate the fundamental
                   concepts captured by our notation. Synchronization
                   constraints are described as restrictions that apply to
                   invocation of methods. Application of restrictions is
                   {\em pattern-based}, which allows the same restriction
                   to apply to multiple methods and multiple restrictions
                   to apply to the same method.},
  keywords       = {olit-obc ecoop92proc},
  month          = jun,
  url            = {ftp://biobio.cs.uiuc.edu/pub/papers/constraints},
  year           = 1992
}

@InProceedings{Ryss03b,
  Author         = {Filip van Rysselberghe and Serge Demeyer},
  Title          = {Studying Software Evolution using Clone Detection},
  BookTitle      = {Proceedings WOOR'03},
  Pages          = {71-75},
  url            = {http://www.win.ua.ac.be/~fvrys/publications/},
  year           = 2003
}

@Article{Blah88a,
  Author         = {M.R. Blaha and W.J. Premerlani and James E. Rumbaugh},
  Title          = {Relational Database Design Using an Object-Oriented
                   Methodology},
  Journal        = {CACM},
  Volume         = {31},
  Number         = {4},
  Pages          = {414-427},
  keywords       = {dblit olit READ},
  month          = apr,
  year           = 1988
}

@Book{Hors98a,
  Author         = {Cay Horstmann},
  Title          = {Computing Concepts with {Java} Essentials},
  Publisher      = {Willey},
  isbn           = {0-471-17223-5},
  keywords       = {olit-oopl java scglib},
  year           = 1998
}

@TechReport{Rund92a,
  Author         = {Elke A. Rundensteiner},
  Title          = {A {Class} {Classification} {Algorithm} for
                   {Supporting} {Consistent} {Object} {Views}},
  Institution    = {University of Michigan},
  Type           = {Technical Report},
  keywords       = {fca},
  year           = 1992
}

@InProceedings{Samp99a,
  Author         = {Neal Sample and Dorothea Beringer and Laurence Melloul
                   and Gio Wiederhold},
  Title          = {{CLAM}: Composition Language for Autonomous
                   Megamodules},
  BookTitle      = {Proceedings of Coordination '99},
  Editor         = {Paolo Ciancarini and Alexander L. Wolf},
  Volume         = 1594,
  Series         = {LNCS},
  Pages          = {291-306},
  keywords       = {coordination99},
  year           = 1999
}

@Book{Glen79a,
  Author         = {Glenford J. Myers},
  Title          = {Art of Software Testing},
  Publisher      = {John Wiley \& Sons, Inc.},
  Address        = {New York, NY, USA},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  isbn           = {0471043281},
  keywords       = {testing},
  year           = 1979
}

@InProceedings{Medv96a,
  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},
  BookTitle      = {Proceedings of the Fourth ACM SIGSOFT FSE Symposium
                   (FSE4)},
  Pages          = {24-32},
  Address        = {San Francisco, CA},
  keywords       = {olit architecture},
  month          = oct,
  url            = {ftp://liege.ics.uci.edu/pub/arcadia/c2/C2-FSE96.fm.ps},
  year           = 1996
}

@TechReport{Edwa63a,
  Author         = {D. J. Edwards and M. L. Minsky},
  Title          = {Recent Improvements in {DDT}},
  Institution    = {MIT Artificial Intelligence Laboratory},
  Number         = {AIM-60},
  abstract       = {This paper will report new developments and recent
                   improvements to DDT. {"}Window DDT{"} now will remember
                   undefined symbols and define them on a later command.
                   Using sequence breaks, it can change the contents of
                   memory while a program is running, and the contents of
                   memory can be displayed in symbolic form on the scope.},
  key            = {Edwa63a},
  url            = {ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-060.pdf},
  year           = 1963
}

@TechReport{Kuhn03a,
  Author         = {Adrian Kuhn},
  Title          = {Using Local Slant Correction to Normalize Handwritten
                   Text Samples},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = { In this paper we propose to use variable slant
                   correction instead of an global correction, since the
                   slant of handwritten text is not constant over a line
                   of text. We present an algorithm that computes local
                   slant, based on generalized projection and dynamic
                   programming, and introduce a technique called slant map
                   propagation. We apply it on a case study and report the
                   results: local slant correction improves the word
                   recognition rate from 37.3\% to 42.24\% and the word
                   level accuracy from -14.99\% to -3.18\%, compared to
                   global slant correction.},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Kuhn03a.pdf},
  year           = 2003
}

@Article{Reed88a,
  Author         = {J. Reed and R.T. Yeh},
  Title          = {Specification and Verification of Liveness Properties
                   of Cyclic Concurrent Processes},
  Journal        = {ACM TOPLAS},
  Volume         = {10},
  Number         = {1},
  Pages          = {156-177},
  keywords       = {concurrency liveness},
  month          = jan,
  year           = 1988
}

@InCollection{Kicz93a,
  Author         = {Gregor Kiczales},
  Title          = {Traces ({A} Cut at the ``Make Isn't Generic'' Problem)},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {27-42},
  abstract       = {Object-oriented language are a powerful tool for
                   making a system end-programmer specializable. But, in
                   cases where the system not only accepts objects as
                   input, but also creates objects internally,
                   specialization has been more difficult. This has been
                   referred to as the ``make isn't generic problem.'' We
                   present a new object-oriented language concept, called
                   traces, that we have used successfully to support
                   specialization in cases that were previously
                   cumbersome. The concept of traces makes a fundamental
                   separation between two kinds of inheritance in
                   object-oriented languages: inheritance of
                   specialization --- an aspect of code sharing; and
                   inheritance of specialization, a sometimes static,
                   sometimes dynamic phenomena.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InCollection{Ache01b,
  Author         = {Franz Achermann and Markus Lumpe and Jean-Guy
                   Schneider and Oscar Nierstrasz},
  Title          = {Piccola --- a Small Composition Language},
  BookTitle      = {Formal Methods for Distributed Processing --- A Survey
                   of Object-Oriented Approaches},
  Publisher      = {Cambridge University Press},
  Editor         = {Howard Bowman and John Derrick},
  Pages          = {403-426},
  abstract       = {Although object-oriented languages are well-suited to
                   implementing software components, they fail to shine in
                   the construction of component-based applications,
                   largely because object-oriented design tends to obscure
                   a component-based architecture. We propose to tackle
                   this problem by clearly separating component
                   implementation and composition. Piccola is a small
                   "composition language" that embodies the paradigm of
                   "applications = components + scripts." Piccola models
                   components and composition abstractions by means of a
                   unifying foundation of communicating concurrent agents.
                   Flexibility and extensibility are obtained by modelling
                   both interfaces to components and the contexts in which
                   they live by extensible records, or "forms". We
                   illustrate the realization of an architectural style in
                   Piccola and show how external components may be adapted
                   and composed according to the style. We show how
                   separating components from their composition can
                   improve maintainability.},
  isbn           = {0-521-77184-6},
  keywords       = {olit scg-pub skipdoi pict pi omnrep scg-coord-99 snf99
                   piccola jb00 scg-coord-00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache01bPASCL.pdf},
  year           = 2001
}

@InProceedings{Jone93b,
  Author         = {Cliff B. Jones},
  Title          = {A pi-calculus Semantics for an Object-Based Design
                   Notation},
  BookTitle      = {Proceedings of CONCUR '93},
  Editor         = {E. Best},
  Volume         = {715},
  Series         = {LNCS},
  Pages          = {158-172},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc pobl pcalc mobility concur93 binder},
  year           = 1993
}

@Article{Memo01a,
  Author         = {Atif M. Memon and Martha E. Pollack and Mary Lou Soffa},
  Title          = {Hierarchical {GUI} Test Case Generation Using
                   Automated Planning},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {27},
  Number         = {2},
  Pages          = {144--155},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/32.908959},
  issn           = {0098-5589},
  keywords       = {feature testing},
  publisher      = {IEEE Press},
  year           = 2001
}

@Book{Dieh02a,
  Editor         = {Stephan Diehl},
  Title          = {Software Visualization},
  Publisher      = {Springer},
  keywords       = {scglib newentry},
  year           = 2002
}

@InProceedings{Egge92a,
  Author         = {Thomas Eggenschwiler and Erich Gamma},
  Title          = {{ET}++ Swaps Manager: Using Object Technology in the
                   Financial Engineering Domain},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {166-177},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Article{Rive76a,
  Author         = {Ronald L. Rivest},
  Title          = {Partial-Match Retrieval Algorithms},
  Journal        = {SIAM Journal on Computing},
  Volume         = {5},
  Number         = {1},
  Pages          = {19-50},
  year           = 1976
}

@InProceedings{Ricc05a,
  Author         = {Filippo Ricca and Paolo Tonella},
  Title          = {Anomaly detection in Web applications: a review of
                   already conducted case studies},
  BookTitle      = {Proceedings IEEE European Conference on Software
                   Maintenance and Reengineering (CSMR 2005)},
  Pages          = {385--394},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {web},
  location       = {Manchester, United Kingdom},
  year           = 2005
}

@MastersThesis{Deke03a,
  Author         = {Uri Dekel},
  Title          = {Revealing {JAVA} {Class} {Structures} using {Concept}
                   {Lattices}},
  School         = {Technion-Israel Institute of Technology},
  Type           = {Diploma Thesis},
  month          = feb,
  year           = 2003
}

@InProceedings{Chye99a,
  Author         = {Yu Chye Cheong and Stanislaw Jarzabek},
  Title          = {Frame-based method for customizing generic software
                   architectures},
  BookTitle      = {SSR '99: Proceedings of the 1999 symposium on Software
                   reusability},
  Pages          = {103--112},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/303008.303043},
  isbn           = {1-58113-101-1},
  location       = {Los Angeles, California, United States},
  year           = 1999
}

@InProceedings{Rose93a,
  Author         = {Ellen Rose and Arie Segev},
  Title          = {{TOOA}: {A} Temporal Object-Oriented Algebra},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {297-325},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {In this paper, we present a temporal, object-oriented
                   algebra which serves as a formal basis for the query
                   language of a temporal, object-oriented data model. Our
                   algebra is a super-set of the relational algebra in
                   that it provides support for manipulating temporal
                   objects, temporal types, type hierarchies and class
                   lattices, multiple time-lines, and correction sequences
                   in addition to supporting the five relational algebra
                   operators. Graphs are used as the visual
                   representations of both the schema and the object
                   instances. The algebra provides constructs to modify
                   and manipulate the schema graph and its extension, the
                   object graph. The algebra operates on a collection or
                   collections of objects and returns a collection of
                   objects. This algebra is a first step in providing a
                   formal foundation for query processing and optimizing
                   in a temporal, object-oriented data model.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Mino93a,
  Author         = {Toshimi Minoura and Shirish S. Pargaonkar and Kurt
                   Rehfuss},
  Title          = {Structural Active Object Systems for Simulation},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {338-355},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Article{Eick94a,
  Author         = {Stephen G. Eick},
  Title          = {Graphically Displaying Text},
  Journal        = {Journal of Computational Graphics and Statistics},
  Volume         = {3},
  Number         = {2},
  Pages          = {127-142},
  year           = 1994
}

@Book{Miln91a,
  Author         = {Robin Milner and M. Tofte},
  Title          = {Commentary on standard {ML}.},
  Publisher      = {MIT Press},
  Address        = {Cambridge},
  isbn           = {0-262-63137-7},
  keywords       = {fpl ml semantics book scglib},
  year           = 1991
}

@InProceedings{Baud01a,
  Author         = {Fran\c{c}oise Baude and Alexandre Bergel and Denis
                   Caromel and Fabrice Huet and Olivier Nano and Julien
                   Vayssi\`{e}re},
  Title          = {IC2D: Interactive Control and Debugging of
                   Distribution},
  BookTitle      = {Proceedings of the Third International Conference,
                   LSSC 2001},
  Editor         = {S. Margenov and J. Wasiewski and P. Yalamov},
  Volume         = {2179},
  Series         = {LNCS},
  Pages          = {193-200},
  Address        = {Sozopol, Bulgaria},
  Publisher      = {Springer-Verlag},
  annote         = {internationalconference},
  keywords       = {alexPub alexandrePub noWorkshop},
  month          = jun,
  url            = {http://www-sop.inria.fr/oasis/Julien.Vayssiere/publications/21790193.pdf},
  year           = 2001
}

@TechReport{Dami93a,
  Author         = {Laurent Dami},
  Title          = {The {HOP} Calculus},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {A new calculus is presented for modelling
                   object-oriented constructs. The main features of the
                   calculus are: interaction by names, unification of
                   types and values, operators for combinations and
                   alternations of terms. With a limited set of syntactic
                   constructs a surprisingly large range of features can
                   be modelled, including not only object-oriented
                   constructs but also abstract data types, recursive and
                   dependent types and concurrency. The syntax and
                   operational semantics of the calculus are presented,
                   together with numerous programming examples. Through
                   comparisons with the lambda calculus, we argue that
                   interaction by names is fundamentally more expressive
                   than traditional functional abstraction and
                   application. In particular, it becomes possible to
                   treat the parameters of an abstraction independently
                   while doing a fixed-point operation, which is of great
                   convenience for modelling object-oriented systems.
                   Finally, an approach to type-checking is presented.
                   Although not totally mature yet, it shows how types and
                   values are merged in a single preorder over terms, and
                   how this preorder can be used to prevent type errors.},
  editor         = {D. Tsichritzis},
  keywords       = {olit hop osg vo93},
  month          = jul,
  pages          = {151-212},
  year           = 1993
}

@Article{Priet86a,
  Author         = {R. Prieto-Diaz and Neighbors J.M.},
  Title          = {Module Interconnection Languages},
  Journal        = {The Journal of Systems and Software},
  Volume         = {6},
  Number         = {4},
  Pages          = {307-334},
  keywords       = {olit-reuse binder},
  month          = nov,
  year           = 1986
}

@Book{Bosc97a,
  Editor         = {Jan Bosch \& Stuart Mitchell},
  Title          = {Object-Oriented Technology: {ECOOP}'97 Workshop Reader},
  Publisher      = {Springer-Verlag},
  Volume         = 1357,
  Series         = {LNCS},
  isbn           = {3-540-64039-8},
  keywords       = {olit ecoop97wr scglib},
  year           = 1997
}

@InProceedings{Seem98a,
  Author         = {Jochen Seemann and J{\"{u}}rgen Wolff von Gudenberg},
  Title          = {Pattern-{Based} {Design} {Recovery} of {JAVA}
                   {Software}},
  BookTitle      = {Proceedings of the 6th ACM SIGSOFT International
                   Symposium on Foundations of Software Engineering},
  Pages          = {10-16},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/288195.288207},
  isbn           = {1-58113-108-9},
  keywords       = {parseError design-recovery},
  location       = {Lake Buena Vista, Florida, United States},
  year           = 1998
}

@Article{Chab94a,
  Author         = {Bruno Chabrier and Paul Franchi-Zannettacci},
  Title          = {D\'e\-l\'e\-ga\-tion s\'e\-man\-tique par
                   con\-traintes r\'eactives pour les interfaces
                   graphiques. Semantic delegation with reactive
                   contraints for graphical interfaces},
  Journal        = {Technique et Sciences Informatiques},
  Volume         = {13},
  Number         = {4},
  Pages          = {539-566},
  year           = 1994
}

@Article{Bria04a,
  Author         = {Erik Arisholm and Lionel C. Briand and Audun Foyen},
  Title          = {Dynamic Coupling Measurement for Object-Oriented
                   Software},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {30},
  Number         = {8},
  Pages          = {491-506},
  keywords       = {metrics design-recovery},
  url            = {http://csdl.computer.org/comp/trans/ts/2004/08/e0491abs.htm
                   http://www.sce.carleton.ca/faculty/briand/pubs/simula_tr_20035.pdf},
  year           = 2004
}

@Article{Mens01b,
  Author         = {K. Mens and I. Michiels and R. Wuyts},
  Title          = {Supporting Software Development through Declaratively
                   Codified Programming Patterns},
  Journal        = {SEKE 2001 Special Issue of Elsevier Journal on Expert
                   Systems with Applications},
  abstract       = {In current-day software development, programmers often
                   use programming patterns to clarify their intents and
                   to increase the understandability of their programs.
                   Unfortunately, most software development environments
                   do not adequately supp ort the declaration and use of
                   such patterns. To explicitly codify these patterns, we
                   adopt a declarative meta programming approach. In this
                   approach, we reify the structure of an
                   (object-oriented) program in terms of logic clauses. We
                   declare programmi ng patterns as logic rules on top of
                   these clauses. By querying the logic system, these
                   rules allow us to check, enforce and search for
                   occurrences of certain patterns in the software. As
                   such, the programming patterns become an active part of
                   the softw are development and maintenance environment.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/S0957-4174(02)00076-3},
  institution    = {Programming Technology Lab, Vrije Universiteit
                   Brussel, Belgium},
  keywords       = {SOUL scg-pub jb02 snf02},
  misc           = {Extended version of \cite{Mens01a}},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens01b.pdf},
  year           = 2001
}

@InProceedings{Minj05a,
  Author         = {Florian Minjat and Alexandre Bergel and Pierre Cointe
                   and St\'ephane Ducasse},
  Title          = {Mise en symbiose des traits et des classboxes:
                   Application \`a l'expression des collaborations},
  BookTitle      = {Actes de Langages et Mod\`eles \`a Objets (LMO'05)},
  Volume         = {11},
  Pages          = {33-46},
  Address        = {Bern, Switzerland},
  abstract       = {The trait model is complementary to class inheritance
                   and allows collections of methods to be reused by
                   several classes. The classbox model allows a collection
                   of classes to be locally extended with variables and/or
                   methods addition. This paper describes a symbiosis of
                   these two models: classes can be locally extended by
                   using a trait. It is illustrated by an efficient
                   implementation of the collaboration model where a
                   collaboration is represented by a classbox and a role
                   by a trait.},
  annote         = {nationalconference},
  keywords       = {traits classbox scg-pub skipdoi scg stefPub jb05
                   alexPub alexandrePub noWorkshop snf05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Minj05a-TraitClassbox.pdf},
  year           = 2005
}

@InProceedings{Guo99a,
  Author         = {Yanbing Guo and Atlee and Kazman},
  Title          = {A Software Architecture Reconstruction Method},
  BookTitle      = {Working Conference on Software Architecture (WICSA)},
  Pages          = {15-34},
  year           = 1999
}

@InProceedings{Anto04b,
  Author         = {Giuliano Antoniol and Massimiliano {Di Penta} and
                   Harald Gall and Martin Pinzger},
  Title          = {Towards the Integration of Versioning Systems, Bug
                   Reports and Source Code Meta-Models},
  BookTitle      = {Proceedings Workshop on Software Evolution Through
                   Transformation (SETra 2004)},
  Pages          = {83--94},
  Address        = {Amsterdam},
  Publisher      = {Elsevier},
  keywords       = {evolution},
  year           = 2004
}

@InProceedings{Riva00a,
  Author         = {Claudio Riva},
  Title          = {Reverse Architecting: an Industrial Experience Report},
  BookTitle      = {Proceedings WCRE 2000},
  Pages          = {42-50},
  Publisher      = {IEEE Computer Society},
  keywords       = {design-recovery},
  year           = 2000
}

@Article{Broo83b,
  Author         = {Brooks, Ruven},
  Title          = {Towards a Theory of the Comprehension of Computer
                   Programs},
  Journal        = {International Journal of Man-Machine Studies},
  Volume         = {18},
  Pages          = {543-554},
  year           = 1983
}

@InProceedings{Carg86a,
  Author         = {T.A. Cargill},
  Title          = {Pi: {A} Case Study in Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {350-360},
  keywords       = {olit-appl pi debugger c++ oopsla86},
  month          = nov,
  year           = 1986
}

@Book{Thom99a,
  Author         = {Simon Thompson},
  Title          = {Haskell: The Craft of Functional Programming (2nd
                   edition)},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0201342758},
  year           = 1999
}

@InProceedings{Well94a,
  Author         = {J. B. Wells},
  Title          = {Typability and type checking in the second-order
                   $\lambda$-calculus are equivalent and undecidable},
  BookTitle      = {Proceedings of the 9th Annual IEEE Symposium on Logic
                   in Computer Science},
  Pages          = {176--185},
  Address        = {San Antonio, Texas, USA},
  year           = 1994
}

@Book{Laus96a,
  Author         = {G. Lausen and G. Vossen},
  Title          = {Objekt-orientierte Datenbanken: Modelle und Sprachen},
  Publisher      = {R. Oldenbourg Verlag},
  isbn           = {3-486-22370-4},
  keywords       = {olit-db scglib},
  year           = 1996
}

@InProceedings{Bran97a,
  Author         = {Mark van den Brand and Alex Sellink and Chris Verhoef},
  Title          = {Generation of Components for Software Renovation
                   Factories from Context-free Grammars},
  BookTitle      = {Proceedings of the 4th Working Conference on Reverse
                   Engineering},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {We present an approach for the generation of
                   components for a software renovation factory. These
                   components are generated from a context-free grammar
                   definition that recognizes the code that has to be
                   renovated. We generate analysis and transformation
                   components that can be instantiated with a specific
                   transformation or analysis task. We apply our approach
                   to COBOL and we discuss the construction of realistic
                   software renovation components using our approach.},
  year           = 1997
}

@Book{Myer78a,
  Author         = {G. J. Myers},
  Title          = {Composite/Structured Design},
  Publisher      = {Van Nostrand Reinhold},
  year           = 1978
}

@InProceedings{Kram89c,
  Author         = {Jeffrey Kramer and Jeff Magee and K. Ng},
  Title          = {Graphical Support for Configuration Programming},
  BookTitle      = {Hawaii International Conference on System Sciences},
  Pages          = {860-870},
  keywords       = {visprog scripting binder},
  month          = jan,
  year           = 1989
}

@Book{UML97b,
  Author         = {Rational Software and Microsoft and Hewlett-Packard
                   and Oracle and Sterling Software and MCI Systemhouse
                   and Unisys and ICON Computing and IntelliCorp and
                   i-Logix and IBM and ObjecTime and Platinum Technology
                   and Ptech and Taskon and Reich Technologies and Softeam},
  Title          = {Unified Modeling Language --- {UML} Semantics (version
                   1.1)},
  Publisher      = {Rational Software Corporation},
  keywords       = {olit UML},
  month          = sep,
  year           = 1997
}

@InProceedings{Mage92a,
  Author         = {Jeff Magee and Naranker Dulay and Jeffrey Kramer},
  Title          = {Structuring Parallel and Distributed Programs},
  BookTitle      = {Proceedings of the International Workshop on
                   Configurable Distributed Systems},
  Address        = {London},
  keywords       = {olit visprog scripting darwin regis binder},
  month          = mar,
  url            = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/iwcds.ps.gz},
  year           = 1992
}

@InProceedings{Card91a,
  Author         = {Luca Cardelli and Simone Martini and John C. Mitchell
                   and Andre Scedrov},
  Title          = {An Extension of System {F} with Subtyping},
  BookTitle      = {Proceedings Theoretical Aspects of Computer Software
                   (TACS '91)},
  Editor         = {T. Ito and A.R. Meyer},
  Volume         = {526},
  Series         = {LNCS},
  Pages          = {750-770},
  Address        = {Sendai, Japan},
  Publisher      = {Springer-Verlag},
  keywords       = {types tacs91 binder},
  month          = sep,
  year           = 1991
}

@Book{Hind86a,
  Author         = {J. Roger Hindley and Jonathan P. Seldin},
  Title          = {Introduction to Combinatory Logic and Lambda Calculus},
  Publisher      = {Cambridge University Press},
  year           = 1986
}

@InProceedings{Arev01a,
  Author         = {Gabriela Ar{\'e}valo and Isabelle Borne},
  Title          = {Architectural Description of Object Oriented
                   Frameworks},
  BookTitle      = {Proceedings of Langages et Modeles \`a Objets (LMO'01)},
  Publisher      = {Hermes, Paris},
  abstract       = {Integration of architectural descriptions in
                   development tools and environments, in order to take
                   architectural descriptions into account, is a topical
                   issue. Nowadays, the existing formalisms to represent
                   software architecture fail in providing a clear
                   semantics and only give an intuitive graphical
                   representation of the system as a whole. More
                   specifically, the framework architectures should show
                   the overall design and the specification of the points
                   of the variability of the framework, making easier the
                   reuse of the architectures, integration with others
                   frameworks and a reference to measure the changes in
                   subsequent versions of the frameworks. In this paper we
                   propose an approach to describe the architecture of
                   frameworks, combining formal and non-formal formalisms:
                   Wright, an architectural description language developed
                   at Carnegie Mellon University, and architectural
                   patterns. Based on the study of several frameworks, our
                   objective was to produce a complete description of a
                   framework, to show the expressive power of both
                   approaches and to consider complementarity and
                   flexibility regarding to other approaches.},
  keywords       = {scg-old scg-pub skipdoi arevalo},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev01aLMO01.pdf},
  year           = 2001
}

@TechReport{Thom93a,
  Author         = {Bent Thomsen},
  Title          = {Polymorphic Sorts and Types for Concurrent Functional
                   Programs},
  Institution    = {ECRC},
  Type           = {ECRC-93-10},
  Address        = {Munich},
  keywords       = {concurrency semantics types binder (shelf)},
  year           = 1993
}

@TechReport{Gotz92a,
  Author         = {Norbert G{\"o}tz and Ulrich Herzog and Michael
                   Rettelbach},
  Title          = {{TIPP}: {A} Language for Timed Processes and
                   Performance Evaluation},
  Institution    = {Universit{\"a}t Erlangen-N{\"u}rnberg},
  Type           = {Report Internal},
  keywords       = {performance evaluation binder},
  month          = mar,
  year           = 1992
}

@InProceedings{Youn87a,
  Author         = {Robert L. Young},
  Title          = {An Object-Oriented Framework for Interactive Data
                   Graphics},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {78-90},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Schu98a,
  Author         = {Benedikt Schulz and Thomas Genssler and Berthold Mohr
                   and Walter Zimmer},
  Title          = {On the Computer Aided Introduction of Design Patterns
                   into Object-Oriented Systems.},
  BookTitle      = {Proceedings of the TOOLS 27 Conference (Asia '98)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {olit ooreeng famoos},
  year           = 1998
}

@InProceedings{Miss89a,
  Author         = {Michele Missikoff and Michel Scholl},
  Title          = {An Algorithm for Insertion into a Lattice: Application
                   to Type Classification},
  BookTitle      = {Proceedings of FODO '89 (3rd International Conference
                   on Foundations of Data Organization and Algorithms},
  Volume         = {367},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {64-82},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  location       = {Paris, France},
  month          = jun,
  year           = 1989
}

@InProceedings{Shavit95a,
  Author         = "Nir Shavit and Dan Touitou",
  Title          = "Software Transactional Memory",
  BookTitle      = "Symposium on Principles of Distributed Computing",
  Pages          = "204-213",
  url            = "http://citeseer.ist.psu.edu/shavit95software.html",
  year           = 1995
}

@Article{Eick02a,
  Author         = {Stephen Eick and Todd Graves and Alan Karr and Audris
                   Mockus and Paul Schuster},
  Title          = {Visualizing Software Changes},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {4},
  Pages          = {396-412},
  keywords       = {evolution visualization},
  year           = 2002
}

@InProceedings{Rajl02a,
  Author         = {V\'{a}clav Rajlich and Prashant Gosavi},
  Title          = {A Case Study of Unanticipated Incremental Change},
  BookTitle      = {18th International Conference on Software Maintenance
                   (ICSM 2002), Maintaining Distributed Heterogeneous
                   Systems, 3-6 October 2002, Montreal, Quebec, Canada},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@InProceedings{Pach93a,
  Author         = {Francois Pachet and Francis Wolinski and Sylvain
                   Giroux},
  Title          = {{Spying as an Object-Oriented Programming Paradigm}},
  BookTitle      = {Proceedings of TOOLS EUROPE '93},
  Pages          = {109-118},
  year           = 1993
}

@Unpublished{Perr91c,
  Author         = {Nigel Perry},
  Title          = {Towards a Concurrent Object/Process Oriented
                   Functional Language},
  Note           = {Massey University, Ngz},
  keywords       = {pcalc-obc ccs binder},
  type           = {Draft},
  year           = 1991
}

@Article{Pric93a,
  Author         = {Blaine A. Price and Ronald M. Baecker and Ian S. Small},
  Title          = {A Principled Taxonomy of Software Visualization},
  Journal        = {Journal of Visual Languages and Computing},
  Volume         = {4},
  Number         = {3},
  Pages          = {211-266},
  year           = 1993
}

@InProceedings{Gace95a,
  Author         = {Cristina Gacek and Ahmed Abd-Allah and Bradford Clark
                   and Barry Boehm},
  Title          = {{On} the {Definition} of {Software} {System}
                   {Architecture}},
  BookTitle      = {ICSE 17 Software Architecture Workshop},
  month          = apr,
  year           = 1995
}

@Article{Kist99a,
  Author         = {Thomas Kistler and Michael Franz},
  Title          = {A Tree-Based Alternative to Java Byte-Codes},
  Journal        = {Int. J. Parallel Program.},
  Volume         = {27},
  Number         = {1},
  Pages          = {21--33},
  address        = {Norwell, MA, USA},
  doi            = {http://dx.doi.org/10.1023/A:1018740018601},
  issn           = {0885-7458},
  publisher      = {Kluwer Academic Publishers},
  year           = 1999
}

@Book{Gold83a,
  Author         = {Adele Goldberg and David Robson},
  Title          = {{Smalltalk} 80: the Language and its Implementation},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-13688-0},
  keywords       = {olit-oopl smalltalk oobib(oopl) binder(shelf) book
                   scglib smalltalk80},
  month          = may,
  year           = 1983
}

@Book{Gra93a,
  Author         = {Ian Graham},
  Title          = {Object-Oriented Methods},
  Publisher      = {Addison Wesley},
  Edition        = {2nd},
  isbn           = {0-201-59371-8},
  keywords       = {oobib(gen) book scglib},
  year           = 1993
}

@Article{Lieb94b,
  Author         = {Lieberherr, K. J. and Silva-Lepe, I. and Xaio, C.},
  Title          = {Adaptive Object-Oriented Programming Using Graph-Based
                   Customizations.},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {5},
  Pages          = {94-101},
  month          = may,
  publisher      = {ACM Press},
  year           = 1994
}

@InProceedings{Dewh87a,
  Author         = {S.C. Dewhurst},
  Title          = {Object Representation of Scope During Translation},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {71-78},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc oorp},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@TechReport{John94,
  Author         = {John, Bonnie E. and Kieras, David E.},
  Title          = {{T}he {GOMS} {F}amily of {A}nalysis {T}echniques:
                   {T}ools for {D}esign and {E}valuation},
  Institution    = {Carnegie Mellon University School of Computer Science},
  Number         = {CMU-CS-94-181},
  date-added     = {2006-08-15 14:33:02 +0200},
  date-modified  = {2006-09-11 10:14:20 +0200},
  keywords       = {goms},
  month          = {aug},
  year           = 1994
}

@InProceedings{Bern97b,
  Author         = {Philip A. Bernstein and Brian Harry and Paul Sanders
                   and David Shutt and Jason Zander},
  Title          = {{The Microsoft Repository}},
  BookTitle      = {Proceedings of International Conference on Very Large
                   Data Bases (VLDB '97)},
  Pages          = {3-12},
  Address        = {Athens, Greece},
  keywords       = {scglib respository dblit abb oodb com},
  url            = {http://www.research.microsoft.com/users/philbe/VLDB97.DOC},
  year           = 1997
}

@Article{Hill93a,
  Author         = {R.D. Hill and T. Brinck and J.F Patterson and S.L.
                   Rohall and W.T. Wilner},
  Title          = {The Rendezvous Language and Architecture: Tools for
                   Constructibg Multi-User Interactive Systems},
  Journal        = {Communications of the ACM},
  Volume         = {36},
  Number         = {1},
  Pages          = {62-67},
  year           = 1993
}

@InProceedings{Capi03a,
  Author         = {Andrea Capiluppi},
  Title          = {Models for the evolution of {OS} projects},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM 2003)},
  Pages          = {65--74},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  year           = 2003
}

@InProceedings{Exer94a,
  Author         = {F. Exertier and S. Haj Houssain},
  Title          = {Issues in Extending a Relational System with
                   Object-Oriented Features},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {1-19},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Kern78a,
  Author         = {B.W. Kernighan and D.M. Ritchie},
  Title          = {The {C} Programming Language},
  Publisher      = {Prentice Hall Software Series},
  keywords       = {plang c},
  year           = 1978
}

@Unpublished{Fink93a,
  Author         = {S. Finke and P. Jahn and K.-P Lohr and I. Piens and
                   Th. Wolff},
  Title          = {Distribution and Inheritance in the {HERON} Approach
                   to Heterogeneous Computing},
  Note           = {Proceedings og the 13th Conf. on Distributed Computing
                   SystemsUniversit{\"a}t Berlin},
  keywords       = {olit-inheritance binder},
  type           = {Draft},
  year           = 1993
}

@InProceedings{Buhr92a,
  Author         = {Raymond J.A. Buhr and Ronald S. Casselman},
  Title          = {Architectures with Pictures},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {466-483},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Book{Rhei85a,
  Author         = {Howard Rheingold},
  Title          = {Tools for Thought},
  Publisher      = {The MIT Press},
  keywords       = {scglib},
  year           = 1985
}

@Article{Barn94a,
  Author         = {Jack Barnard and Art Price},
  Title          = {Managing Code Inspection Information},
  Journal        = {IEEE Software},
  Volume         = {11},
  Number         = {2},
  Pages          = {59-69},
  keywords       = {oorp},
  month          = mar,
  publisher      = {IEEE},
  year           = 1994
}

@InProceedings{Habe92a,
  Author         = {Benoit Habert},
  Title          = {D\'efense et illustration de la combinaison des
                   m\'ethodes en {CLOS}},
  BookTitle      = {JFLA '92},
  Pages          = {252-269},
  year           = 1992
}

@InProceedings{Abad95a,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {On Subtyping and Matching},
  BookTitle      = {Proceedings {ECOOP} '95},
  Editor         = {Walter Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {145-167},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@TechReport{Nier87d,
  Author         = {Oscar Nierstrasz},
  Title          = {Hybrid --- {A} Language for Programming with Active
                   Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Objects and Things},
  abstract       = {Hybrid is an object-oriented programming language in
                   which objects are the active entities. Active objects
                   in Hybrid are both concurrent and persistent, thus
                   unifying the notion of an "object" with that of
                   processes and files. Hybrid introduces the concept of
                   an activity as a means for controlling the interactions
                   between active objects. The language provides
                   constructs that allow one to restrict or relax this
                   control in a fairly simple way. In particular,
                   mechanisms for delaying and "delegating" activities are
                   provided. Furthermore, Hybrid is designed so as to
                   provide powerful constructs for reusing code in a way
                   that is consistent with strong-typing.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obcl skipdoi hybrid types osg oat87},
  month          = mar,
  pages          = {15-42},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier87dHybrid.pdf},
  year           = 1987
}

@TechReport{Gius92a,
  Author         = {D. Giuse},
  Title          = {KR: Constraint-based knowledge representation},
  Institution    = {Carnegie Mellon University},
  Note           = {Kr V2.0},
  month          = nov,
  year           = 1992
}

@Misc{Abra92a,
  Author         = {Samson Abramsky},
  Title          = {An Introduction to ``On the $\pi$-Calculus and Linear
                   Logic'' by Gianluigi Bellin and Philip Scott},
  Note           = {Following Lecture Material on ``Proofs and Processes''},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@InProceedings{Wu04a,
  Author         = {Jingwei Wu and Richard Holt and Ahmed Hassan},
  Title          = {Exploring Software Evolution Using Spectrographs},
  BookTitle      = {Proceedings of 11th Working Conference on Reverse
                   Engineering (WCRE 2004)},
  Pages          = {80-89},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution visualization},
  month          = nov,
  year           = 2004
}

@Book{Faya99a,
  Author         = {Mohamed Fayad and Douglas Schmidt and Ralph Johnson},
  Title          = {Building Application Frameworks: Object Oriented
                   Foundations of Framework Design},
  Publisher      = {Wiley and Sons},
  keywords       = {olit frameworks},
  year           = 1999
}

@InProceedings{Deme98q,
  Author         = {De Meuter, Wolfgang},
  Title          = {Agora: The Story of the Simplest {MOP} in the World
                   --- or --- The Scheme of Object--Orientation},
  BookTitle      = {Prototype-based Programming},
  Editor         = {J. Noble and I. Moore and A. Taivalsaari},
  Publisher      = {Springer-Verlag},
  keywords       = {was Wolf98a},
  year           = 1998
}

@InProceedings{Snyd91b,
  Author         = {Alan Snyder},
  Title          = {Modeling the {C}++ Object Model, An Application of an
                   Abstract Object Model},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {1-20},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Moor96a,
  Author         = {Ivan Moore},
  Title          = {Automatic {Inheritance} {Hierarchy} {Restructuring}
                   and {Method} {Refactoring}},
  BookTitle      = {Proceedings of OOPSLA '96 (11th Annual Conference on
                   Object-Oriented Programming Systems, Languages, and
                   Applications)},
  Pages          = {235-250},
  Publisher      = {ACM Press},
  keywords       = {refactoring Guru ooreeng reengtool famoos},
  location       = {San Jose, California, USA},
  year           = 1996
}

@Book{Rask00a,
  Author         = {Jef Raskin},
  Title          = {The Humane Interface},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{Andr89a,
  Author         = {Jean-Marc Andreoli and Remo Pareschi},
  Title          = {Logic Programming with Sequent Systems --- {A} Linear
                   Logic Approach},
  BookTitle      = {Proceedings of the Workshop on Extensions of Logic
                   Programming},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obcl lo binder},
  year           = 1989
}

@InProceedings{Lars89b,
  Author         = {Kim G. Larsen and Arne Skou},
  Title          = {Bisimulation Through Probabilistic Testing},
  BookTitle      = {Proceedings POPL '89},
  Pages          = {344-352},
  Address        = {Austin, Texas},
  keywords       = {pcalc equivalence ccs binder popl89},
  misc           = {Jan 11-13},
  month          = jan,
  year           = 1989
}

@Proceedings{Perl84a,
  Title          = {Special Issue on Reusability},
  Editor         = {T.J. Biggerstaff and Alan J. Perlis},
  Volume         = 10,
  journal        = {IEEE Transactions on Software Engineering},
  keywords       = {olit-reuse},
  month          = sep,
  year           = 1984
}

@Article{Chen96a,
  Author         = {Jan-Bon Chen and Samuel C. Lee},
  Title          = {Generation and {Reorganization} of {Subtype}
                   Hierarchies},
  Journal        = {Journal of Object Oriented Programming},
  Volume         = {8},
  Number         = {8},
  Pages          = {26-35},
  keywords       = {fca},
  month          = jan,
  year           = 1996
}

@TechReport{Atta85b,
  Author         = {Giuseppe Attardi and Andrea Corradini and M. De Cecco
                   and M. Simi},
  Title          = {The Omega Primer},
  Institution    = {Delphi},
  Type           = {Technical Report},
  Number         = {ESP/85/8},
  Address        = {Milano, Italy},
  keywords       = {olit-appl omega},
  month          = may,
  year           = 1985
}

@Book{Marc03a,
  Editor         = {Michele Marchesi and Giancarlo Succi},
  Title          = {Extreme Programming and Agile Processes in Software
                   Engineering},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 2003
}

@Book{Thom95a,
  Author         = {Pete Thomas and Ray Weedon},
  Title          = {Object-Oriented Programming in Eiffel},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-59387-4},
  keywords       = {oobib(oopl) olit-oopl eiffel book},
  year           = 1995
}

@Book{Lewi95a,
  Author         = {Ted Lewis and Larry Rosentein and Wolfgang Pree and
                   Andre Weinand and Erich Gamma and Paul Calder and Glenn
                   Andert and John Vlissides and Kurt Schmucker},
  Title          = {Object Oriented Application Frameworks},
  Publisher      = {Manning Publications Co.},
  isbn           = {0-13-213984-7},
  keywords       = {olit-reuse scglib frameworks},
  year           = 1995
}

@Book{Lams91a,
  Editor         = {van Lamsweerde, A.Fugetta, A.},
  Title          = {Proceedings {ESEC}'91},
  Publisher      = {Springer-Verlag},
  Volume         = {550},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-54742-8},
  keywords       = {olit esec91 scglib},
  month          = sep,
  year           = 1991
}

@InProceedings{Luca88a,
  Author         = {John M. Lucassen and David K. Gifford},
  Title          = {Polymorphic Effect Systems},
  BookTitle      = {Proceedings POPL '88},
  Pages          = {47-57},
  Address        = {San Diego},
  keywords       = {concurrency fx binder(conc) popl88},
  misc           = {Jan 13-15},
  month          = jan,
  year           = 1988
}

@InProceedings{Kuhn06d,
  Author         = {Adrian Kuhn and Orla Greevy},
  Title          = {Summarizing Traces as Signals in Time},
  BookTitle      = {Proceedings IEEE Workshop on Program Comprehension
                   through Dynamic Analysis (PCODA 2006)},
  Pages          = {01--06},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {One of the key challenges of dynamic analysis
                   approaches is that they imply a huge volume of data,
                   thus making it difficult to extract high level views.
                   In this paper we describe a novel approach to trace
                   summarization by visually representing entire traces as
                   signals in time. Our technique produces a visualization
                   of the complete feature space of a system that fits on
                   one page. The focus of our work is to visually
                   represent individual traces feature behavior. We assume
                   a one-to-one mapping between features and traces. We
                   apply the approach on a case study, and discuss how our
                   visualization supports the reverse engineer to identify
                   patterns in traces of features. Moreover, we show how
                   the visual analysis of our trace signals reveals that
                   assumed one-to-one mappings between features and traces
                   may be flawed.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub snf06 jb07 fb06 moose-pub},
  location       = {Benevento, Italy},
  month          = oct,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Kuhn06dTimePlot.pdf
                   http://www.lore.ua.ac.be/Events/PCODA2006/index.html},
  year           = 2006
}

@InProceedings{Eden02a,
  Author         = {Eden, Amnon H.},
  Title          = {LePUS: A Visual Formalism for Object-Oriented
                   Architectures},
  BookTitle      = {6th World Conference on Integrated Design and Process
                   Technology (IDPT)},
  location       = {Pasadena, California},
  month          = jun,
  year           = 2002
}

@InCollection{Nier89d,
  Author         = {Oscar Nierstrasz},
  Title          = {A Tour of Hybrid},
  BookTitle      = {Les Mardis Objets du CRIN, CRIN 89-R-072},
  Publisher      = {Centre de Recherche en Informatique de Nancy,
                   Vandoeuvre-l\`es-Nancy},
  Editor         = {G. Masini and A. Napoli and D. Colnet and D. L\'eonard
                   and K. Tombre},
  Pages          = {237-248},
  abstract       = {Hybrid is a strongly-typed, concurrent,
                   object-oriented programming language in which objects
                   are active entities. In this paper we provide an
                   overview of the language constructs, paying particular
                   attention to the mechanisms for programming concurrent
                   applications, and we describe our experiences in
                   developing a prototype implementation of the language
                   and its run-time environment.},
  keywords       = {olit-obcl skipdoi hybrid tour osg},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier89dCRINTourOfHybrid.pdf},
  year           = 1989
}

@InProceedings{Grau01b,
  Author         = {Paul Graunke and Robert Bruce Findler and Shriram
                   Krishnamurthi and Matthias Felleisen},
  Title          = {Automatically Restructuring Programs for the Web},
  BookTitle      = {International Conference on Automated Software
                   Engineering},
  year           = 2001
}

@InProceedings{Lanz01d,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {The Class Blueprint: A Visualization of the Internal
                   Structure of Classes},
  BookTitle      = {Workshop Proceedings of OOPSLA 2001},
  abstract       = {Understanding classes is a key activity in
                   object-oriented programming, since classes represent
                   the primary abstractions from which applications are
                   built. The main problem of this task is to quickly
                   grasp the purpose and inner structure of a class. In
                   this paper we discuss the class blueprint, a
                   visualization of the inner structure of classes.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 jb01 stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz01dClassBlueprint.pdf},
  year           = 2001
}

@Article{Schm94a,
  Author         = {H.W. Schmidt and W. Zimmermann},
  Title          = {A Complexity calculus for Object-Oriented programs},
  Journal        = {Object-Oriented Systems},
  Volume         = {1},
  Number         = {2},
  Pages          = {117-148},
  keywords       = {olit binder},
  month          = dec,
  publisher      = {Chapman \& Hall},
  year           = 1994
}

@Article{Rice94a,
  Author         = {M.D. Rice and S.B. Seidman},
  Title          = {A Formal Model for Module Interconnection Languages},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {20},
  Number         = {1},
  Pages          = {88-100},
  keywords       = {interconnection language binder},
  month          = jan,
  year           = 1994
}

@TechReport{Comp93a,
  Author         = {Adriana B. Compagnoni and Benjamin C. Pierce},
  Title          = {Multiple Inheritance via Intersection Types},
  Institution    = {LFCS, University of Edinburgh},
  Type           = {ECS-LFCS-93-275},
  Note           = {To appear in MSCS},
  keywords       = {olit-types},
  month          = aug,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fomeet.ps.gz},
  year           = 1993
}

@Article{Li93b,
  Author         = {W. Li and S. Henry},
  Title          = {Maintenance Metrics for the Object Oriented Paradigm},
  Journal        = {Proceedings of the First International Software
                   Metrics Symposium.},
  Pages          = {52-60},
  annote         = {oometrics},
  month          = may,
  year           = 1993
}

@InProceedings{Four98a,
  Author         = {C{\'e}dric Fournet and Georges Gonthier},
  Title          = {A Hierarchy of Equivalences for Asynchronous Calculi},
  BookTitle      = {Proceedings of ICALP~'98},
  Pages          = {844-855},
  keywords       = {pcalc mobility join calculus pisem},
  url            = {http://www.research.microsoft.com/~fournet/biblio.htm},
  year           = 1998
}

@InProceedings{Unga88a,
  Author         = {David Ungar and Frank Jackson},
  Title          = {Tenuring Policies for Generation-Based Storage
                   Reclamation},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {1-17},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Gael04b,
  Author         = {Markus Gaelli and Marcus Denker},
  Title          = {Von kleinen und grossen Erfindern --- Squeak:
                   Lernumgebung und Smalltalk-System f{\"u}r Kinder und
                   Erwachsene},
  Journal        = {ct},
  Pages          = {216-221},
  annote         = {notrefereed},
  keywords       = {squeak smalltalk snf-none},
  misc           = {gaelli},
  month          = may,
  publisher      = {Heise Verlag},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael04bVonKleinenUndGrossenErfindern.pdf},
  year           = 2004
}

@Article{ACM95a,
  Author         = {{ACM}},
  Title          = {Women in Computing},
  Journal        = {Communications of the ACM},
  Volume         = {38},
  Number         = {1},
  institution    = {ACM},
  keywords       = {scglib},
  month          = jan,
  year           = 1995
}

@Book{xmlschema,
  Author         = {C. M. Sperberg-McQueen and Henry Thompson},
  Title          = {XML Schema 1.1},
  Publisher      = {W3C},
  Edition        = {},
  Note           = {\verb|http://www.w3.org/XML/Schema|},
  year           = 2006
}

@Book{Brif01a,
  Author         = {Xavier Briffault and St\'ephane Ducasse},
  Title          = {Squeak},
  Publisher      = {Eyrolles, Paris},
  annote         = {book},
  keywords       = {smalltalk squeak scglib},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@Misc{Corn96a,
  Author         = {Steve Cornett},
  Title          = {Code Coverage Analysis},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  institution    = {Bullseye Testing Technology},
  keywords       = {code coverage},
  url            = {http://www.bullseye.com/coverage.html},
  year           = 1996
}

@Book{Hank98a,
  Editor         = {Chris Hankin},
  Title          = {Proceedings {ESOP}'98},
  Publisher      = {Springer-Verlag},
  Volume         = {1381},
  Series         = {LNCS},
  Address        = {Lisbon, Portugal},
  isbn           = {3-540-64302-8},
  keywords       = {olit esop98 scglib},
  month          = mar,
  year           = 1998
}

@Proceedings{Trip92a,
  Title          = {International Workshop on Object-Orientation in
                   Operating Systems},
  Editor         = {Anand Tripathi and Richard Wolfe and Surya Koneru and
                   Zine Attia},
  Address        = {Paris},
  keywords       = {olit-ooos nexus binder},
  month          = sep,
  year           = 1992
}

@Article{Roth01a,
  Author         = {Gregg Rothermel and Roland Untch and Chengyun Chu and
                   Mary Jean Harrold},
  Title          = {Prioritizing Test Cases For Regression Testing},
  Journal        = {Transactions on Software Engineering},
  Volume         = {27},
  Number         = {10},
  Pages          = {929-948},
  month          = oct,
  organization   = {IEEE},
  year           = 2001
}

@InProceedings{Memo03a,
  Author         = {Atif Memon and Ishan Banerjee and Adithya Nagarajan},
  Title          = {{GUI} Ripping: Reverse Engineering of Graphical User
                   Interfaces for Testing},
  BookTitle      = {Proceedings IEEE Working Conference on Reverse
                   Engineering (WCRE 2003)},
  Pages          = {260-269},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature testing},
  month          = nov,
  year           = 2003
}

@InProceedings{Dick95a,
  Author         = {Herv{\'e} Dicky and Christoph Dony and Marianne
                   Huchard and Th{\'e}r{\`e}se Libourel},
  Title          = {{ARES}, {Adding} a class and {RES}tructuring
                   {Inhertitance} {Hierarchy}},
  BookTitle      = {BDA: 11\`emes Journ\'ees Bases de Donn\'ees Avanc\'ees},
  Pages          = {25-42},
  keywords       = {fca},
  location       = {Nancy, France},
  url            = {http://www.lirmm.fr/w3arc/fr/publications/1995/},
  year           = 1995
}

@Book{Hopk95a,
  Author         = {Trevor Hopkins and Bernard Horan},
  Title          = {Smalltalk: An Introduction to Application Development
                   using Visualworks},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-318387-4},
  keywords       = {obib(smalltalk) scglib},
  year           = 1995
}

@InProceedings{Holt99a,
  Author         = {John B. Tran and Richard C. Holt},
  Title          = {Forward and Reverse Repair of Software Architecture},
  BookTitle      = {CASCON '99},
  Address        = {Toronto},
  month          = nov,
  year           = 1999
}

@Book{Jone93d,
  Author         = {Neil J. Jones and Carsten K. Gomard and Peter Sestoft},
  Title          = {Partial Evaluation and Automatic Program Generation},
  Publisher      = {Prentice-Hall},
  year           = 1993
}

@InProceedings{Suzu81a,
  Author         = {Norihisa Suzuki},
  Title          = {Inferring types in Smalltalk},
  BookTitle      = {POPL '81: Proceedings of the 8th ACM SIGPLAN-SIGACT
                   symposium on Principles of programming languages},
  Pages          = {187--199},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/567532.567553},
  isbn           = {0-89791-029-X},
  location       = {Williamsburg, Virginia},
  year           = 1981
}

@Misc{JUnit,
  Title          = {{JU}nit},
  Note           = {http://www.junit.org},
  key            = {JUnit},
  keywords       = {testing},
  url            = {http://www.junit.org}
}

@Book{Schm86b,
  Author         = {D.A. Schmidt},
  Title          = {Denotational Semantics: {A} Methodology for Language
                   Development},
  Publisher      = {Allyn and Bacon, Inc.},
  Address        = {Newton, MA},
  isbn           = {0-697-06849-8},
  keywords       = {pl-semantics book scglib},
  year           = 1986
}

@Article{Bigg94a,
  Author         = {Ted J. Biggerstaff and Bharat G. Mitbander and Dallas
                   E. Webster},
  Title          = {Program Understanding and the Concept Assignment
                   Problem},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {5},
  Pages          = {72-82},
  keywords       = {oorp},
  month          = may,
  publisher      = {ACM},
  year           = 1994
}

@TechReport{Rutt87a,
  Author         = {Jan Rutten and Jeffrey I. Zucker},
  Title          = {A Semantic Approach to Fairness},
  Institution    = {CWI},
  Type           = {Report},
  Number         = {CS-R8759},
  Address        = {Amsterdam},
  keywords       = {concurrency acp binder},
  year           = 1987
}

@InProceedings{Hamo03a,
  Author         = {A. Hamou-Lhadj and T. Lethbridge},
  Title          = {An Efficient Algorithm for Detecting Patterns in
                   Traces of Procedure Calls},
  BookTitle      = {Proceedings of 1st International Workshop on Dynamic
                   Analysis (WODA)},
  keywords       = {Dynamic Analysis},
  location       = {Portland, Oregon},
  month          = may,
  year           = 2003
}

@Book{Jalo97a,
  Author         = {P. Jalote},
  Title          = {An Integrated Approach to Software Engineering},
  Publisher      = {Springer-Verlag},
  Address        = {New York},
  Edition        = {2nd},
  keywords       = {fca},
  year           = 1997
}

@Article{Rees86a,
  Author         = {J. Rees and W. Clinger},
  Title          = {R4RS. Revised Report on the Algorithmic Language
                   Scheme},
  Journal        = {ACM Sigplan Notices},
  Volume         = 21,
  Number         = 12,
  key            = {R4RS},
  month          = dec,
  year           = 1986
}

@Book{Wein81a,
  Author         = {D. Weinreb and David Moon},
  Title          = {The Lisp Machine Manual},
  Publisher      = {Symbolics Inc.},
  keywords       = {olit-oopl flavors lisp},
  year           = 1981
}

@Misc{Lump99c,
  Author         = {Markus Lumpe},
  Title          = {Automatic Type Reconstruction for a Process Calculus
                   with Records},
  Note           = {Working Paper},
  keywords       = {snf99 pil typing scg-wp},
  year           = 1999
}

@InProceedings{Hart92a,
  Author         = {Thorsten Hartmann and Ralf Jungclaus and Gunter Saake},
  Title          = {Aggregation in a Behaviour Oriented Object Model},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {57-77},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@Book{Mich01a,
  Author         = {Alain Michard},
  Title          = {XML --- langage et applications},
  Publisher      = {Eyrolles},
  keywords       = {scglib xml},
  year           = 2001
}

@InProceedings{Till03c,
  Author         = {Thomas Tilley},
  Title          = {Towards an {FCA} Based Tool for Visualising Formal
                   Specifications},
  BookTitle      = {Using Conceptual Structures: Contributions to ICCS
                   2003},
  Editor         = {B. Ganter and A. de Moor},
  Pages          = {227-240},
  Publisher      = {Shaker Verlag},
  keywords       = {fca},
  year           = 2003
}

@InProceedings{Ege87a,
  Author         = {Raimund K. Ege and David Maier},
  Title          = {The Filter Browser Defining Interfaces Graphically},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {140-150},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Book{Shaf91a,
  Author         = {Dan Shafer and Dean A. Ritz},
  Title          = {Practical {Smalltalk}},
  Publisher      = {Springer-Verlag},
  isbn           = {0-387-97394-X},
  keywords       = {olit-oopl oobib(oopl) oobib(smalltalk) book scglib},
  year           = 1991
}

@InProceedings{Gold77a,
  Author         = {Ira P. Goldstein and R. Bruce Roberts},
  Title          = {NUDGE, a Knowledge-Based Scheduling Program},
  BookTitle      = {Proceedings of the Fifth International Joint
                   Conference on Artifical Intelligence},
  Pages          = {257-263},
  year           = 1977
}

@InCollection{Carr95a,
  Author         = {Nick Carriero and David Gelernter and Lenore Zuck},
  Title          = {Bauhaus Linda},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {66-76},
  abstract       = {We discuss ``Bauhaus Linda'' (or Bauhaus for short), a
                   Linda-derived coordination language that is in many
                   ways simultaneously more powerful and simpler than
                   Linda. Bauhaus unifies tuples and tuple spaces, leading
                   to an especially clean treatment of multiple tuple
                   spaces, and treats processes as atomic and explicitly
                   representable. We present an informal semantics of
                   Bauhaus and discuss an extended example that
                   demonstrates its expressivity and simplicity.},
  keywords       = {olit OBM94-28},
  year           = 1995
}

@Misc{Corn99a,
  Author         = {Steve Cornett},
  Title          = {What is Wrong with Line Coverage},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  institution    = {Bullseye Testing Technology},
  keywords       = {code coverage},
  url            = {http://www.bullseye.com/lineCoverage.html},
  year           = 1999
}

@TechReport{Nier91a,
  Author         = {Oscar Nierstrasz},
  Title          = {The {ADL} Scripting Model and Component Set},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA.-CUI.-91.-Vista.#6.1},
  abstract       = { The Activity Definition Language (ADL) [1][4] is a
                   language for defining coordination procedures, or
                   workflows. It is a textual as opposed to a graphical
                   language. Vista [2][3][5] is a tool for visually
                   scripting together pluggable software components to
                   construct new applications. We present here a
                   general-purpose scripting model and component set for
                   ADL, in which scripted components are capable of
                   generating the corresponding ADL code for a given
                   workflow. },
  keywords       = {olit-ithaca skipdoi osg vista},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier91aADLscripting.pdf},
  year           = 1991
}

@InProceedings{Rich99b,
  Author         = {Tamar Richner},
  Title          = {Using Recovered Views to Track Architectural Evolution},
  BookTitle      = {ECOOP '99 Workshop Reader},
  Number         = 1743,
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  abstract       = {Tracking the evolution of a software system through
                   time gives us valuable information. It suggests which
                   parts are likely to remain stable and which 'problem'
                   aspects are likely to change, and it gives us insight
                   into some of the design choices made. In this paper we
                   show how recovered views of succesive versions of the
                   same software system can be used to track evolution. We
                   first briefly describe our approach for recovering
                   views of software applications. We then compare views
                   of two versions of the HotDraw framework. Our objective
                   is to illustrate a number of issues concerning
                   architectural evolution: what is architectural change
                   as opposed to change in general? how can we detect
                   architectural drift? how can we evaluate the relative
                   quality of different architectural solutions? what are
                   guidelines for building evolvable software?},
  keywords       = {olit famoos-papunr scglit oobib scg-pub skipdoi snf99
                   jb99},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/Rich99b/ecoop99.pdf},
  year           = 1999
}

@InProceedings{Wend03a,
  Author         = {Wendehals, Lothar},
  Title          = {Improving Design Pattern Instance Recognition by
                   Dynamic Analysis},
  BookTitle      = {Proc. of the ICSE 2003 Workshop on Dynamic Analysis
                   (WODA)},
  location       = {Portland, USA},
  month          = may,
  year           = 2003
}

@InProceedings{Cann89a,
  Author         = {Peter S. Canning and William Cook and Walter L. Hill
                   and John C. Mitchell and Walter G. Olthoff},
  Title          = {F-Bounded Polymorphism for Object-Oriented Programming},
  BookTitle      = {Proceedings of the ACM Conference on Functional
                   Programming and Computer Architecture},
  Pages          = {273-280},
  keywords       = {types olit binder ioom-types},
  misc           = {Sept. 11-13},
  month          = sep,
  url            = {http://theory.stanford.edu/people/jcm/publications.htm},
  year           = 1989
}

@Book{Tyrr95a,
  Author         = {A.J. Tyrrell},
  Title          = {Eiffel Object-Oriented Programming},
  Publisher      = {MacMillan Press},
  keywords       = {olit-oopl eiffel book},
  year           = 1995
}

@InProceedings{Laro03a,
  Author         = {David Larochelle and Karl Scheidt and Kevin Sullivan},
  Title          = {Join Point Encapsulation},
  BookTitle      = {Proceedings of the Workshop on Software Engineering
                   Properties of Languages for Aspect Technologies (SPLAT)},
  Note           = {held in conjunction with AOSD 2003, Boston, MA},
  month          = mar,
  url            = {http://www.cs.virginia.edu/~eos/Publications.htm
                   http://www.daimi.au.dk/~eernst/splat03/index.html},
  year           = 2003
}

@InProceedings{Gree05e,
  Author         = {Orla Greevy and Abdelwahab Hamou-Lhadj and Andy
                   Zaidman},
  Title          = {Workshop on Program Comprehension through Dynamic
                   Analysis (PCODA)},
  BookTitle      = {12th Working Conference on Software Maintenance and
                   Reengineering (WCRE 2005)},
  Pages          = {232--232},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.35},
  keywords       = {scg-pub greevy jb06 Dynamic Analysis moose-pub
                   recast07},
  month          = sep,
  url            = {http://www.lore.ua.ac.be/Events/PCODA2005/index.html
                   http://www.lore.ua.ac.be/Events/PCODA2005/PCODA2005proceedings.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05e-pcoda2005proceedings.pdf},
  year           = 2005
}

@InProceedings{Groh98a,
  Author         = {B. Groh and S. Strahringer and R. Wille},
  Title          = {TOSCANA-Systems Based on Thesauri},
  BookTitle      = {Proceedings of the 6th International Conference on
                   Conceptual Structures},
  Series         = {LNAI 1453},
  Pages          = {127-138},
  Address        = {Berlin},
  Publisher      = {Springer Verlag},
  keywords       = {fca},
  year           = 1998
}

@Article{Land81a,
  Author         = {C.E. Landwehr},
  Title          = {Formal Models for Computer Security},
  Journal        = {ACM Computing Surveys},
  Volume         = {13},
  Number         = {3},
  Pages          = {247-278},
  keywords       = {security olit},
  month          = sep,
  year           = 1981
}

@Book{Tuft90a,
  Author         = {Edward R. Tufte},
  Title          = {Envisioning Information},
  Publisher      = {Graphics Press},
  keywords       = {scglib book},
  year           = 1990
}

@InProceedings{Loom87a,
  Author         = {M.E.S. Loomis and Ashwin V. Shah and James E. Rumbaugh},
  Title          = {An Object Modelling Technique for Conceptual Design},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {192-202},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Lica03a,
  Author         = {D. Licata and C.D. Harris and S. Krishnamurthi},
  Title          = {The Feature Signatures of Evolving Programs},
  BookTitle      = {Proceedings IEEE International Conference on Automated
                   Software Engineering},
  Pages          = {281--285},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature},
  month          = oct,
  year           = 2003
}

@InProceedings{Mens00a,
  Author         = {Mens, Tom and Mens, Kim and Wuyts, Roel},
  Title          = {On the Use of Declarative Meta Programming for
                   Managing Architectural Software Evolution},
  BookTitle      = {Proceedings of the ECOOP '2000 Workshop on
                   Object-Oriented Architectural Evolution},
  annote         = {internationalworkshop},
  keywords       = {SOUL},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/DHon99a.pdf},
  year           = 2000
}

@Article{Hend86a,
  Author         = {J. Hendler},
  Title          = {Enhancement for Multiple Inheritance},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {98-106},
  keywords       = {olit-inheritance concepts flavors inheritance oopws86},
  month          = oct,
  year           = 1986
}

@Misc{CGI,
  Title          = {{CGI}, The Common Gateway Interface},
  Note           = {http://hoohoo.ncsa.uiuc.edu/cgi/},
  key            = {CGI}
}

@Book{Boot93a,
  Author         = {Vernon Booth},
  Title          = {Communicating in Science},
  Publisher      = {Cambridge University Press},
  isbn           = {0521429153},
  keywords       = {book scglib},
  year           = 1993
}

@Book{Zipf49a,
  Author         = {George Kingsley Zipf},
  Title          = {Human Behavior and the Principle of Least Effort: An
                   Introduction to Human Ecology},
  Publisher      = {Addison-Wesley Press Inc.},
  Address        = {Cambridge 42, MA, USA},
  keywords       = {inversely proportional probability distribution},
  notes          = {Zipf's law},
  size           = {573 pages},
  year           = 1949
}

@TechReport{Papa90a,
  Author         = {Michael Papathomas and Dimitri Konstantas},
  Title          = {Integrating Concurrency and Object-Oriented
                   Programming --- An Evaluation of Hybrid},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {In this paper we address the effective use of the
                   object-oriented programming approach for concurrent
                   programming from a language design viewpoint. We
                   present a set of requirements for the design of
                   concurrent object-oriented languages. We then use a
                   particular language, Hybrid, as a concrete example and
                   examine to what extent its features meet these
                   requirements. We identify the solutions offered by
                   Hybrid and its shortcomings and we underline both the
                   difficulties and promising directions for the design of
                   concurrent object-oriented languages.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc hybrid osg-ftp om90},
  month          = jul,
  pages          = {229-244},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridEvaluation.pdf},
  year           = 1990
}

@InProceedings{Stei87a,
  Author         = {Lynn Andrea Stein},
  Title          = {Delegation Is Inheritance},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {138-146},
  keywords       = {olit-inheritance inheritance delegation oopsla87
                   oobib(inh)},
  month          = dec,
  year           = 1987
}

@InProceedings{Fras81a,
  Author         = {C.W. Fraser},
  Title          = {Syntax-Directed Editing of General Data Structures},
  BookTitle      = {Proceedings of the ACM Symposium on Text Manipulation},
  Pages          = {17-21},
  keywords       = {uilit text},
  month          = jun,
  year           = 1981
}

@MastersThesis{Buch03a,
  Author         = {Frank Buchli},
  Title          = {Detecting {Software} {Patterns} using {Formal}
                   {Concept} {Analysis}},
  School         = {University of Bern},
  Type           = {Diploma Thesis},
  abstract       = {Redocumentation and design recovery are two important
                   areas of reverse engineering. Detection of recurring
                   organizations of classes and communicating objects,
                   called Software Patterns, supports this process. Many
                   approaches to detect Software Patterns have been
                   published in the past years. Most of these approaches
                   need a pattern library as reference. Personal coding
                   style and domain specific requirements lead to creating
                   new patterns or adapting existing ones and make those
                   approaches fail. The second problem is that the found
                   patterns of those methods are presented without
                   connection to the other patterns. To gain an overview
                   of the whole system and its mechanisms, we propose to
                   set the patterns in relation each other. Our work shows
                   a method to detect Software Patterns using Formal
                   Concept Analysis (FCA). The advantage of this approach
                   is that no reference library is needed and the results
                   are set in relation each other. FCA is a mathematical
                   theory which detects the presence of groups of classes
                   which instantiate a common, repeated pattern. Those
                   found patterns are presented in a lattice, a partial
                   order relation among the patterns, which allows us to
                   explore the pattern which are in relation to them. We
                   implemented a prototype tool ConAn PaDi which navigates
                   with the Fish Eye View technique over the patterns. For
                   validation we applied this tool to three mid-sized
                   Smalltalk applications},
  classification = {D.2.2. Tools and Techniques},
  keywords       = {scg-msc snf03 jb04 moose-pub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Buch03a.pdf},
  year           = 2003
}

@TechReport{Beye03a,
  Author         = {Dirk Beyer and Claus Lewerentz},
  Title          = {{CrocoPat}: A Tool for Efficient Pattern Recognition
                   in Large Object-Oriented Programs},
  Institution    = {Institute of Computer Science, Brandenburgische
                   Technische Universit{\"a}t Cottbus},
  Number         = {I-04/2003},
  month          = jan,
  year           = 2003
}

@Book{Coop00a,
  Author         = {James W. Cooper},
  Title          = {Java Design Patterns},
  Publisher      = {Addison Wesley},
  keywords       = {java scglib book},
  year           = 2000
}

@InCollection{Turn90a,
  Author         = {David A. Turner},
  Title          = {An Overview of Miranda},
  BookTitle      = {Research Topics in Functional Programming},
  Publisher      = {Addison Wesley},
  Editor         = {D.A. Turner},
  Pages          = {1-16},
  Address        = {Reading, Mass.},
  keywords       = {fpl miranda binder(fp)},
  year           = 1990
}

@InProceedings{Brac90a,
  Author         = {Gilad Bracha and William Cook},
  Title          = {Mixin-based Inheritance},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {303-311},
  keywords       = {olit-inheritance oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Luck96a,
  Author         = {David C. Luckham},
  Title          = {Rapide: A Language and Toolset for Simulation of
                   Distributed Systems by Partial Ordering of Events},
  BookTitle      = {DIMACS Partial Order Methods Workshop IV},
  Publisher      = {Princeton University},
  month          = jul,
  year           = 1996
}

@InProceedings{Wegn88a,
  Author         = {Peter Wegner and Stanley B. Zdonik},
  Title          = {Inheritance as an Incremental Modification Mechanism
                   or What Like Is and Isn't Like},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {55-77},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop88proc binder(oop) oobib(inh)
                   ioom-types},
  misc           = {August 15-17},
  month          = apr,
  url            = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/t0322.htm
                   http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/0322/03220055.pdf},
  year           = 1988
}

@InCollection{Brin87a,
  Author         = {Ed Brinksma and Giuseppe Scollo and Chris Steenbergen},
  Title          = {{LOTOS} Specifications, Their Implementations and
                   Their Tests},
  BookTitle      = {Protocol Specification, Testing and Verification VI},
  Publisher      = {North Holland},
  Editor         = {G. Bochmann and B. Sarikaya},
  Pages          = {349-360},
  keywords       = {pcalc equivalence lotos binder},
  year           = 1987
}

@InProceedings{Syst00b,
  Author         = {Tarja Syst{\"a}},
  Title          = {Understanding the behavior of {Java} Programs},
  BookTitle      = {Proceedings IEEE International Working Conference in
                   Reverse Engineering (WCRE 2000)},
  Pages          = {214-223},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  month          = nov,
  year           = 2000
}

@Article{Duca05c,
  Author         = {St\'ephane Ducasse and Oscar Nierstrasz and Matthias
                   Rieger},
  Title          = {On the Effectiveness of Clone Detection by String
                   Matching},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice (JSME)},
  Volume         = 18,
  Number         = 1,
  Pages          = {37-58},
  abstract       = { Although duplicated code is known to pose severe
                   problems for software maintenance, it is difficult to
                   identify in large systems. Many different techniques
                   have been developed to detect software clones, some of
                   which are very sophisticated, but are also expensive to
                   implement and adapt. Lightweight techniques based on
                   simple string matching are easy to implement, but how
                   effective are they? We present a simple stringbased
                   approach which we have successfully applied to a number
                   of different languages such COBOL, {Java}, C++, Pascal,
                   Python, Smalltalk, C and PDP-11 assembler. In each case
                   the maximum time to adapt the approach to a new
                   language was less than 45 minutes. In this article we
                   investigate a number of simple variants of string-based
                   clone detection that abstract away from common editing
                   operations, and assess the quality of clone detection
                   for very different case studies. Our results confirm
                   that this inexpensive clone detection technique
                   generally achieves high recall and acceptable
                   precision. Over-zealous normalization of the code
                   before comparison, however, can result in unacceptable
                   numbers of false positives. },
  annote         = {internationaljournal},
  cvs            = {DuplocJournalPaper},
  doi            = {http://doi.wiley.com/10.1002/smr.317},
  keywords       = {scg-pub recast06 jb06 stefPub duploc},
  misc           = {SCI impact factor 0.457 (2005)},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05cDuplocJSMEPaper.pdf},
  year           = 2006
}

@TechReport{Schr92a,
  Author         = {Wolfgang Schr{\"o}der-Preikschat},
  Title          = {{PEACE} --- The Evolution of a Parallel Operating
                   System},
  Institution    = {GMD},
  Type           = {Working Paper},
  Number         = {646},
  Address        = {Sankt Augustin},
  keywords       = {misc os distribution binder (shelf)},
  month          = may,
  year           = 1992
}

@InProceedings{Kemp92a,
  Author         = {Alfons Kemper and Guido Moerkotte and Hans-Dieter
                   Walter},
  Title          = {Structuring the Distributed Object World of {CIM}},
  BookTitle      = {Proceedings of 7th IFAC/IFIP/IFORS/IMACS/ISPE
                   Symposium on Information Control Problems in
                   Manufacturing Technology (INCOM '92)},
  Address        = {Toronto},
  keywords       = {olit-db binder},
  month          = may,
  year           = 1992
}

@InProceedings{Mats92a,
  Author         = {Satoshi Matsuoka and Takuo Watanabe and Yuuji Ichisugi
                   and Akinori Yonezawa},
  Title          = {Object-Oriented Concurrent Reflective Architectures},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {211-226},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/obcp91-reflective.ps.gz},
  year           = 1992
}

@InProceedings{Sang00b,
  Author         = {Sangiorgi, Davide},
  Title          = {Lazy functions and mobile processes},
  BookTitle      = {Proof, Language and Interaction: Essays in Honour of
                   Robin Milner},
  Editor         = {Plotkin, G. and Stirling, C. and Tofte, M.},
  Publisher      = {{MIT} {Press}},
  month          = may,
  year           = 2000
}

@MastersThesis{Frei04a,
  Author         = {Michael Freidig},
  Title          = {Trace Based Object-Oriented Application Testing},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Testing the behavior of object-oriented systems is an
                   important activity in the software development and
                   maintenance process. It validates an expected behavior
                   against an observed behavior. A behavioral test is an
                   assertion over a set of messages and objects states
                   that occur during the execution of a system. Testing
                   behavior is especially important for object-oriented
                   legacy systems where current behavior is the only thing
                   we can trust because a specification is often missing.
                   There are two problems with testing behavior of
                   object-oriented systems. First there exists no common
                   form to express a hypothesis about an expected behavior
                   and to validate it against an actual program behavior.
                   This has the consequence that behavioral tests are
                   carried out manually by stepping through an execution
                   with a debugger and asserting behavioral properties by
                   visually inspecting states, arguments and messages in
                   the context of the execution history of the system.
                   Second it is a priori not clear what kind of behavior
                   should be tested and how it is represented in terms of
                   message passing and state changes. This causes
                   additional friction when setting up tests for behaviors
                   that occur over and over again in different systems. In
                   this thesis the concept of trace-based object-oriented
                   testing is introduced. It supports the specification of
                   an expected behavior in the form of a formal expression
                   and an automatic test of whether an expected behavior
                   occurs in previously recorded execution trace. A
                   prototype tool TESTLOG on the basis of the logic
                   language SOUL is developed that supports trace-based
                   object-oriented testing in the form of a logic query
                   over a trace. As a validation of the concept behavioral
                   tests for different types of behaviors that frequently
                   occur in object-oriented systems are designed and
                   documented in the form of a pattern language. The use
                   of the computational power of a logic language for
                   behavioral testing solves the problem of automatically
                   identifying if an expected behavior occurs in an
                   execution trace. A set of predefined logic rules serves
                   as a language to compose complex behavioral tests such
                   that a tester can take advantage of the intrinsic rule
                   abstraction facility of SOUL. In order to identify
                   recurring behavioral concepts we classify behavior and
                   try to abstract general purpose templates for different
                   types of behavior in order to obtain reusable
                   behavioral test artifacts.},
  keywords       = {scg-msc recast04 jb04},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Frei04a.pdf},
  year           = 2004
}

@TechReport{JBean97a,
  Author         = {Graham Hamilton},
  Title          = {JavaBeans},
  Institution    = {Sun Microsystems},
  url            = {http://java.sun.com/products/javabeans/docs/spec.html},
  year           = 1997
}

@InCollection{Copl95e,
  Author         = {James O. Coplien},
  Title          = {A Generative Development-Process Pattern Language},
  BookTitle      = {Pattern Languages of Program Design 1},
  Publisher      = {Addison Wesley},
  Editor         = {James O. Coplien and Douglas C. Schmidt},
  Pages          = {184-237},
  keywords       = {oorp},
  year           = 1995
}

@InCollection{Wegn72a,
  Author         = {Peter Wegner},
  Title          = {Programming Language Semantics},
  BookTitle      = {Formal Semantics of Programming Languages},
  Publisher      = {Prentice-Hall},
  Editor         = {R. Rustin},
  Pages          = {149-248},
  keywords       = {pl-semantics},
  year           = 1972
}

@InProceedings{Deni00a,
  Author         = {Guy Saint-Denis and Reinhard Schauer and Rudolf K.
                   Keller},
  Title          = {Selecting a Model Interchange Format. The {SPOOL} Case
                   Study},
  BookTitle      = {Proceedings of the Thirty-Third Annual Hawaii
                   International Conference on System Sciences},
  year           = 2000
}

@InProceedings{Foot89a,
  Author         = {Brian Foote and Ralph E. Johnson},
  Title          = {Reflective Facilities in {Smalltalk}-80},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {327-336},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Zull98a,
  Author         = {Heinz Zuellighoven},
  Title          = {Das objektorientierte Konstruktionshandbuch},
  Publisher      = {dpunkt Verlag},
  keywords       = {olit scglib},
  year           = 1998
}

@TechReport{Kons91a,
  Author         = {Dimitri Konstantas},
  Title          = {Cell: {A} Model for Strongly Distributed Object Based
                   Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {Cell, a model for strongly Distributed Object Based
                   systems is discussed. Its components, the nucleus and
                   the membrane, are presented and their characteristics
                   are described. The notions of trading and type
                   transparency in the context of the Cell model are
                   described and issues related to their design and
                   implementation are presented.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc cell osg oc91},
  month          = jun,
  pages          = {225-237},
  year           = 1991
}

@Book{Barb70a,
  Author         = {M. Barbut and B. Monjardet},
  Title          = {Ordre et Classification},
  Publisher      = {Hachette},
  year           = 1970
}

@Book{Alle03,
  Author         = {Michael Alley},
  Title          = {The Craft of Scientific Presentations --- Critical
                   Steps to Succeed and Critical Errors to Avoid},
  Publisher      = {Springer-Verlag},
  isbn           = {0-387-95555-0},
  keywords       = {scglib},
  year           = 2003
}

@InProceedings{Detl99a,
  Author         = {David Detlefs and Ole Agesen},
  Title          = {Inlining of Virtual Methods},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {258-278},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {We discuss aspects of inlining of virtual method
                   invocations. First, we introduce a new method test to
                   guard inlinings of such invocations, with a different
                   set of tradeoffs from the class-equality tests proposed
                   previously in the literature. Second, we consider the
                   problem of inlining virtual methods directly, with no
                   guarding test, in dynamic languages such as Self or the
                   {Java} (TM) programming language, whose semantics
                   prohibit a static identification of the complete set of
                   modules that comprise a program. In non-dynamic
                   languages, a whole-program analysis might prove the
                   correctness of a direct virtual inlining. In dynamic
                   languages, however, such analyses can be invalidated by
                   later class loading, and must therefore be treated as
                   assumptions whose later violation must cause
                   recompilation. In the past, such systems have required
                   an on-stack replacement mechanism to update
                   currently-executing invocations of methods containing
                   invalidated inlinings. This paper presents analyses
                   that allow some virtual calls to be inlined directly,
                   while ensuring that invocations in progress may
                   complete safely even if class loading invalidates the
                   inlining for future invocations. This provides the
                   benefits of direct inlining without the need for
                   on-stack replacement, which can be complicated and
                   require space-consuming data structures.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Article{Lehm80a,
  Author         = {Manny Lehman},
  Title          = {Programs, Life Cycles, and Laws of Software Evolution},
  Journal        = {Proceedings of the IEEE},
  Volume         = {68},
  Number         = {9},
  Pages          = {1060--1076},
  abstract       = {By classifying programs according to their
                   relationship to the environment in which they are
                   executed, the paper identifies the sources of
                   evolutionary pressure on computer applications and
                   programs and shows why this results in a process of
                   never ending maintenance activity. The resultant life
                   cycle processes are then briefly discussed. The paper
                   then introduces laws of Program Evolution that have
                   been formulated following quantitative studies of the
                   evolution of a number of different systems. Finally an
                   example is provided of the application of Evolution
                   Dynamics models to program release planning.},
  month          = sep,
  url            = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1456074},
  year           = 1980
}

@Article{Will99a,
  Author         = {Graham J. Wills},
  Title          = {Nicheworks --- Interactive Visualization of Very Large
                   Graphs},
  Journal        = {Journal of Computational and Graphical Statistics},
  Volume         = {8},
  Number         = {2},
  Pages          = {190-212},
  year           = 1999
}

@InProceedings{Lee06a,
  Author         = {Keunwoo Lee and Craig Chambers},
  Title          = {Parameterized Modules for Classes and Extensible
                   Functions},
  BookTitle      = {Proceedings of the 20th European Conference on
                   Object-Oriented Programming (ECOOP '06)},
  Editor         = {Dave Thomas},
  Volume         = {4067},
  Pages          = {353--378},
  Publisher      = {Springer-Verlag},
  year           = 2006
}

@Article{Helm85a,
  Author         = {D. Helmbold and D. Luckman},
  Title          = {Debugging Ada Tasking Programs},
  Journal        = {IEEE Software},
  Volume         = {2},
  Number         = {2},
  Pages          = {47-57},
  keywords       = {coordination},
  month          = mar,
  year           = 1985
}

@InProceedings{Nass05a,
  Author         = {Nidal Nasser},
  Title          = {Real-time service adaptability in multimedia wireless
                   networks},
  BookTitle      = {Q2SWinet '05: Proceedings of the 1st ACM international
                   workshop on Quality of service \& security in wireless
                   and mobile networks},
  Pages          = {144--149},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1089761.1089785},
  isbn           = {1-59593-241-0},
  location       = {Montreal, Quebec, Canada},
  year           = 2005
}

@TechReport{Schn96a,
  Author         = {Jean-Guy Schneider and Markus Lumpe},
  Title          = {Modelling Objects in {PICT}},
  Institution    = {University of Bern, Institute of Computer Science and
                   Applied Mathematics},
  Number         = {IAM-96-004},
  abstract       = {For the development of present-day applications,
                   programming languages supporting high order
                   abstractions are needed. These high order abstractions
                   are called components. Since most of the currently
                   available programming languages and systems fail to
                   provide sufficient support for specifying and
                   implementing components, we are developing a new
                   language suitable for software composition. It is not
                   clear how such a language will look like, what kind of
                   abstractions it must support, and what kind of formal
                   model it will be based on. Object-oriented programming
                   languages address some of the needs of present-day
                   applications, and it is therefore obvious to integrate
                   some of their concepts and abstractions in the
                   language. As a first step towards such an integration,
                   we have to define an object model. Since no generally
                   accepted formal object model exists, we have chosen the
                   Pi-calculus as a basis for modelling. In order to find
                   a suitable object model, we have built up an object
                   modelling workbench for Pict, an implementation of an
                   asynchronous Pi-calculus. In this work, we define a
                   first abstract object model, describe several
                   implementations of the object model in Pict, and
                   discuss interesting features and possible extensions.},
  keywords       = {olit scglit oobib scg-pub skipdoi snf95 jb96
                   scg-coord-old},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Software/OOPICT/pictObjM.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Software/OOPICT/index.html},
  year           = 1996
}

@TechReport{Meer05a,
  Author         = {Michael Meer},
  Title          = {A Generic Clustering Framework for Moose},
  Institution    = {University of Berne},
  Type           = {Informatikprojekt},
  abstract       = {Clustering helps with reengineering by gathering the
                   software entities into meaningful and independent
                   groups. The entities here can be any FAMIX entities, be
                   it classes, methods, attributes etc. The affinity
                   between two entities is calculated through the absolute
                   difference of their properties and properties of the
                   dependencies between the two entities; all the
                   properties also have assigned weights. The clustering
                   can be done by a range of clustering algorithms,
                   including hierarchical and partitional algorithms. The
                   result are groups of clusters, that can be examined
                   through their quality metrics and if necessarily
                   improved upon through another clustering run with
                   adapted parameters. This paper describes generic
                   clustering framework for the Ob ject Oriented
                   Reengineering Environmnet Moose, developed in the
                   Software Composition Group at the University of Bern.},
  keywords       = {snf-none scg-ip jb05 moose-pub},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Meer05a.pdf},
  year           = 2005
}

@InProceedings{Lieb86a,
  Author         = {Henry Lieberman},
  Title          = {Using Prototypical Objects to Implement Shared
                   Behavior in Object Oriented Systems},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {214-223},
  keywords       = {ioom-prototype},
  month          = nov,
  year           = 1986
}

@InProceedings{Nagy05a,
  Author         = {Istvan Nagy and Lodewijk Bergmans and Mehmet Aksit},
  Title          = {Composing Aspects at Shared Join Points},
  BookTitle      = {Proceedings of International Conference NetObjectDays,
                   NODe2005},
  Editor         = {Robert Hirschfeld, Ryszard Kowalczyk, Andreas Polze
                   and Mathias Weske},
  Volume         = {P-69},
  Series         = {Lecture Notes in Informatics},
  Address        = {Erfurt, Germany},
  Organization   = {Gesellschaft f{\"u}r Informatik (GI)},
  month          = sep,
  url            = {http://trese.cs.utwente.nl/publications/files/0365NagyBerAks2005.pdf},
  year           = 2005
}

@Misc{TraitsSqueakWeb,
  Author         = {Nathanael Sch{\"a}rli},
  Title          = {Traits---Composable Units of Behavior},
  Note           = {http://www.iam.unibe.ch/$\sim$scg/Research/Traits},
  keywords       = {scg-old scg-misc schaerli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Research/Traits/index.html
                   http://www.iam.unibe.ch/~schaerli/smalltalk/traits/traitsPrototype.htm},
  year           = 2003
}

@TechReport{Deme79a,
  Author         = {Alan Demers and Jim Donahue},
  Title          = {Revised Report on Russell},
  Institution    = {Department of Computer Science, Cornell University},
  Type           = {TR79-389},
  Address        = {Ithaca, New York},
  keywords       = {fpl russell tfc},
  year           = 1979
}

@Article{Myer90a,
  Author         = {B.A. Myers and D. Giuse and R.B. Dannenberg and Vander
                   Zanden, B. and D. Kosbie and E. Pervin and A. Mickish
                   and P. Marchal},
  Title          = {Garnet: Comprehensive Support for Graphical
                   Highly-Interactive User Interfaces},
  Journal        = {IEEE Computer},
  Volume         = {23},
  Number         = {11},
  Pages          = {71-85},
  year           = 1990
}

@InCollection{Rieh05a,
  Author         = {Dirk Riehle and Michel Tilman and Ralph Johnson},
  Title          = {Dynamic Object Model},
  BookTitle      = {Pattern Languages of Program Design 5},
  Publisher      = {Addison-Wesley},
  year           = 2005
}

@Article{Pete90a,
  Author         = {Larry Peterson and N. Hutchinson and Sean O'Malley and
                   Herman Rao},
  Title          = {The x-kernel: A Platform for Accessing Internet
                   Resources},
  Journal        = {Computer},
  Volume         = {23},
  Number         = {5},
  Pages          = {23--33},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://dx.doi.org/10.1109/2.53352},
  issn           = {0018-9162},
  publisher      = {IEEE Computer Society Press},
  year           = 1990
}

@Manual{Audi96a,
  Title          = {Concerto2/Audit-{CC}++ User Manual},
  Organization   = {Sema Group},
  year           = 1996
}

@Article{Casa98a,
  Author         = {Eduardo Casais},
  Title          = {Re-Engineering Object-Oriented Legacy Systems},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {10},
  Number         = {8},
  Pages          = {45-52},
  month          = jan,
  year           = 1998
}

@Book{Brow98a,
  Author         = {William J. Brown and Raphael C. Malveau and McCormick,
                   III, Hays W. and Thomas J. Mowbray},
  Title          = {Anti{Patterns}: Refactoring Software, Architectures,
                   and Projects in Crisis},
  Publisher      = {John Wiley Press},
  isbn           = {0-471-19713-0},
  keywords       = {patterns scglib new-entry oorp},
  year           = 1998
}

@InProceedings{Rose09a,
  Author         = {John R. Rose},
  Title          = {Bytecodes meet combinators: Invokedynamic on the JVM},
  BookTitle      = {VMIL '09: Proceedings of the Third Workshop on Virtual
                   Machines and Intermediate Languages},
  Pages          = {1--11},
  Address        = {New York, NY, USA},
  Publisher      = {ACM},
  abstract       = {The Java Virtual Machine (JVM) has been widely adopted
                   in part because of its classfile format, which is
                   portable, compact, modular, verifiable, and reasonably
                   easy to work with. However, it was designed for just
                   one language---Java---and so when it is used to express
                   programs in other source languages, there are often
                   "pain points" which retard both development and
                   execution. The most salient pain points show up at a
                   familiar place, the method call site. To generalize
                   method calls on the JVM, the JSR 292 Expert Group has
                   designed a new invokedynamic instruction that provides
                   user-defined call site semantics. In the chosen design,
                   invokedynamic serves as a hinge-point between two
                   coexisting kinds of intermediate language: bytecode
                   containing dynamic call sites, and combinator graphs
                   specifying call targets. A dynamic compiler can
                   traverse both representations simultaneously, producing
                   optimized machine code which is the seamless union of
                   both kinds of input. As a final twist, the user-defined
                   linkage of a call site may change, allowing the code to
                   adapt as the application evolves over time. The result
                   is a system balancing the conciseness of bytecode with
                   the dynamic flexibility of function pointers.},
  biburl         = {http://www.bibsonomy.org/bibtex/29adb66a808244f7ab4847716517be1e6/gron},
  description    = {Bytecodes meet combinators},
  doi            = {http://doi.acm.org/10.1145/1711506.1711508},
  interhash      = {57bb20f98cb848568117b0c9c7490e4d},
  intrahash      = {9adb66a808244f7ab4847716517be1e6},
  isbn           = {978-1-60558-874-2},
  keywords       = {Dynamic InstructionSet InvokeDynamic JVM Languages
                   bytecodes},
  location       = {Orlando, Florida},
  url            = {http://portal.acm.org/citation.cfm?id=1711506.1711508},
  year           = 2009
}

@TechReport{Pier94a,
  Author         = {Benjamin C. Pierce},
  Title          = {{PICT}: An Experiment in Concurrent Language Design},
  Institution    = {University of Edinburgh},
  Type           = {PICT Version 3.6 tutorial},
  keywords       = {olit pcalc semantics},
  month          = mar,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pict},
  year           = 1994
}

@InProceedings{Andr92c,
  Author         = {Jean-Marc Andreoli and Remo Pareschi and Marc Bourgois},
  Title          = {Dynamic Programming as Multiagent Programming},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {163-176},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@InProceedings{Shel90a,
  Author         = {Mark A. Sheldon},
  Title          = {Static Dependent Types for First Class Modules},
  BookTitle      = {ACM Conference on Lisp and Functional Programming},
  keywords       = {types fp tfc binder},
  month          = jun,
  year           = 1990
}

@InProceedings{Chou88a,
  Author         = {H. Chou and W. Kim},
  Title          = {Versions and Change Notification in an Object-oriented
                   Database System},
  BookTitle      = {25th ACM/IEEE Design Automation Conference},
  keywords       = {olit-oodb versions (smc)},
  year           = 1988
}

@InProceedings{Jone97a,
  Author         = {Mark P. Jones},
  Title          = {First-class polymorphism with type inference},
  BookTitle      = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT
                   symposium on Principles of programming languages},
  Pages          = {483-496},
  Publisher      = {ACM Press},
  isbn           = {0-89791-853-3},
  location       = {Paris, France},
  year           = 1997
}

@InProceedings{Boya03a,
  Author         = {Chandrasekhar Boyapati and Barbara Liskov and Liuba
                   Shrira},
  Title          = {Ownership types for object encapsulation},
  BookTitle      = {Proceedings {POPL}'03},
  Pages          = {213-223},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/604131.604156},
  isbn           = {1-58113-628-5},
  location       = {New Orleans, Louisiana, USA},
  year           = 2003
}

@Book{Wils93a,
  Author         = {Leslie B. Wilson and Robert G. Clark},
  Title          = {Comparative Programming Languages},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-56885-3},
  keywords       = {pl book scglib},
  year           = 1993
}

@Article{Feij98b,
  Author         = {Loe Feijs and Ren\'{e} Krikhaar and van Ommering, Rob},
  Title          = {A Relational Approach to Support Software Architecture
                   Analysis},
  Journal        = {Software -- Practice and Experience},
  Volume         = {28},
  Number         = {4},
  Pages          = {371-400},
  month          = apr,
  year           = 1998
}

@InProceedings{Kafu89a,
  Author         = {Dennis G. Kafura and Keung Hae Lee},
  Title          = {Inheritance in Actor Based Concurrent Object-Oriented
                   Languages},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {131-145},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-obcl inheritance concurrency act++ ecoop89proc
                   binder(oop) oobib(obcp)},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Ross93a,
  Author         = {Mary Beth Rosson and John M. Carroll},
  Title          = {Active Programming Strategies in Reuse},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {4-20},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {In order to capitalize on the potential for software
                   reuse in object-oriented programming, we must better
                   understand the process involved in software reuse. Our
                   work addresses this need, analyzing four experienced
                   Smalltalk programmers as they enhanced applications by
                   reusing new classes. These were {\itactive}
                   programmers: rather than suspending programming
                   activity to reflect on how to use the new components,
                   they began work immediately recruiting code from
                   example usage contexts and relying heavily on the
                   system debugger to guide them in applying the borrowed
                   context. We discuss the implications of these findings
                   for reuse documentation, programming instruction and
                   tools to support reuse.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Will84a,
  Author         = {Geoff Williams},
  Title          = {The Apple Macintosh Computer},
  Journal        = {Byte},
  Volume         = {9},
  Number         = {2},
  Pages          = {30-54},
  keywords       = {olit-appl macintosh},
  year           = 1984
}

@TechReport{STSC97a,
  Author         = {STSC},
  Title          = {{Software} {Reengineering} {Assessment} {Handbook}
                   v3.0},
  Institution    = {STSC, U.S. Department of Defense},
  month          = mar,
  url            = {http://stsc.hill.af.mil/RENG},
  year           = 1997
}

@TechReport{Dami88a,
  Author         = {Laurent Dami and Eugene Fiume and Oscar Nierstrasz and
                   Dennis Tsichritzis},
  Title          = {Temporal Scripts for Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  abstract       = {Computer animation, computer simulation, computer
                   music and other areas often need to deal with
                   concurrent activities with specific temporal
                   characteristics. This paper proposes a scripting
                   facility to help program such applications. This
                   facility provides support for specifying long-term
                   behaviour of objects in an object-oriented environment.
                   Temporal scripts can instantiated and combined using a
                   set of temporal operators, saying for example that two
                   activities begin at the same time, or that one has to
                   follow the other. Through a flexible sampling policy
                   based on a notion of virtual time, temporal
                   specifications can he executed at various temporal
                   resolutions, and therefore can be reused indifferent
                   contexts.},
  editor         = {D. Tsichritzis},
  keywords       = {olit skipdoi scripts osg aoe88},
  month          = jun,
  pages          = {144-161},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Dami88aTemporalScripts.pdf},
  year           = 1988
}

@Article{Odel94a,
  Author         = {James Odell},
  Title          = {Six Different Kinds of Aggregation},
  Journal        = {JOOP},
  annote         = {not in joop apparently},
  year           = 1994
}

@InProceedings{Dixo89b,
  Author         = {G.N. Dixon and Graham D. Parrington and Santosh K.
                   Shrivastava and Stuart M. Wheater},
  Title          = {The Treatment of Persistent Objects in Arjuna},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {169-189},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl arjuna ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@TechReport{Sarg93b,
  Author         = {John Sargeant},
  Title          = {United Functions and Objects: an Overview},
  Institution    = {University of Manchester},
  Type           = {UMCS-93-1-4},
  abstract       = {United Functions and Objects (UFO) is a
                   general-purpose, implicitly parallel language designed
                   to allow a wide range of appolications to be
                   efficiently implemented on a wide range of parallel
                   machines while minimising the conceptual difficulties
                   for the programmer. To achieve this, it draws on the
                   experience gained in the functional and object-oriented
                   ``worlds'' and attempts to bring these worlds together
                   in a harmonious fashion. This report concentrates on
                   examples which illustrate various aspects of UFO,
                   including the various encapsulation and abstraction
                   mechanisms it provides, and the various forms of
                   parallelism which can be exploited.},
  keywords       = {olit-oopl ufo binder 118},
  url            = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-1-4.ps.Z},
  year           = 1993
}

@Article{Loch83a,
  Author         = {Frederick H. Lochovsky},
  Title          = {A Knowledge-Based Approach to Supporting Office Work},
  Journal        = {IEEE Database Engineering},
  Volume         = {6},
  Number         = {3},
  Pages          = {43-51},
  keywords       = {oislit ai},
  month          = sep,
  year           = 1983
}

@Article{Chen76a,
  Author         = {P.P.S. Chen},
  Title          = {The Entity-Relationship Model: Toward a Unified View
                   of Data},
  Journal        = {ACM TODS},
  Volume         = {1},
  Number         = {1},
  Pages          = {9-36},
  keywords       = {dblit},
  month          = mar,
  year           = 1976
}

@InProceedings{Thor99a,
  Author         = {Kresten Krab Thorup and Mads Torgersen},
  Title          = {Unifying Genericity: Combining the benefits of virtual
                   types and parameterized classes},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {186-204},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Generic types in programming languages are most often
                   supported with various forms of parametric
                   polymorphism, i.e. functions on types. Within the
                   framework of object-oriented languages, virtual types
                   present an alternative where specific types are derived
                   from generic ones using inheritance rather than
                   function application. While both mechanisms are
                   statically safe and support basic genericity, they have
                   very different typing properties, each of them
                   providing for the description of useful relationships,
                   which are not expressible with the other. In this paper
                   we present, through the use of examples, a mechanism
                   for describing generic classes: structural virtual
                   types. This mechanism is essentially a merger of
                   parameterized classes and virtual types and includes
                   the benefits of both, in particular retaining mutual
                   recursion and covariance of virtual types as well as
                   the function-like nature of parameterized classes.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@TechReport{Jord05a,
  Author         = {Niklaus Jordi and Frank Wettstein},
  Title          = {Die {Entwicklung} von {Psystatix}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Ziel dieses Dokumentes ist es eine Uebersicht ueber
                   die Arbeit waehrend der Vorlesung Praktikum in
                   Softwareengineering (PSE) und das anschliessende
                   Projekt zu vermitteln. Dieser Text richtet sich an
                   Informatikstudenten, welche noch kein groesseres
                   Projekt bearbeitet haben, und soll ihnen einen Eindruck
                   vermitteln, wie so etwas ablaufen kann, wo gewisse
                   Schwierigkeiten liegen koennen, und wie man sie
                   vermeiden kann.},
  keywords       = {jsp java pse og scg-ip snf-none jb06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Jord05a.pdf},
  year           = 2005
}

@InProceedings{Sun01a,
  Author         = {J. Sun and J.S. Dong and J. Lui and H. Wang},
  Title          = {Object-{Z} Web Environment and Projections to {UML}},
  BookTitle      = {{WWW10} --- 10th International World Wide Web
                   Conference},
  Pages          = {725-734},
  Address        = {New York},
  Publisher      = {ACM},
  keywords       = {fca},
  year           = 2001
}

@InCollection{Boeh87a,
  Author         = {Boehm, B.W.},
  Title          = {A Spiral Model of Software Development and Enhancement},
  BookTitle      = {Tutorial: Software Engineering Project Management},
  Publisher      = {IEEE Computer Society},
  Editor         = {Thayer, R.H.},
  Pages          = {128-142},
  Address        = {Washington},
  keywords       = {fca},
  year           = 1987
}

@InCollection{Dijk72b,
  Author         = {E. W. Dijkstra},
  Title          = {Notes on Structured Programming},
  BookTitle      = {Structured Programming},
  Publisher      = {Academic Press, Inc.},
  Editor         = {E. Dijkstra and O-J. Dahl and C. A. R. Hoare},
  Pages          = {1-82},
  Address        = {New York, NY},
  year           = 1972
}

@InProceedings{Main02a,
  Author         = {Alan Mainwaring and David Culler and Joseph Polastre
                   and Robert Szewczyk and John Anderson},
  Title          = {Wireless sensor networks for habitat monitoring},
  BookTitle      = {WSNA '02: Proceedings of the 1st ACM international
                   workshop on Wireless sensor networks and applications},
  Pages          = {88--97},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/570738.570751},
  isbn           = {1-58113-589-0},
  location       = {Atlanta, Georgia, USA},
  year           = 2002
}

@Book{Rumb99a,
  Author         = {James Rumbaugh and Ivar Jacobson and Grady Booch},
  Title          = {The Unified Modeling Language Reference Manual},
  Publisher      = {Addison Wesley},
  keywords       = {olit-ood book},
  year           = 1999
}

@Manual{Sniff96a,
  Title          = {SNiFF+},
  Organization   = {TakeFive Software GmbH},
  year           = 1996
}

@Unpublished{Aksi93a,
  Author         = {Mehmet Aksit and Ken Wakita and Jan Bosch and Lodewijk
                   Bergmans and Akinori Yonezawa},
  Title          = {Abstracting Inter-Object Communications Using
                   Composition Filters},
  Note           = {University of Twente},
  keywords       = {olit-obc act binder},
  type           = {draft manuscript},
  year           = 1993
}

@Book{Bert94a,
  Author         = {Elisa Bertino and Susan Urban},
  Title          = {Proceedings, Object-Oriented Methodologies and Systems},
  Publisher      = {Springer-Verlag},
  Volume         = {858},
  Series         = {LNCS},
  Address        = {Palermo, Italy},
  isbn           = {3-540-58451-X},
  keywords       = {olit isooms94 scglib},
  year           = 1994
}

@InProceedings{Lowe02a,
  Author         = {Welf L{\"o}we and Morgan Ericsson and Jonas Lundberg
                   and Thomas Panas},
  Title          = {Software Comprehension - Integrating Program Analysis
                   and Software Visualization},
  BookTitle      = {Software Engineering Research and Practice in Sweden
                   (SERPS)},
  Address        = {Karlskrona, Sweden},
  year           = 2002
}

@Article{Hewi86a,
  Author         = {Carl Hewitt},
  Title          = {Offices are open Open Systems},
  Journal        = {ACM Transactions Off. Inf. Syst.},
  Volume         = {4},
  Number         = {3},
  Pages          = {270-287},
  keywords       = {misc open systems},
  year           = 1986
}

@InProceedings{Miha05a,
  Author         = {Petru Mihancea and Radu Marinescu},
  Title          = {Towards the Optimization of Automatic Detection of
                   Design Flaws in Object-Oriented Software Systems},
  BookTitle      = {Proceedings of European Conference on Software
                   Maintenance (CSMR 2005)},
  Pages          = {92--101},
  year           = 2005
}

@Book{Meye88c,
  Author         = {Bertrand Meyer},
  Title          = {Objektorientierte Softwareentwicklung},
  Publisher      = {Prentice-Hall},
  isbn           = {3-446-15773-5},
  keywords       = {olit-oopl oobib(oopl) book scglib},
  year           = 1988
}

@Book{Paul91a,
  Author         = {Lawrence Paulson},
  Title          = {{ML} for the Working Programmer},
  Publisher      = {Cambridge University Press},
  isbn           = {0-521-42225-6},
  keywords       = {book scglib},
  year           = 1991
}

@Article{Metz93b,
  Author         = {Igor Metz and Hermann H{\"u}ni},
  Title          = {Teaching Object-Oriented Software Architecture by
                   Example: The Games Factory},
  Journal        = {ACM OOPS Messenger},
  Volume         = {4},
  Number         = {2},
  Pages          = {261-267},
  abstract       = {This paper describes the outline of our lecture and
                   the experience we have had when introducing
                   object--oriented programming, design, and software
                   architecture to students of different educational and
                   vocational backgrounds. While other courses on
                   object--oriented programming only show how to implement
                   things in an object--oriented way, we emphasize on the
                   production of reusable class libraries and frameworks.},
  keywords       = {olit},
  month          = apr,
  year           = 1993
}

@InProceedings{Taha03a,
  Author         = {Walid Taha},
  Title          = {A Gentle Introduction to Multi-stage Programming.},
  BookTitle      = {Domain-Specific Program Generation},
  Pages          = {30-50},
  year           = 2003
}

@InCollection{Garl00a,
  Author         = {David Garlan and Robert T. Monroe and David Wile},
  Title          = {Acme: Architectural Description of Component-Based
                   Systems},
  BookTitle      = {Foundations of Component-Based Systems},
  Publisher      = {Cambridge University Press},
  Editor         = {Gary T. Leavens and Murali Sitaraman},
  Chapter        = {3},
  Pages          = {47-67},
  Address        = {New York, NY},
  year           = 2000
}

@TechReport{Boch91a,
  Author         = {Gregor V. Bochmann and St\'ephane Poirier and Pierre
                   Mondain-Monval},
  Title          = {Object-Oriented Design for Distributed Systems: The
                   {OSI} Dierctory Example},
  Institution    = {Universit\'e de Montr\'eal},
  Type           = {Report},
  Number         = {768},
  keywords       = {olit distributed systems binder},
  year           = 1991
}

@Article{Malo91a,
  Author         = {Allen D. Maloney and David H. Hammerslag and David J.
                   Jablonowski},
  Title          = {Traceview: A Trace Visualization Tool},
  Journal        = {IEEE Software},
  keywords       = {dynamic analysis},
  month          = sep,
  year           = 1991
}

@MastersThesis{Mesn05a,
  Author         = {C{\'e}dric Mesnage},
  Title          = {Interactive and Cooperative Visual Data Mining of
                   Evolving Software},
  School         = {University of Caen and University of Lugano},
  Type           = {Master {Thesis}},
  annote         = {master},
  month          = sep,
  year           = 2005
}

@InProceedings{Duca99c,
  Author         = {St\'ephane Ducasse and Tamar Richner and Robb Nebbe},
  Title          = {Type-Check Elimination: Two Object-Oriented
                   Reengineering Patterns},
  BookTitle      = {Proceedings of 6th Working Conference on Reverse
                   Engineering (WCRE'99)},
  Editor         = {Francoise Balmas and Mike Blaha and Spencer Rugaber},
  Pages          = {157-168},
  Publisher      = {IEEE Computer Society},
  abstract       = {In reengineering an object-oriented system we want to
                   benefit from the expertise developed in earlier
                   efforts. It is therefore essential to have a way to
                   communicate expertise at different levels: from
                   knowledge about how to approach a system to be
                   reengineered, to knowledge about improving code by
                   eliminating 'bad' style. In this paper we propose to
                   use a pattern form to communicate knowledge about
                   reengineering. A reengineering pattern connects an
                   observable problem in the code to a reengineering goal:
                   it describes the process of going from the existing
                   legacy solution causing or aggravating the problem to a
                   new refactored solution which meets the reengineering
                   goal. It thus gives a method appropriate for a specific
                   problem, rather than proposing a general methodology,
                   and makes reference to the appropriate tools or
                   techniques for obtaining the refactored solution. In
                   this paper we discuss the role of reengineering
                   patterns and contrast them with related kinds of
                   patterns. We then highlight the form of reengineering
                   patterns and present two simple patterns for type-check
                   elimination.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.1999.806956},
  keywords       = {olit famoos-papref scg-pub jb99 stefPub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca99cTypeCheckElim.pdf},
  year           = 1999
}

@InProceedings{Kal06a,
  Author         = {Jana Kal\v{c}evov\'{a} and Petr Fiala},
  Title          = {IZAR -- Multicriteria Decision Support System},
  BookTitle      = {Mathematical Methods in Economics 2006},
  Pages          = {277-282},
  Publisher      = {Pilsen : University of West Bohemia in Pilsen},
  year           = 2006
}

@Article{ACM94f,
  Author         = {{ACM}},
  Title          = {Object-Oriented Software Testing},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {9},
  institution    = {ACM},
  keywords       = {scglib},
  month          = sep,
  year           = 1994
}

@InProceedings{Konz04a,
  Author         = {Ned Konz},
  Title          = {Connectors: A framework for building graphical
                   applications in Squeak},
  BookTitle      = {IEEE C5: The Second International Conference on
                   Creating, Connecting and Collaborating through
                   Computing},
  Volume         = {2},
  Pages          = {96-103},
  keywords       = {connectors squeak etoys},
  year           = 2004
}

@InProceedings{Weck96a,
  Author         = {Wolfgang Weck and Clemens Szyperski},
  Title          = {Do We Need Inheritance?},
  BookTitle      = {Workshop on Composability Issues in Object-Orientation
                   at ECOOP '96},
  month          = jul,
  year           = 1996
}

@Book{Jone87a,
  Author         = {Simon L. Peyton Jones},
  Title          = {The Implementation of Functional Programming Languages},
  Publisher      = {Prentice-Hall},
  Series         = {Prentice Hall international series in computer science},
  Address        = {Englewood Cliffs},
  isbn           = {0-13-453325-9},
  keywords       = {misc fp binder (shelf) book scglib},
  year           = 1987
}

@PhdThesis{Hind92a,
  Author         = {Bernd Hindel},
  Title          = {Graphische Beschreibung von objektorientierten
                   Programmen},
  School         = {University of Erlangen-N{\"u}rnberg},
  Type           = {Ph.{D}. Thesis},
  keywords       = {concurrency graph grammars binder (shelf)},
  year           = 1992
}

@InProceedings{Boet01b,
  Author         = {Kathrin B\"{o}ttger and Rolf Schwitter and Debbie
                   Richards and Oscar Aguilera and Diego Moll\'{a}},
  Title          = {Reconciling {Use} {Cases} via {Controlled} {Language}
                   and {Graphical} {Models}},
  BookTitle      = {Proceedings of INAP '01 (14th International Conference
                   on Applications of Prolog)},
  Pages          = {20-22},
  Address        = {Japan},
  Organization   = {University of Tokyo},
  keywords       = {fca},
  month          = oct,
  year           = 2001
}

@InProceedings{Duca00f,
  Author         = {St{\'e}phane Ducasse and Michele Lanza and Lukas
                   Steiger},
  Title          = {Supporting Evolution Recovery: a Query-based Approach},
  BookTitle      = {ECOOP '2000 International Workshop of Architecture
                   Evolution},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skip-abstract skip-pdf skipdoi snf00 jb00
                   stefPub design-recovery moose-pub},
  year           = 2000
}

@InProceedings{Hofm99b,
  Author         = {Thomas Hofmann},
  Title          = {Probabilistic Latent Semantic Indexing},
  BookTitle      = {International Conference on Research and Development
                   in Information Retrieval},
  year           = 1999
}

@Book{Jaza97a,
  Editor         = {Mehdi Jazayeri and Helmut Schauer},
  Title          = {Proceedings of {ESEC}/{FSE}'97},
  Publisher      = {Springer-Verlag},
  Volume         = {1301},
  Series         = {LNCS},
  Address        = {Zurich, Switzerland},
  isbn           = {3-540-63531-9},
  keywords       = {esec '97 scglib},
  month          = sep,
  year           = 1997
}

@TechReport{Stro84c,
  Author         = {Bjarne Stroustrup},
  Title          = {Operator Overloading in {C}},
  Institution    = {AT\&T Bell Laboratories},
  Type           = {Report},
  Address        = {Murray Hill, New Jersey 07974},
  keywords       = {olit-oopl c++},
  month          = jan,
  year           = 1984
}

@Article{Lieb01c,
  Author         = {Henry Liebermann and Christopher Fry and Louis
                   Weitzmann},
  Title          = {Exploring the Web with Reconnaissance Agents},
  Journal        = {Communications of the ACM},
  Volume         = {44},
  Number         = {8},
  Pages          = {69--75},
  month          = {aug},
  year           = 2001
}

@Article{Jul88a,
  Author         = {Eric Jul and et al.},
  Title          = {Fine Grained Mobility in the Emerald System},
  Journal        = {ACM TOCS},
  Volume         = {6},
  Number         = {1},
  keywords       = {olit-obcl emerald},
  month          = jul,
  year           = 1988
}

@Book{Knut92a,
  Author         = {Donald E. Knuth},
  Title          = {Literate Programming},
  Publisher      = {Stanford, California: Center for the Study of Language
                   and Information},
  isbn           = {0-937073-80-6},
  keywords       = {oorp},
  year           = 1992
}

@InProceedings{Bocc94a,
  Author         = {G. Boccignone and A. Chianese and M. De Santo and A.
                   Picariello},
  Title          = {Object-Oriented Representation of Shape Information},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {266-277},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@InProceedings{Mala00a,
  Author         = {Scott Malabarba and Raju Pandey and Jeff Gragg and
                   Earl Barr and J. Fritz Barnes},
  Title          = {Runtime Support for Type-Safe Dynamic {Java} Classes},
  BookTitle      = {Proceedings of the 14th European Conference on
                   Object-Oriented Programming},
  Pages          = {337-361},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-67660-0},
  year           = 2000
}

@Article{Mull92a,
  Author         = {R. Muller},
  Title          = {M-LISP: A representation-independent dialect of LISP
                   with reduction semantics},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {14},
  Number         = {4},
  Pages          = {589-616},
  month          = oct,
  year           = 1992
}

@InProceedings{Aldr02a,
  Author         = {Jonathan Aldrich and Craig Chambers and David Notkin},
  Title          = {Architectural Reasoning in {ArchJava}},
  BookTitle      = {Proceedings ECOOP 2002},
  Volume         = 2374,
  Series         = {LNCS},
  Pages          = {334-367},
  Address        = {Malaga, Spain},
  Publisher      = {Springer Verlag},
  keywords       = {olit ecoop02proc},
  month          = jun,
  url            = {http://www.cs.washington.edu/homes/jonal/archjava/},
  year           = 2002
}

@Book{Bran94b,
  Author         = {Linda Branagan and Michael Sierra},
  Title          = {The Frame Handbook},
  Publisher      = {O'Reilly \& Associates, Inc.},
  isbn           = {1-56592-009-0},
  keywords       = {book scglib},
  year           = 1994
}

@InCollection{Chen93a,
  Author         = {Qiming Chen and Ming-Chien Shan},
  Title          = {Abstract View Objects for Multiple {OODB} Integration},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {237-250},
  abstract       = {The notion of Abstract View Object (AVO) is introduced
                   to support abstract representations of foreign or
                   integrated objects in a multidatabase environment. This
                   approach allows OODBs to be cooperated without physical
                   integration, underlies a consistent universal object
                   identification mechanism, and provides and intuitive
                   set-theoretic foundation for linking object
                   identification, object integration and function
                   inheritance semantically over multidatabases.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Kons93b,
  Author         = {Dimitri Konstantas},
  Title          = {Hybrid Cell: An Implementation of an Object Based
                   Strongly Distributed System},
  BookTitle      = {Proceedings of the International Symposium on
                   Autonomous Decentralized Systems --- ISADS 93},
  Pages          = {52-61},
  Address        = {Kawasaki, Japan},
  abstract       = {The Cell is a framework for the design of strongly
                   distributed object based systems that preserves the
                   autonomy of the nodes. The Hybrid system was
                   transformed to a first cell prototype with the
                   introduction of a membrane providing the services of
                   Type Matching, Object Mapping and Connection Trading. A
                   Type Matching language was designed and the connection
                   and trading protocols were defined.},
  keywords       = {olit hybrid osg-ftp},
  misc           = {March 30},
  month          = mar,
  year           = 1993
}

@InProceedings{Vauc88a,
  Author         = {Jean Vaucher and Guy Lapalme and Jacques Malenfant},
  Title          = {{SCOOP}, Structured Concurrent Object-Oriented Prolog},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {191-211},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@MastersThesis{Rieg97a,
  Author         = {Matthias Rieger},
  Title          = {Implementing the {FACE} Object Model in {C}++},
  School         = {University of Bern},
  Type           = {Master's thesis},
  abstract       = {FACE is an object oriented, self-describing data model
                   with first-class types. FACE can be used to model
                   software, e.g. object oriented frameworks. We explore
                   techniques and mechanisms to implement the reflective
                   FACE data model in the statically typed, object
                   oriented language C++. Some comparison of FACE with
                   other meta level approaches like MetaObject Protocols
                   or Open Implementations is done, and a short example
                   modeling software is described.},
  keywords       = {snf-none scg-pub skipdoi toBeChecked scg-msc jb97},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Rieg97a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Rieg97a.html},
  year           = 1997
}

@Book{Alle03a,
  Author         = {B.{J}. Allen-Conn and Kimberly Rose},
  Title          = {Powerful Ideas in the Classroom},
  Publisher      = {Viewpoints Research Institute, Inc.},
  isbn           = {0974313106},
  keywords       = {Etoys, Squeak, Education},
  year           = 2003
}

@InProceedings{Bato95a,
  Author         = {Don Batory and Lou Coglianese and Mark Goodwin and
                   Steve Shafer},
  Title          = {Creating Reference Architectures: An Example from
                   Avionics},
  BookTitle      = {Proceedings of the Symposium on Software Reusability},
  Address        = {Seattle Washington},
  keywords       = {components oobib(sys) binder olit-reuse},
  month          = apr,
  url            = {http://www.cs.utexas.edu/users/schwartz/},
  year           = 1995
}

@Article{Tesl81a,
  Author         = {Larry Tesler},
  Title          = {The {Smalltalk} Environment},
  Journal        = {Byte},
  Volume         = {6},
  Number         = {8},
  Pages          = {90-147},
  keywords       = {olit-oopl smalltalk},
  month          = aug,
  year           = 1981
}

@TechReport{Oder07a,
  Author         = {Martin Odersky},
  Title          = {Scala Language Secification v. 2.4},
  Institution    = {\'Ecole Polytechnique F\'ed\'erale de Lausanne},
  Address        = {1015 Lausanne, Switzerland},
  month          = mar,
  year           = 2007
}

@Book{Risi00b,
  Author         = {Linda Rising},
  Title          = {The Pattern Almanac 2000},
  Publisher      = {Addison Wesley},
  keywords       = {scglib oorp},
  year           = 2000
}

@PhdThesis{Berg94b,
  Author         = {Paul Bergstein},
  Title          = {Managing the Evolution of Object-Oriented Systems},
  School         = {Northeastern University, MA},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-reuse},
  url            = {http://www.cs.neu/home/lieber/theses/bergstein/thesis.ps},
  year           = 1994
}

@Book{CORB91a,
  Author         = {Digital Equipment and Hewlett-Packard Company and
                   HyperDesk Corporation and NCR Corporation and Object
                   Design Inc. and {SunSoft, Inc}},
  Title          = {The Common Object Request Broker: Architecture and
                   Specification},
  Publisher      = {OMG},
  keywords       = {obib(gen) binder},
  year           = 1991
}

@InProceedings{Lai91a,
  Author         = {K-Y. Lai and T.W. Malone},
  Title          = {Object Lens: {A} ``Spreadsheet'' for Cooperative Work},
  BookTitle      = {Proceedings CSCW '88},
  Pages          = {115-124},
  Address        = {Portland, Oregon},
  keywords       = {olit},
  month          = sep,
  year           = 1991
}

@Article{Cimi95a,
  Author         = {A. Cimitile and G. Visaggio},
  Title          = {Software Salvaging and the Call Dominance Tree},
  Journal        = {Journal of Systems and Software},
  Volume         = {28},
  Pages          = {117--127},
  year           = 1995
}

@Article{Cham91c,
  Author         = {Craig Chambers and David Ungar and Bay-Wei Chang and
                   Urs H{\"o}lzle},
  Title          = {Parents are Shared Parts of Objects: Inheritance and
                   Encapsulation in SELF},
  Journal        = {Lisp and Symbolic Computation},
  Volume         = {4},
  Number         = {3},
  Pages          = {207-222},
  month          = jul,
  year           = 1991
}

@InProceedings{Gala98a,
  Author         = {Galal Hasan Galal},
  Title          = {A Note on Object-Oriented Software Architecting},
  BookTitle      = {ECOOP '98 Workshop Reader},
  Volume         = {1543},
  Series         = {LNCS},
  Pages          = {46-47},
  year           = 1998
}

@TechReport{Abad90a,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli and Pierre-Louis
                   Curien and Jean-Jacques L\'evy},
  Title          = {Explicit Substitutions},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {54},
  Address        = {Palo Alto, California},
  keywords       = {misc lambda fp binder (shelf) contract-types},
  month          = feb,
  url            = {http://www.cse.ucsc.edu/~abadi/Papers/main.ps
                   http://research.microsoft.com/Users/luca/Papers/ExplicitSub.ps
                   http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1990
}

@InProceedings{Mari04b,
  Author         = {Radu Marinescu and Daniel Ra\c{t}iu},
  Title          = {Quantifying the Quality of Object-Oriented Design: the
                   Factor-Strategy Model},
  BookTitle      = {Proceedings 11th Working Conference on Reverse
                   Engineering (WCRE'04)},
  Pages          = {192--201},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  keywords       = {metrics},
  year           = 2004
}

@Book{Stud02,
  Author         = {Studio 7.5},
  Title          = {Navigation for the Internet and other Digital Media},
  Publisher      = {Ava Publishing SA},
  isbn           = {2-88479-011-X},
  keywords       = {scglib},
  year           = 2002
}

@Book{Ceri93a,
  Editor         = {Stefano Ceri and Katsumi Tanaka},
  Title          = {Proceedings {DOOD}'93},
  Publisher      = {Springer-Verlag},
  Volume         = {760},
  Series         = {LNCS},
  Address        = {Phoenix, Arizona, USA},
  isbn           = {3-540-57530-8},
  keywords       = {olit ceri95 scglib},
  month          = dec,
  year           = 1993
}

@Misc{Alice,
  Title          = {{Alice}},
  Note           = {http://www.alice.org},
  key            = {Alice},
  url            = {http://www.alice.org}
}

@InProceedings{Corm90a,
  Author         = {G.V. Cormack and A.K. Wright},
  Title          = {Type-Dependent Parameter Inference},
  BookTitle      = {Proceedings of the ACM SIGPLAN '90 Conference on
                   Programming Language Design and Implementation},
  Pages          = {127-136},
  Address        = {White Plains, New York},
  keywords       = {types fp inference tfc},
  year           = 1990
}

@Article{Laff91a,
  Author         = {J. van den Bos and C. Laffra},
  Title          = {PROCOL: a Concurrent Object-Oriented Langugae with
                   Protocols delegation and constraints},
  Journal        = {Acta Informatica},
  Volume         = {28},
  Pages          = {511-538},
  year           = 1991
}

@InProceedings{Andr06a,
  Author         = {Chris Andreae and Yvonne Coady and Celina Gibbs and
                   James Nobble and Jan Vitek and Tian Zhao},
  Title          = {Scoped Types and Aspects for Real-Time {J}ava},
  BookTitle      = {Proceedings ECOOP '06},
  Volume         = {4067},
  Series         = {LNCS},
  Pages          = {124--147},
  Publisher      = {Springer-Verlag},
  month          = jul,
  year           = 2006
}

@InProceedings{Carr90b,
  Author         = {Bernard Carr\'e and Jean-Marc Geib},
  Title          = {The Point of View Notion for Multiple Inheritance},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {312-321},
  keywords       = {olit-inheritance oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Misc{Girb04a,
  Author         = {Tudor G\^irba and Michele Lanza},
  Title          = {Visualizing and Characterizing the Evolution of Class
                   Hierarchies},
  abstract       = {Analyzing historical information can show how a
                   software system evolved into its current state, but it
                   can also show which parts of the system are more
                   evolution prone. Yet, historical analysis implies
                   processing a vast amount of information which makes the
                   interpretation difficult. To address this issue, we
                   introduce the notion of history of source code
                   artifacts as a first class entity and define
                   measurements which summarize the evolution of such
                   entities. We then use these measurements to define
                   polymetric views for visualizing the effect of time on
                   class hierarchies. We show the application of our
                   approach on one large open source case study and reveal
                   how we can classify the class hierarchies based on
                   their history.},
  annote         = {internationalworkshop},
  booktitle      = {WOOR 2004 (5th ECOOP Workshop on Object-Oriented
                   Reengineering)},
  keywords       = {scg-pub skipdoi evolution visualization van girba
                   recast04 jb04 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb04aHierarchiesEvolution.pdf},
  year           = 2004
}

@InProceedings{Moss87a,
  Author         = {J. Eliot B. Moss and Walter H. Kohler},
  Title          = {Concurrency Features for the Trellis/Owl Language},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Series         = {LNCS 276},
  Pages          = {171-180},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obcl trellis owl ecoop87proc oobib(obcp)},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Marl96a,
  Author         = {Chris Marlin},
  Title          = {Multiple views based on unparsing canonical
                   representations---the {MultiView} architecture},
  BookTitle      = {Joint proceedings of the second international software
                   architecture workshop (ISAW-2) and international
                   workshop on multiple perspectives in software
                   development (Viewpoints '96)},
  Pages          = {222--226},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/243327.243668},
  isbn           = {0-89791-867-3},
  location       = {San Francisco, California, United States},
  year           = 1996
}

@Article{Kras88a,
  Author         = {G. E. Krasner and S. T. Pope},
  Title          = {A cookbook for using the model-view-controller user
                   interface paradigm in {Smalltalk}-80},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {1},
  Number         = {3},
  Pages          = {26-49},
  month          = aug,
  year           = 1988
}

@TechReport{Duca01c,
  Author         = {Ducasse, St\'ephane},
  Title          = {Reengineering Object-Oriented Applications},
  Institution    = {Universit\'e Pierre et Marie Curie (Paris 6)},
  Note           = {TR University of Berne, Institute of Computer Science
                   and Applied Mathematics --- iam-03-008},
  abstract       = {Reengineering ob ject-oriented applications is
                   becoming a vital activity in today industry where the
                   developer turnover drains the system oral memory out of
                   the systems themselves and where applications should
                   constantly evolve to meet new requirements. This
                   document summarizes the research effort led on reverse
                   engineering and reengineering ob ject-oriented legacy
                   systems. It includes (1) the definition of a suitable
                   meta-model for reengineering, FAMIX. This meta-model,
                   even if flat, supports both reverse engineering and
                   code refac- toring analysis, (2) the presentation of a
                   reengineering platform, MOOSE, (3) the evalution of
                   software metrics for reengineer, (4) the definition of
                   simple visual techniques to support large system
                   understanding or finer grain code element, (5) the
                   identification and cure sup- port for duplicated code,
                   (6) the use of dynamic information to support
                   composable views and collaboration extraction, and (7)
                   the identification of reengineer patterns. Keywords.
                   Meta-Modeling, Language Independence, Reengineering,
                   Reverse Engineering, Code Duplica- tion, Reengineering
                   Patterns, Program Traces, Dynamic Information, Program
                   Visualization, Software Metrics, Refactorings,
                   Interexchange Format, CODECRAWLER, FAMIX, MOOSE,
                   FAMOOS, Smalltalk, Java, C++.},
  annote         = {habilitation},
  keywords       = {scg-pub skipdoi jb-none reengineering snf02 stefPub
                   moose-pub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca01cHab.pdf},
  year           = 2001
}

@InProceedings{Mens98a,
  Author         = {Kim Mens and Roel Wuyts and Dirk Bontridder and Alain
                   Grijseels},
  Title          = {{ECOOP} '98 Workshop Report: Tools and Environments
                   for Business Rules},
  BookTitle      = {ECOOP '98 Workshop Reader},
  Editor         = {Demeyer, Serge and Bosch, Jan},
  Publisher      = {Springer},
  abstract       = {This workshop focussed on the requirements for tools
                   and environments that support business rules in an
                   object-oriented setting and attempted to provide an
                   overview of possible techniques and tools for the
                   handling, definition and checking of these rules and
                   the constraints expressed by them during analysis,
                   design and development of object-oriented software.},
  annote         = {workshopproceedings},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/MensAl98.pdf},
  year           = 1998
}

@PhdThesis{Gosl83a,
  Author         = {J. Gosling},
  Title          = {Algebraic Constraints},
  School         = {Carnegie Mellon University},
  year           = 1983
}

@InProceedings{Ande92a,
  Author         = {Egil P. Andersen and Trygve Reenskaug},
  Title          = {System Design by Composing Structures of Interacting
                   Objects},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {133-152},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Merr00b,
  Author         = {Massimo Merro and Josva Kleist and Uwe Nestmann},
  Title          = {Local $\pi$-Calculus at Work: Mobile Objects as Mobile
                   Processes},
  BookTitle      = {Proceedings of TCS 2000},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  month          = aug,
  year           = 2000
}

@Misc{ELanguage,
  Title          = {The {E} {Language}},
  Note           = {http://www.erights.org/},
  key            = {ELanguage},
  url            = {http://www.erights.org/}
}

@Book{Busc96b,
  Author         = {Frank Buschmann and Regine Meunier and Hans Rohnert
                   and Peter Sommerlad and Michael Stal},
  Title          = {Pattern-oriented software architecture: a system of
                   patterns},
  Publisher      = {John Wiley \& Sons, Inc.},
  Address        = {New York, NY, USA},
  isbn           = {0-471-95869-7},
  year           = 1996
}

@InProceedings{Manb94a,
  Author         = {Udi Manber},
  Title          = {Finding Similar Files in a Large File System},
  BookTitle      = {Proceedings of the Winter Usenix Technical Conference},
  Pages          = {1-10},
  year           = 1994
}

@TechReport{Kaps02a,
  Author         = {Cory Kapser and Jack Chi and Maher Shinouda},
  Title          = {A Project On Real World Cloning: Cloning in Linux File
                   Systems},
  Institution    = {School of Computer Science, University of Waterloo},
  Type           = {Class Project},
  Address        = {Ontario, Canada},
  annote         = {Project was realized during a Software Engineering
                   Course called Topics in Software Evolution and Design,
                   held by Michael Godfrey},
  keywords       = {clones},
  month          = nov,
  url            = {http://plg.uwaterloo.ca/~migod/846/project/KapserChiShinouda-report.pdf},
  year           = 2002
}

@InProceedings{Ball99a,
  Author         = {Thomas Ball},
  Title          = {The Concept of Dynamic Analysis},
  BookTitle      = {Proceedings European Software Engineering Conference
                   and ACM SIGSOFT International Symposium on the
                   Foundations of Software Engineering (ESEC/FSC 1999)},
  Number         = {1687},
  Series         = {LNCS},
  Pages          = {216-234},
  Address        = {Heidelberg},
  Publisher      = {Springer Verlag},
  keywords       = {fca},
  location       = {Toulose, France},
  month          = {sep},
  year           = 1999
}

@TechReport{Kurt99a,
  Author         = {Eveline Kurt},
  Title          = {Entwicklung einer Datenbank-Applikation zur Verwaltung
                   von Tagesstreckenkarten},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Die SBB verkauft den Bundesbetrieben
                   Tagesstreckenkarten zu einem bestimmten Preis. Diese
                   Karten dienen als Billette, \"ahnlich wie die
                   Tageskarten, welche man zu einem Pauschalpreis kaufen
                   kann, wenn man ein Halbtax -- Abo besitzt. Mit diesen
                   Karten kann man an einem Tag soweit fahren wie man
                   will. Die Eidg. Alkoholverwaltung besch\"aftigt viele
                   Aussendienstmitarbeiter, welche mit dem Zug reisen, und
                   wie alle Bundesangestellte benutzen sie
                   Tagesstreckenkarten als Billette. Der Gebrauch der
                   Tagesstreckenkarten (TSK) muss kontrolliert werden, da
                   die SBB erstens wissen will, welche Karten wann
                   gebraucht wurden und zweitens die gebrauchten Karten
                   zur\"uck will. Das erfordert einen gewissen
                   administrativen Aufwand der Verwaltung, welche zu
                   diesem Zweck seit etwa zehn Jahren eine von der eigenen
                   EDV- Abteilung entwickelte Datenbank-Applikation
                   (SDB-Datenbank) benutzt. Nun ist es an der Zeit, diese
                   Applikation durch eine neue zu ersetzen, denn diese
                   Applikation ist einerseits zu langsam, anderseits
                   funktioniert die Berechnung der neuen Kartennummer
                   nicht mehr richtig. Die Entwicklung dieser neuen
                   Applikation ist das Projekt, welches hier dokumentiert
                   wird.},
  keywords       = {scg-ip jb-none},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Kurt99a.pdf},
  year           = 1999
}

@Book{Mong93a,
  Author         = {Josep Mongui\'o},
  Title          = {{COP} overview},
  Publisher      = {TAO S.A.},
  abstract       = {WooRKS is a workflow package which has been developed
                   to prove the usefulness of the ITHACA development
                   environment. A workflow package is characterised by the
                   coordination and routing mechanisms which allow to
                   control the interaction and to schedule the work to be
                   performed by office workers. Within this paper we
                   describe COP, the module implementing the coordination
                   functionality of WooRKS.},
  keywords       = {olit-ithaca ithaca-final},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/cop.pdf},
  year           = 1993
}

@TechReport{Arap88a,
  Author         = {Costas Arapis and Gerti Kappel},
  Title          = {An Object Software Base},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  editor         = {D. Tsichritzis},
  keywords       = {olit osb osg aoe88},
  month          = jun,
  pages          = {32-50},
  year           = 1988
}

@TechReport{Cris99a,
  Author         = {Cristina Gheorghiu Cris},
  Title          = {Visualisierung von pi-Programmen},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Die Visualisierung von Programmen erlaubt, durch
                   animiertes Anzeigen, die Darstellung bedeutender
                   Zust\"nde, die w\"ahrend der Programmausf\"uhrung
                   auftreten k\"onnen und sonst unsichtbar f\"ur den
                   Benutzer bleiben. Ziel dieser Arbeit ist die
                   Implementation eines interaktiven
                   Visualisierungswerkzeuges f\"ur das JPict Framework. In
                   dieser Dokumentation werden Konzepte des JPict und
                   HotDraw Frameworks und der Visualisierungsmodelle kurz
                   dargestellt. Danach wird auf das Design und den
                   verfolgten Ansatz in der Implementierung dieses
                   Visualisierungswerkzeuges eingegangen.},
  keywords       = {scg-ip jb-none piccola},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Cris99a.pdf},
  year           = 1999
}

@Book{Arap93a,
  Author         = {Constantin Arapis},
  Title          = {A Temporal Logic-Based Approach for the Description of
                   Object-Oriented Behavior Evolution},
  Publisher      = {J.C. Baltzer AG, Science Publischer},
  Volume         = {7},
  Series         = {Annals of Mathematics and Artificial Intelligence},
  keywords       = {olit osg binder},
  year           = 1993
}

@MastersThesis{Brow96c,
  Author         = {Kyle Brown},
  Title          = {Design Reverse-Engineering and Automated Design
                   Pattern Detection in {Smalltalk}},
  School         = {North Carolina State University},
  keywords       = {olit designpattern reveng famoos oorp},
  url            = {http://www.ksccary.com/kbrown.htm},
  year           = 1996
}

@Article{Ahuj86a,
  Author         = {S. Ahuja and N. Carriero and D. Gelernter},
  Title          = {Linda and Friends},
  Journal        = {IEEE Computer},
  Volume         = {19},
  Number         = {8},
  Pages          = {26-34},
  keywords       = {concurrency linda},
  month          = aug,
  year           = 1986
}

@InProceedings{Find98a,
  Author         = {Robert Bruce Findler and Matthew Flatt},
  Title          = {Modular object-oriented programming with units and
                   mixins},
  BookTitle      = {Proceedings of the third ACM SIGPLAN international
                   conference on Functional programming},
  Pages          = {94-104},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/289423.289432},
  isbn           = {1-58113-024-4},
  location       = {Baltimore, Maryland, United States},
  year           = 1998
}

@Book{Farl98a,
  Author         = {Jim Farley},
  Title          = {Java Distributed Computing},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-206-9},
  keywords       = {java distributed olit-pl scglib},
  year           = 1998
}

@Article{Nand99a,
  Author         = {J. Nandigam and A. Lakhotia and C. Cech},
  Title          = {Experimental evaluation of agreement between
                   programmers in applying the rules of cohesion},
  Journal        = {Journal of Software Maintenance: Research and Practice},
  year           = 1999
}

@InProceedings{Kris87b,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   Birger M{\/o}ller-Pedersen and Kristen Nygaard},
  Title          = {Classification of Actions, or Inheritance also for
                   Methods},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B{\'e}zivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {98-107},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl beta ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Caud86a,
  Author         = {Patrick J. Caudill and Allen Wirfs-Brock},
  Title          = {A Third Generation {Smalltalk}-80 Implementation},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {119-130},
  keywords       = {olit-oopl smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@TechReport{Ambl91a,
  Author         = {Simon Ambler},
  Title          = {A de Bruijn notation for the $\pi$-calculus},
  Institution    = {University of London},
  keywords       = {pcalc mobility (uwe)},
  year           = 1991
}

@Article{Lieb82a,
  Author         = {Henry Lieberman},
  Title          = {Machine Tongues {IX}: Object-Oriented Programming},
  Journal        = {Computer Music Journal},
  Volume         = {6},
  Number         = {3},
  keywords       = {olit-appl music casais},
  year           = 1982
}

@Book{Deme99f,
  Editor         = {Serge Demeyer and Harald Gall},
  Title          = {Proceedings of the {ESEC}/{FSE}'99 Workshop on
                   Object-Oriented Re-engineering ({WOOR}'99)},
  Publisher      = {Technical University of Vienna --- Information Systems
                   Institute --- Distributed Systems Group},
  Series         = {TUV-1841-99-13},
  doi            = {http://doi.acm.org/10.1145/340855.340857},
  keywords       = {olit famoos-wrkproc scg-pub skip-abstract
                   sergedem-wrkproc snf99 jb99},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme99f/},
  year           = 1999
}

@InProceedings{Roye91a,
  Author         = {J.C. Royer},
  Title          = {A propos des concepts de CLOS},
  BookTitle      = {Bigre No 72 JFLA '91},
  Pages          = {150-158},
  year           = 1991
}

@InProceedings{Seid93a,
  Author         = {H. Seidl},
  Title          = {When is a Functional Tree Transduction Deterministic ?},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {251-265},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@Book{Rasm99a,
  Author         = {Daniel W. Rasmus},
  Title          = {Rethinking Smart Objects},
  Publisher      = {Cambridge University Press},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Boyl96a,
  Author         = {John Boyland and Giuseppe Castagna},
  Title          = {Type-Safe Compilation of Covariant Specialization: {A}
                   Practical Case},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {3-25},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  url            = {ftp://ftp.ens.fr/pub/dmi/users/castagna/o2.ps.Z},
  year           = 1996
}

@InProceedings{Marc05a,
  Author         = {Andrian Marcus and Denys Poshyvanyk},
  Title          = {The Conceptual Cohesion of Classes},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM 2005)},
  Pages          = {133--142},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  year           = 2005
}

@InCollection{Horn76a,
  Author         = {Jim J. Horning},
  Title          = {The Software Project as a Serious Game},
  BookTitle      = {Software Engineering Education --- Needs and
                   Objectives},
  Publisher      = {Springer-Verlag},
  Editor         = {Wasserman and Freeman},
  keywords       = {misc selit hut binder},
  year           = 1976
}

@PhdThesis{Guer92c,
  Author         = {Rachid Guerraoui},
  Title          = {Programmation Repartie par Objets: Etudes et
                   Proposositions},
  School         = {Universit\'e de Paris-Sud},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl karos binder (shelf)},
  month          = oct,
  year           = 1992
}

@Book{Chau98a,
  Author         = {Akmal B. Chaudhri and Mary Loomis},
  Title          = {Object Databases in Practice},
  Publisher      = {Prentice-Hall},
  keywords       = {scglib, databases},
  year           = 1998
}

@Book{Souk94a,
  Author         = {Jiri Soukop},
  Title          = {Taming {C}++},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-52826-6},
  keywords       = {c++ patterns scglib},
  year           = 1994
}

@MastersThesis{Arev00a,
  Author         = {Gabriela Ar{\'e}valo},
  Title          = {Object-Oriented Architectural Description of
                   Frameworks},
  School         = {Ecole des Mines de Nantes},
  keywords       = {arevalo},
  month          = sep,
  year           = 2000
}

@InProceedings{Russ89b,
  Author         = {Vincent F. Russo and Roy H. Campbell},
  Title          = {Virtual Memory and Backing Storage Management in
                   Multiprocessor Operating Systems Using Object-Oriented
                   Design Techniques},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {267-278},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Gibb91a,
  Author         = {Simon Gibbs},
  Title          = {Composite Multimedia and Active Objects},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {97-112},
  abstract       = {An object-oriented framework for composite multimedia
                   is described. In analogy to constructing complex
                   graphics entities from graphics primitives and
                   geometric transformations, composite multimedia is
                   constructed from multimedia primitives and temporal
                   transformations. Active objects based on real-time
                   processes are proposed as multimedia primitives. Their
                   combination to form composite multimedia and the
                   requisite temporal transformations are illustrated.},
  keywords       = {olit osg oopsla91},
  month          = nov,
  year           = 1991
}

@InCollection{Amer87c,
  Author         = {Pierre America},
  Title          = {{POOL}-{T}: {A} Parallel Object-Oriented Language},
  BookTitle      = {Object-Oriented Concurrent Programming},
  Publisher      = {MIT Press},
  Editor         = {A. Yonezawa and M. Tokoro},
  Pages          = {199-220},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-obcl pool oocp87},
  year           = 1987
}

@InCollection{John93b,
  Author         = {Ralph E. Johnson and William F. Opdyke},
  Title          = {Refactoring and Aggregation},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {264-278},
  abstract       = {Object-oriented programs evolve by means other than
                   just the addition of new classes. The changes to
                   object-oriented programs that have been most studied
                   are those based on inheritance, on reorganizing a class
                   hierarchy. However, aggregation is a relationship
                   between classes that is just as important as
                   inheritance, and many changes to an object-oriented
                   design involve the aggregate/component relationship.
                   This paper describes some common refactorings based on
                   aggregation, including how to convert from inheritance
                   to an aggregation, and how to reorganize an
                   aggregate/component hierarchy just as one might
                   reorganize a class inheritance hierarchy.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Pavl77a,
  Author         = {T. Pavlidis},
  Title          = {Structural Pattern Recognition},
  Publisher      = {Springer-Verlag},
  keywords       = {misc image book},
  year           = 1977
}

@InProceedings{Gael05a,
  Author         = {Markus Gaelli and Michele Lanza and Oscar Nierstrasz},
  Title          = {Towards a Taxonomy of {SUnit} Tests},
  BookTitle      = {Proceedings of 13th International Smalltalk Conference
                   (ISC'03)},
  abstract       = {Not all unit tests are alike. Some tests are simple
                   one-liners, while others contain a battery of
                   assertions. Certain tests focus on a single method,
                   while others test interactions between methods. There
                   are even tests that do not contain assertions at all.
                   This can make it difficult for a developer to
                   understand which methods are tested by which tests, to
                   what degree they are tested, and what to take into
                   account while refactoring. We have manually analyzed
                   the test base of a large existing object-oriented
                   system in order to derive a first taxonomy of unit
                   tests. We have then developed some simple tools to
                   semi-automatically categorize tests according to this
                   taxonomy, and applied it to two case studies. Beside
                   explaining our taxonomy, we report on our initial
                   results using it, namely that a majority of unit tests
                   focus on single methods and that our lightweight
                   automatic categorization could already classify more
                   than 50\% of these single method commands.},
  annote         = {internationalconference},
  cvs            = {EgESUG2005},
  keywords       = {scg-pub skipdoi jb06 MISSINGPAGENUMBERS snf05 testing
                   unit tests},
  misc           = {gaelli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael05aTowardsATaxonomyOfUnitTests.pdf
                   http://www.esug.org/conferences/thirteenthinternationalconference2005/researchconference/acceptedpapers/},
  year           = 2005
}

@Article{Duca01b,
  Author         = {St\'ephane Ducasse and Michele Lanza and Sander
                   Tichelaar},
  Title          = {The Moose Reengineering Environment},
  Journal        = {Smalltalk Chronicles},
  abstract       = {This article presents the Moose Reengineering
                   Environment, a language-independent tool environment to
                   reverse engineer, i.e., understand, and reengineer
                   software systems, as well as the tools which have been
                   developed around it and the experience, both academic
                   and industrial, we have obtained.},
  annote         = {notrefereed},
  keywords       = {scg-pub skipdoi repository reengineering snf01 jb01
                   stefPub moose-pub},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca01bMoose.pdf
                   http://www.smalltalkchronicles.net/edition3-2/Pages/moose.htm},
  year           = 2001
}

@PhdThesis{Four98c,
  Author         = {C{\'e}dric Fournet},
  Title          = {The Join-Calculus: a Calculus for Distributed Mobile
                   Programming},
  School         = {Ecole Polytechnique},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pcalc mobility join calculus pisem},
  number         = {INRIA TU-0556},
  url            = {http://www.research.microsoft.com/~fournet/biblio.htm},
  year           = 1998
}

@Unpublished{Mull97a,
  Author         = {Martin M{\"u}ller and Joachim Niehren and Gert Smolka},
  Title          = {Typed Concurrent Programming with Logic Variables},
  Note           = {Programming Systems Lab, Universit{\"a}t des
                   Saarlandes and DFKI},
  keywords       = {oobib(types) binder},
  type           = {Draft},
  year           = 1997
}

@InProceedings{Will94a,
  Author         = {Linda M. Wills},
  Title          = {Using Attributed Flow Graph Parsing to Recognize
                   Programs},
  BookTitle      = {Int. Workshop on Graph Grammars and Their Application
                   to Computer Science},
  Address        = {Williamsburg, Virginia},
  ftp            = {ftp.cc.gatech.edu//pub/groups/reverse/repository/ggram.ps},
  month          = nov,
  year           = 1994
}

@InProceedings{Augu95a,
  Author         = {M. Auguston},
  Title          = {Program Behavior Model Based on Event Grammar and its
                   Application for Debugging Automation},
  BookTitle      = {2nd International Workshop on Automated and
                   Algorithmic Debugging, Saint-Malo, France},
  month          = may,
  year           = 1995
}

@InProceedings{Kicz00a,
  Author         = {Gregor Kiczales and Jim Hugunin and Mik Kersten and
                   John Lamping and Cristina Lopes and William G. Griswold},
  Title          = {{Semantics-Based Crosscutting in {AspectJ}}},
  BookTitle      = {{Workshop on Multi-Dimensional Separation of Concerns
                   in Software Engineering (ICSE 2000)}},
  keywords       = {olit},
  year           = 2000
}

@InCollection{Arap95a,
  Author         = {Constantin Arapis},
  Title          = {A Temporal Perspective of Composite Objects},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {123-152},
  abstract       = {For the development of object-oriented applications,
                   the description of temporal aspects of object behaviour
                   often turns out to be an important issue. We present a
                   collection of notions and concepts intended for the
                   description of the temporal order in which messages are
                   sent to and received from an object. We also propose
                   notions for the description of the temporal order of
                   messages exchanged between cooperating objects related
                   with part-of relationships. Using propositional
                   temporal logic as the underlying formalism of our
                   approach, we show how to verify the consistency of
                   object specifications.},
  keywords       = {olit osg OOSC05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Book{Alex93a,
  Author         = {Christopher Alexander},
  Title          = {A Foreshadowing of 21st Century Art},
  Publisher      = {Oxford University Press},
  keywords       = {design-patterns scglib},
  year           = 1993
}

@Article{Ahls85a,
  Author         = {M. Ahls\"en and Anders Bj{\"o}rnerstedt and C.
                   Hult\"en},
  Title          = {{OPAL}: An Object-Based System for Application
                   Development},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {31-40},
  keywords       = {olit-oopl opal},
  month          = dec,
  year           = 1985
}

@InCollection{Vasc93a,
  Author         = {Vasco T. Vasconcelos and Mario Tokoro},
  Title          = {A Typing System for a Calculus of Objects},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {460-474},
  abstract       = {The present paper introduces an implicitly typed
                   object calculus intended to capture intrinsic aspects
                   of concurrent objects communicating via asynchronous
                   message passing, together with a typing system
                   assigning typings to terms in the calculus. Types meant
                   to describe the kind of messages an object may receive
                   are assigned to the free names in a program resulting
                   in a scenario where a program is assigned multiple
                   name-type pairs, constituting a typing for the process.
                   Programs that comply to the typing discipline are shown
                   not to suffer from runtime errors. Furthermore the
                   calculus possesses a notation of principal typings,
                   from which all typings that make a program well-typed
                   can be extracted. We present an efficient algorithm to
                   extract the principal typing of a process.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Article{Mylo80a,
  Author         = {John Mylopoulos and Philip A. Bernstein and H.K.T.
                   Wong},
  Title          = {{TAXIS}: {A} Language Facility for Designing
                   Database-Intensive Applications},
  Journal        = {ACM TODS},
  Volume         = {5},
  Number         = {2},
  Pages          = {185-207},
  keywords       = {olit-oopl taxis},
  month          = jun,
  year           = 1980
}

@InProceedings{Nord96a,
  Author         = {Else K. Nordhagen},
  Title          = {Omicron, An Object-Oriented Calculus},
  BookTitle      = {Proceedings FMOODS '96},
  Editor         = {IFIP WG 6.1},
  Address        = {Paris, France},
  keywords       = {olit FMOODS '96},
  month          = mar,
  url            = {http://www.ifi.uio.no/~lc/FMOODS.ps},
  year           = 1996
}

@Article{Seve76a,
  Author         = {D.G. Severance and R.A. Duhne},
  Title          = {A Practitioner's Guide to Addressing Algorithms},
  Journal        = {CACM},
  Volume         = {19},
  Number         = {6},
  Pages          = {314-326},
  keywords       = {misc},
  year           = 1976
}

@InProceedings{Zell02b,
  Author         = {Andreas Zeller},
  Title          = {Isolating cause-effect chains from computer programs},
  BookTitle      = {SIGSOFT '02/FSE-10: Proceedings of the 10th ACM
                   SIGSOFT symposium on Foundations of software
                   engineering},
  Pages          = {1-10},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/587051.587053},
  isbn           = {1-58113-514-9},
  location       = {Charleston, South Carolina, USA},
  year           = 2002
}

@Book{Budd91c,
  Author         = {Timothy A. Budd},
  Title          = {An Introduction to Object-Oriented Programming},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-54709-0},
  keywords       = {oobib(oopl) book scglib},
  year           = 1991
}

@TechReport{Deme92z,
  Author         = {Serge Demeyer},
  Title          = {A survey of Object-Oriented Databases},
  Institution    = {vub},
  Type           = {technical report},
  abstract       = {This paper tries to give an overview of the current
                   object oriented data base (OODB) technology. It is
                   intended for readers that had occasional experience
                   with computer programming, so technical details are
                   avoided whenever possible. Rather, we did try to
                   explain the meaning of certain key-concepts so the
                   reader is able to understand the possibilities and
                   capabilities of the technology. This will be done by
                   sketching the evolution of the 'database' and
                   'programming language' communities, each of which has
                   led to some important concepts.At the end an overview
                   of various object oriented databases (both commercial
                   systems and research prototypes) is included.},
  keywords       = {olit oodb sergedem-techrep},
  month          = may,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme92z/
                   http://progwww.vub.ac.be/papers/paperquery.html
                   ftp://progftp.vub.ac.be/tech_report/1992/vub-prog-tr-92-01.ps.Z},
  year           = 1992
}

@Misc{OCL20,
  Title          = {UML 2.0 Object Constraint Language (OCL) Specification},
  Note           = {http://www.omg.org/docs/ptc/03-10-14.pdf},
  key            = {OCL 2.0},
  url            = {http://www.omg.org/docs/ptc/03-10-14.pdf},
  year           = 2003
}

@Article{DePa01a,
  Author         = {Paul De Palma},
  Title          = {Viewpoint: Why women avoid computer science},
  Journal        = {Commun. ACM},
  Volume         = {44},
  Number         = {6},
  Pages          = {27--30},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/376134.376145},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 2001
}

@InProceedings{Rieg98a,
  Author         = {Matthias Rieger and St\'ephane Ducasse},
  Title          = {Visual Detection of Duplicated Code},
  BookTitle      = {Proceedings ECOOP Workshop on Experiences in
                   Object-Oriented Re-Engineering},
  Editor         = {St\'ephane Ducasse and Joachim Weisbrod},
  Number         = {6/7/98},
  Series         = {FZI Report},
  Publisher      = {Forschungszentrum Informatik Karlsruhe},
  abstract       = {Code duplication is considered as bad practice that
                   complicates the maintenance and evolution of software.
                   Detecting duplicated code is a difficult task because
                   of the large amount of data to be checked and the fact
                   that a priori it is unknown which code part has been
                   duplicated. In this paper, we present a tool called
                   DUPLOC that supports code duplication detection in a
                   visual and exploratory or an automatic way.},
  annote         = {internationalworkshop},
  keywords       = {jb98 famoos-papunr snf98 scg-pub skipdoi},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg98aEcoopWorkshop.pdf},
  year           = 1998
}

@InProceedings{Lohr94a,
  Author         = {Klaus-Peter L{\"o}hr},
  Title          = {Towards an Object-Oriented Design Methodoly for
                   Concurrent Systems},
  BookTitle      = {Proceedings of TOOLS '94},
  Pages          = {???},
  Publisher      = {???},
  keywords       = {oobib(gen) binder},
  year           = 1994
}

@InProceedings{Kell99a,
  Author         = {Rudolf K. Keller and Reinhard Schauer and
                   S\'{e}bastien Robitaille and Patrick Pag\'{e}},
  Title          = {Pattern-{Based} {Reverse} {Engineering} of {Design}
                   {Components}},
  BookTitle      = {Proceedings of ICSE '99 (21st International Conference
                   on Software Engineering)},
  Pages          = {226-235},
  Publisher      = {IEEE Computer Society Press / ACM Press},
  location       = {Los Angeles, California, United States},
  month          = may,
  year           = 1999
}

@PhdThesis{Robe99a,
  Author         = {Donald Bradley Roberts},
  Title          = {Practical Analysis for Refactoring},
  School         = {University of Illinois},
  keywords       = {refactoring smalltalk oorp},
  year           = 1999
}

@InProceedings{Ghon04b,
  Author         = {Mohammad Ghoniem and Jean-Daniel Fekete and Philippe
                   Castagliola},
  Title          = {A Comparison of the Readability of Graphs Using
                   Node-Link and Matrix-Based Representations},
  BookTitle      = {Proceedings of the 10th IEEE Symposium on Information
                   Visualization (InfoVis'04)},
  Pages          = {17-24},
  Address        = {Austin, TX},
  Publisher      = {IEEE Press},
  keywords       = {dotplot},
  month          = oct,
  url            = {http://www.lri.fr/~fekete/},
  year           = 2004
}

@Article{Trel82a,
  Author         = {P.C. Treleaven and D.R. Brownbridge and R.P. Hopkins},
  Title          = {Data-Driven and Demand-Driven Computer Architecture},
  Journal        = {ACM Computing Surveys},
  Volume         = {14},
  Number         = {1},
  Pages          = {93-143},
  keywords       = {misc},
  month          = mar,
  year           = 1982
}

@InProceedings{Chri05a,
  Author         = {Andreas Christl and Rainer Koschke and Margaret-Anne
                   Storey},
  Title          = {Equipping the Reflexion Method with Automated
                   Clustering},
  BookTitle      = {Working Conference on Reverse Engineering (WCRE)},
  Pages          = {89-98},
  year           = 2005
}

@InProceedings{Kais88a,
  Author         = {Gail E. Kaiser and Simon M. Kaplan},
  Title          = {Rapid Prototyping of Concurrent Programming Languages},
  BookTitle      = {Proceedings 8th International Conference on
                   Distributed Computing Systems},
  Pages          = {250-255},
  Address        = {San Jose, CA},
  Publisher      = {IEEE Computer Society},
  keywords       = {olit-obc obcp concurrency prototyping binder(patterns)},
  misc           = {June 13-17},
  month          = jun,
  year           = 1988
}

@InProceedings{Lehm01a,
  Author         = {Manny Lehman and Juan Ramil},
  Title          = {Evolution in Software and Related Areas},
  BookTitle      = {International Conference on Software Engineering
                   (ICSE)},
  Pages          = {1--16},
  year           = 2001
}

@TechReport{Moss95a,
  Author         = {Hanspeter M{\"o}ssenb{\"o}ck},
  Title          = {Active Text for Structuring and Understanding Source
                   Code},
  Institution    = {Institut f{\"u}r Informatik, Johannes Kepler
                   Universit{\"a}t Linz},
  Type           = {Report},
  Number         = {3},
  keywords       = {olit binder},
  month          = aug,
  year           = 1995
}

@Book{Rose92b,
  Author         = {Hal F. Rosenbluth},
  Title          = {The Customer Comes Second},
  Publisher      = {Quill},
  keywords       = {scglib},
  year           = 1992
}

@TechReport{Mey93b,
  Author         = {Vicki de Mey and Oscar Nierstrasz},
  Title          = {The {ITHACA} Application Development Environment},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {The goal of ITHACA is to produce a complete
                   object-oriented application development environment.
                   This paper reports on the status of ITHACA in relation
                   to this ambitious goal concentrating on the tools
                   comprising the application development environment.
                   Some general observations and recommendations are made
                   concerning the integration of the tools. Future
                   directions of the project are also outlined.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca skipdoi osg-ftp vo93 ithaca-final vista},
  month          = jul,
  pages          = {267-280},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Mey93bIthacaADE.pdf},
  year           = 1993
}

@Book{Nona95a,
  Author         = {Ikujiro Nonaka and Hirotaka Takeuchi},
  Title          = {The Knowledge-Creating Company},
  Publisher      = {Oxford University Press},
  keywords       = {scglib},
  year           = 1995
}

@InProceedings{Pern90b,
  Author         = {Barbara Pernici},
  Title          = {Objects with Roles},
  BookTitle      = {Proceedings ACM-IEEE Conference of Office Information
                   Systems (COIS)},
  Address        = {Boston},
  keywords       = {olit osg ood89 ithaca recast orm},
  month          = apr,
  year           = 1990
}

@Book{Ghez91a,
  Author         = {Carlo Ghezzi and Mehdi Jazayeri and Dino Mandrioli},
  Title          = {Fundamentals of Software Engineering},
  Publisher      = {Prentice-Hall},
  isbn           = {0138204322},
  keywords       = {selit},
  year           = 1991
}

@TechReport{Nier87b,
  Author         = {Oscar Nierstrasz},
  Title          = {Triggering Active Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Objects and Things},
  abstract       = {Active objects are concurrent, active entities based
                   on the object-oriented paradigm. We present a model for
                   understanding active objects based on the remote
                   procedure call, and on the notion of activities, which
                   capture a single-thread flow of control between
                   objects. We also present simple mechanisms for creating
                   activities, interleaving and delaying activities, and
                   for constructing atomic actions and concurrent
                   subactivities. We show how these mechanisms can be used
                   to capture very general forms of triggering. Our model
                   for active objects, and the mechanisms for manipulating
                   activities are embedded in Hybrid, a concurrent,
                   object-oriented language. The model is also useful for
                   understanding and dealing with deadlock in such
                   systems.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc skipdoi hybrid triggers deadlock osg oat87},
  month          = mar,
  pages          = {43-78},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier87bTriggeringObjects.pdf},
  year           = 1987
}

@InCollection{Maes88a,
  Author         = {Pattie Maes},
  Title          = {Issues in Computational Reflection},
  BookTitle      = {Meta-Level Architectures and Reflection},
  Publisher      = {Elsevier Science Publishers B.V. (North-Holland)},
  Editor         = {P. Maes, D. Nardi},
  Pages          = {21-35},
  year           = 1988
}

@InCollection{Orav90a,
  Author         = {Fredrik Orava and Joachim Parrow},
  Title          = {Algebraic Descriptions of Mobile Networks: An Example},
  BookTitle      = {Protocol Specification, Testing and Verfication, X},
  Publisher      = {IFIP, North-Holland},
  Pages          = {275-291},
  keywords       = {pcalc mobility (uwe)},
  year           = 1990
}

@Article{Fugi92a,
  Author         = {Mariagrazia Fugini and Oscar Nierstrasz and Barbara
                   Pernici},
  Title          = {Application Development Through Reuse: The {ITHACA}
                   Tools Environment},
  Journal        = {SIGOIS Bulletin},
  Volume         = {13},
  Number         = {2},
  Pages          = {38-47},
  abstract       = {This paper presents the architecture and basic
                   features of the Ithaca Application Development
                   Environment based on a Software Information System for
                   enhancing reusability of both software components and
                   artifacts about development of these components.
                   Object-oriented techniques are used in the Environment
                   at all levels of the development of an application:
                   requirement specification, scripting, implementation
                   through class refinement and tailoring. In the
                   Environment, it is tracked how the various products of
                   the development phases were produced by providing tools
                   for the Application Engineer who is responsible for
                   abstracting application skeletons and development
                   information and storing these as Application Frames
                   into a Software Information Base. In particular, the
                   paper describes the Requirement Collection And
                   Specification Tool (RECAST) and the Visual Scripting
                   Tool (Vista) of the Ithaca Development Environment.},
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/134376.134386},
  keywords       = {olit-ithaca recast vista oke osg-ftp oc91 ithaca-final},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Fugi92aAppDevThroughReuse.pdf},
  year           = 1992
}

@PhdThesis{Metz95a,
  Author         = {Igor Metz},
  Title          = {Bintree Lab: Ein Framework von Datenstrukturen und
                   Algorithmen f\"ur Bintrees},
  School         = {University of Bern},
  Type           = {Ph.{D}. Thesis},
  keywords       = {skip-pdf skipdoi skip-abstract olit scglib jb-none
                   toBeChecked scg-phd},
  month          = oct,
  year           = 1995
}

@Book{Gree99a,
  Author         = {Alan Greenspun},
  Title          = {Philip and Alex's Guide To Webpublishing},
  Publisher      = {Morgan Kaufman},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Bono99a,
  Author         = {Viviana Bono and Amit Patel and Vitaly Shmatikov},
  Title          = {A Core Calculus of Classes and Mixins},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {43-66},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {We develop an imperative calculus that provides a
                   formal model for both single and mixin inheritance. By
                   introducing classes and mixins as the basic
                   object-oriented constructs in a lambda-calculus with
                   records and references, we obtain a system with an
                   intuitive operational semantics. New classes are
                   produced by applying mixins to superclasses. Objects
                   are represented by records and produced by
                   instantiating classes. The type system for objects uses
                   only functional, record, and reference types, and there
                   is a clean separation between subtyping and
                   inheritance.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Article{Wulf74a,
  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},
  Volume         = {17},
  Number         = {6},
  Pages          = {337-345},
  keywords       = {security olit hydra capabilities},
  month          = jun,
  year           = 1974
}

@Book{Busc96a,
  Author         = {Frank Buschmann and Regine Meunier and Hans Rohnert
                   and Peter Sommerlad and Michael Stad},
  Title          = {Pattern-Oriented Software Architecture --- {A} System
                   of Patterns},
  Publisher      = {John Wiley Press},
  isbn           = {0-471-95869-7},
  keywords       = {olit design-patterns scglib sclit oorp},
  year           = 1996
}

@Book{Broc95a,
  Author         = {Kraig Brockschmidt},
  Title          = {Inside OLE},
  Publisher      = {Microsoft Press},
  Edition        = {2nd},
  year           = 1995
}

@InProceedings{Grot01a,
  Author         = {Christian Grothoff and Jens Palsberg and Jan Vitek},
  Title          = {Encapsulating objects with confined types},
  BookTitle      = {OOPSLA '01: Proceedings of the 16th ACM SIGPLAN
                   conference on Object oriented programming, systems,
                   languages, and applications},
  Pages          = {241-255},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/504282.504300},
  isbn           = {1-58113-335-9},
  keywords       = {nonstandard types},
  location       = {Tampa Bay, FL, USA},
  url            = {http://www.cs.ucla.edu/~palsberg/paper/oopsla01.pdf},
  year           = 2001
}

@TechReport{Nier05e,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Nathanael
                   Sch\"arli},
  Title          = {Flattening {Traits}},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-05-005},
  Address        = {Universit\"at Bern, Switzerland},
  abstract       = { Traits are fine-grained components that can be used
                   to compose classes, while avoiding many of the problems
                   of multiple inheritance and mixin-based approaches.
                   Since most implementations of traits have focused on
                   dynamically-typed languages, the question naturally
                   arises, how can one best introduce traits to
                   statically-typed languages, like {Java} and C#? In this
                   paper we argue that the flattening property of traits
                   should be used as a guiding principle for any attempt
                   to add traits to statically-typed languages. This
                   property essentially states that, semantically, traits
                   can be compiled away. We demonstrate how this principle
                   applies to FTJ, a conservative extension to
                   Featherweight {Java}.},
  cvs            = {TraitFlatteningTR},
  keywords       = {scg-pub skipdoi scg-rotor traits jb06 snf05 jot
                   stefPub},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05eFlatteningTraitsTR.pdf},
  year           = 2005
}

@Article{Seid03a,
  Author         = {Ed Seidewitz},
  Title          = {What Models Mean},
  Journal        = {IEEE Software},
  Volume         = {20},
  Number         = {5},
  Pages          = {26-32},
  issue          = {5},
  month          = sep,
  year           = 2003
}

@Book{Hend98a,
  Author         = {Brian Henderson-Sellers, Anthony Simons, Houman
                   Younessi},
  Title          = {The OPEN Toolbox of Techniques},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 1998
}

@Book{Coad91a,
  Author         = {Peter Coad and Edward Yourdon},
  Title          = {Object Oriented Design},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-630070-7},
  keywords       = {oobib(gen) book scglib},
  year           = 1991
}

@InProceedings{Syny05a,
  Author         = {Synytskyy and Holt and Davis},
  Title          = {Browsing Software Architectures With LSEdit},
  BookTitle      = {Proceedings of International Worksop on Program
                   Comprehension (IWPC)},
  Pages          = {176-178},
  year           = 2005
}

@Article{Voyd83a,
  Author         = {V.L. Voydock and S.T. Kent},
  Title          = {Security Mechanisms in High-Level Network Protocols},
  Journal        = {ACM Computing Surveys},
  Volume         = {15},
  Number         = {2},
  Pages          = {135-171},
  keywords       = {security os networks},
  month          = jun,
  year           = 1983
}

@Article{Purd87a,
  Author         = {Alan Purdy and B. Schuchardt and David Maier},
  Title          = {Integrating an Object-Server with Other Worlds},
  Journal        = {ACM TOOIS},
  Volume         = {5},
  Number         = {1},
  Pages          = {27-47},
  keywords       = {olit-db gemstone opal},
  month          = jan,
  year           = 1987
}

@TechReport{Pern89a,
  Author         = {Barbara Pernici},
  Title          = {Objects with Roles},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg ood89},
  month          = jul,
  pages          = {75-100},
  year           = 1989
}

@PhdThesis{Leth91a,
  Author         = {Lone Leth},
  Title          = {Functional Programs as Reconfigurable Networks of
                   Communicating Processes},
  School         = {Imperial College, University of London},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pcalc mobility (uwe)},
  year           = 1991
}

@Article{Sahr01a,
  Author         = {Houari Sahraoui and Mounir Boukadoum and Hakim Lounis},
  Title          = {Building Quality Estimation models with Fuzzy
                   Threshold Values},
  Journal        = {L'Objet},
  Volume         = {7},
  Number         = {4},
  keywords       = {metrics},
  month          = dec,
  year           = 2001
}

@Book{Gens02a,
  Author         = {Thomas Genssler and Alexander Christoph and Benedikt
                   Schulz and Michael Winter and Chris M. Stich and
                   Christian Zeidler and Peter M\"uller and Andreas
                   Stelter and Oscar Nierstrasz and St\'ephane Ducasse and
                   Gabriela Ar{\'e}valo and Roel Wuyts and Peng Liang and
                   Bastiaan Sch\"onhage and Reinier van den Born},
  Title          = {PECOS in a Nutshell},
  Publisher      = {The Pecos Consortium},
  abstract       = { This Handbook presents the PECOS approach for
                   developing field device software. It has been written
                   for the developer who wants to apply the method in a
                   realistic setting. By following this tutorial the
                   reader will get a good understanding of PECOS and will
                   learn how to use PECOS to develop software for embedded
                   real-time systems.},
  annote         = {notrefereed handbook},
  keywords       = {olit scg-pub skipdoi jb02 pecos arevalo stefPub},
  month          = sep,
  url            = {http://www.pecos-project.org/public_documents/pecosHandbook.pdf},
  year           = 2002
}

@Article{Shil94a,
  Author         = {J.J. Shilling and J.T. Stasko},
  Title          = {Using Animation to Desing Object-Oriented Systems},
  Journal        = {Object-Oriented Systems},
  Volume         = {1},
  Number         = {1},
  Pages          = {5-20},
  keywords       = {olit binder},
  month          = dec,
  publisher      = {Chapman \& Hall},
  year           = 1994
}

@InProceedings{Siff97a,
  Author         = {Michael Siff and Thomas Reps},
  Title          = {Identifying {Modules} via {Concept} {Analysis}},
  BookTitle      = {Proceedings of ICSM '97 (International Conference on
                   Software Maintenance)},
  Pages          = {170-179},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/siff97identifying.html},
  year           = 1997
}

@Article{Stin05a,
  Author         = {Serge Stinckwich and St\'ephane Ducasse},
  Title          = {La syntaxe Smalltalk},
  Journal        = {Linux Pratique},
  Volume         = 1,
  Number         = 32,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub jb05},
  month          = nov,
  year           = 2005
}

@InProceedings{Favr01a,
  Author         = {Jean-Marie Favre},
  Title          = {GSEE: a Generic Software Exploration Environment},
  BookTitle      = {Proceedings of the 9th International Workshop on
                   Program Comprehension},
  Pages          = {233-244},
  Publisher      = {IEEE},
  month          = may,
  year           = 2001
}

@Article{Fisc95a,
  Author         = {Fischer, Gerhard and Redmiles, David and Williams,
                   Lloyd and Puhr, Gretchen I. and Aoki, Atsushi and
                   Nakakoji, Kumiyo},
  Title          = {{Beyond Object-Oriented Technology: Where Current
                   Approaches Fall Short}},
  Journal        = {Human-Computer Interaction},
  Volume         = {10},
  Pages          = {79-119},
  keywords       = {olit reuse metrics oose library repository abb},
  year           = 1995
}

@Book{VanR96c,
  Author         = {Guido van Rossum},
  Title          = {Python Library Reference},
  Publisher      = {Stichting Mathematisch Centrum},
  Address        = {Amsterdam},
  keywords       = {python},
  year           = 1996
}

@Book{Rumb91a,
  Author         = {James Rumbaugh and Michael Blaha and William
                   Premerlani and Frederick Eddy and William Lorensen},
  Title          = {Object-Oriented Modeling and Design},
  Publisher      = {Prentice-Hall},
  Address        = {New Jersey},
  isbn           = {0-13-630054-5},
  keywords       = {olit omt binder (shelf) book scglib},
  year           = 1991
}

@InProceedings{Ding01a,
  Author         = {Lei Ding and Nenad Medvidovic},
  Title          = {Focus: A Light-Weight, Incremental Approach to
                   Software Architecture Recovery and Evolution},
  BookTitle      = {Working Conference on Software Architecture (WICSA)},
  Pages          = {191-},
  year           = 2001
}

@Article{Biha92a,
  Author         = {Thomas A. Bihari and Prabha Gopinath},
  Title          = {Object-Oriented Real-Time Systems: Concepts and
                   Examples},
  Journal        = {IEEE Computer},
  Volume         = {25},
  Number         = {12},
  Pages          = {25-32},
  keywords       = {olit-obc},
  month          = dec,
  year           = 1992
}

@Article{Maze84a,
  Author         = {Murray S. Mazer and Frederick H. Lochovsky},
  Title          = {Logical Routing Specification in Office Information
                   Systems},
  Journal        = {ACM TOOIS},
  Volume         = {2},
  Number         = {4},
  Pages          = {303-330},
  keywords       = {oislit mail routing},
  month          = oct,
  year           = 1984
}

@InProceedings{Moss82a,
  Author         = {J. Eliot B. Moss},
  Title          = {Nested Transactions and Reliable Distributed Computing},
  BookTitle      = {Proceedings 2nd Symposium on Reliability in
                   Distributed Software and Database Systems},
  Pages          = {33-39},
  Address        = {Pittsburgh, PA},
  keywords       = {dblit transactions reliability},
  month          = jul,
  year           = 1982
}

@Book{Mull93b,
  Author         = {Sape Mullender},
  Title          = {Distributed Systems:},
  Publisher      = {Addison Wesley},
  Edition        = {Second},
  keywords       = {distributed systems},
  year           = 1993
}

@InProceedings{Vite99a,
  Author         = {Jan Vitek and Giuseppe Castagna},
  Title          = {Seal: A framework for secure mobile computations},
  BookTitle      = {Internet Programming Languages},
  keywords       = {pcalc mobility ambients pisem},
  url            = {http://www.cs.purdue.edu/homes/jv/publist.html},
  year           = 1999
}

@PhdThesis{Cubr04a,
  Author         = {Davor \u{Cubrani}\'{c}},
  Title          = {Project History as a Group Memory: Learning From the
                   Past},
  School         = {University of British Columbia},
  Address        = {Vancouver BC},
  keywords       = {evolution},
  month          = dec,
  pages          = {149},
  year           = 2004
}

@InProceedings{Wett05a,
  Author         = {Richard Wettel and Radu Marinescu},
  Title          = {Archeology of Code Duplication: Recovering Duplication
                   Chains From Small Duplication Fragments},
  BookTitle      = {Proceedings of the 7th International Symposium on
                   Symbolic and Numeric Algorithms for Scientific
                   Computing (SYNASC 2005)},
  Pages          = {??-??},
  keywords       = {clone},
  year           = 2005
}

@InProceedings{Russ88a,
  Author         = {Vincent Russo and Gary Johnston and Roy Campbell},
  Title          = {Process Mangement and Exception Handling in
                   Multiprocessor Operating Systems},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {248-258},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InCollection{May89a,
  Author         = {David May and Roger Shephard},
  Title          = {Occam and the Transputer},
  BookTitle      = {Advances in Petri Nets 1989},
  Publisher      = {Springer-Verlag},
  Editor         = {G. Rozenberg},
  Volume         = {424},
  Series         = {LNCS},
  Pages          = {329-353},
  keywords       = {concurrency petri occam binder(conc)},
  year           = 1989
}

@InProceedings{Banc96a,
  Author         = {Fran\c{c}ois Bancilhon},
  Title          = {Will Europe ever Produce and sell Objects?},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {2},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Hsi03a,
  Author         = {Idris Hsi and Colin Potts},
  Title          = {Ontological Excavation: Unearthing the core concepts
                   of an application},
  BookTitle      = {Proceedings IEEE Working Conference on Reverse
                   Engineering (WCRE 2003)},
  Pages          = {345--352},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature},
  month          = nov,
  year           = 2003
}

@Article{Pals92a,
  Author         = {Jens Palsberg and Michael I. Schwartzbach},
  Title          = {Three Discussions on Object-oriented Typing},
  Journal        = {ACM OOPS Messenger},
  Volume         = {3},
  Number         = {2},
  Pages          = {31-38},
  keywords       = {types olit},
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1992
}

@Article{Boud88a,
  Author         = {G\'erard Boudol and Ilaria Castellani},
  Title          = {A Non-Interleaving Semantics for {CCS} Based on Proved
                   Transitions},
  Journal        = {Fundamenta Informaticae},
  Volume         = {XI},
  Pages          = {433-452},
  keywords       = {pcalc ccs binder},
  publisher      = {North-Holland},
  year           = 1988
}

@Book{Tsic00a,
  Editor         = {D. Tsichritzis},
  Title          = {Internet Objects},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {scglib olit},
  month          = sep,
  year           = 2000
}

@InProceedings{Tu02a,
  Author         = {Qiang Tu and Michael W. Godfrey},
  Title          = {An Integrated Approach for Studying Architectural
                   Evolution},
  BookTitle      = {10th International Workshop on Program Comprehension
                   (IWPC'02)},
  Pages          = {127-136},
  Publisher      = {IEEE Computer Society Press},
  location       = {Paris, France},
  month          = jun,
  year           = 2002
}

@MastersThesis{Meye06b,
  Author         = {Michael Meyer},
  Title          = {Scripting Interactive Visualizations},
  School         = {University of Bern},
  abstract       = {Data visualization is an important tool in reverse
                   engineering. With a good visualization the interesting
                   parts of the underlying data can be detected faster
                   than by merely inspecting the raw data. One peculiarity
                   of the existing visualization tools is the fact that
                   they implement a finite set of specific visualizations.
                   These specialized tools are not flexible enough to
                   support the user when a slightly or sometimes even
                   drastically different visualization is needed. Often
                   the user needs to be familiar with several
                   visualization tools with each tool expecting a
                   different input format. Usually a large amount of time
                   is being invested into converting the data into the
                   format that is expected by the visualization tool. We
                   propose a new visualization model that is designed to
                   minimize the time-to-solution. We achieve this by
                   working directly on the underlying data, by making
                   nesting an integral part of the model and by defining a
                   powerful scripting language that can be used to define
                   visualizations. We support exploring data in an
                   interactive way by providing hooks for various events.
                   Users can register actions for these events in the
                   visualization script. As a validation of our model we
                   implemented the framework Mondrian and used it to
                   implement several established visualizations. },
  keywords       = {scg-msc scg-pub skipdoi jb07 fb06 snf07 moose-pub},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Meye06b.pdf},
  year           = 2006
}

@InProceedings{Abou02a,
  Author         = {Mohamed Ibrahim Abouelhoda and Enno Ohlebusch and
                   Stefan Kurtz},
  Title          = {Optimal exact string matching based on suffix arrays},
  BookTitle      = {Proc. of the Ninth Int. Symposium on String Processing
                   and Information Retrieval},
  Series         = {LNCS},
  Publisher      = {Springer Verlag},
  year           = 2002
}

@InProceedings{Mads89a,
  Author         = {Ole Lehrmann Madsen and Birger M{\/o}ller-Pedersen},
  Title          = {Virtual Classes: {A} Powerful Mechanism in
                   Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {397-406},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@PhdThesis{Sart03a,
  Author         = {Kamran Sartipi},
  Title          = {Software Architecture Recovery based on Pattern
                   Matching},
  School         = {School of Computer Science, University of Waterloo,
                   Waterloo, ON, Canada},
  year           = 2003
}

@InProceedings{Mart05a,
  Author         = {Mickael Martin and Benjamin Livshits and Monica S. Lam},
  Title          = {Finding application errors and security flaws using
                   PQL: a program query language},
  BookTitle      = {Proceedings of Object-Oriented Programming, Systems,
                   Languages, and Applications (OOPSLA'05)},
  Pages          = {363-385},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  year           = 2005
}

@TechReport{Kobe04a,
  Author         = {Markus Kobel},
  Title          = {{VisClim} -- Visualisation of Climatological Data},
  Institution    = {University of Berne},
  Type           = {Informatikprojekt},
  abstract       = {In this project, we developed a tool for generating
                   videosequences from geographical data (temperature, sea
                   level pressure, 500hPa geopot., ...). The customer for
                   this application (called VisClim) is the
                   Climatology/Meteorology Research Group (Climet) from
                   the Institute of Geography of the University of Berne.
                   They maintain a database which contains earth science
                   data for the time span from 1500 until today. VisClim
                   is able to load netCDF files and generate
                   videosequences from the data in these files.},
  keywords       = {snf-none scg-ip jb04},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Kobe04a.pdf},
  year           = 2004
}

@InProceedings{Smit05a,
  Author         = {Charles Smith and Sophia Drossopoulou},
  Title          = {Chai: Typed Traits in {Java}},
  BookTitle      = {Proceedings ECOOP 2005},
  year           = 2005
}

@Article{Atki87a,
  Author         = {Malcolm P. Atkinson and O. Peter Buneman},
  Title          = {Types and persistence in database programming
                   languages},
  Journal        = {ACM Computing Surveys},
  Volume         = {19},
  Number         = {2},
  Pages          = {105-170},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/62070.45066},
  issn           = {0360-0300},
  publisher      = {ACM Press},
  year           = 1987
}

@InProceedings{Zhao03a,
  Author         = {Tian Zhao and Jens Palsberg and Jan Vitek},
  Title          = {Lightweight confinement for featherweight {Java}},
  BookTitle      = {OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN
                   conference on Object-oriented programing, systems,
                   languages, and applications},
  Pages          = {135-148},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/949305.949318},
  isbn           = {1-58113-712-5},
  keywords       = {nonstandard types},
  location       = {Anaheim, California, USA},
  url            = {http://www.cs.purdue.edu/homes/jv/pubs/oopsla03.pdf},
  year           = 2003
}

@Article{Duca06e,
  Author         = {St\'ephane Ducasse and Hilaire Fernandes},
  Title          = {La syntaxe Smalltalk par la pratique},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 83,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = may,
  year           = 2006
}

@InProceedings{Berg91a,
  Author         = {Paul L. Bergstein and Karl J. Lieberherr},
  Title          = {Incremental Class Dictionary Learning and Optimization},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {377-396},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Article{Nour02a,
  Author         = {Lhouari Nourine and Olivier Raynaud},
  Title          = {A fast incremental algorithm for building lattices.},
  Journal        = {Journal of Experimental and Theoretical Artificial
                   Intelligence},
  Volume         = {14},
  Number         = {2-3},
  Pages          = {217-227},
  year           = 2002
}

@InProceedings{Sato99a,
  Author         = {Masahiko Sato and Takafumi Sakurai and Rod M. Burstall},
  Title          = {Explicit Environments},
  BookTitle      = {Typed Lambda Calculi and Applications},
  Editor         = {Jean-Yves Girard},
  Volume         = 1581,
  Series         = {LNCS},
  Pages          = {340-354},
  Address        = {L'Aquila, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {contract-types context-calculus},
  month          = apr,
  url            = {http://www.sato.kuis.kyoto-u.ac.jp/~masahiko/index-e.html
                   http://www.dcs.ed.ac.uk/home/rb/index.html},
  year           = 1999
}

@InProceedings{Yone86a,
  Author         = {Akinori Yonezawa and Jean-Pierre Briot and Etsuya
                   Shibayama},
  Title          = {Object-Oriented Concurrent Programming in {ABCL}/1},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {11(21)},
  Pages          = {258-268},
  keywords       = {olit-obcl abcl1 lisp oopsla86 oobib(obcp)},
  month          = nov,
  year           = 1986
}

@Article{Cusa91a,
  Author         = {Elspeth Cusack},
  Title          = {Refinement, Conformance and Inheritance},
  Journal        = {Formal Aspects of Computing},
  Volume         = {3},
  Pages          = {129-141},
  keywords       = {concurrency csp binder},
  year           = 1991
}

@InProceedings{Pras91a,
  Author         = {K.V.S. Prasad},
  Title          = {A Calculus of Broadcasting Systems},
  BookTitle      = {Proceedings TAPSOFT '91},
  Editor         = {S. Abramsky and T. Maibaum},
  Series         = {LNCS 493},
  Pages          = {338-358},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs tapsoft91 binder(ccs)},
  year           = 1991
}

@InProceedings{Davi93b,
  Author         = {G. David and F. Drewes and H.-J. Kreowski},
  Title          = {Hyperedge Replacement with Rendezvous},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {167-181},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@Book{Pins91a,
  Author         = {Lewis J. Pinson and Richard S. Wiener},
  Title          = {Objective-C},
  Publisher      = {Addison Wesley},
  keywords       = {objectivec},
  year           = 1988
}

@TechReport{Leth97a,
  Author         = {Timothy C. Lethbridge and Nicolas Anquetil},
  Title          = {Architecture of a Source Code Exploration Tool: A
                   Software Engineering Case Study},
  Institution    = {University of Ottawa},
  Note           = {Computer Science Technical Report of University of
                   Ottawa},
  month          = jul,
  url            = {http://www.site.uottawa.ca/~tcl/papers/index.html},
  year           = 1997
}

@Article{Fras80a,
  Author         = {C.W. Fraser},
  Title          = {A Generalized Text Editor},
  Journal        = {CACM},
  Volume         = {23},
  Number         = {3},
  Pages          = {154-158},
  keywords       = {uilit text},
  month          = mar,
  year           = 1980
}

@TechReport{Kazm95a,
  Author         = {Rick Kazman and Marcus Burth},
  Title          = {Assessing Architectural Complexity},
  Institution    = {University of Waterloo},
  year           = 1995
}

@Article{Verc96b,
  Author         = {Kristina L. Verco and Michael J. Wise},
  Title          = {Plagiarism a la Mode: A Comparison of Automated
                   Systems for Detecting Suspected Plagiarism},
  Journal        = {The Computer Journal},
  Volume         = {39},
  Number         = {9},
  keywords       = {plagiarism},
  year           = 1996
}

@InProceedings{Gang89a,
  Author         = {Dipayan Gangopadhyay and A. Richard Helm},
  Title          = {A Domain Model Driven Approach for Representing and
                   Implementing Knowledge about Reusable Object-Oriented
                   Software Classes},
  BookTitle      = {IBM PADT ITL Conference},
  Address        = {Dallas, TX},
  keywords       = {olit-reuse binder},
  month          = jul,
  year           = 1989
}

@InProceedings{Swee99a,
  Author         = {Peter F. Sweeney and Joseph (Yossi) Gil},
  Title          = {Space and time-efficient memory layout for multiple
                   inheritance},
  BookTitle      = {Proceedings OOPSLA '99},
  Pages          = {256-275},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/320384.320408},
  isbn           = {1-58113-238-7},
  location       = {Denver, Colorado, United States},
  year           = 1999
}

@Article{Snyd93a,
  Author         = {Alan Snyder},
  Title          = {The Essence of Objects: Concepts and Terms},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {31-42},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@Book{Irvi97a,
  Author         = {Kip R. Irvine},
  Title          = {{C}++ and Object-Oriented Programming},
  Publisher      = {Prentice-Hall},
  isbn           = {0-02-359852-2},
  keywords       = {olit-oopl},
  year           = 1997
}

@InProceedings{Duca03b,
  Author         = {St\'ephane Ducasse and Nathanael Sch{\"a}rli and Roel
                   Wuyts},
  Title          = {Open Surfaces for Controlled Visibility},
  BookTitle      = {Proceedings of the ECOOP '03 Workshop on
                   Object-oriented Language Engineering for the Post-Java
                   Era},
  abstract       = {Current languages contain visibility mechanisms such
                   as private, protected, or public to control who can see
                   what. However, these visibility mechanisms are fixed
                   once for all. Moreover, they do not solve all problems
                   related to the visibility, and are typically of a
                   static nature. In this position paper we present an
                   open and uniform way of dealing with visibility and
                   introduce surfaces: i.e., list of methods that control
                   the way the behavior of an ob ject is accessible. We
                   introduce two problems that other visibility mechanisms
                   cannot solve, and show how surfaces can.},
  annote         = {internationalworkshop},
  keywords       = {snf03 scg-pub skipdoi jb03 stefPub schaerli},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca03bSurfaces.pdf},
  year           = 2003
}

@Book{Ezra98a,
  Author         = {Michel Ezran and Maurizio Morisio and Collin Tully},
  Title          = {Practical Software Reuse: the essential guide},
  Publisher      = {Valtech},
  year           = 1998
}

@TechReport{Nier03b,
  Author         = {Oscar Nierstrasz},
  Title          = {Contractual Types},
  Institution    = {Institute of Computer Science},
  Type           = {Technical Report},
  Number         = {IAM-03-004},
  Address        = {University of Bern, Switzerland},
  abstract       = {Real software systems are open and evolving. It is a
                   constant challenge in such environments to ensure that
                   software components are safely composed in the face of
                   changing dependencies and incomplete knowledge. To
                   address this problem, we propose a new kind of type
                   system which allows us to infer not only the type
                   provided by a software component in an open system, but
                   also the type it requires of its environment, subject
                   to certain constraints. The contractual type we infer
                   for components can then be statically checked when
                   components are composed. To illustrate our approach, we
                   introduce the form calculus, a calculus of explicit
                   environments, and we present a type system that infers
                   types for form expressions.},
  keywords       = {snf03 scg-pub skipdoi piccola jb03},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier03bcontractualTypes.pdf},
  year           = 2003
}

@InProceedings{Rich98a,
  Author         = {Tamar Richner},
  Title          = {Describing Framework Architectures: more than Design
                   Patterns},
  BookTitle      = {Proceedings of the ECOOP '98 Workshop on
                   Object-Oriented Software Architectures},
  Editor         = {Jan Bosch and Helene Bachatene and G{\"o}rel Hedin and
                   Kai Koskimies},
  Series         = {Research Report 13/98},
  Publisher      = {University of Karlskrona},
  abstract       = {In this paper we argue for the necessity of an
                   architectural description of a framework. We then
                   analyze why design patterns on their own are
                   insufficient for such a description and propose that a
                   variety of complementary forms of documentation are
                   needed to address the requirements of an architectural
                   description. We claim that traditional artifacts of
                   domain analysis and object-oriented design can better
                   capture the architecture of a framework by describing
                   the design solutions in the problem context at a higher
                   level of granularity than can design patterns.},
  keywords       = {olit famoos-papunr scglit oobib scg-pub skipdoi
                   toBeChecked snf98 jb98},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rich98aFrameworkArch.pdf},
  year           = 1998
}

@InProceedings{Buxt93a,
  Author         = {J.N Buxton},
  Title          = {On the Decline of Classical Programming},
  BookTitle      = {Proceedings ESEC '93},
  Editor         = {Ian Sommerville},
  Volume         = {717},
  Series         = {LNCS},
  Pages          = {1-9},
  Address        = {Garmisch-Partenkirchen, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {olit esec93},
  month          = sep,
  year           = 1993
}

@Book{Sang01b,
  Author         = {Davide Sangiorgi and David Walker},
  Title          = {The Pi-Calculus --- A Theory of Mobile Processes},
  Publisher      = {Cambridge University Press},
  keywords       = {scglib pi},
  year           = 2001
}

@InProceedings{Khos86a,
  Author         = {Setrag N. Khoshafian and George P. Copeland},
  Title          = {Object Identity},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {406-416},
  keywords       = {olit-db concepts identity oopsla86 oobib(oodb)},
  month          = nov,
  year           = 1986
}

@TechReport{Smol01a,
  Author         = {Smolander and Hoikka and Isokallio and Kataikko and
                   M{\"a}kel{\"a} and K{\"a}lvi{\"a}inen},
  Title          = {Required and Optional Viewpoints -- What Is Included
                   in Software Architecture?},
  Institution    = {Univ. Lappeenranta},
  year           = 2001
}

@InProceedings{Zeid94a,
  Author         = {Christian Zeidler and Bernhard Fank},
  Title          = {Integrating Structural and Operational Programming to
                   Manage Distributed Systems},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {55-72},
  Publisher      = {Springer-Verlag},
  abstract       = {Distributed systems have become a buzz word, well
                   known but not well used, because of different existing
                   paradigms for programming languages, systems,
                   communication, coop eration, management, and because of
                   integraton problems. From the programmer's point of
                   view, the interesting question is how one can solve a
                   problem specification in a distributed environment.
                   Most of the existing distributed programming
                   environments concentrate on two levels; First, the
                   denotation of an operational solution in a modularized
                   way, and second, description of an initial
                   interconnection of these modules into a distributed
                   application, i.e. configuration or structural
                   programming. Both levels are kept independent as far as
                   possible, using different notations and thus can not
                   benefit from each other because of their separation.
                   This paper introduces a model which integrates
                   structural and operational programming into a single
                   paradigm. This paradigm is based on object-orientation
                   and reflective programming extended by a category and
                   annotation model realizing structural programming
                   support.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InProceedings{Pand99a,
  Author         = {Raju Pandey and Brant Hashii},
  Title          = {Providing Fine-Grained Access Control for {Java}
                   Programs},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {449-473},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {There is considerable interest in programs that can
                   migrate from one host to another and execute. Mobile
                   programs are appealing because they support efficient
                   utilization of network resources and extensibility of
                   information servers. However, since they cross
                   administrative domains, they have the ability to access
                   and possibly misuse a host's protected resources. In
                   this paper, we present a novel approach for controlling
                   and protecting a site's resources. In this approach, a
                   site uses a declarative policy language to specify a
                   set of constraints on accesses to resources. A set of
                   code transformation tools enforces these constraints on
                   mobile programs by integrating the access constraint
                   checking code directly into the mobile program and
                   resource definitions. Because our approach does not
                   require resources to make explicit calls to a reference
                   monitor, it does not depend upon a specific runtime
                   system implementation.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InCollection{Gibb95a,
  Author         = {Simon Gibbs},
  Title          = {Multimedia Component Frameworks},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {305-319},
  abstract       = {This chapter looks at the use of object-oriented
                   technology, in particular class frameworks, in the
                   domain of multimedia programming. After introducing
                   digital media and multimedia programming, the central
                   notion of multimedia frameworks is examined; an example
                   of a multimedia framework and an application that uses
                   the framework are presented. The example application
                   demonstrates how object-oriented multimedia programming
                   helps to insulate application developers from
                   "volatility" in multimedia processing capabilities ---
                   this volatility and related uncertainty is currently
                   one of the key factors hindering multimedia application
                   development.},
  keywords       = {olit osg OOSC11},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Book{Brod95a,
  Author         = {Michael L. Brodie and Michael Stonebraker},
  Title          = {Migrating Legacy Systems},
  Publisher      = {Morgan Kaufmann},
  keywords       = {book scglib oorp},
  year           = 1995
}

@InProceedings{Gueh06a,
  Author         = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Kim Mens and Roel
                   Wuyts},
  Title          = {A Comparative Framework for Design Recovery Tools},
  BookTitle      = {Conference on Software Maintenance and Reengineering
                   (CSMR 2006)},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {While many commercial and academic design recovery
                   tools have been proposed over the years, assessing
                   their relevance and comparing them is difficult due to
                   the lack of a well-defined, comprehensive, and common
                   framework. In this paper, we introduce such a common
                   comparative framework. The framework builds upon our
                   own experience and extends existing comparative
                   frameworks. We illustrate the comparative framework on
                   two specific design recovery tools.},
  annote         = {internationalconference},
  keywords       = {decomp-pub},
  url            = {http://www.yann-gael.gueheneuc.net/Work/Publications/Documents/CSMR06b.doc.pdf},
  year           = 2006
}

@InProceedings{Dede02a,
  Author         = {Jessie Dedecker and De Meuter, Wolfgang},
  Title          = {Using the Prototype-based Programming Paradigm for
                   Structuring Mobile Applications},
  BookTitle      = {Workshop: Agent-oriented methodologies. OOPSLA 2002,
                   Seattle, WA USA.},
  keywords       = {prototype},
  year           = 2002
}

@PhdThesis{Aksi89a,
  Author         = {Mehmet Aksit},
  Title          = {On the Design of the Object-Oriented Language Sina},
  School         = {University of Twente},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl sina binder (shelf)},
  year           = 1989
}

@MastersThesis{Loer97a,
  Author         = {Georg L{\"o}rincze},
  Title          = {Modellierung, Analyse und Simulation von Regeln in der
                   aktiven Schicht {ALFRED}},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {In vielen Unternehmen werden Datenbanksysteme
                   eingesetzt, um wichtige Unternehmensdaten zu speichern
                   und zu verwalten. Das Bed{\"u}rfnis, Ablaufe
                   automatisieren zu k{\"o}nnen, hat dazu gef{\"u}hrt,
                   dass Datenbanksysteme, die nur zur Speicherung von
                   Daten eingesetzt werden, nicht mehr den Anforderungen
                   gen{\"u}gen. Aus diesem Grund werden seit einigen
                   Jahren auf dem Gebiet der Daten- banken Losungen
                   gesucht, um den neuen Anforderungen gerecht zu werden.
                   Eine m{\"o}gliche Losung bieten aktive
                   Datenbanksysteme. Diese besitzen die Eigenschaft, dass
                   sie auf bestimmte Situationen automatisch reagieren
                   k{\"o}nnen. Ein solches Verhalten wird als aktiv
                   bezeichnet und kann mit Hilfe von Regeln beschrieben
                   werden. In diesen werden die Situationen spezi ziert,
                   die erkannt werden mussen, und Aktionen festgelegt, die
                   beim Eintreten dieser Situationen ausgef{\"u}hrt
                   werden. In diesem Zusammenhang ergeben sich neue
                   Aufgaben, die eine Losung erfordern. So muss festgelegt
                   werden, wie aktives Verhalten mit Hilfe von Regeln
                   realisiert werden kann. Dazu muss spezi ziert werden,
                   wie Regeln in einem ADBS modelliert und verarbeitet
                   werden k{\"o}nnen. Diese Diplomarbeit befasst sich mit
                   der Modellierung, der Analyse sowie der Simulation von
                   Regeln in der aktiven Schicht ALFRED (Active Layer For
                   Rule Execution in Database Systems). Diese Schicht kann
                   auf prinzipiell beliebige konventionelle (passive)
                   Datenbanksysteme aufgesetzt werden und erweitert diese
                   um Funktionalit{\"a}t en, mit denen aktives Verhalten
                   realisierbar ist. In dieser Schicht werden Regeln mit
                   all ihren Komponenten gesamthaft in einem einzigen
                   Modell dargestellt.},
  keywords       = {snf-none scg-pub skipdoi toBeChecked scg-msc jb97},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Loer97a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Loer97a.ps.gz},
  year           = 1997
}

@Article{Dave95a,
  Author         = {N. Davey and P. Barson and S.D.H. Field and R.J. Frank
                   and D.S.W. Tansley},
  Title          = {The Development of a Software Clone Detector},
  Journal        = {International Journal of Applied Software Technology},
  Volume         = {1},
  Number         = {3/4},
  Pages          = {219-236},
  url            = {http://homepages.feis.herts.ac.uk/~nngroup/pubs/pubs-19956.html},
  year           = 1995
}

@InProceedings{Fost06a,
  Author         = {Howard Foster and Sebastian Uchitel and Jeff Magee and
                   Jeff Kramer},
  Title          = {LTSA-WS: a tool for model-based verification of web
                   service compositions and choreography},
  BookTitle      = {ICSE '06: Proceeding of the 28th international
                   conference on Software engineering},
  Pages          = {771--774},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1134285.1134408},
  isbn           = {1-59593-375-1},
  location       = {Shanghai, China},
  year           = 2006
}

@Unpublished{Punt96c,
  Author         = {Frank Puntigam},
  Title          = {Process Types for Concurrent Object-Oriented
                   Programming},
  Note           = {Research Proposal},
  institution    = {Technische Universitat Wien},
  keywords       = {obib-types binder},
  year           = 1996
}

@TechReport{Budd91b,
  Author         = {Timothy A. Budd},
  Title          = {Sharing and First-Class Functions in Object-Oriented
                   Languages},
  Institution    = {Oregon State University},
  Type           = {Research paper},
  keywords       = {olit-oopl leda binder},
  misc           = {March 5},
  month          = mar,
  year           = 1991
}

@Article{Ingalls97,
  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},
  Journal        = {SIGPLAN Not.},
  Volume         = {32},
  Number         = {10},
  Pages          = {318--326},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/263700.263754},
  issn           = {0362-1340},
  publisher      = {ACM},
  year           = 1997
}

@Misc{Inne97,
  Author         = {JavaSoft},
  Title          = {Inner classes specification},
  Note           = {Available through http://java.sun.com/docs/index.html},
  month          = feb,
  year           = 1997
}

@InProceedings{Lidd94a,
  Author         = {S. W. Liddle and D. W. Embley and S. N. Woodfield},
  Title          = {A Seamless Model for Object-Oriented Systems
                   Development},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {123-141},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Kitc00a,
  Author         = {Barbara A. Kitchenham and Shari Lawrence Pfleeger and
                   Lesley M. Pickard and Peter W. Jones and David C.
                   Hoaglin and Khaled El Emam and Jarrett Rosenberg},
  Title          = {Preliminary guidelines for empirical research in
                   software engineering},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {22},
  Number         = {8},
  Pages          = {721-734},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/TSE.2002.1027796},
  publisher      = {IEEE Press},
  year           = 2002
}

@PhdThesis{Dami94a,
  Author         = {Laurent Dami},
  Title          = {Software Composition: Towards an Integration of
                   Functional and Object-Oriented Approaches},
  School         = {University of Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit hop osg book scglib contract-types},
  number         = {No. 396},
  year           = 1994
}

@InProceedings{Till03b,
  Author         = {Thomas Tilley and Wolfgang Hesse and Roger Duke},
  Title          = {A Software Modelling Exercise Using {FCA}},
  BookTitle      = {Using Conceptual Structures: Contributions to ICCS
                   2003},
  Editor         = {B. Ganter and A. de Moor},
  Pages          = {213-226},
  Publisher      = {Shaker Verlag},
  keywords       = {fca},
  year           = 2003
}

@Article{Carm90a,
  Author         = {Jos\'e Carmo and Amilcar Sernadas},
  Title          = {Branching versus Linear Logics Yet Again},
  Journal        = {Formal Aspects of Computing},
  Volume         = {2},
  Pages          = {24-59},
  keywords       = {linear-logic temporal binder},
  year           = 1990
}

@Misc{Spielverderber,
  Author         = {Roland Pl\"uss and Philippe Marschall},
  Title          = {{Spielverderber}, an {Access} {Control} {List} ({ACL})
                   based security framework for {Pier}},
  Note           = {http://smallwiki.unibe.ch/advanceddesignlabs/admin/},
  key            = {Spielverderber},
  keywords       = {smalltalk pier security acl},
  url            = {http://smallwiki.unibe.ch/advanceddesignlabs/admin/},
  year           = 2005
}

@InProceedings{Miln91d,
  Author         = {Robin Milner and Joachim Parrow and David Walker},
  Title          = {Modal Logics for Mobile Processes},
  BookTitle      = {Proceedings of CONCUR '91},
  Editor         = {J.C.M. Baeten and J.F. Groote},
  Series         = {LNCS 527},
  Pages          = {45-60},
  Address        = {Amsterdam},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility equivalence concur91 binder},
  month          = aug,
  year           = 1991
}

@Article{Robe97a,
  Author         = {Don Roberts and John Brant and Ralph E. Johnson},
  Title          = {A Refactoring Tool for {Smalltalk}},
  Journal        = {Theory and Practice of Object Systems (TAPOS)},
  Volume         = {3},
  Number         = {4},
  Pages          = {253-263},
  keywords       = {refactoring refactoring-browser reengtool ooreeng
                   famoos oorp},
  publisher      = {John Wiley \& Sons},
  year           = 1997
}

@TechReport{Kons88a,
  Author         = {Dimitri Konstantas and Oscar Nierstrasz and Michael
                   Papathomas},
  Title          = {An Implementation of Hybrid, a Concurrent
                   Object-Oriented Language},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  abstract       = {This paper is a report on a prototype implementation
                   of Hybrid, a strongly-typed, concurrent,
                   object-oriented language. The implementation we
                   describe features a compile-time system for translating
                   Hybrid object type definitions into C, a run-time
                   system for supporting communication, obc and object
                   persistence, and a type manager that mediates between
                   the two.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obcl skipdoi hybrid osg-ftp aoe88},
  month          = jun,
  pages          = {61-105},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Kons88aHybridImplementation.pdf
                   http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridImplementation.pdf},
  year           = 1988
}

@Book{Vlis96a,
  Author         = {John Vlissides and James O. Coplien and Norman L.
                   Kerth},
  Title          = {Patterns Languages of Program Design 2},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-89527-7},
  keywords       = {olit-oose oobib design-patterns reuse book scglib},
  year           = 1995
}

@InProceedings{Guim91a,
  Author         = {Nuno Guimaraes},
  Title          = {Building Generic User Interface Tools: an Experience
                   with Multiple Inheritance},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {89-96},
  keywords       = {olit-inheritance oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Cox90a,
  Author         = {Brad J. Cox},
  Title          = {Planning the Software Industrial Revolution},
  Journal        = {IEEE Software},
  Volume         = {7},
  Number         = {6},
  Pages          = {25-33},
  keywords       = {olit repository},
  month          = nov,
  year           = 1990
}

@Book{Brio95a,
  Editor         = {Jean-Pierre Briot and Jean Marc Geib and Akiro
                   Yonezawa},
  Title          = {Proceedings {OBPDC}'95},
  Publisher      = {Springer-Verlag},
  Volume         = {1107},
  Series         = {LNCS},
  Address        = {Tokyo, Japan},
  isbn           = {3-540-61487-7},
  keywords       = {olit scglib},
  month          = jun,
  year           = 1995
}

@InProceedings{Dubo93a,
  Author         = {Eric Dubois and Philippe Du Bois and Micha\"el Petit},
  Title          = {O-{O} Requirements Analysis: an Agent Perspective},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {458-482},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {In this paper, we present a formal object-oriented
                   specification language designed for capturing
                   requirements expressed on composite real-time systems.
                   The specification describes the system as a society of
                   `agents', each of them being characterised (i) by its
                   responsibility with respect to actions happening in the
                   system and (ii) by its time-varying perception of the
                   behaviour of the other agents. On top of the language,
                   we also suggest some methodological guidance by
                   considering a general strategy based on a progressive
                   assignement of responsibilities to agents.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@TechReport{Gibb93b,
  Author         = {Simon Gibbs and Christian Breiteneder and Vicki de Mey
                   and Michael Papathomas},
  Title          = {Video Widgets and Video Actors},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {Video widgets are user-interface components that are
                   rendered using video information. The implementation
                   and several usage examples of a family of video
                   widgets, called video actors, are presented. Video
                   actors rely on two capabilities of digital video:
                   non-linear access, and the composition and layering of
                   video information.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg vo93},
  month          = jul,
  pages          = {51-64},
  year           = 1993
}

@InCollection{Dony98b,
  Author         = {Christophe Dony and Jacques Malenfant and Daniel
                   Bardou},
  Title          = {Classification of Object-Centered Languages},
  BookTitle      = {Prototype-based Programming: Concepts, Languages and
                   Applications},
  Publisher      = {Springer Verlag},
  Editor         = {James Noble and Antero Taivalsaari and Ivan Moore},
  Pages          = {17-45},
  year           = 1998
}

@InProceedings{Sarg93a,
  Author         = {John Sargeant},
  Title          = {Uniting Functional and Object-Oriented Programming},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {1-26},
  abstract       = {United Functions and Objects (UFO) is a
                   general-purpose, implicitly parallel language designed
                   to allow a wide range of applications to be efficiently
                   implemented on a wide range of parallel machines while
                   minimizing the conceptual difficulties for the
                   programmer. To achieve this, it draws on the experience
                   gained in the functional and object-oriented ``worlds''
                   and attempts to bring these worlds together in a
                   harmonious fashion. Most of this paper concentrates on
                   examples which illustrate how functions and objects can
                   indeed work together effectively. At the end, a number
                   of issues raised by early experience with the language
                   are discussed.},
  keywords       = {olit-oopl ufo binder isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Rich02a,
  Author         = {Tamar Richner and St\'ephane Ducasse},
  Title          = {Using Dynamic Information for the Iterative Recovery
                   of Collaborations and Roles},
  BookTitle      = {Proceedings of 18th IEEE International Conference on
                   Software Maintenance (ICSM'02)},
  Pages          = {34},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Modeling object-oriented applications using
                   collaborations and roles is now well accepted.
                   Collaboration-based or role-based designs decompose an
                   application into tasks performed by a subset of the
                   applications' classes. Collaborations prov ide a larger
                   unit of understanding and reuse than classes, and are
                   an important aid in the maintenance and evolution of
                   the software. This kind of design information is lost,
                   however, at the implementation level, making it hard to
                   maintain and evolve an e xisting software application.
                   The extraction of collaborations from code is therefore
                   an important issue in design recovery. In this paper we
                   propose an iterative approach which uses dynamic
                   information to support the recovery and understanding
                   of collabo rations. We describe a tool we have
                   developed to support our approach and demonstrate its
                   use on a case study.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2002.1167745},
  keywords       = {scg-pub snf02 jb02 stefPub},
  misc           = {acceptance rate: 61/127 = 48\%},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rich02aRolesExtractionICSM2002.pdf},
  year           = 2002
}

@InProceedings{Goll95a,
  Author         = {K. Gollmer and C. Posten},
  Title          = {Detection of distorted pattern using dynamic time
                   warping algorithm and application for the supervision
                   of bioprocesses},
  BookTitle      = {On-Line Fault Detection and Supervision in Chemical
                   Process Industries.},
  year           = 1995
}

@InProceedings{Meye92d,
  Author         = {Scott Meyers and Steven P. Reiss},
  Title          = {An empirical study of multiple-view software
                   development},
  BookTitle      = {SDE 5: Proceedings of the fifth ACM SIGSOFT symposium
                   on Software development environments},
  Pages          = {47--57},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/142868.142913},
  isbn           = {0-89791-554-2},
  location       = {Tyson's Corner, Virginia, United States},
  year           = 1992
}

@Article{Fair87a,
  Author         = {J. Fairbairn},
  Title          = {Making Form Follow Function: An Exercise in Functional
                   Programming Style},
  Journal        = {Software --- Practice and Experience},
  Volume         = {17},
  Number         = {6},
  Pages          = {379-386},
  year           = 1987
}

@Book{Meye88b,
  Author         = {Bertrand Meyer},
  Title          = {Object-oriented Software Construction},
  Publisher      = {Prentice-Hall},
  keywords       = {olit-oopl eiffel oobib(oopl) scglib},
  year           = 1988
}

@InProceedings{Popo01a,
  Author         = {Andrei Popovici and Gustavo Alonso and Thomas Gross},
  Title          = {Just-in-time aspects: efficient dynamic weaving for
                   {Java}},
  BookTitle      = {Proceedings of the 2nd international conference on
                   Aspect-oriented software development},
  Pages          = {100-109},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/643603.643614},
  isbn           = {1-58113-660-9},
  location       = {Boston, Massachusetts},
  year           = 2003
}

@TechReport{Kons92b,
  Author         = {Dimitri Konstantas},
  Title          = {The Implementation of the Hybrid Cell},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {The Cell is a framework for the design of strongly
                   distributed object based systems that preserves the
                   autonomy of the nodes. The Hybrid system was
                   transformed to a first cell prototype with the
                   introduction of a membrane providing the services of
                   Type Matching, Object Mapping and Connection Trading. A
                   Type Matching language was designed and the connection
                   and trading protocols were defined},
  editor         = {D. Tsichritzis},
  keywords       = {olit hybrid osg of92},
  month          = jul,
  pages          = {119-136},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/cellImplemntation.pdf},
  year           = 1992
}

@InProceedings{Gold80d,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {Descriptions for a Programming Environment},
  BookTitle      = {Proceedings of the First Annual Conference of the
                   National Association for Artificial Intelligence},
  keywords       = {olit-oopl pie},
  month          = aug,
  year           = 1980
}

@Article{Pott96a,
  Author         = {Colin Potts},
  Title          = {{Software}-{Engineering} {Research} {Revisited}},
  Journal        = {IEEE Software},
  Number         = {9},
  Pages          = {19-28},
  month          = sep,
  publisher      = {IEEE Computer Society},
  year           = 1993
}

@InProceedings{Knod05a,
  Author         = {Jens Knodel and Isabel John and Dharmalingam Ganesan
                   and Martin Pinzger and Fernando Usero and Jose L.
                   Arciniegas and Claudio Riva},
  Title          = {Asset Recovery and Their Incorporation into Product
                   Lines},
  BookTitle      = {Proceedings of Working Conference on Reverse
                   Engineering (WCRE 05)},
  Pages          = {120--129},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/WCRE.2005.8},
  isbn           = {0-7695-2474-5},
  year           = 2005
}

@InProceedings{Stre94a,
  Author         = {Norbert A. Streitz},
  Title          = {Putting Objects to Work: Hypermedia as the Subject
                   Matter and the Medium for Computer-Supported
                   Cooperative Work},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {183-193},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Redm02a,
  Author         = {Barry Redmond and Vinny Cahill},
  Title          = {Supporting Unanticipated Dynamic Adaptation of
                   Application Behaviour},
  BookTitle      = {Proceedings of European Conference on Object-Oriented
                   Programming},
  Volume         = {2374},
  Pages          = {205-230},
  Publisher      = {Springer-Verlag},
  keywords       = {iguana iguana/J iguanaj},
  year           = 2002
}

@InProceedings{Roma92b,
  Author         = {Griua-Catalin Roman and Kenneth C. Cox},
  Title          = {Program Visualization: The Art of Mapping Programs to
                   Pictures},
  BookTitle      = {Proceedings ICSE 1992},
  year           = 1992
}

@Article{Hill94a,
  Author         = {Ralph D. Hill and Tom Brinck and Steven L. Rohall and
                   John F.Patterson and Wayne Wilner},
  Title          = {{The Rendezvous Architecture and Language for
                   Constructing Multi-User Applications}},
  Journal        = {ACM Transactions on Computer-Human Interaction},
  Volume         = {1},
  Number         = {2},
  Pages          = {81-125},
  month          = jun,
  year           = 1994
}

@Book{Russ95a,
  Editor         = {Vicent F. Russo},
  Title          = {{USENIX} Conference on Object Oriented Technologies},
  Publisher      = {USENIX},
  isbn           = {1-880446-71-5},
  keywords       = {COOTS '95 scglib},
  year           = 1995
}

@InProceedings{Pauw06a,
  Author         = {De Pauw, Wim and Sophia Krasikov and John Morar},
  Title          = {Execution Patterns for Visualizing Web Services},
  BookTitle      = {Proceedings ACM International Conference on Software
                   Visualization (SoftVis 2006)},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  keywords       = {olit feature},
  month          = sep,
  year           = 2006
}

@InProceedings{Vitt82a,
  Author         = {J. Vittal},
  Title          = {Active Message Processing: Messages as Messengers},
  BookTitle      = {Proceedings of the International Symposium on Computer
                   Message Systems, IFIP TC-6, Ottawa, April 1981},
  Editor         = {R.P. Uhlig},
  Pages          = {175-195},
  Publisher      = {North Holland Publishing Co},
  keywords       = {misc mail},
  year           = 1982
}

@InProceedings{Four96a,
  Author         = {C\'edric Fournet and Georges Gonthier},
  Title          = {The Reflexive {CHAM} and the Join-Calculus},
  BookTitle      = {Proceedings of the 23rd ACM Symposium on Principles of
                   Programming Languages},
  Pages          = {372-385},
  Publisher      = {ACM Press},
  keywords       = {popl96 pcalc join calculus pisem},
  url            = {http://www.research.microsoft.com/~fournet/biblio.htm
                   http://pauillac.inria.fr/~fournet/papers/popl-96.ps.gz},
  year           = 1996
}

@InProceedings{Caro90a,
  Author         = {Denis Caromel},
  Title          = {Programming Abstractions for Concurrent Programming},
  BookTitle      = {TOOLS Pacific '90},
  Pages          = {245-253},
  Address        = {Sydney, Australia},
  keywords       = {olit-obc binder},
  month          = nov,
  year           = 1990
}

@InProceedings{Zend06a,
  Author         = {Olivier Zendra},
  Title          = {Memory and compiler optimizations for low-power and
                   -energy},
  BookTitle      = {Workshop on Implementation, Compilation, Optimization
                   of Ob ject-Oriented Languages, Programs and Systems
                   (ICOOOPLPS'06), co-located with ECOOP'06},
  month          = jul,
  year           = 2006
}

@Article{Hint04a,
  Author         = {Jana Hintze and Maic Masuch},
  Title          = {Designing a 3D Authoring Tool for Children},
  Journal        = {c5},
  Volume         = {00},
  Pages          = {78-85},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/C5.2004.1314373},
  publisher      = {IEEE Computer Society},
  year           = 2004
}

@MastersThesis{Zumk07a,
  Author         = {Pascal Zumkehr},
  Title          = {Changeboxes --- Modeling Change as a First-Class
                   Entity},
  School         = {University of Bern},
  Type           = {Master's thesis},
  abstract       = {Software systems undergo continual change if they want
                   to remain useful over time. However, only limited
                   support for change is offered by current programming
                   languages and development environments. Although
                   various existing efforts try to cope with change and
                   exploit it for different applications, a unifying
                   approach to support software change is missing. We
                   propose Changeboxes as a generic metamodel to represent
                   change as a first-class entity. Changeboxes encapsulate
                   the semantics of a change process as well as its
                   effects and model the entire change history of a
                   software system. Changeboxes capture changes at the
                   level of the runtime system and the integrated
                   development environment. They are able to record
                   low-level changes as well as complex transformations
                   like refactorings. Each Changebox provides a scope for
                   dynamic execution, whereas several ones can be
                   concurrently active and thus enable different views of
                   the same software artifact within a single running
                   system. Changeboxes can be arbitrarily extended, which
                   enables one to explore several development trails
                   simultaneously. Multiple Changeboxes may be merged in
                   order to combine their changes depending on a
                   customizable conflict resolution strategy. Our
                   proof-of-concept implementation showed to have an
                   acceptable performance and was used to demonstrate the
                   impact of Changeboxes on various domains. We discuss
                   the advantages that Changeboxes entail for evolving
                   software systems and propose selected topics for
                   further research.},
  keywords       = {scg-msc scg-pub skipdoi snf07 jb07},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Zumk07a.pdf},
  year           = 2007
}

@InProceedings{Bach93a,
  Author         = {L. Bachmair and T. Che and I.V. Ramakrishnan},
  Title          = {Associative-Commutative Discrimination Nets},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {61-74},
  Publisher      = {Springer-Verlag},
  keywords       = {specification proof tapsoft93},
  month          = apr,
  year           = 1993
}

@Book{Symb84a,
  Author         = {Symbolics Inc.},
  Title          = {The Lisp Machine Manual},
  Publisher      = {MIT AI Lab},
  Address        = {Cambridge, Mass.},
  month          = mar,
  year           = 1984
}

@InProceedings{Head05a,
  Author         = {Michael R. Head and Madhusudhan Govindaraju and
                   Aleksander Slominski and Pu Liu and Nayef Abu-Ghazaleh
                   and Robert van Engelen and Kenneth Chiu and Michael J.
                   Lewis},
  Title          = {A Benchmark Suite for SOAP-based Communication in Grid
                   Web Services},
  BookTitle      = {SC '05: Proceedings of the 2005 ACM/IEEE conference on
                   Supercomputing},
  Pages          = {19},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/SC.2005.2},
  isbn           = {1-59593-061-2},
  year           = 2005
}

@Book{Fron97a,
  Author         = {John W. Fronckowiak},
  Title          = {Cobol For Dummies},
  Publisher      = {IDG Books},
  keywords       = {cobol},
  year           = 1997
}

@InProceedings{Jul94a,
  Author         = {Eric Jul},
  Title          = {Separation of Distribution and Objects},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {47-54},
  Publisher      = {Springer-Verlag},
  abstract       = {Based on the experience with developing distributed
                   applications in Emerald, this paper argues that
                   distribution and objects are orthogonal concepts and
                   that they thus can be developed separately: The object
                   and process structure in many distributed application
                   can be developed independently of distribution. We
                   discuss this claim using the models and paradigms of
                   the Emerald system.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InProceedings{Miln90c,
  Author         = {Robin Milner},
  Title          = {Functions as Processes},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Volume         = {443},
  Series         = {LNCS},
  Pages          = {167-180},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility ccs icalp90 binder(ccs)},
  month          = jul,
  year           = 1990
}

@InProceedings{Ardi95a,
  Author         = {Laurent Arditi and H\'el\`ere Collavizza},
  Title          = {An Object-Oriented Framework for the Formal
                   Verification of Processors},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {215-234},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit95a},
  month          = aug,
  year           = 1995
}

@InProceedings{Shan89a,
  Author         = {Yen-Ping Shan},
  Title          = {An Event-Driven Model-View-Controller Framework for
                   {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {347-352},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Hogg84a,
  Author         = {John Hogg and S. Gamvroulas},
  Title          = {An Active Mail System},
  BookTitle      = {SIGMOD '84 Proceedings, SIGMOD Record},
  Volume         = {14},
  keywords       = {oislit imail},
  month          = jun,
  year           = 1984
}

@InCollection{Yone87b,
  Author         = {Akinori Yonezawa and Etsuya Shibayama and T. Takada
                   and Yasuaki Honda},
  Title          = {Modelling and Programming in an Object-Oriented
                   Concurrent Language {ABCL}/1},
  BookTitle      = {Object-Oriented Concurrent Programming},
  Publisher      = {MIT Press},
  Editor         = {A. Yonezawa and M. Tokoro},
  Pages          = {55-89},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-obcl abcl},
  year           = 1987
}

@Article{Parn98a,
  Author         = {David Lodge Parnas},
  Title          = {Successful Software Engineering Research},
  Journal        = {ACM Software Engineering Notes},
  Volume         = {23},
  Number         = {3},
  Pages          = {64-68},
  month          = may,
  year           = 1998
}

@InCollection{Kons95a,
  Author         = {Dimitri Konstantas},
  Title          = {Interoperation of Object-Oriented Applications},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {69-95},
  abstract       = {One of the important advantages of the object-oriented
                   design and development methodology is the ability to
                   reuse existing software modules. However the
                   introduction of many programming languages with
                   different syntax, semantics and/or paradigms has
                   created the need for a consistent interlanguage
                   interoperability support framework. We present a brief
                   overview of the most characteristic interoperability
                   support methods and frameworks allowing the access and
                   reuse of objects from different programming
                   environments and focus on the interface bridging
                   object-oriented interoperability support approach.},
  keywords       = {olit osg OOSC03},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Book{Norm88a,
  Author         = {Donald A. Norman},
  Title          = {The Design of Everyday Things},
  Publisher      = {The MIT Press},
  keywords       = {scglib hci},
  year           = 1988
}

@Article{Gibb70a,
  Author         = {A.J. Gibbs and G.A. McIntyre},
  Title          = {The diagram: a method for comparing sequences. Its use
                   with amino acid and nucleotide sequences.},
  Journal        = {Eur. J. Biochem.},
  Volume         = {16},
  Pages          = {1-11},
  annote         = {This is the original work about dotplots!},
  keywords       = {dotplot},
  year           = 1970
}

@InProceedings{Komo01a,
  Author         = {Raghavan Komondoor and Susan Horwitz},
  Title          = {Tool Demonstration: Finding Duplicated Code Using
                   Program Dependences},
  BookTitle      = {Proc. European Symposium on Programming (ESOP)},
  Volume         = {2028},
  Series         = {LNCS},
  Pages          = {383-386},
  Publisher      = {Springer-Verlag},
  keywords       = {clones},
  url            = {http://www.cs.wisc.edu/~raghavan/esop01-demo.pdf},
  year           = 2001
}

@InProceedings{Kove93a,
  Author         = {Larry Koved and Wayne L. Wooten},
  Title          = {{GROOP}: An Object-Oriented Toolkit for Animated 3D
                   Graphics},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {309-325},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Ueda02a,
  Author         = {Yasushi Ueda and Toshihiro Kamiya and Shinji Kusumoto
                   and Katsuro Inoue},
  Title          = {On Detection of Gapped Code Clones using Gap Locations},
  BookTitle      = {Proceedings Ninth Asia-Pacific Software Engineering
                   Conference (APSEC'02)},
  Pages          = {327-336},
  Address        = {Gold Coast, Australia},
  Publisher      = {IEEE},
  keywords       = {code duplication,dotplot},
  month          = dec,
  year           = 2002
}

@Book{Love93a,
  Author         = {Tom Love},
  Title          = {Object Lessons --- Lessons Learned in Object-Oriented
                   Development Projects},
  Publisher      = {SIGS Books},
  Address        = {New York},
  isbn           = {0-9627477-3-4},
  keywords       = {olit oobib(gen) book scglib oorp},
  year           = 1993
}

@InProceedings{Bull02a,
  Author         = {R. Ian Bull and Andrew Trevors and Andrew J. Maltopn
                   and Michael W. Godfrey},
  Title          = {Semantic Grep: Regular Expressions + Relational
                   Abstraction},
  BookTitle      = {Proceedings Ninth Working Conference on Reverse
                   Engineering (WCRE'02)},
  Pages          = {267-276},
  Publisher      = {IEEE Computer Society},
  location       = {Richmond, VA},
  month          = oct,
  year           = 2002
}

@Article{Card01a,
  Author         = {Lu{\'\i}s Caires and Luca Cardelli},
  Title          = {A Spatial Logic for Concurrency (Part I)},
  Journal        = {TACS '01},
  Note           = {To appear},
  abstract       = { We present a logic that can express properties of
                   freshness, secrecy, structure, and behavior of
                   concurrent systems. In addition to standard logical and
                   temporal operators, our logic includes spatial
                   operations corresponding to composition, local name
                   restriction, and a primitive fresh name quantifier.
                   Properties can also be defined by recursion; a central
                   theme of this paper is then the combination of a
                   logical notion of freshness with inductive and
                   coinductive definitions of properties. },
  keywords       = {pcalc mobility ambients pisem},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 2001
}

@Book{Ingw92a,
  Author         = {Peter Ingwersen},
  Title          = {Information Retrieval Interaction},
  Publisher      = {Taylor Graham},
  Address        = {London},
  keywords       = {information retrieval},
  url            = {http://www.db.dk/pi/iri},
  year           = 1992
}

@Book{Jain88a,
  Author         = {Anil K. Jain and Richard C. Dubes},
  Title          = {Algorithms for Clustering Data},
  Publisher      = {Prentice Hall},
  Address        = {Englewood Cliffs},
  keywords       = {clustering},
  year           = 1988
}

@InProceedings{Litt96a,
  Author         = {David Littman and Jeannine Pinto and Stan Letovsky and
                   Elliot Soloway},
  Title          = {Mental {Models} and {Software} {Maintenance}},
  BookTitle      = {Empirical Studies of Programmers, First Workshop},
  Editor         = {Soloway and Iyengar},
  Pages          = {80-98},
  Publisher      = {Ablex Publishing Corporation},
  year           = 1996
}

@Book{Guzd01b,
  Author         = {Mark Guzdial and Kim Rose},
  Title          = {Squeak --- Open Personal Computing and Multimedia},
  Publisher      = {Prentice-Hall},
  keywords       = {scglib},
  year           = 2001
}

@InProceedings{Folt99a,
  Author         = {Peter Foltz and Darrell Laham and Thomas Landauer},
  Title          = {Automated Essay Scoring: Applications to Educational
                   Technology},
  BookTitle      = {Proceedings World Conference on Educational
                   Multimedia, Hypermedia and Telecommunications (EdMedia
                   1999)},
  Pages          = {939--944},
  year           = 1999
}

@Article{Ledg77a,
  Author         = {H.F. Ledgard and R.W. Taylor},
  Title          = {Two Views of Data Abstraction},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {6},
  Pages          = {382-384},
  keywords       = {types data abstraction},
  month          = jun,
  year           = 1977
}

@Article{Simo03c,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 7: A Class is a
                   Type Family},
  Journal        = {Journal of Object Technology},
  Volume         = {2},
  Number         = {3},
  Pages          = {13-22},
  keywords       = {ioom-types},
  misc           = {May-June},
  month          = may,
  url            = {http://www.jot.fm/issues/issue_2003_05/column2},
  year           = 2003
}

@InProceedings{Krog85a,
  Author         = {Stein Krogdahl},
  Title          = {Multiple Inheritance in {Simula-like} Languages},
  BookTitle      = {BIT 25},
  Pages          = {318--326},
  year           = 1985
}

@Book{Berg96b,
  Author         = {Thomas J.Bergin and Richard G. Gibson},
  Title          = {History of Programmig Languages},
  Publisher      = {ACM Press % Addison Wesley},
  isbn           = {0-201-89502-1},
  keywords       = {pl scglib},
  year           = 1996
}

@InProceedings{Anqu97a,
  Author         = {Nicolas Anquetil and Timothy Lethbridge},
  Title          = {File {Clustering} using {Naming} {Conventions} for
                   {Legacy} {Systems}},
  BookTitle      = {Proceedings of CASCON '97},
  Pages          = {184-195},
  keywords       = {clustering},
  month          = nov,
  year           = 1997
}

@Book{Benn97a,
  Author         = {Warren Bennis and Patricia Ward Biederman},
  Title          = {Organizing Genius --- The Secrets of Creative
                   Collaboration},
  Publisher      = {Perseus Books},
  isbn           = {0-201-33989-7},
  keywords       = {scglib},
  year           = 1997
}

@InCollection{Abra90b,
  Author         = {Samson Abramsky},
  Title          = {The Lazy Lambda Calculus},
  BookTitle      = {Research Topics in Functional Programming},
  Publisher      = {Addison Wesley},
  Editor         = {D.A. Turner},
  Pages          = {65-116},
  Address        = {Reading, Mass.},
  keywords       = {misc lambda fp lazy binder(fp)},
  year           = 1990
}

@InProceedings{Gal01a,
  Author         = {Andreas Gal and Wolfgang Schr\"{o}der-Preikschat and
                   Olaf Spinczyk},
  Title          = {AspectC++: Language Proposal and Prototype
                   Implementation},
  BookTitle      = {Workshop on Advanced Separation of Concerns in
                   Object-Oriented Systems -- OOPSLA 2001},
  keywords       = {aspect c++ aspectc},
  month          = oct,
  year           = 2001
}

@InProceedings{Robb06a,
  Author         = {Romain Robbes and Michele Lanza},
  Title          = {Change-based software evolution},
  BookTitle      = {Proceedings of EVOL 2006 (1st International ERCIM
                   Workshop on Challenges in Software Evolution)},
  Pages          = {159-164},
  keywords       = {evolution lanza},
  year           = 2006
}

@InProceedings{Pier93c,
  Author         = {Benjamin C. Pierce},
  Title          = {Intersection Types and Bounded Polymorphism},
  BookTitle      = {Conference on Typed Lambda Calculi and Applications},
  Pages          = {346-360},
  Note           = {To appear in MSCS},
  keywords       = {types olit},
  month          = mar,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz},
  year           = 1993
}

@Article{Andr91b,
  Author         = {Jean-Marc Andreoli and Remo Pareschi},
  Title          = {Linear Objects: Logical Processes with Built-In
                   Inheritance},
  Journal        = {New Generation Computing},
  Volume         = {9},
  Pages          = {445-473},
  keywords       = {olit-obcl lo concurrency binder},
  publisher      = {OHMSHA and Springer-Verlag},
  year           = 1991
}

@Article{Lint89a,
  Author         = {M. Linton and John Vlissides and P. Calder},
  Title          = {Composing User Interfaces with InterViews},
  Journal        = {IEEE Computer},
  Volume         = {22},
  Number         = {2},
  Pages          = {8-22},
  keywords       = {olit},
  month          = feb,
  year           = 1989
}

@TechReport{Pint91b,
  Author         = {Xavier Pintado},
  Title          = {Gluons: Connecting Software Components},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {Working paper},
  abstract       = {This paper presents an approach to software
                   construction that relies on the connection of reusable
                   components. The approach is derived from the
                   observation that a design framework plays a central
                   role in the reuse process in the sense that both the
                   design of applications and the design of reusable
                   components must follow the same design discipline. The
                   interaction between components is mediated by an
                   object: the gluon. Gluons are attached to reusable
                   components and they represent the rights to a service
                   provided by the component. Gluons can be seen as
                   coupons: once detached they grant a service that can be
                   exchanged among objects. Gluons can also encapsulate an
                   activity performed by a set of cooperating components.
                   With this approach, the construction of applications
                   can be seen as a market where components that ask for
                   services can purchase rights from other components that
                   offer them.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg oc91},
  month          = jun,
  pages          = {73-83},
  year           = 1991
}

@TechReport{Wil93a,
  Author         = {L.M. Wills},
  Title          = {Automated Program Recognition by Graph Parsing},
  Institution    = {MIT, AI Laboratory},
  Note           = {MIT Technical Report 1358},
  year           = 1993
}

@InProceedings{Berg06c,
  Author         = {Alexandre Bergel and Robert Hirschfeld and Siobh\`{a}n
                   Clarke and Pascal Costanza},
  Title          = {Aspectboxes -- Controlling the Visibility of Aspects},
  BookTitle      = {In Proceedings of the International Conference on
                   Software and Data Technologies (ICSOFT 2006)},
  Editor         = {Joaquim Filipe, Boris Shiskov, Markus Helfert},
  Pages          = {29--38},
  abstract       = {Aspect composition is still a hot research topic where
                   there is no consensus on how to express where and when
                   aspects have to be composed into a base system. In this
                   paper we present a modular construct for aspects,
                   called aspectboxes, that enables aspects application to
                   be limited to a well defined scope. An aspectbox
                   encapsulates class and aspect definitions. Classes can
                   be imported into an aspectbox defining a base system to
                   which aspects may then be applied. Refinements and
                   instrumentation defined by an aspect are visible only
                   within this particular aspectbox leaving other parts of
                   the system unaffected. },
  annote         = {internationalconference},
  isbn           = {972-8865-69-4},
  misc           = {Acceptance rate: 12\%},
  month          = sep,
  url            = {http://www.cs.tcd.ie/Alexandre.Bergel/download/papers/Berg06c-Aspectboxes.pdf},
  year           = 2006
}

@InProceedings{Kal07a,
  Author         = {Jana Kal\v{c}evov\'{a} and Petr Fiala},
  Title          = {IZAR -- Multicriteria Decision Making System},
  BookTitle      = {Multiple Criteria Decision Making 07},
  publisher      = {Katowice : University of Economics},
  isbn           = {978-83-7246-489-7},
  pages          = {65-77},
  month          = apr,
  year           = 2007
}

@TechReport{Clin81a,
  Author         = {W.D. Clinger},
  Title          = {Foundations of Actor Semantics},
  Institution    = {MIT Artificial Intelligence Laboratory},
  Type           = {AI-TR-633},
  keywords       = {concurrency actors},
  month          = may,
  year           = 1981
}

@InProceedings{Enge96a,
  Author         = {Vadim Engelson and Dag Fritzson and Peter Fritzson},
  Title          = {Automatic Generation of User Interfaces from Data
                   Structure Specifications and Object-Oriented
                   Application Models},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {114-141},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Misc{Gardner,
  Author         = {Cees de Groot},
  Title          = {{Gardner}, a {Seaside} {Wiki}},
  Note           = {http://map.squeak.org/package/6805c4ca-6a33-4396-801a-b7ea1c3e3567},
  key            = {Gardner},
  keywords       = {smalltalk seaside smallwiki},
  url            = {http://map.squeak.org/package/6805c4ca-6a33-4396-801a-b7ea1c3e3567}
}

@InProceedings{Wegn92a,
  Author         = {Peter Wegner},
  Title          = {Design Issues for Object-Based Concurrency},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {245-256},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@InProceedings{Nest96a,
  Author         = {Uwe Nestmann and Benjamin C. Pierce},
  Title          = {Decoding Choice Encodings},
  BookTitle      = {CONCUR~'96: Concurrency Theory, 7th International
                   Conference},
  Editor         = {Ugo Montanari and Vladimiro Sassone},
  Volume         = 1119,
  Series         = {LNCS},
  Pages          = {179-194},
  Address        = {Pisa, Italy},
  Publisher      = {Springer-Verlag},
  month          = aug,
  year           = 1996
}

@InCollection{Lump00a,
  Author         = {Markus Lumpe and Franz Achermann and Oscar Nierstrasz},
  Title          = {{A Formal Language for Composition}},
  BookTitle      = {Foundations of Component Based Systems},
  Publisher      = {Cambridge University Press},
  Editor         = {Gary Leavens and Murali Sitaraman},
  Pages          = {69-90},
  abstract       = {A composition language based on a formal semantic
                   foundation will facilitate precise specification of
                   glue abstractions and compositions, and will support
                   reasoning about their behaviour. The semantic
                   foundation, however, must address a set of requirements
                   like encapsulation, objects as processes, components as
                   abstractions, plug compatibility, a formal object
                   model, and scalability. In this work, we propose the
                   piL-calculus, an extension of the pi-calculus, as a
                   formal foundation for software composition, define a
                   language in terms of it, and illustrate how this
                   language can be used to plug components together.},
  keywords       = {snf99 skipdoi pict pi scg-coord-99 jb00 scg-pub
                   piccola scg-coord-00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lump00aFormalLanguage.pdf},
  year           = 2000
}

@InProceedings{Cons92b,
  Author         = {Mariano P. Consens and Alberto O. Mendelzon and Arthur
                   G. Ryman},
  Title          = {Visualizing and Querying Software Structures},
  BookTitle      = {Proceedings of the 14th International Conference on
                   Software Engineering},
  Pages          = {138-156},
  year           = 1992
}

@InProceedings{Tour03a,
  Author         = {{Tom Tourw\'e} and Tom Mens},
  Title          = {Identifying Refactoring Opportunities Using Logic Meta
                   Programming},
  BookTitle      = {Proc. 7th European Conf. Software Maintenance and
                   Re-engineering (CSMR 2003)},
  Pages          = {91-100},
  Publisher      = {IEEE Computer Society Press},
  month          = mar,
  year           = 2003
}

@Book{Film84a,
  Author         = {Robert E. Filman and Daniel P. Friedman},
  Title          = {Coordinated Computing: Tools and Techniques for
                   Distributed Software},
  Publisher      = {McGraw-Hill},
  keywords       = {coordination},
  year           = 1984
}

@InCollection{Matt00a,
  Author         = {F. Mattern and P. Hasselmeyer and J. Smith and P.
                   Cianciarini and D. Milojicic},
  Title          = {Agent Technology and Active Networking},
  BookTitle      = {Seminaire de printemps du 3eme cycle romand
                   d'informatique},
  Publisher      = {3\`eme cycle romand d'informatique},
  year           = 2000
}

@TechReport{Ade94a,
  Author         = {Martin Ader and Gang Lu and Patrick Pons and Josep
                   Monguio and Lose Lopez and Giorgio De Michelis and M.
                   Antonietta Grasso and George Vlondakis},
  Title          = {WooRKS, an Object Oriented WorkflowSystem for Offices},
  Institution    = {Bul S.A., T.A.O. S.A., Universit\'a di Milano, and
                   Communication and Management Systems Unit},
  Type           = {ITHACA technical report},
  abstract       = {A lot of routine office tasks (e.g., processing an
                   order in a retail company) can be described as
                   structured recurring tasks (called \fIprocedures\fR)
                   whose basic items (called \fIactivities\fR) must be
                   performed by various persons and computers (called
                   \fIactors\fR) in a certain order (sequential or
                   parallel). Inside a procedure, the coordination between
                   actors in different places is asynchronous and is
                   characterized by the circulation of folders, forms or
                   papers. Many procedures can spread over several weeks.
                   \fIWoorks\fR is an object-oriented workflow system
                   designed to assist organizations in defining,
                   executing, coordinating, and monitoring workflow
                   procedures based on a shared environment. WooRKS
                   architecture relies on an object oriented database
                   management system upon which all the objects are
                   represented and supported by a UNIX (TM) server, and
                   clients distributed through TCP/IP protocol runing
                   Microsoft Windows (TM) or OSF/Motif (TM). WooRKS
                   incorporates several interrelated models that can be
                   used together or separately: an \fIorganization
                   model\fR for specifying the actors, an \fIinformation
                   module\fR for defining information to be handled, a
                   \fItime model\fR for controlling when actions must be
                   executed, an \fIoperator model\fR for implementing
                   atomic operations on information, and a \fIprocedure
                   model\fR for combining together these various
                   components. Through the use of object oriented
                   technologies, WooRKs provides: a comprehensive system
                   to design, implement and administrate workflow
                   applications; a consistent set of high-level formalisms
                   to describe a workflow application; a powerful
                   organizational model; extensive time and external
                   management utilities; a graphical editor for the
                   workflow procedure definition; easy integration with
                   existing office applications; an informative and
                   consistent end user interface; discretionary security
                   control; and high reusability of software components
                   enabling quick delivery of customer-specified workflow
                   applications.},
  keywords       = {olit-ithaca ithaca-final},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/WooRKS},
  year           = 1994
}

@TechReport{Flat99a,
  Author         = {Matthew Flatt and Shriram Krishnamurthi and Matthias
                   Felleisen},
  Title          = {A Programmer's Reduction Semantics for Classes and
                   Mixins},
  Institution    = {Rice University},
  Number         = {TR 97-293},
  keywords       = {classicjava},
  url            = {www.ccs.neu.edu/scheme/pubs/tr97-293.pdf},
  year           = 1999
}

@Article{Wise96a,
  Author         = {Michael J. Wise},
  Title          = {{YAP3}: Improved Detection of Similarities in Computer
                   Program and Other Texts},
  Journal        = {SIGCSE Bulletin (ACM Special Interest Group on
                   Computer Science Education)},
  Volume         = {28},
  keywords       = {plagiarism},
  url            = {http://citeseer.ist.psu.edu/wise96yap.html},
  year           = 1996
}

@InProceedings{Mule93b,
  Author         = {Philippe Mulet and Pierre Cointe},
  Title          = {D\'efinition d'un noyau r\'eflexif pour un langage \`a
                   prototypes},
  BookTitle      = {Repr\'esentation par objets},
  Pages          = {101-115},
  Address        = {La grande motte},
  Organization   = {Ec2},
  month          = jun,
  year           = 1993
}

@InProceedings{Ferr90a,
  Author         = {Gian Luigi Ferrari and Ugo Montanari},
  Title          = {Towards the Unification of Models of Concurrency},
  BookTitle      = {Proceedings CAAP '90},
  Editor         = {A. Arnold},
  Volume         = {431},
  Series         = {LNCS},
  Pages          = {162-176},
  Address        = {Copenhagen},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs binder(ccs) caap90},
  month          = may,
  year           = 1990
}

@Book{Booc91a,
  Author         = {Grady Booch},
  Title          = {Object Oriented Analysis and Design with Applications},
  Publisher      = {The Benjamin Cummings Publishing Co. Inc.},
  isbn           = {0-8053-5340-2},
  keywords       = {olit-ood scglib book},
  year           = 1991
}

@InProceedings{Lamm93a,
  Author         = {Michael G. Lamming},
  Title          = {Intimate Computing and the Memory Prosthesis: {A}
                   Challenge for Computer Systems Research?},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {1-3},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {(abstract of keynote address)},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Book{Shaf95a,
  Editor         = {Wilhelm Schafer and Pere Botella},
  Title          = {Proceedings {ESEC}'95},
  Publisher      = {Springer-Verlag},
  Volume         = {989},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-60406-5},
  keywords       = {olit esec95 scglib},
  month          = sep,
  year           = 1995
}

@InProceedings{Trif04a,
  Author         = {Adrian Trifu and Olaf Seng and Thomas Genssler},
  Title          = {Automated Design Flaw Correction in Object-Oriented
                   Systems},
  BookTitle      = {Proceedings 8th European Conference on Software
                   Maintenance and Reengineering (CSMR 2004)},
  Pages          = {174--183},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {metrics},
  year           = 2004
}

@TechReport{Wegn95a,
  Author         = {Peter Wegner},
  Title          = {Tutorial Notes: Models and Paradigms of Interaction},
  Institution    = {Brown University},
  Type           = {TR No.},
  Number         = {CS-95-21},
  keywords       = {olit-oose interaction binder (shelf)},
  month          = sep,
  year           = 1995
}

@Book{Gant99a,
  Author         = {Bernhard Ganter and Rudolf Wille},
  Title          = {Formal Concept Analysis: Mathematical Foundations},
  Publisher      = {Springer Verlag},
  keywords       = {scglib fca},
  year           = 1999
}

@InProceedings{Ghon03a,
  Author         = {Mohammad Ghoniem and Narendra Jussien and Jean-Daniel
                   Fekete},
  Title          = {Visualizing Explanations to Exhibit Dynamic Structure
                   in Constraint Problems},
  BookTitle      = {Proceedings 3th International Workshop on User
                   Interaction in Constraint Satisfaction},
  Address        = {Kinsale, Ireland},
  keywords       = {dotplot},
  month          = sep,
  url            = {http://www.lri.fr/~fekete/},
  year           = 2003
}

@InProceedings{Lind97b,
  Author         = {C. Lindig and G. Snelting},
  Title          = {Assessing Modular Structure of Legacy Code Based on
                   Mathematical Concept Analysis},
  BookTitle      = {Proceedings of the International Conference on
                   Software Engineering (ICSE 97)},
  Pages          = {349-359},
  Address        = {Boston},
  keywords       = {fca},
  year           = 1997
}

@InProceedings{Chan97b,
  Author         = {Jason S. Chang and Mathis H. Chen},
  Title          = {An Alignment Method for Noisy Parallel Corpora based
                   on Image Processing Techniques},
  BookTitle      = {Proceedings 35th Annual Meeting of the Association for
                   Computational Linguistics},
  keywords       = {text alignment},
  url            = {http://acl.ldc.upenn.edu/P/P97/},
  year           = 1997
}

@Article{Mend95a,
  Author         = {Alberto Mendelzon and Johannes Sametinger},
  Title          = {Reverse Engineering by Visualizing and Querying},
  Journal        = {Software --- Concepts and Tools},
  Volume         = {16},
  Pages          = {170-182},
  year           = 1995
}

@InProceedings{Hogg91a,
  Author         = {John Hogg},
  Title          = {Islands: Aliasing Protection in Object-Oriented
                   Languages},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {271-285},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Fisc04a,
  Author         = {Michael Fischer and Harald Gall},
  Title          = {Visualizing Feature Evolution of Large-Scale Software
                   based on Problem and Modification Report Data},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice},
  Volume         = {16},
  Number         = {6},
  Pages          = {385--403},
  keywords       = {olit feature evolution},
  publisher      = {John Wiley \& Sons, Ltd.},
  year           = 2004
}

@InProceedings{Hofe06a,
  Author         = {Christoph Hofer and Marcus Denker and St\'ephane
                   Ducasse},
  Title          = {Design and Implementation of a Backward-In-Time
                   Debugger},
  BookTitle      = {Proceedings of NODE'06},
  Volume         = {P-88},
  Series         = {Lecture Notes in Informatics},
  Pages          = {17-32},
  Organization   = {Gesellschaft f{\"u}r Informatik (GI)},
  abstract       = {Traditional debugging and stepping execution trace are
                   well-accepted techniques to understand deep internals
                   about a program. However in many cases navigating the
                   stack trace is not enough to find bugs, since the cause
                   of a bug is often not in the stack trace anymore and
                   old state is lost, so out of reach from the debugger.
                   In this paper, we present the design and implementation
                   of a backward-in-time debugger for a dynamic language,
                   i.e, a debugger that allows one to navigate back the
                   history of the application. We present the design and
                   implementation of a backward-in-time debugger called
                   Unstuck and show our solution to key implementation
                   challenges.},
  annote         = {nationalconference},
  keywords       = {skipdoi scg-pub stefPub jb07 fb06 snf06},
  month          = sep,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Hofe06aUnstuckNode.pdf},
  year           = 2006
}

@Article{Reis90a,
  Author         = {Steven P. Reiss},
  Title          = {Interacting with the FIELD environment},
  Journal        = {Software --- Practice and Experience},
  Volume         = {20},
  Pages          = {89-115},
  year           = 1990
}

@InProceedings{Nier00d,
  Author         = {Oscar Nierstrasz and Franz Achermann},
  Title          = {Separation of Concerns through Unification of Concepts},
  BookTitle      = {ECOOP 2000 Workshop on Aspects \& Dimensions of
                   Concerns},
  abstract       = {Separation of concerns is a principle we apply to
                   reduce complexity. This principle is especially
                   important when it is used to separate stable from
                   flexible parts of software systems to reduce the
                   complexity of software evolution. We encapsulate the
                   stable parts as components and the flexible parts as
                   scripts. But there is a large range of requirements and
                   consequent techniques available to achieve this
                   separation. We propose a simple, unifying framework of
                   forms, agents, and channels for modelling components
                   and scripts. We have also developed an experimental
                   composition language, called Piccola, based on this
                   framework, that supports the specification of
                   applications as flexible compositions of stable
                   components.},
  annote         = {internationalworkshop},
  keywords       = {oobib(gen) piccola scg-pub skipdoi snf00 jb00
                   scg-coord-00},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier00dSeparationOfConcerns.pdf
                   http://trese.cs.utwente.nl/Workshops/adc2000/},
  year           = 2000
}

@Article{Roll98a,
  Author         = {C. Rolland and C. Ben Achour and C. Cauvet and J.
                   Ralyt and A. Sutcliffe and N.A.M. Maiden and M. Jarke
                   and P. Haumer and K. Pohl and E. Dubois and P. Heymans},
  Title          = {Proposal for a Scenario Classification Framework},
  Journal        = {Requirements Engineering Journal},
  Volume         = {3},
  Number         = {1},
  Pages          = {23-47},
  keywords       = {scenario classification},
  publisher      = {Springer Verlag},
  url            = {http://cui.unige.ch/~ralyte/publications/REjournal.pdf},
  year           = 1998
}

@Article{Simo03b,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 6: The Subtyping
                   Inquisition},
  Journal        = {Journal of Object Technology},
  Volume         = {2},
  Number         = {2},
  Pages          = {17-26},
  keywords       = {ioom-types},
  misc           = {March-April},
  month          = mar,
  url            = {http://www.jot.fm/issues/issue_2003_03/column2},
  year           = 2003
}

@InProceedings{Fugi90a,
  Author         = {Mariagrazia Fugini and Barbara Pernici},
  Title          = {{RECAST}: a tool for reusing requirements},
  BookTitle      = {Proceedings CAiSE '90},
  Volume         = {436},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-ithaca recast caise90},
  year           = 1990
}

@InProceedings{Clea89a,
  Author         = {Rance Cleaveland and Joachim Parrow and Bernhard
                   Steffen},
  Title          = {The Concurrency Workbench},
  BookTitle      = {Automatic Verification Methods for Finite State
                   Systems: Proceedings},
  Editor         = {Joseph Sifakis},
  Volume         = {407},
  Series         = {LNCS},
  Pages          = {24-37},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs regular processes binder},
  year           = 1989
}

@InProceedings{Amer86c,
  Author         = {Pierre America and Jaco de Bakker and Joost N. Kok and
                   Jan Rutten},
  Title          = {Operational Semantics of a Parallel Object-Oriented
                   Language},
  BookTitle      = {Proceedings POPL '86},
  Pages          = {194-208},
  Address        = {St. Petersburg Beach, Florida},
  keywords       = {olit-obcl pool concurrency semantics binder(conc)
                   popl86},
  misc           = {Jan 13-15},
  month          = jan,
  year           = 1986
}

@InCollection{Foot00a,
  Author         = {Brian Foote and Joseph W. Yoder},
  Title          = {Big Ball of Mud},
  BookTitle      = {Pattern Languages of Program Design},
  Publisher      = {Addison Wesley},
  Editor         = {N. Harrison and B. Foote and H. Rohnert},
  Volume         = {4},
  Pages          = {654-692},
  keywords       = {olit oorp},
  url            = {http://www.laputan.org/mud/mud.html},
  year           = 2000
}

@Article{Clar97a,
  Author         = {Charles L. A. Clarke and Gordon V. Cormack},
  Title          = {On the use of regular expressions for searching text},
  Journal        = {ACM Trans. Program. Lang. Syst.},
  Volume         = {19},
  Number         = {3},
  Pages          = {413-426},
  doi            = {http://doi.acm.org/10.1145/256167.256174},
  issn           = {0164-0925},
  keywords       = {regex},
  publisher      = {ACM Press},
  year           = 1997
}

@PhdThesis{Rieg05a,
  Author         = {Matthias Rieger},
  Title          = {Effective Clone Detection Without Language Barriers},
  School         = {University of Berne},
  abstract       = {Duplication is detected by comparing features of
                   source fragments. The main problem for the detection is
                   that source code is rarely copied exactly. The
                   detection process must be able to ignore the
                   superficial differences and to concentrate on
                   fundamental similarities in order to find relevant
                   duplication. While the high level information yielded
                   by syntactic and semantic code analysis can be put to
                   effective use, the drawbacks of these deep analysis
                   techniques are most importantly the reduced
                   adaptability to different programming languages.
                   Because duplication is an ubiquitous problem, however,
                   support for duplication detection and management is
                   needed for every programming language in use. In this
                   thesis we investigate how the premises of simplicity
                   and adaptability influence all phases of the clone
                   detection process. We analyze how line-based string
                   matching as basic feature comparison technique can be
                   augmented by minimal parsing to improve detection
                   sensitivity. We investigate which code normalization
                   techniques remove the superficial differences and
                   reveal the similarities. We show how clone candidates
                   are retrieved from the results of the basic comparison.
                   We propose measures to select the relevant clones from
                   the set of all retrieved candidates. We finally develop
                   a collection of quantitative visualizations that enable
                   the assessment of the copied code in the context of the
                   entire system. We experimentally validate the proposed
                   code normalization technique in terms of precision and
                   recall, show how the proposed relevancy measures
                   improve on simple size metrics, and discuss scalability
                   issues. We also validate the line-based granularity,
                   and perform a comparison of our technique with related
                   string matching detectors.},
  cvs            = {MRiegerPhD},
  keywords       = {scglib scg-pub skipdoi scg-phd evolution recast05 jb05
                   clones moose-pub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/rieger-phd.pdf},
  year           = 2005
}

@InProceedings{Wald99a,
  Author         = {Jim Waldo},
  Title          = {Object-Oriented Programming on the Network},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {441-448},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Object-oriented programming techniques have been used
                   with great success for some time. But the techniques of
                   object-oriented programming have been largely confined
                   to the single address space, and have not been
                   applicable to distributed systems. Recent advances in
                   language technology have allowed a change in the way
                   distributed systems are constructed that does allow
                   real object-oriented programming on the network. But
                   these advances also change some of our most basic
                   conceptions about the relationship between processor
                   and code, and what it is that constitutes a computer.
                   We will argue that a new computing architecture, based
                   around the ideas of the network and full
                   object-orientation, will soon become the dominant
                   computing architecture, allowing us to tie together
                   large numbers of devices but requiring that we think
                   and design in entirely new ways.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Medv97a,
  Author         = {Nenad Medvidovic and Richard N. Taylor},
  Title          = {A Framework for Classifying and Comparing Architecture
                   Description Languages},
  BookTitle      = {Proceedings of ESEC/FSE '97},
  Pages          = {60-76},
  Address        = {Z{\"u}rich, Switzerland},
  keywords       = {olit architecture},
  month          = sep,
  year           = 1997
}

@InProceedings{Kahn90a,
  Author         = {Kenneth M. Kahn and Vijay A. Saraswat},
  Title          = {Actors as a Special Case of Concurrent Constraint
                   Programming},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {57-65},
  keywords       = {olit-obcl lucy janus oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Misc{Kosk95a,
  Author         = {Kai Koskimies and Hanspeter M{\"o}ssenb{\"o}ck},
  Title          = {Designing a Framework by Stepwise Generalization},
  Note           = {To appear, ESEC 1995},
  keywords       = {olit binder},
  year           = 1995
}

@Article{Chur95a,
  Author         = {N. I. Churcher and M. J. Shepperd},
  Title          = {A Metrics Suite for Object Oriented Design},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {3},
  Pages          = {263-265},
  annote         = {oometrics},
  month          = mar,
  year           = 1995
}

@InProceedings{Zaid05b,
  Author         = {A. Zaidman and S. Demeyer},
  Title          = {Mining ArgoUML with Dynamic Analysis to Establish a
                   Set of Key Classes for Program Comprehension},
  BookTitle      = {Proceedings of the 5th International Workshop on
                   Reverse Engineering (WOOR 2005)},
  keywords       = {Dynamic Analysis},
  year           = 2005
}

@InProceedings{Wett07b,
  Author         = {Richard Wettel and Michele Lanza},
  Title          = {Visualizing Software Systems as Cities},
  BookTitle      = {Proceedings of VISSOFT 2007 (4th IEEE International
                   Workshop on Visualizing Software For Understanding and
                   Analysis)},
  Pages          = {to be published},
  keywords       = {sworld},
  mon            = jun,
  year           = 2007
}

@TechReport{Danz00a,
  Author         = {Marc Danzeisen},
  Title          = {{ASTRA} --- Portfolio},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Danz00a.pdf},
  year           = 2000
}

@InProceedings{Dona85a,
  Author         = {Jim Donahue},
  Title          = {Integration Mechanisms in Cedar},
  BookTitle      = {Proceedings ACM SIGPLAN 85 Symposium on Language
                   Issues in Programming Environments, ACM SIGPLAN Notices},
  Volume         = {20},
  Pages          = {245-251},
  keywords       = {plang mesa},
  month          = jul,
  year           = 1985
}

@Book{Buec95a,
  Author         = {Matthias C. B\"ucker and Joachim Geidel and Matthias
                   F. Lachmann},
  Title          = {Programmieren in {Smalltalk} mit VisualWorks},
  Publisher      = {Springer},
  keywords       = {smalltalk scglib},
  year           = 1995
}

@TechReport{Abad92a,
  Author         = {Mart{\'\i}n Abadi and Gordon D. Plotkin},
  Title          = {A Logical View of Composition},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {86},
  Address        = {Palo Alto, California},
  keywords       = {linear-logic binder (shelf)},
  month          = may,
  year           = 1992
}

@InProceedings{Will87a,
  Author         = {Ifor Williams and Mario Wolczko and Trevor Hopkins},
  Title          = {Dynamic Grouping in an Object-Oriented Virtual Memory
                   Hierarchy},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {79-88},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{DAmb07a,
  Author         = {Marco D'Ambros and Michele Lanza},
  Title          = {BugCrawler: Visualizing Evolving Software Systems},
  BookTitle      = {Proceedings of CSMR 2007 (11th IEEE European
                   Conference on Software Maintenance and Reengineering)},
  Pages          = {to be published},
  mon            = mar,
  year           = 2007
}

@Misc{Mantis,
  Title          = {Mantis},
  Note           = {http://www.mantisbt.org/},
  key            = {Mantis}
}

@InProceedings{Deme99a,
  Author         = {Serge Demeyer and St\'ephane Ducasse},
  Title          = {Metrics, Do They Really Help?},
  BookTitle      = {Proceedings of Languages et Mod\`eles \`a Objets
                   (LMO'99)},
  Editor         = {Jacques Malenfant},
  Pages          = {69-82},
  Publisher      = {HERMES Science Publications, Paris},
  abstract       = {Maturing a well designed framework requires a set of
                   software metrics to steer the iterative development
                   process. Based on a case study of the
                   VisualWorks/Smalltalk framework for user-interface
                   building, we conclude that today's size and inheritance
                   metrics are not reliable to detect problems but are
                   useful in measuring stability. We expect that this work
                   will contribute to the application of metrics as a
                   project management tool.},
  annote         = {nationalconference},
  keywords       = {olit famoos-papref scg-pub skipdoi snf99 jb99 oorp
                   stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme99aDemeyerDucasseLMO99.pdf},
  year           = 1999
}

@InProceedings{Grau89a,
  Author         = {Nicolas Graube},
  Title          = {Metaclass Compatibility},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {305-316},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@PhdThesis{Tich01a,
  Author         = {Sander Tichelaar},
  Title          = {Modeling Object-Oriented Software for Reverse
                   Engineering and Refactoring},
  School         = {University of Berne},
  abstract       = {The increased popularity of the object-oriented
                   paradigm has also increased the interest in
                   object-oriented reengineering. First of all,
                   object-oriented software systems suffer from similar
                   maintainability problems as traditional procedural
                   systems, displaying the need for reengineering
                   techniques tailored to deal with object- oriented code.
                   Secondly, the increased importance of iterative
                   development processes make reengineering techniques
                   valuable in forward engineering, and thus for all
                   paradigms that software is developed in. Reengineering
                   requires tool support to deal with the large amounts of
                   information and the wide variety of tasks to be
                   performed. An important consideration in building tool
                   environments for reengineering is what information must
                   be provided and how this information is modelled.
                   Design choices have a considerable impact not only on
                   the ability to support reengineering tasks, but also on
                   issues such as scalability and tool interoperability.
                   Several metamodels exist that model software for the
                   purposes of reengineering. However, they generally lack
                   a discussion of the relevance of information for
                   reengineering and the trade-offs of modeling
                   alternatives. This thesis presents FAMIX, a
                   language-independent metamodel for modelling
                   object-oriented software for reengineering purposes.We
                   discuss the exact contents of the metamodel, including
                   its relevance for reengineering and how the metamodel
                   supports the different object-oriented languages
                   through its language- independent core. We also discuss
                   the infrastructural design decisions of FAMIX by
                   placing it into a design space for infrastructural
                   aspects of reengineering repositories and metamodels.
                   The design space presents multiple interdependent
                   aspects, their design alternatives and howthese impact
                   issues such as scalability, extensibility and
                   information exchange. We validate the ability of
                   FAMIXto support reengineering on a language-independent
                   level in twoways. First, we present Moose, a
                   reengineering tool environment with a repository based
                   on FAMIX. Moose serves as a foundation for multiple
                   reengineering tools and has been applied to reverse
                   engineer several large industrial case studies.
                   Secondly,we define a set of fifteen low-level
                   refactorings in terms of the information available in
                   FAMIX. Refactoring requires sufficient, complete and
                   100% correct information as well as a clear
                   interpretation of the supported languages in the
                   language-independent core of the metamodel, in order to
                   correctly perform transformations on the
                   language-specific code level. As such the refactorings
                   provide an in-depth validation of the language
                   independence of FAMIX.},
  keywords       = {scglib scg-pub skipdoi jb01 tich-phd scg-phd evolution
                   snf02 moose-pub},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/tichelaar-phd.pdf},
  year           = 2001
}

@Article{Jaco03,
  Author         = {Ivar Jacobson},
  Title          = {Use Cases and Aspects--Working Seamlessly Together},
  Journal        = {Journal of Object Technology},
  Volume         = {2},
  Number         = {4},
  Pages          = {7-28},
  keywords       = {scenario aspect},
  month          = jul,
  url            = {http://www.jot.fm/issues/issue_2003_07/column1},
  year           = 2003
}

@Article{Wish69a,
  Author         = {David Wishart},
  Title          = {Mode Analysis: A Generalization of {Nearest Neighbour}
                   which reduces chaining effects},
  Journal        = {Numerical Taxonomy},
  editor         = {A. J. Cole},
  keywords       = {clustering},
  year           = 1969
}

@Article{Reis86b,
  Author         = {S.P. Reiss},
  Title          = {An Object-Oriented Framework for Graphical Programming},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {49-57},
  keywords       = {visprog olit appl garden graphics oopws86},
  month          = oct,
  year           = 1986
}

@Article{Ieru96a,
  Author         = {Roberto Ierusalimschy and Luiz Henrique de Figueiredo
                   and Waldemar Celes Filho},
  Title          = {Lua --- an Extensible Extension Language},
  Journal        = {Software: Practice and Experience},
  Volume         = {26},
  Number         = {6},
  Pages          = {635-652},
  keywords       = {lua scripting},
  url            = {ftp://ftp.inf.puc-rio.br/pub/docs/techreports/95_12_ierusalimschy.ps.gz},
  year           = 1996
}

@Book{Lore94a,
  Author         = {Mark Lorenz and Jeff Kidd},
  Title          = {Object-Oriented Software Metrics: {A} Practical Guide},
  Publisher      = {Prentice-Hall},
  isbn           = {13-179292-X},
  keywords       = {oobib(gen) book scglib oorp},
  year           = 1994
}

@InCollection{Papa93a,
  Author         = {Michael Papathomas and Christian Breiteneder and Simon
                   Gibbs and Vicki de Mey},
  Title          = {Synchronization in Virtual Worlds},
  BookTitle      = {Virtual Worlds and Multimedia},
  Publisher      = {Wiley},
  Editor         = {N. Thalmann and D. Thalmann},
  Note           = {To appear},
  abstract       = {Virtual worlds are constructed from a wide range of
                   equipment including various input devices, special
                   purpose audio and graphics hardware, and a variety of
                   output devices. Distributed multi-participant or
                   multimedia virtual worlds further expand the range of
                   possibilities. For easily constructing and
                   experimenting with different virtual world
                   infrastructures we use an approach based on developing
                   and configuring reusable components. A key problem is
                   the synchronization of components: components must be
                   designed to work in different configurations with,
                   possibly, different synchronization requirements. In
                   this paper we discuss support for synchronization in
                   virtual world infrastructures constructed by
                   configuring reusable components.},
  keywords       = {olit osg vo93},
  year           = 1993
}

@TechReport{Stad89a,
  Author         = {Marc Stadelmann and Gerti Kappel and Jan Vitek},
  Title          = {{ITHACA} Visual Scripting Tool: {A} First
                   Implementation Based on the {UNIX} Shell Scripting
                   Model},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA report},
  Number         = {CUI.89.E4.#5},
  abstract       = {The architecture of the first prototype of VST, based
                   on the Unix shell scripting model is described.},
  keywords       = {olit-ithaca scripting vst},
  misc           = {December 8},
  month          = dec,
  year           = 1989
}

@InProceedings{Adam89a,
  Author         = {Sam S. Adams and Abdul K. Nabi},
  Title          = {Neural Agents --- {A} Frame of Mind},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {139-150},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Kemp87a,
  Author         = {James Kempf and Warren Harris and Roy D'Souza and Alan
                   Snyder},
  Title          = {Experience with CommonLoops},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {214-226},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Miln81a,
  Author         = {Robin Milner},
  Title          = {A Modal Characterization of Observable
                   Machine-Behaviour},
  BookTitle      = {Proceedings CAAP '81},
  Editor         = {E. Astesiano and C. B{\"o}hm},
  Volume         = {112},
  Series         = {LNCS},
  Pages          = {25-34},
  Address        = {Genoa},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence ccs caap81 binder(ccs)},
  month          = mar,
  year           = 1981
}

@Book{Smul82a,
  Author         = {Raymond Smullyan},
  Title          = {The Lady or the Tiger? and other Logic Puzzles},
  Publisher      = {Oxford},
  keywords       = {scglib},
  year           = 1982
}

@TechReport{Fium87a,
  Author         = {Eugene Fiume},
  Title          = {An Attempt at Formal Specifications For a Non-Trivial
                   Object},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Objects and Things},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oat87},
  month          = mar,
  pages          = {149-164},
  year           = 1987
}

@Article{Holt72a,
  Author         = {Richard Holt},
  Title          = {Some Deadlock Properties of Computer Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {4},
  Number         = {3},
  Pages          = {179-196},
  keywords       = {misc os deadlock binder},
  month          = sep,
  year           = 1972
}

@TechReport{Dwye96a,
  Author         = {Mattew B. Dwyer and Mattew J. Craig},
  Title          = {High-Level Coordination Abstraction in Stock Languages},
  Institution    = {CIS TR},
  Number         = {96-9},
  keywords       = {coordination},
  year           = 1996
}

@Article{Maar91a,
  Author         = {Yo{\"e}lle S. Maarek and Daniel M. Berry and Gail E.
                   Kaiser},
  Title          = {An Information Retrieval Approach For Automatically
                   Constructing Software Libraries},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {17},
  Number         = {8},
  Pages          = {800--813},
  month          = aug,
  year           = 1991
}

@Article{Glas94a,
  Author         = {Robert L. Glass},
  Title          = {{The} {Software} {Research} {Crisis}},
  Journal        = {IEEE Software},
  Number         = {11},
  Pages          = {42-47},
  month          = nov,
  publisher      = {IEEE Computer Society},
  year           = 1994
}

@Article{Myer92b,
  Author         = {Brad A. Myers},
  Title          = {Demonstrational Interfaces: A Step Beyond Direct
                   Manipulation},
  Journal        = {IEEE Computer},
  Volume         = {25},
  Number         = {8},
  Pages          = {61-73},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/2.153286},
  issn           = {0018-9162},
  keywords       = {examples visual interfaces},
  publisher      = {IEEE Computer Society},
  year           = 1982
}

@Article{Hans72a,
  Author         = {Per Brinch Hansen},
  Title          = {Structured Multi-Programming},
  Journal        = {CACM},
  Volume         = {15},
  Number         = {7},
  Pages          = {574-578},
  keywords       = {concurrency},
  month          = jul,
  year           = 1972
}

@Article{Lang98a,
  Author         = {Danny B. Lange and Mitsuru Oshima},
  Title          = {Mobile Agents with {Java}: The Aglet API},
  Journal        = {World Wide Web Journal},
  keywords       = {oolit agents java aglet},
  year           = 1998
}

@Article{Zell02a,
  Author         = {Andreas Zeller and Ralf Hildebrandt},
  Title          = {Simplifying and Isolating Failure-Inducing Input},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-28},
  Number         = {2},
  Pages          = {183-200},
  keywords       = {testing},
  month          = feb,
  year           = 2002
}

@Article{Igar01a,
  Author         = {Atsushi Igarashi and Benjamin C. Pierce and Philip
                   Wadler},
  Title          = {Featherweight {Java}: a minimal core calculus for
                   {Java} and {GJ}},
  Journal        = {ACM TOPLAS},
  Volume         = {23},
  Number         = {3},
  Pages          = {396-450},
  doi            = {http://doi.acm.org/10.1145/503502.503505},
  keywords       = {types fj},
  month          = may,
  year           = 2001
}

@InProceedings{Curt90a,
  Author         = {Pavel Curtis and James Rauen},
  Title          = {A module system for scheme},
  BookTitle      = {Proceedings of the 1990 ACM conference on LISP and
                   functional programming},
  Pages          = {13-19},
  Publisher      = {ACM Press},
  isbn           = {0-89791-368-X},
  location       = {Nice, France},
  year           = 1990
}

@Article{Clar86a,
  Author         = {Edmund M. Clarke and E.A. Emerson and A.P. Sistla},
  Title          = {Automatic Verification of Finite-State Concurrent
                   Systems Using Temporal Logic Specifications},
  Journal        = {ACM TOPLAS},
  Volume         = {8},
  Number         = {2},
  Pages          = {244-263},
  keywords       = {concurrency regular processes binder},
  month          = apr,
  year           = 1986
}

@InProceedings{Pana03a,
  Author         = {Thomas Panas and Welf L{\"o}we and Uwe A{\ss}mann},
  Title          = {Towards the Unified Recovery Architecture for Reverse
                   Engineering},
  BookTitle      = {International Conference on Software Engineering
                   Research and Practice (SERP'03)},
  Pages          = {854-860},
  Publisher      = {CSREA Press},
  year           = 2003
}

@InProceedings{Zaid06a,
  Author         = {Andy Zaidman and Orla Greevy and Abdelwahab
                   Hamou-Lhadj},
  Title          = {Workshop on Program Comprehension through Dynamic
                   Analysis (PCODA)},
  BookTitle      = {Proceedings of IEEE 13th Working Conference on
                   Software Maintenance and Reengineering (WCRE)},
  Pages          = {315--315},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.45},
  keywords       = {scg-pub greevy jb07 fb06 Dynamic Analysis moose-pub
                   recast07},
  month          = oct,
  peer           = {yes},
  url            = {http://www.lore.ua.ac.be/Events/PCODA2006/index.html
                   http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Zaid06a-pcoda2006proceedings.pdf},
  year           = 2006
}

@Article{Wirf90a,
  Author         = {Rebecca Wirfs-Brock and Ralph E. Johnson},
  Title          = {Surveying Current Research in Object-Oriented Design},
  Journal        = {Communications of the ACM},
  Volume         = {33},
  Number         = {9},
  Pages          = {104-124},
  keywords       = {olit},
  month          = sep,
  year           = 1990
}

@TechReport{Leth92a,
  Author         = {Lone Leth},
  Title          = {A New Direction in Functions as Processes},
  Institution    = {European Computer-Industry Research Centre, Munich},
  Type           = {ECRC-92-5},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@Misc{Klas95a,
  Author         = {Wolfgang Klas and Michael Schrefl},
  Title          = {Metaclasses and Their Application},
  keywords       = {olit-oopl scglib},
  series         = {LNCS},
  volume         = {943},
  year           = 1995
}

@Article{Mela99a,
  Author         = {I. Dan Melamed},
  Title          = {Bitext Maps and Alignment via Pattern Recognition},
  Journal        = {Computational Linguistics},
  Volume         = {25},
  Number         = {1},
  Pages          = {107-130},
  keywords       = {text alignment},
  url            = {citeseer.ist.psu.edu/melamed96bitext.html},
  year           = 1999
}

@Unpublished{Prei00a,
  Author         = {Otto Preiss},
  Title          = {Fictitious Requirements of a Component Repository},
  Note           = {ABB internal draft, SECCOS-FS-0007},
  keywords       = {olit repository abb},
  month          = apr,
  year           = 2000
}

@InProceedings{Eber94a,
  Author         = {J. Ebert and G. Engels},
  Title          = {Structural and Behavioral Views of {OMT}-Classes},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {142-157},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Hogg83a,
  Author         = {John Hogg and Murray S. Mazer and S. Gamvroulas and
                   Dennis Tsichritzis},
  Title          = {Imail --- An Intelligent Mail System},
  Journal        = {IEEE Database Engineering},
  Volume         = {6},
  Number         = {3},
  keywords       = {oislit imail},
  month          = sep,
  year           = 1983
}

@Article{Bosc99a,
  Author         = {Jan Bosch},
  Title          = {Superimposition: {A} Component Adaptation Technique},
  Journal        = {Information and Software Technology},
  Volume         = {41},
  Number         = {5},
  Pages          = {257-273},
  month          = mar,
  year           = 1999
}

@MastersThesis{Kneu03a,
  Author         = {Stefan Kneub\"uhl},
  Title          = {Typeful Compositional Styles},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {In component-based software development, a software
                   application is composed of components that are plugged
                   together. While components represent the stable parts,
                   the changing or evolving configuration of a system is
                   defined in scripts. The separation of changing from
                   stable parts promises flexible software systems.
                   Compositional styles that define component interfaces,
                   higher-level connectors and composition rules describe
                   an architectural framework. Styles expose the
                   large-scale architecture of a software system
                   explicitly in scripts. But they lack a formal
                   foundation allowing one to reason about styles. We
                   propose to use Contractual types, an experimental type
                   system that can express both services provided and
                   required by a component, as a formal basis to define
                   compositional styles. We argue that this approach
                   permits us (1) to verify the consistency of a style,
                   (2) to check the implementation of a style for
                   correctness, and (3) to detect compositional mismatches
                   in component configurations. We exemplify our claims by
                   giving type-based definitions of some compositional
                   styles. Implementing a contractual type checker for the
                   composition language Piccola allows us to verify
                   existing style implementations in Piccola against the
                   definitions given. A flexible implementation of the
                   Piccola language in {Java} provides a basis for the
                   experiments with the type system.},
  keywords       = {snf03 piccola scg-pub skipdoi jb03 scg-msc},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Kneu03a.pdf},
  year           = 2003
}

@Article{Kont96a,
  Author         = {K. Kontogiannis and R. DeMori and E. Merlo and M.
                   Galler and M. Bernstein},
  Title          = {{Pattern} {Matching} for {Clone} and {Concept}
                   {Detection}},
  Journal        = {Journal of Automated Software Engineering},
  Volume         = {3},
  Pages          = {77-108},
  year           = 1996
}

@InProceedings{Mage95a,
  Author         = {Jeff Magee and Naranker Dulay and Susan Eisenbach and
                   Jeffrey Kramer},
  Title          = {Specifying Distributed Software Architectures},
  BookTitle      = {Proceedings ESEC '95},
  Volume         = {989},
  Series         = {LNCS},
  Pages          = {137-153},
  Publisher      = {Springer-Verlag},
  keywords       = {olit visprog scripting darwin regis binder},
  month          = sep,
  year           = 1995
}

@InProceedings{Nier92a,
  Author         = {Oscar Nierstrasz},
  Title          = {Towards an Object Calculus},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {1-20},
  Publisher      = {Springer-Verlag},
  abstract       = {The development of concurrent object-based programming
                   languages has suffered from the lack of any generally
                   accepted formal foundations for defining their
                   semantics. Furthermore, the delicate relationship
                   between object-oriented features supporting reuse and
                   operational features concerning interaction and state
                   change is poorly understood in a concurrent setting. To
                   address this problem, we propose the development of an
                   object calculus, borrowing heavily from relevant work
                   in the area of process calculi. To this end, we briefly
                   review some of this work, we pose some informal
                   requirements for an object calculus, and we present the
                   syntax, operational semantics and use through examples
                   of a proposed object calculus, called OC.},
  annote         = {internationalworkshop},
  doi            = {http://dx.doi.org/10.1007/3-540-55613-3_1},
  isbn           = {3-540-55613-3},
  keywords       = {pcalc-obc mobility oc obc91 of92 osg-ftp-book},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier92aAnObjectCalculus.pdf},
  year           = 1992
}

@InProceedings{VanE02b,
  Author         = {Robert A. Van Engelen and Kyle A. Gallivan},
  Title          = {The gSOAP Toolkit for Web Services and Peer-to-Peer
                   Computing Networks},
  BookTitle      = {CCGRID '02: Proceedings of the 2nd IEEE/ACM
                   International Symposium on Cluster Computing and the
                   Grid},
  Pages          = {128},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1582-7},
  year           = 2002
}

@Book{Morr97a,
  Author         = {Michael Morrison},
  Title          = {Presenting {Java} Beans},
  Publisher      = {Sams net},
  isbn           = {1-57521-286-0},
  keywords       = {beans java scglib new-enty},
  year           = 1997
}

@InProceedings{Engb90a,
  Author         = {Uffe Engberg and Glynn Winskel},
  Title          = {Petri Nets as Models of Linear Logic},
  BookTitle      = {Proceedings CAAP '90},
  Editor         = {A. Arnold},
  Volume         = {431},
  Series         = {LNCS},
  Pages          = {147-161},
  Address        = {Copenhagen},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency petri nets linear logic binder(conc)
                   caap90},
  month          = may,
  year           = 1990
}

@InProceedings{Tsic89a,
  Author         = {Dennis Tsichritzis},
  Title          = {Object-Oriented Development for Open Systems},
  BookTitle      = {Information Processing 89 (Proceedings IFIP '89)},
  Pages          = {1033-1040},
  Address        = {San Francisco},
  Publisher      = {North-Holland},
  abstract       = {This paper outines the requirements for a series of
                   tools to develop effectively systems in an
                   object-oriented manner. It points out that reusability
                   requires a certain change in philosophy and methodology
                   for program development.},
  keywords       = {olit osg-ftp ood89 ifip89},
  misc           = {Aug 28-Sept 1},
  month          = aug,
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ooDevelopmentOpenSystems.pdf},
  year           = 1989
}

@InProceedings{Gogu99b,
  Author         = {Joseph Goguen},
  Title          = {Hidden Algebra for Software Engineering},
  BookTitle      = {Proceedings Combinatorics, Computation and Logic},
  Volume         = {21},
  Pages          = {35-59},
  Address        = {Auckland, New Zealand},
  Publisher      = {Springer Verlag},
  month          = jan,
  url            = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html},
  year           = 1999
}

@InCollection{Copl95d,
  Author         = {James O. Coplien},
  Title          = {A Development Process Generative Pattern Language},
  BookTitle      = {Pattern Languages of Program Design},
  Publisher      = {Addison Wesley},
  Editor         = {James O. Coplien and Douglas Schmidt},
  Pages          = {183-237},
  isbn           = {0-201-60734-4},
  keywords       = {oorp},
  year           = 1995
}

@Book{Wido96a,
  Editor         = {Jennifer Widow and Stefano Ceri},
  Title          = {Active Database Systems: Triggers and Rules For
                   Advanced Database Processing},
  Publisher      = {Morgan Kaufman Publishers},
  year           = 1996
}

@Unpublished{Elia94a,
  Author         = {Gabriele elia and Guiseppe Menga},
  Title          = {G++:{A} Pattern Language for Object-Oriented Design of
                   Concurrent and Distributed Information Systems with
                   Applications to Computer Integrated Manufacturing},
  Note           = {Dept. of Automatica e Informatica Politecnico di
                   Torino},
  keywords       = {pattern oobib(gen) olit-obc cim binder},
  type           = {Draft},
  year           = 1994
}

@Unpublished{Stur94a,
  Author         = {Daniel C. Sturman and Gul A. Agha},
  Title          = {A Protocol Description Language for Customizing
                   Failure Semantics*},
  Note           = {University of Illinois at Urbana-Champaign},
  keywords       = {binder},
  type           = {Draft},
  year           = 1994
}

@Article{Jetl99a,
  Author         = {Niraj Jetly},
  Title          = {{Visual}{Age} for {Java} 2.0},
  Journal        = {Java Developer's Journal},
  Volume         = {4},
  Number         = {4},
  Pages          = {48-49},
  month          = apr,
  year           = 1999
}

@Article{Gele85a,
  Author         = {David Gelernter and Nicholas Carriero},
  Title          = {Generative Communication in Linda},
  Journal        = {ACM TOPLAS},
  Volume         = {7},
  Number         = {1},
  keywords       = {concurrency coordination linda binder},
  month          = jan,
  year           = 1985
}

@InProceedings{Pals91a,
  Author         = {Jens Palsberg and Michael I. Schwartzbach},
  Title          = {What is Type-Safe Code Reuse?},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {325-341},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1991
}

@InCollection{Harri96a,
  Author         = {Neil B. Harrison},
  Title          = {Organizational Patterns for Teams},
  BookTitle      = {Pattern Languages of Program Design 2},
  Publisher      = {Addison Wesley},
  Editor         = {John M. Vlissides and James O. Coplien and Norman L.
                   Kerth},
  Pages          = {345-352},
  keywords       = {oorp},
  year           = 1996
}

@InProceedings{Baxt98a,
  Author         = {Ira Baxter and Andrew Yahin and Leonardo Moura and
                   Marcelo Sant' Anna and Lorraine Bier},
  Title          = {Clone Detection Using Abstract Syntax Trees},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM 1998)},
  Pages          = {368-377},
  Publisher      = {IEEE Computer Society, Washington, DC, USA},
  keywords       = {clones},
  year           = 1998
}

@Article{Birr82a,
  Author         = {A.D. Birrell and R. Levin and R.M. Needham and M.D.
                   Schroeder},
  Title          = {Grapevine: An Exercise in Distributed Computing},
  Journal        = {CACM},
  Volume         = {25},
  Number         = {4},
  Pages          = {260-274},
  keywords       = {misc networks mail},
  month          = apr,
  year           = 1982
}

@InProceedings{Male96a,
  Author         = {J. Malenfant and M. Jacques and F.-N. Demers},
  Title          = {Compiling Static Behavioral Reflection},
  BookTitle      = {Proceedings of Reflection},
  year           = 1996
}

@TechReport{Berg97a,
  Author         = {Klaus Bergner and Andreas Rausch and Marc Sihling},
  Title          = {Using {UML} for Modeling a Distributed {Java}
                   Application ({AFA} info)},
  Institution    = {TUM},
  Number         = {I9735},
  url            = {http://www.leo.org/pub/comp/doc/techreports/tum/informatik/report/1997/TUM-I9735.ps.gz},
  year           = 1997
}

@InProceedings{Shor82a,
  Author         = {J. Short and R. Kilgour and M. Dodani},
  Title          = {The Application of Microcomputers to English Essay
                   Wrinting: {A} Comparison of two Authoring Systems},
  BookTitle      = {IFIP '82 Working Conference on Involving Micros in
                   Education},
  Publisher      = {North-Holland},
  keywords       = {binder},
  month          = mar,
  year           = 1992
}

@InProceedings{Coll98a,
  Author         = {Collison, Andrey and Bieri, Hanspeter},
  Title          = {{An Architecture of a Universal DBMS fpr Graphics
                   Applications}},
  BookTitle      = {Proceedings of Computer Graphics International '98},
  Address        = {Hannover, Germany},
  Publisher      = {IEEE},
  keywords       = {repository abb graphics fcg-pub booga gscope codbms
                   cgi98},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~booga/publications/papercollison.pdf},
  year           = 1998
}

@TechReport{Walk90a,
  Author         = {David Walker},
  Title          = {\pi-calculus Semantics of Object-Oriented Programming
                   Languages},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {Report},
  Number         = {ECS-LFCS-90-122},
  keywords       = {pcalc-obc mobility semantics ccs binder (shelf)},
  month          = oct,
  year           = 1990
}

@InProceedings{Clar01a,
  Author         = {David G. Clarke and James Noble and John M. Potter},
  Title          = {Simple Ownership Types for Object Containment},
  BookTitle      = {Proceedings ECOOP '91},
  Series         = {LNCS},
  Pages          = {53-76},
  Publisher      = {Springer Verlag},
  month          = jun,
  year           = 2001
}

@InProceedings{Lien07a,
  Author         = {Adrian Lienhard and Orla Greevy and Oscar Nierstrasz},
  Title          = {Tracking Objects to detect Feature Dependencies},
  BookTitle      = {Proceedings International Conference on Program
                   Comprehension (ICPC 2007)},
  Note           = {to appear},
  annote         = {internationalconference},
  keywords       = {scg-pub jb07 snf07},
  year           = 2007
}

@InProceedings{Yoko87b,
  Author         = {Yasuhiko Yokote and Mario Tokoro},
  Title          = {Experience and Evolution of {Concurrent}{Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {406-415},
  keywords       = {olit-obcl concurrentsmalltalk oobib(obcp) oopsla87},
  month          = dec,
  year           = 1987
}

@TechReport{Sarg94a,
  Author         = {John Sargeant and Chris Kirkham and Steve Anderson},
  Title          = {The Uflow Computational Model and Intermediate Format},
  Institution    = {University of Manchester},
  Type           = {UMCS-94-5-1},
  abstract       = {This report motivates and defines a general-purpose,
                   architecture independent, parallel computational model,
                   which captures the intuitions which underlie the design
                   of the United Functions and Objects programming
                   language. The model has two aspects, which turn out to
                   be a traditional dataflow model and an actor-like
                   model, with a very simple interface between the two.
                   Certain aspects of the model, particularly strictness,
                   maximum parallelism, lack of suspension, and the
                   implications of introducing stateful objects, are
                   stressed. The model is embodied in a textual
                   intermediate format, and in a set of UFO data
                   structures. This report also serves as a definition of
                   the intermediate format, and gives a brief overview of
                   the data structures.},
  keywords       = {olit-oopl ufo binder 118},
  url            = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-94-5-1.ps.Z},
  year           = 1994
}

@Article{Gent81a,
  Author         = {Morven Gentleman},
  Title          = {Message Passing Between Sequential Processes: the
                   Reply Primitive and the Administrator Concept},
  Journal        = {Software --- Practice and Experience},
  Volume         = {11},
  Pages          = {435-466},
  keywords       = {olit-obc messages thoth binder},
  year           = 1981
}

@Article{Andr81a,
  Author         = {Gregory R. Andrews},
  Title          = {Synchronizing Resources},
  Journal        = {ACM TOPLAS},
  Volume         = {3},
  Number         = {4},
  Pages          = {405-430},
  keywords       = {concurrency},
  month          = oct,
  year           = 1981
}

@Article{Beck93c,
  Author         = {Kent Beck},
  Title          = {Instance specific behavior: {How} and {Why}},
  Journal        = {Smalltalk Report},
  Volume         = {2(7)},
  month          = may,
  year           = 1993
}

@InProceedings{Lau92a,
  Author         = {Wing-cheong Lau and Vineet Singh},
  Title          = {An Object-Oriented Class Library for Scalable Parallel
                   Heuristic Search},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {252-267},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop92proc},
  month          = jun,
  year           = 1992
}

@Unpublished{Doda95d,
  Author         = {Mahesh Dodani and K.S. Gan},
  Title          = {Dynamic Modules for Establishing Relationships Between
                   Collaborating Objects in Object-Oriented Programming},
  Note           = {University of Iowa},
  keywords       = {oobib(gen) binder},
  type           = {Draft},
  year           = 1995
}

@InProceedings{Pawl01a,
  Author         = {Renaud Pawlak and Lionel Seinturier and Laurence
                   Duchien and Gerard Florin},
  Title          = {{JAC}: {A} Flexible Solution for Aspect-Oriented
                   Programming in {Java}},
  BookTitle      = {MetaLevel Architectures and Separation of Crosscutting
                   Concerns},
  Editor         = {Yonezawa, A. and Matsuoka, S.},
  Volume         = {2192},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {1--24},
  Publisher      = {Springer-Verlag},
  year           = 2001
}

@PhdThesis{Simp96a,
  Author         = {Loren Taylor Simpson},
  Title          = {Value-Driven Redundancy Elimination},
  School         = {Rice University},
  month          = may,
  number         = {TR98-308},
  url            = {citeseer.ist.psu.edu/66713.html},
  year           = 1996
}

@Article{Otte77a,
  Author         = {Karl J. Ottenstein},
  Title          = {An Algorithmic Approach to the Detection and
                   Prevention of Plagiarism},
  Journal        = {SIGCSE Bulletin},
  Volume         = {8},
  Number         = {4},
  Pages          = {30-41},
  year           = 1977
}

@InProceedings{Blac04a,
  Author         = {Andrew P. Black and Nathanael Sch\"arli},
  Title          = {Traits: Tools and Methodology},
  BookTitle      = {Proceedings ICSE 2004},
  Pages          = {676-686},
  abstract       = {Traits are an object-oriented programming language
                   construct that allow groups of methods to be named and
                   reused in arbitrary places in an inheritance hierarchy.
                   Classes can use methods from traits as well as defining
                   their own methods and instance variables. Traits thus
                   enable a new style of programming, in which traits
                   rather than classes are the primary unit of reuse.
                   However, the additional sub-structure provided by
                   traits is always optional: a class written using traits
                   can also be viewed as a flat collection of methods,
                   with no change in its semantics. This paper describes
                   the tool that supports these two alternate views of a
                   class, called the traits browser, and the programming
                   methodology that we are starting to develop around the
                   use of traits.},
  annote         = {internationalconference},
  cvs            = {TraitsProgrammingICSE2003},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSE.2004.1317489},
  keywords       = {snf04 scg-pub jb02 scg-traits schaerli},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Blac04aTraitsTools.pdf},
  year           = 2004
}

@InProceedings{Bric02b,
  Author         = {J. Brichau and K. Mens and K. De Volder},
  Title          = {Building Composable Aspect-Specific Languages with
                   Logic Metaprogramming},
  BookTitle      = {Proceedings of the 1st ACM SIGPLAN/SIGSOFT Conference
                   on Generative Programming and Component Engineering
                   (GPCE 2002)},
  Volume         = {2487},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  month          = oct,
  year           = 2002
}

@Article{Maie85a,
  Author         = {David Maier and Allen Otis and Alan Purdy},
  Title          = {Object-Oriented Database Development at Servio Logic},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {58-65},
  keywords       = {olit-oopl gemstone},
  month          = dec,
  year           = 1985
}

@InProceedings{Barr96c,
  Author         = {Kim Barrett and Bob Cassels and Paul Haahr and David
                   A. Moon and Keith Playford and P. Tucker Withington},
  Title          = {A Monotonic Superclass Linearization for Dylan},
  BookTitle      = {Proceedings OOPSLA '96, ACM SIGPLAN Notices},
  Pages          = {69-82},
  month          = oct,
  year           = 1996
}

@Article{Aho72b,
  Author         = {Alfred V. Aho and Thomas G. Peterson},
  Title          = {A minimum distance error-correcting parser for
                   context-free languages},
  Journal        = {SIAM Journal of Computing},
  Volume         = {1},
  Pages          = {305-312},
  keywords       = {earley parsing},
  url            = {http://locus.siam.org/SICOMP/volume-01/art_0201022.html},
  year           = 1972
}

@InCollection{Mull00a,
  Author         = {Hausi A. M\"{u}ller and Jens H. Janhke and Dennis B.
                   Smith and Margaret-Anne Storey and Scott R. Tilley and
                   Kenny Wong},
  Title          = {Reverse Engineering: A Roadmap},
  BookTitle      = {The Future of Software Engineering 2000},
  Publisher      = {ACM Press},
  Editor         = {A. Finkelstein},
  keywords       = {oorp},
  year           = 2000
}

@MastersThesis{Tale03a,
  Author         = {Daniele Talerico},
  Title          = {Grouping in Object-Oriented Reverse Engineering},
  School         = {University of Bern},
  Type           = {Diploma Thesis},
  abstract       = {Software Reengineering is a main issue in software
                   industry. One of its main activities, reverse
                   engineering, is concerned with trying to understand a
                   software system and how it ticks. For the investigation
                   and graphical representation of large and complex
                   systems there are various tools for automated support.
                   However, the information extraction with these tools is
                   di cult, visualising certain aspects of a software
                   system may overwhelm the observer with its complexity.
                   We discuss in this work an object-oriented reverse
                   engineering approach using grouping. The intention of
                   grouping is to create groups with components of a
                   software system. The use of grouping has many benefits
                   for a reverse engineer: it supports the program
                   understanding and the design recovery, it adds higher
                   abstraction levels to the system, and it permits to
                   create di erent representations as well as alternate
                   views of a system. Furthermore, the use of groups and
                   the scalability of grouping are effective in reducing
                   the complexity of large systems. All the information we
                   need to create groups is found in the software system.
                   User-defined queries on the system perform the
                   selection of components for the creation of new groups.
                   We introduce the visualisation of groups and show their
                   usefulness with a Smalltalk case study.},
  keywords       = {snf03 oobib scg-pub skipdoi scg-msc jb03 oorp},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Tale03a.pdf},
  year           = 2003
}

@Article{Berg93b,
  Author         = {Lodewijk Bergmans and Mehmet Aksit and Ken Wakita},
  Title          = {An Object-Oriented Model for Extensible Concurrent
                   Systems: The Composition-Filters Approach},
  Journal        = {IEEE Transactions on Parallel and Distributed Systems},
  keywords       = {oobib(concurrency) olit-obc binder},
  year           = 1993
}

@Book{MacK03a,
  Author         = {David MacKenzie and Paul Eggert and Richard Stallman},
  Title          = {Comparing and Merging Files With Gnu Diff and Patch},
  Publisher      = {Network Theory Ltd.},
  isbn           = {0954161750},
  keywords       = {evolution},
  pages          = {120},
  year           = 2003
}

@Book{Crow95a,
  Author         = {Jon Crowcroft},
  Title          = {Open Distributed Systems},
  Publisher      = {UCL Press},
  isbn           = {1-85728-229-9},
  keywords       = {odp book scglib},
  year           = 1995
}

@InProceedings{Reps97a,
  Author         = {Thomas Reps and Thomas Ball and Manuvir Das and James
                   Larus},
  Title          = {The Use of Program Profiling for Software Maintenance
                   with Applications to the Year 2000 Problem},
  BookTitle      = {Proceedings of ESEC/FSE '97, LNCS 1301},
  Pages          = {432-449},
  keywords       = {olit scglit oobib},
  year           = 1997
}

@InProceedings{Gawe96a,
  Author         = {Andreas Gawecki and Florian Matthes},
  Title          = {Integrating Subtyping, Matching and Type
                   Quantification: {A} Practical Perspective},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {26-47},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Lewi86a,
  Author         = {David M. Lewis and David R. Galloway and Robert J.
                   Francis and Brian W. Thomson},
  Title          = {Swamp: {A} Fast Processor for {Smalltalk}-80},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {131-139},
  keywords       = {olit architecture swamp smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Bach01a,
  Author         = {Felix Bachmann and Len Bass},
  Title          = {Managing Variability in Software Architectures},
  BookTitle      = {{ACM} {SIGSOFT} Symposium on Software Reusability},
  Pages          = {126-132},
  url            = {http://citeseer.nj.nec.com/bachmann01managing.html
                   http://www.sei.cmu.edu/plp/variability.pdf},
  year           = 2001
}

@TechReport{Alle94a,
  Author         = {Robert Allen and David Garlan},
  Title          = {Formal Connectors},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-94-115}},
  keywords       = {olit visprog composition architecture binder},
  month          = mar,
  url            = {ftp://reports.adm.cs.cmu.edu/usr/anon/1994/CMU-CS-94-115.ps},
  year           = 1994
}

@InProceedings{Vasc92a,
  Author         = {Vasco Vasconcelos and Mario Tokoro},
  Title          = {Traces Semantics for Actor Systems},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {141-162},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@Misc{Bruc95b,
  Author         = {Kim B. Bruce},
  Title          = {Typing in Object-oriented languages: Achieving
                   expressibility and Safety},
  abstract       = {This papers consist of a survey of problems
                   (illustrated by a series of sample programs) with
                   existing type systems, and suggest ways of improving
                   the expressibility of this systems while retaining
                   static type safety. In particular we will discuss the
                   motivation behind introducing "MyType", "matching", and
                   "bounded matching" into these type systems.},
  keywords       = {olit binder},
  url            = {ftp://cs.williams.edu/pub/kim/Static.ps},
  year           = 1996
}

@Article{Gras92a,
  Author         = {J.E. Grass},
  Title          = {Object-Oriented Design Archeology with {CIA}++},
  Journal        = {Computing Systems},
  Volume         = {5},
  Number         = {1},
  Pages          = {5-67},
  year           = 1992
}

@Article{Sand89a,
  Author         = {B. Sanden},
  Title          = {An Entity-Life Modeling Approach to the Design of
                   Concurrent Systems},
  Journal        = {CACM},
  Volume         = {32},
  Number         = {3},
  Pages          = {330-343},
  keywords       = {olit-obc READ},
  month          = mar,
  year           = 1989
}

@InCollection{Copp80a,
  Author         = {M. Coppo and M. Dezani-Ciancaglini and B. Venneri and
                   New York},
  Title          = {Principal type schemes and lambda calculus semantics},
  BookTitle      = {To H. B. Curry: Essays on Combinatory Logic Lambda
                   Calculus, and Formalism},
  Publisher      = {Academic Press},
  Pages          = {535-560},
  keywords       = {types intersection (bcp)},
  year           = 1980
}

@InProceedings{Late03a,
  Author         = {Mario Latendresse},
  Title          = {{RegReg}: a Lightweight Generator of Robust Parsers
                   for Irregular Languages},
  BookTitle      = {Proceedings Tenth Working Conference on Reverse
                   Engineering (WCRE 2003)},
  Pages          = {206-215},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2003.1287251},
  keywords       = {parsing},
  month          = nov,
  year           = 2003
}

@InProceedings{Fern07a,
  Author         = {Hilaire Fernandes and St\'ephane Ducasse and Thibault
                   Caron},
  Title          = {Dr Geo II: Adding Interactivity Planes in Interactive
                   Dynamic Geometry},
  BookTitle      = {Proceedings of 5th International Conference on
                   Creating, Connecting and Collaborating through
                   Computing (C5 2007)},
  Publisher      = {IEEE Computer Society},
  annote         = {internationalconference},
  keywords       = {stefPub},
  year           = 2007
}

@InProceedings{Daya98a,
  Author         = {H. Dayani-Fard and I. Jurisca},
  Title          = {Reverse Engineering by Mining Dynamic Repositories},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {174-182},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Book{Dave03a,
  Author         = {B.A. Davey and H.A. Priestley},
  Title          = {Introduction to Lattices and Order},
  Publisher      = {Cambridge University Press},
  isbn           = {0--521-78451-4},
  keywords       = {scglib},
  year           = 2003
}

@Misc{WikiPedia,
  Title          = {{WikiPedia}, a web-based, free-content encyclopedia},
  Note           = {http://www.wikipedia.org},
  key            = {WikiPedia},
  keywords       = {wiki php mysql},
  url            = {http://www.wikipedia.org}
}

@InProceedings{Lump97a,
  Author         = {Markus Lumpe and Jean-Guy Schneider and Oscar
                   Nierstrasz and Franz Achermann},
  Title          = {Towards a formal composition language},
  BookTitle      = {Proceedings of ESEC '97 Workshop on Foundations of
                   Component-Based Systems},
  Editor         = {Gary T. Leavens and Murali Sitaraman},
  Pages          = {178-187},
  Address        = {Zurich},
  abstract       = {When do we call a software development environment a
                   composition environment? A composition environment must
                   be built of three parts: i) a reusable component
                   library, ii) a component framework determining the
                   software architecture, and iii) an open and flexible
                   composition language. Most of the effort in component
                   technology was spent on the first two parts. Now it is
                   crucial to address the last part and find an
                   appropriate model to glue existing components together.
                   In this work, we investigate existing component and
                   glue models, define a set of requirements a composition
                   language must fulfill, and report our first results
                   using a prototype implementation of a general-purpose
                   composition language based on the Pi-calculus.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi glue scripting jpict composition
                   focbs97 snf97 jb97 scg-coord-98},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lump97aAFormalCompLang.pdf},
  year           = 1997
}

@InProceedings{Roth93a,
  Author         = {Gregg Rothermel and Mary Jean Harrold},
  Title          = {A Safe, Efficient Algorithm for Regression Test
                   Selection},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM '93)},
  Pages          = {358-367},
  Publisher      = {IEEE},
  keywords       = {testing},
  month          = sep,
  year           = 1993
}

@InProceedings{Gele87a,
  Author         = {David Gelernter and Suresh Jagannathan and Tom London},
  Title          = {Environments as First-Class Objects},
  BookTitle      = {Principles of Programming Languages},
  Pages          = {98--110},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/41625.41634},
  isbn           = {0-89791-215-2},
  location       = {Munich, West Germany},
  year           = 1987
}

@Article{Racc95a,
  Author         = {L. Raccoon},
  Title          = {The Complexity Gap},
  Journal        = {IEEE Computer},
  Volume         = {20},
  Number         = {3},
  Pages          = {37--44},
  year           = 1995
}

@InProceedings{Czer00a,
  Author         = {J\"org Czeranski and Thomas Eisenbarth and Holger M.
                   Kienle and Rainer Koschke and Erhard Pl\"odereder and
                   Daniel Simon and Yan Zhang and Jean-Fran{\c{c}}ois
                   Girard and Martin W\"urthner},
  Title          = {Data Exchange in {Bauhaus}},
  BookTitle      = {Proceedings WCRE '00},
  Publisher      = {IEEE Computer Society Press},
  month          = nov,
  year           = 2000
}

@InProceedings{Goss90a,
  Author         = {Sanjiv Gossain and Bruce Anderson},
  Title          = {An Iterative-Design Model for Reusable Object-Oriented
                   Software},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {12-27},
  keywords       = {olit-reuse oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@TechReport{XLink00a,
  Author         = {Steve DeRose and Eve Maler and David Orchard},
  Title          = {{XML} {Linking} {Language} ({XL}ink) Version 1.0 ---
                   {W3C} Proposed Recommendation 20 December 2000},
  Institution    = {World Wide Web Consortium},
  Number         = {PR-xlink-20001220},
  month          = dec,
  url            = {http://www.w3.org/TR/2000/PR-xlink-20001220},
  year           = 2000
}

@Book{Moor99a,
  Author         = {Geoffrey A. Moore},
  Title          = {Crossing The Chasm},
  Publisher      = {HarperBusiness},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Najm91a,
  Author         = {Elle Najm and Jean-Bernard Stefani},
  Title          = {Object-Based Concurrency: {A} Process Calculus
                   Analysis},
  BookTitle      = {Proceedings TAPSOFT '91},
  Editor         = {S. Abramsky and T. Maibaum},
  Series         = {LNCS 493},
  Pages          = {359-380},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc-obc tapsoft91 binder},
  year           = 1991
}

@Book{Baet91a,
  Editor         = {J.C.M.Baeten and J.F.Groote},
  Title          = {Proceedings {CONCUR}'91},
  Publisher      = {Springer-Verlag},
  Volume         = {527},
  Series         = {LNCS},
  Address        = {Amsterdam},
  isbn           = {3-540-54430-5},
  keywords       = {olit concur91 scglib},
  month          = sep,
  year           = 1991
}

@Proceedings{Fole86a,
  Title          = {Special Issues on User Interface Software},
  Editor         = {James Foley},
  Volume         = {5},
  journal        = {ACM Transactions on Graphics},
  keywords       = {uilit},
  year           = 1986
}

@InProceedings{Moon86a,
  Author         = {David A. Moon},
  Title          = {Object-Oriented Programming with {Flavors}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {1-8},
  keywords       = {olit-oopl flavors lisp oopsla86 oobib(oopl)},
  month          = nov,
  year           = 1986
}

@Article{Baez92a,
  Author         = {Ricardo Baeza-Yates and Gaston H. Gonnet},
  Title          = {A New Approach to Text Searching},
  Journal        = {CACM},
  Volume         = {35},
  Number         = {10},
  Pages          = {74-82},
  month          = oct,
  year           = 1992
}

@InProceedings{Berg00a,
  Author         = {Federico Bergenti and Agostino Poggi},
  Title          = {Improving {UML} Designs Using Automatic Design Pattern
                   Detection},
  BookTitle      = {12th International Conference on Software Engineering
                   and Knowledge Engineering (SEKE)},
  Pages          = {336-343},
  year           = 2000
}

@Misc{Imposter,
  Title          = {{Imposter}},
  Note           = {http://csoki.ki.iif.hu/$\sim$vitezg/impostor/},
  key            = {Imposter}
}

@Misc{Grid,
  Title          = {Indiana University, Extreme! Computing Lab. Grid Web
                   Services},
  Note           = {http://www.extreme.indiana.edu/xgws/},
  key            = {Extreme! Computing Lab},
  url            = {http://www.extreme.indiana.edu/xgws/}
}

@PhdThesis{Berg05f,
  Author         = {Alexandre Bergel},
  Title          = {Classboxes --- Controlling Visibility of Class
                   Extensions},
  School         = {University of Berne},
  abstract       = {Unanticipated changes to complex software systems can
                   introduce anomalies such as duplicated code, suboptimal
                   inheritance relationships and a proliferation of
                   run-time downcasts. Refactoring to eliminate these
                   anomalies may not be an option, at least in certain
                   stages of software evolution. A class extension is a
                   method that is defined in a module, but whose class is
                   defined elsewhere. Class extensions offer a convenient
                   way to incrementally modify existing classes when
                   subclassing is inappropriate. Unfortunately existing
                   approaches suffer from various limitations. Either
                   class extensions have a global impact, with possibly
                   negative effects for unexpected clients, or they have a
                   purely local impact, with negative results for
                   collaborating clients. Furthermore, conflicting class
                   extensions are either disallowed, or resolved by
                   linearization, with subsequent negative effects. To
                   solve these problems we present classboxes, a module
                   system for object-oriented languages that provides for
                   behavior refinement (i.e. method addition and
                   replacement). Moreover, the changes made by a classbox
                   are only visible to that classbox (or classboxes that
                   import it), a feature we call local rebinding. We
                   present an experimental validation in which we apply
                   the classbox model to both dynamically and statically
                   typed programming languages. We used classboxes to
                   refactor part of the {Java} Swing library, and we show
                   two extensions built on top of classboxes which are (i)
                   runtime adaptation with dynamically classboxes and (ii)
                   expressing crosscutting changes.},
  cvs            = {ABergelPhD},
  keywords       = {scg-pub skipdoi snf05 jb06 classboxes scg-phd
                   evolution},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/bergel-phd.pdf},
  year           = 2005
}

@InProceedings{Pele90a,
  Author         = {Doron Peled and Amir Pnueli},
  Title          = {Proving Partial Order Liveness Properties},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Series         = {LNCS 443},
  Pages          = {553-571},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs icalp90 binder(conc)},
  month          = jul,
  year           = 1990
}

@InCollection{Andr95a,
  Author         = {Jean-Marc Andreoli and Herve Gallaire and Remo
                   Pareschi},
  Title          = {Rule-based Object Coordination},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {1-13},
  abstract       = {We discuss a framework in which the traditional
                   features of objects (encapsulation, communication etc.)
                   are enhanced with synchronization and coordination
                   facilities using the declarative power of rules. We
                   propose two interpretation of rules one re-active and
                   the other pro-active, corresponding to different kinds
                   of interaction between the rules and the objects.
                   Finally, we consider the problem of capturing
                   domain-specific knowledge within a general coordination
                   framework, for which constraints offer a promising
                   direction of research.},
  keywords       = {olit OBM94-01},
  year           = 1995
}

@InProceedings{Keog01a,
  Author         = {Eamonn Keogh and Selina Chu and David Hart and Michael
                   Pazzani},
  Title          = {An Online Algorithm for Segmenting Time Series},
  BookTitle      = {Proceedings IEEE International Conference on Data
                   Mining},
  Pages          = {289--298},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {dynamic analysis, signal},
  month          = nov,
  year           = 2001
}

@InProceedings{Chau01a,
  Author         = {Michel Chaudron},
  Title          = {Reflections on the Anatomy of Software Composition
                   Languages and Mechanisms},
  BookTitle      = {Workshop on Composition Languages, WCL '01},
  Pages          = {15-24},
  Address        = {Vienna, Austria},
  keywords       = {olit},
  month          = sep,
  url            = {http://www.cs.iastate.edu/~lumpe/WCL2001/},
  year           = 2001
}

@Article{Jone91a,
  Author         = {Neil D. Jones},
  Title          = {Static Semantics, Types, and Binding Time Analysis},
  Journal        = {Theoretical Computer Science 90},
  Pages          = {95-118},
  keywords       = {semantics binder},
  year           = 1991
}

@InProceedings{Baar03a,
  Author         = {Thomas Baar},
  Title          = {The Definition of Transitive Closure with OCL --
                   Limitations and Applications --},
  BookTitle      = {Proceedings, Fifth Andrei Ershov International
                   Conference, Perspectives of System Informatics,
                   Novosibirsk, Russia},
  Volume         = {2890},
  Series         = {LNCS},
  Pages          = {358--365},
  Publisher      = {Springer},
  doi            = {http://dx.doi.org/10.1007/b94823},
  month          = jul,
  year           = 2003
}

@Article{Vand01a,
  Author         = {Michael L. Van De Vanter},
  Title          = {The documentary structure of source code},
  Journal        = {Information and Software Technology},
  Volume         = {44},
  Number         = {13},
  Pages          = {767--782},
  month          = oct,
  year           = 2002
}

@Book{Mann05a,
  Author         = {Mary L. Manns and Linda Rising},
  Title          = {Fearless Change},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-74157-1},
  keywords       = {scglib},
  year           = 2005
}

@InCollection{Nier93e,
  Author         = {Oscar Nierstrasz},
  Title          = {Composing Active Objects --- The Next 700 Concurrent
                   Object-Oriented Languages},
  BookTitle      = {Research Directions in Concurrent Object-Oriented
                   Programming},
  Publisher      = {MIT Press},
  Editor         = {G. Agha and P. Wegner and A. Yonezawa},
  Pages          = {151-171},
  abstract       = {Many of the shortcomings of present-day
                   object-oriented programming languages can be traced to
                   two phenomena: (i) the lack of general support for
                   software composition, and (ii) the semantic
                   interference between language features addressing
                   operational and compositional aspects of
                   object-oriented programming. To remedy this situation,
                   we propose the development of a "pattern language" for
                   active objects in which objects and, more generally,
                   applications, are constructed by composing software
                   patterns. A "pattern" can be any reusable software
                   abstraction, including functions, objects, classes and
                   generics. In this paper we seek to establish both
                   informal requirements for a pattern language and a
                   formal basis for defining the semantics of patterns.
                   First, we identify some basic requirements for
                   supporting object composition and we review the
                   principal language design choices with respect to these
                   requirements. We then survey the various problems of
                   semantic interference in existing languages. Next, we
                   present a formal "object calculus" and show how it can
                   be used to define the semantics of patterns in much the
                   same way that the lambda calculus can be used to give
                   meaning to constructs of functional programming
                   languages. We conclude by summarizing the principle
                   open problems that remain to define a practical pattern
                   language for active objects.},
  keywords       = {olit-obc skipdoi pcalc hybrid oc scol osg-ftp omnrep},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier93eCompActiveObjects.pdf},
  year           = 1993
}

@TechReport{Gang89b,
  Author         = {Dipayan Gangopadhyay and A. Richard Helm},
  Title          = {A Domain Model Driven Approach for the Reuse of
                   Classes from Domain Specific Object-Oriented Class
                   Repositories},
  Institution    = {IBM Research Division, Yorktown Heights},
  Type           = {RC 14510},
  Number         = {(#64975)},
  keywords       = {olit-reuse binder},
  month          = mar,
  year           = 1989
}

@InProceedings{Anvi06a,
  Author         = {John Anvik and Lyndon Hiew and Gail C. Murphy},
  Title          = {Who Should Fix This Bug?},
  BookTitle      = {Proceedings of the 2006 ACM Conference on Software
                   Engineering},
  keywords       = {developers},
  year           = 2006
}

@InProceedings{Mens02b,
  Author         = {Kim Mens and Tom Mens and Michel Wermelinger},
  Title          = {Maintaining software through intentional source-code
                   views},
  BookTitle      = {Proceedings of SEKE 2002},
  Pages          = {289-296},
  Publisher      = {ACM Press},
  year           = 2002
}

@InProceedings{Gilb88a,
  Author         = {Jonathan P. Gilbert and Lubomir Bic},
  Title          = {Asynchronous Data Retrieval from an Object-Oriented
                   Database},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {335-349},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-db ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Book{Paep91a,
  Editor         = {Andreas Paepcke},
  Title          = {Proceedings {OOPSLA} '91},
  Publisher      = {ACM SIGPLAN Notices},
  isbn           = {0-201-554178},
  keywords       = {olit survey special issue oopsla91 oobib(gen) book
                   scglib},
  month          = nov,
  year           = 1991
}

@TechReport{Reyn88a,
  Author         = {John C. Reynolds},
  Title          = {Preliminary Design of the Programming Language
                   Forsythe},
  Institution    = {Carnegie Mellon University},
  Number         = {CMU-CS-88-159},
  keywords       = {types intersection (bcp)},
  month          = jun,
  year           = 1988
}

@Article{Jaff94a,
  Author         = {J. Jaffar and M. Maher},
  Title          = {Constraint Logic Programming: a survey},
  Journal        = {The Journal of Logic Programming},
  Number         = {19,20},
  Pages          = {503-581},
  year           = 1994
}

@PhdThesis{Mey94a,
  Author         = {Vicki de Mey},
  Title          = {Visual Composition of Software Applications},
  School         = {Dept. of Computer Science, University of Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-ithaca osg-ftp vista book scglib},
  number         = {no. 2660)},
  year           = 1994
}

@InProceedings{AitK91a,
  Author         = {Hassan A\"it-Kaci and Andreas Podelski},
  Title          = {Towards a Meaning of {LIFE}},
  BookTitle      = {Proceedings PLILP '91},
  Editor         = {J. Maluszynski and M. Wirsing},
  Volume         = {528},
  Series         = {LNCS},
  Pages          = {255-274},
  Address        = {Passau, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {plang life olit plilp91 binder},
  month          = aug,
  url            = {ftp://gatekeeper.dec.com/pub/DEC/PRL/research-reports/PRL-RR-11.ps.gz},
  year           = 1991
}

@Article{Broo87a,
  Author         = {Frederick P. Brooks},
  Title          = {No Silver Bullet},
  Journal        = {IEEE Computer},
  Volume         = {20},
  Number         = {4},
  Pages          = {10-19},
  keywords       = {misc se-lit reuse binder oorp},
  month          = apr,
  year           = 1987
}

@Article{Lafo88b,
  Author         = {Yves Lafont},
  Title          = {The Linear Abstract Machine},
  Journal        = {Theoretical Computer Science},
  Volume         = {59},
  Pages          = {157-180},
  keywords       = {linear-logic binder},
  publisher      = {North-Holland},
  year           = 1988
}

@Book{Gold84a,
  Author         = {Adele Goldberg},
  Title          = {{Smalltalk} 80: the Interactive Programming
                   Environment},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-11372-4},
  keywords       = {olit-oopl smalltalk book scglib},
  year           = 1984
}

@TechReport{Deme95z,
  Author         = {Serge Demeyer},
  Title          = {Ending the Tyranny of the Link: Adding Paths to the
                   Dexter-model},
  Institution    = {vub},
  abstract       = {Hypermedia technology is a potential benefit for all
                   computer applications that deal with information. To
                   penetrate new markets, hypermedia systems should be
                   tailorable to specific application domains. We claim
                   that an open, extensible hypermedia system is crucial
                   to attain such tailorability. A hypermedia system
                   should be capable to integrate 1) facilities for
                   incorporating vendor-independent document viewers and
                   2) flexible linking facilities that access external
                   information repositories. This document describes how
                   we extended the Dexter model with the "path" concept,
                   to model hypermedia systems with extensible link
                   engines. We show that paths absorb the notion of links
                   and make it possible to integrate various strategies
                   for resolving links. This proves our claim that "paths
                   end the tyranny of the link". This is demonstrated with
                   a case from the Software Engineering Community: a
                   framework browser. The case involves a hypermedia
                   system that integrates a home-cooked world-wide web
                   browser, an off-the-shelf word processor (Microsoft
                   Word) and a programming environment for Smalltalk
                   (VisualWorks). Besides interpreting embedded (HTML
                   style) anchors, the system is able to query the
                   Smalltalk environment to link documentation to
                   Smalltalk source code. The case serves as a proof of
                   concept that an extensible hypermedia system can
                   penetrate specific application domains.},
  keywords       = {olit hypermedia zypher sergedem-techrep},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme95z/
                   http://www.iam.unibe.ch/~demeyer/Deme95z/dxpath.html
                   http://progwww.vub.ac.be/papers/paperquery.html},
  year           = 1995
}

@Book{Kemp96a,
  Author         = {Alfons Kemper and Andr\'e Eickler},
  Title          = {Datenbank-systeme},
  Publisher      = {R. Oldenbourg Verlag},
  isbn           = {3-486-23008-5},
  keywords       = {olit-db scglib},
  year           = 1996
}

@Article{Bria99a,
  Author         = {Lionel C. Briand and John W. Daly and J\"urgen K.
                   W\"ust},
  Title          = {A {Unified} {Framework} for {Coupling} {Measurement}
                   in {Object}-{Oriented} {Systems}},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {25},
  Number         = {1},
  Pages          = {91-121},
  doi            = {http://dx.doi.org/10.1109/32.748920},
  keywords       = {metrics design-recovery},
  url            = {http://www.ccse.kfupm.edu.sa/~sohel/oometer/references/unified%20coupling%20framework-%20briand.pdf},
  year           = 1999
}

@Article{Smit77a,
  Author         = {J.M. Smith and D.C.P. Smith},
  Title          = {Database Abstractions: Aggregation},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {6},
  Pages          = {405-413},
  keywords       = {dblit data abstraction},
  month          = jun,
  year           = 1977
}

@Book{Garl03a,
  Author         = {Jeff Garland and Richard Anthony},
  Title          = {Large Scale Software Architecture},
  Publisher      = {Wiley and Sons},
  isbn           = {0-470-84849-9},
  keywords       = {oorp scglib},
  year           = 2003
}

@InProceedings{Bruc95a,
  Author         = {Kim B. Bruce and Angela Schuett and Robert van Gent},
  Title          = {PolyTOIL: {A} Type-Safe Polymorphic Object-Oriented
                   Language},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {27-51},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Wuyt01f,
  Author         = {Roel Wuyts},
  Title          = {Synchronising Changes to Design and Implementation
                   using a Declarative Meta-Programming Language},
  BookTitle      = {International Workshop on (Constraint) Logic
                   Programming for Software Engineering},
  abstract       = {When developing software systems, the relation between
                   design and implementation is typically left
                   unspecified. As a result design or implementation can
                   be modified independently of each other, and a
                   modification of either one does not lea ve any trace in
                   the other. The practical result of this is a number of
                   well-known problems such as drift and erosion,
                   documentation maintenance problems or round-trip
                   engineering trouble. To solve these problems we propose
                   to make the relation between des ign and implementation
                   explicit by expressing design as a logic meta program
                   over implementation. This is the cornerstone for
                   building a complete synchronisation framework that
                   allows one to synchronise changes to design and
                   implementation. We have implem ented such
                   synchronisation framework, and applied it successfully
                   on two case studies. },
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 snf02 jb01},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01f.pdf},
  year           = 2001
}

@InProceedings{Brac98a,
  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      = {Proceedings OOPSLA '98, ACM SIGPLAN Notices},
  Pages          = {183-200},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/286936.286957},
  isbn           = {1-58113-005-8},
  location       = {Vancouver, British Columbia, Canada},
  year           = 1998
}

@Misc{SmartBuilding,
  Author         = {UC Berkeley},
  Title          = {Smart Building Admit Their Faults},
  Note           = {Research from the College of Engineering:
                   http://www.coe\-.berkeley.edu\-/labnotes\-/\-1101smartbuildings\-.html},
  url            = {http://www.coe.berkeley.edu/labnotes/1101smartbuildings.html},
  year           = 2001
}

@Book{Terr90a,
  Author         = {Peter Terrel},
  Title          = {Duden Oxford English},
  Publisher      = {DudenVerlag},
  isbn           = {3-411-02075-X},
  keywords       = {scglib},
  year           = 1990
}

@TechReport{Wirs94a,
  Author         = {Martin Wirsing and Friederike Nickl and Ulrike Lechner},
  Title          = {Concurrent Object-Oriented Design Specification in
                   {SPECTRUM}},
  Institution    = {Universit{\"a}t M{\"u}nchen},
  Type           = {Bericht},
  Number         = {9418},
  keywords       = {olit-obcl binder},
  month          = dec,
  year           = 1994
}

@Book{Schw01a,
  Author         = {Ken Schwaber and Mike Beedle},
  Title          = {Agile Software Development with Scrum},
  Publisher      = {Alan R. Apt},
  Edition        = {First},
  isbn           = {0-13-067634-9},
  keywords       = {book scglib},
  year           = 2001
}

@InProceedings{Chan03a,
  Author         = {A. Chan and R. Holmes and G.C. Murphy and A.T. Ying},
  Title          = {Scaling an object-oriented system execution visualizer
                   through sampling},
  BookTitle      = {International Workshop on Program Comprehension},
  year           = 2003
}

@InProceedings{Jerd97b,
  Author         = {Dean J. Jerding and John T. Stasko and Thomas Ball},
  Title          = {Visualizing Interactions in Program Executions},
  BookTitle      = {Proceedings of ICSE '97},
  Pages          = {360-370},
  year           = 1997
}

@InProceedings{Wale03c,
  Author         = {Andrew Walenstein and Arun Lakhotia},
  Title          = {Clone Detector Evaluation Can Be Improved: Ideas from
                   Information Retrieval},
  BookTitle      = {Proceedings of the 2nd International Workshop on
                   Detection of Software Clones (IWDSC'03)},
  month          = nov,
  year           = 2003
}

@Book{Same97a,
  Author         = {Johannes Sametinger},
  Title          = {Software Engineering with Reusable Components},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-62695-6},
  keywords       = {reuse component scglib},
  year           = 1997
}

@TechReport{Deke02a,
  Author         = {Uri Dekel},
  Title          = {Applications of Concept Lattices to Code Inspection
                   and Review},
  Institution    = {Department of Computer Science, Technion},
  keywords       = {conceptanalysis fca},
  year           = 2002
}

@InProceedings{Papa97a,
  Author         = {Michael Papathomas and Juan Hernandez and Juan Manual
                   Murillo and Fernando Sanchez},
  Title          = {Inheritance and Expressive power in Concurrent
                   Object-Oriented Programming},
  BookTitle      = {Proceedings of Langages et Mod\`eles \`a Objets '97},
  Editor         = {Roland Ducournau and Serge Garlatti},
  Pages          = {45-60},
  Address        = {Roscoff, France},
  Publisher      = {Hermes},
  isbn           = {2-86601-650-5},
  keywords       = {olit-conc atom lmo97},
  month          = oct,
  year           = 1997
}

@InProceedings{Harr93a,
  Author         = {William Harrison and Harold Ossher},
  Title          = {Subject-Oriented Programming (A Critique of Pure
                   Objects)},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = 28,
  Pages          = {411-428},
  keywords       = {olit oopsla93 binder},
  month          = oct,
  year           = 1993
}

@TechReport{Bric05a,
  Author         = {J. Brichau and M. Haupt},
  Title          = {Survey of Aspect-oriented Languages and Execution
                   Models},
  Institution    = {AOSD-Europe-VUB-01},
  month          = may,
  year           = 2005
}

@TechReport{Tsic90a,
  Author         = {Dennis Tsichritzis and Simon Gibbs},
  Title          = {Towards Integrated Software Communities},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  Note           = {Submitted as a position paper to the Esprit Advisory
                   Board},
  abstract       = {The large-scale reuse and distribution of software
                   components requires communities of software developers
                   supported by an infrastructure of communication and
                   information services. This paper elaborates on the
                   notion of software communities and describes their role
                   in software production. Problems associated with
                   sharing components within a software community are
                   discussed. Finally the paper describes the steps needed
                   to promote the establishment of a robust software
                   community.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg-ftp om90},
  month          = jul,
  pages          = {3-11},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/integratedSoftwareCommunities.pdf},
  year           = 1990
}

@Misc{xdmspec,
  Author         = "Mary Fernández and Ashok Malhotra and Jonathan Marsh
                   and Marton Nagy and Norman Walsh",
  Title          = "{XQ}uery 1.0 and {XP}ath 2.0 {D}ata {M}odel ({XDM})",
  Note           = "\\ \verb|http://www.w3.org/TR/xquery/|, 23 Jan. 2007"
}

@Article{Canf98a,
  Author         = {Gerardo Canfora and Aniello Cimitile and Ugo de
                   Carlini and Andrea {De Lucia}},
  Title          = {An Extensible System for Source Code Analysis},
  Journal        = {Transactions on Software Engineering},
  Volume         = {24},
  Number         = {9},
  Pages          = {721-740},
  month          = sep,
  organization   = {IEEE},
  year           = 1998
}

@InProceedings{Casa92a,
  Author         = {Eduardo Casais},
  Title          = {An Incremental Class Reorganization Approach},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {114-132},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc refactoring ooreeng},
  month          = jun,
  year           = 1992
}

@TechReport{MOF97a,
  Author         = {{Object} {Management} {Group}},
  Title          = {Meta Object Facility ({MOF}) Specification},
  Institution    = {{Object} {Management} {Group}},
  Number         = {ad/97-08-14},
  key            = {OMG},
  keywords       = {olit UML MOF},
  month          = sep,
  year           = 1997
}

@TechReport{Horo91a,
  Author         = {Michael L. Horowitz},
  Title          = {An Introduction to Object-Oriented Databases and
                   Database Systems},
  Institution    = {Carnegie Mellon University, Information Technology
                   Center},
  Type           = {{CMU-ITC-91-103}},
  Address        = {Pittsburgh, PA},
  keywords       = {oodb-olit survey (smc)},
  month          = aug,
  year           = 1991
}

@Book{Mage99a,
  Author         = {Jeff Magee and Jeffrey Kramer},
  Title          = {Concurrency: State Models \& {Java} Programs},
  Publisher      = {Wiley},
  keywords       = {olit},
  url            = {http://www-dse.doc.ic.ac.uk/concurrency/index.html},
  year           = 1999
}

@Article{Hewi77b,
  Author         = {Carl Hewitt},
  Title          = {Viewing Control Structures as Patterns of Passing
                   Messages},
  Journal        = {Artificial Intelligence},
  Volume         = {8},
  Number         = {3},
  Pages          = {323-364},
  keywords       = {concurrency messages actors binder},
  month          = jun,
  year           = 1977
}

@InProceedings{Shap89a,
  Author         = {Marc Shapiro and Philippe Gautron and Laurence
                   Mossieri},
  Title          = {Persistence and Migration for {C}++ Objects},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {191-204},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit c++ scglib ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Bert93a,
  Author         = {Y. Bertrand and J-F. Dufourd and P. Lienhardt},
  Title          = {Algebraic Specification and Development in Geometric
                   Modeling},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {75-89},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@Article{Quei03,
  Author         = {Christian Queinnec},
  Title          = {Inverting back the inversion of control or,
                   continuations versus page-centric programming},
  Journal        = {SIGPLAN Not.},
  Volume         = {38},
  Number         = {2},
  Pages          = {57--64},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/772970.772977},
  issn           = {0362-1340},
  publisher      = {ACM Press},
  year           = 2003
}

@Article{Mill91a,
  Author         = {James S. Miller and Guillermo J. Rozas},
  Title          = {Free variables and first-class environments},
  Journal        = {Lisp Symb. Comput.},
  Volume         = {4},
  Number         = {2},
  Pages          = {107--141},
  address        = {Hingham, MA, USA},
  doi            = {http://dx.doi.org/10.1007/BF01813016},
  issn           = {0892-4635},
  keywords       = {cop-lit},
  publisher      = {Kluwer Academic Publishers},
  year           = 1991
}

@InProceedings{Punt96a,
  Author         = {Frank Puntigam},
  Title          = {Types for Active Objects Based on Trace Semantics},
  BookTitle      = {Proceedings FMOODS '96},
  Editor         = {IFIP WG 6.1},
  Address        = {Paris, France},
  keywords       = {obib-types FMOODS '96},
  month          = mar,
  url            = {http://www.complang.tuwien.ac.at/franz/papers/fmoods96.ps.gz},
  year           = 1996
}

@InProceedings{Faeh03a,
  Author         = {Manuel F{\"a}hndrich and Rustan Leino},
  Title          = {Declaring and Checking Non-null Types in an
                   Object-Oriented Language},
  BookTitle      = {Proceedings of OOPSLA '03, ACM SIGPLAN Notices},
  url            = {http://research.microsoft.com/~maf/Papers/non-null.pdf},
  year           = 2003
}

@InProceedings{Lian95a,
  Author         = {Sheng Liang and Paul Hudak and Mark P. Jones},
  Title          = {Monad Transformers and Modular Interpreters},
  BookTitle      = {Conference Record of {POPL}~'95},
  Pages          = {333-343},
  Address        = {San Francisco, California},
  keywords       = {popl95 monads},
  year           = 1995
}

@Article{Wegn90a,
  Author         = {Peter Wegner},
  Title          = {Concepts and Paradigms of Object-Oriented Programming},
  Journal        = {ACM OOPS Messenger},
  Volume         = {1},
  Number         = {1},
  Pages          = {7-87},
  keywords       = {olit ioom-intro},
  month          = aug,
  year           = 1990
}

@InProceedings{Lien05a,
  Author         = {Adrian Lienhard and St\'ephane Ducasse and Gabriela
                   Ar{\'e}valo},
  Title          = {Identifying Traits with Formal Concept Analysis},
  BookTitle      = {Proceedings of 20th Conference on Automated Software
                   Engineering (ASE'05)},
  Pages          = {66-75},
  Publisher      = {IEEE Computer Society},
  abstract       = {Traits are basically mixins or interfaces but with
                   method bodies. In languages that support traits,
                   classes are composed out of traits. There are two main
                   advantages with traits. Firstly, decomposing existing
                   classes into traits from which they can be recomposed
                   improves the factoring of hierarchies. Secondly it
                   increases the library reuse potential by providing more
                   reusable traits. Identifying traits and decomposing
                   class hierarchies into traits is therefore an important
                   and challenging task to facilitate maintainability and
                   evolution. In this paper we present how we use Formal
                   Concept Analysis to identify traits in inheritance
                   hierarchies. Our approach is two-staged: first we
                   identify within a hierarchy maximal groups of methods
                   that have a set of classes in common, second we cluster
                   cohesive groups of methods based on method invocations
                   as potential traits. We applied our approach on two
                   significant hierarchies and compare our results with
                   the manual refactorization of the same code which was
                   done by the authors of traits.},
  annote         = {internationalconference topconference},
  cvs            = {ConAnASE05Traits},
  doi            = {http://doi.acm.org/10.1145/1101908.1101921},
  keywords       = {scg-pub snf05 recast06 stefPub moose-pub arevalo jb06
                   listic},
  misc           = {acceptance rate: 28/291 = 9\%},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lien05aIdentifyingTraits.pdf},
  year           = 2005
}

@InProceedings{Male89a,
  Author         = {Jacques Malenfant and Guy Lapalme and Jean Vaucher},
  Title          = {ObjVProlog: Metaclasses in Logic},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {257-269},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl objvprolog binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Misc{Nord95c,
  Author         = {Else K. Nordhagen},
  Title          = {Reliable refinements of composable objects},
  Note           = {Working Draft},
  keywords       = {olit oc binder 114},
  year           = 1995
}

@InProceedings{Mins96a,
  Author         = {Naftaly Minsky},
  Title          = {Towards Alias-Free Pointers},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Series         = {LNCS 1098},
  Pages          = {189-209},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Bigg94b,
  Author         = {Ted J. Biggerstaff},
  Title          = {The Library Scaling Problem and the Limits of Concrete
                   Component Reuse},
  BookTitle      = {Proceedings ICSR 1994},
  year           = 1994
}

@InProceedings{Bour00a,
  Author         = {N. Bouraqadi},
  Title          = {Concern Oriented Programming using Reflection},
  BookTitle      = {Workshop on Advanced Separation of Concerns -- OOPSLA
                   2000},
  keywords       = {metaclass metaclasstalk},
  year           = 2000
}

@Misc{Gael02a,
  Author         = {Markus Gaelli and Marcus Denker},
  Title          = {Freie Software im Unterricht: Squeak},
  annote         = {notrefereed},
  keywords       = {Squeak},
  misc           = {gaelli},
  month          = oct,
  publisher      = {bpb: Bundeszentrale f{\"u}r politische Bildung
                   Deutschland},
  url            = {http://www.bpb.de/methodik/06K756,0,0,Squeak.html},
  year           = 2002
}

@InProceedings{Oliv99,
  Author         = {A. Olivia and L. E. Buzato},
  Title          = {The Design and Implementation of {Guaran{\'a}}},
  BookTitle      = {Proceedings of the 5th USENIX Conference on
                   Object-Oriented Technologies and Systems (COOTS'99)},
  Pages          = {203--216},
  Address        = {San Diego, California, USA},
  month          = may,
  year           = 1999
}

@Article{Dig06a,
  Author         = {Danny Dig and Ralph Johnson},
  Title          = {How do {APIs} evolve? A story of refactoring},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice (JSME)},
  Volume         = 18,
  Number         = 2,
  Pages          = {83-107},
  keywords       = {evolution},
  month          = apr,
  year           = 2006
}

@PhdThesis{Garl88a,
  Author         = {David Barnard Garlan},
  Title          = {Views for Tools in Integrated Environments},
  School         = {Carnegie Mellon University},
  Address        = {Pittsburgh, PA},
  institution    = {Computer Science Department},
  month          = jan,
  year           = 1988
}

@InProceedings{Jeze92a,
  Author         = {J-M. J\'ez\'equel},
  Title          = {{EPEE}: an Eiffel Environment to Program Distributed
                   Memory Parallel Computers},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {197-212},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop92proc},
  month          = jun,
  year           = 1992
}

@Article{Park89a,
  Author         = {Alan Parker and James O. Hamblen},
  Title          = {Computer Algorithms for Plagiarism Detection},
  Journal        = {IEEE Transactions on Education},
  Volume         = {32},
  Number         = {2},
  Pages          = {94-99},
  month          = may,
  year           = 1989
}

@InProceedings{Sout04a,
  Author         = {Eduardo Souto and Germano Guimar\&\#227;es and Glauco
                   Vasconcelos and Mardoqueu Vieira and Nelson Rosa and
                   Carlos Ferraz},
  Title          = {A message-oriented middleware for sensor networks},
  BookTitle      = {MPAC '04: Proceedings of the 2nd workshop on
                   Middleware for pervasive and ad-hoc computing},
  Pages          = {127--134},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028509.1028514},
  isbn           = {1-58113-951-9},
  location       = {Toronto, Ontario, Canada},
  year           = 2004
}

@InProceedings{Tzer98a,
  Author         = {Vassilios Tzerpos and R. C. Holt},
  Title          = {Software {Botryology}, Automatic Clustering of
                   Software Systems},
  BookTitle      = {Proceedings of the 9th International Workshop on
                   Database and Expert Systems Applications},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  year           = 1998
}

@InProceedings{Spoo05a,
  Author         = {S. Alexander Spoon and Olin Shivers},
  Title          = {Demand-Driven Type Inference with Subgoal pruning:
                   Trading Precision for Scalability},
  BookTitle      = {Proceedings of ECOOP'04},
  Pages          = {51-74},
  year           = 2004
}

@Article{Miln78a,
  Author         = {Robin Milner},
  Title          = {A Theory of Type Polymorphism in Programming},
  Journal        = {Journal of Computer and System Sciences},
  Volume         = {17},
  Pages          = {348-375},
  keywords       = {types fp polymorphism binder},
  year           = 1978
}

@Book{Adob90b,
  Author         = {Adobe Systems Incorporated},
  Title          = {PostScript Language Tutorial and Cookbook},
  Publisher      = {Addison Wesley},
  keywords       = {scglib book},
  year           = 1990
}

@Article{Weip03a,
  Author         = {Edgar Weippl and Wolfgang Essmayr},
  Title          = {Personal trusted devices for web services: revisiting
                   multilevel security},
  Journal        = {Mob. Netw. Appl.},
  Volume         = {8},
  Number         = {2},
  Pages          = {151--157},
  address        = {Hingham, MA, USA},
  doi            = {http://dx.doi.org/10.1023/A:1022237215026},
  issn           = {1383-469X},
  publisher      = {Kluwer Academic Publishers},
  year           = 2003
}

@Book{Copl99a,
  Author         = {James O. Coplien},
  Title          = {Multi-Paradigm Design for {C}++},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  year           = 1999
}

@TechReport{Berg99a,
  Author         = {John Bergey and Dennis Smith and Scott Tilley and
                   Nelson Weiderman and Steven Woods},
  Title          = {Why Reengineering Projects Fail},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {{CMU/SEI-99-TR-010}},
  keywords       = {reeng oorp},
  month          = apr,
  url            = {http://www.sei.cmu.edu/publications/documents/99.reports/99tr010/99tr010abstract.html
                   http://www.sei.cmu.edu/pub/documents/99.reports/pdf/99tr010.pdf},
  year           = 1999
}

@InProceedings{Daya88a,
  Author         = {Umeshwar Dayal and Alejandro Buchmann and Dennis
                   McCarthy},
  Title          = {Rules Are Objects Too: A knowledge Model For An
                   Active, Object-Oriented Database System},
  BookTitle      = {Proceedings of the 2nd workshop on Object-Oriented
                   Database Systems: Advances in Object-Oriented Database
                   Systems},
  Volume         = {334},
  Series         = {LNCS},
  Pages          = {129-143},
  year           = 1988
}

@InProceedings{Wool96a,
  Author         = {Bobby Woolf},
  Title          = {The Null Object Pattern},
  BookTitle      = {Design Patterns, PLoP 1996},
  Publisher      = {Robert Allerton Park and Conference Center, University
                   of Illinois at Urbana-Champaign, Monticello, Illinois},
  year           = 1996
}

@TechReport{Arap89a,
  Author         = {Costas Arapis},
  Title          = {Type Conversion and Enhancement in Object-Oriented
                   Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {types olit osg ood89},
  month          = jul,
  pages          = {191-205},
  year           = 1989
}

@InProceedings{Mesn05b,
  Author         = {C{\'e}dric Mesnage and Michele Lanza},
  Title          = {White Coats: Web-Visualization of Evolving Software in
                   3D},
  BookTitle      = {3rd International Workshop on Visualizing Software for
                   Understanding and Analysis (VISSOFT 2005)},
  Pages          = {40--45},
  annote         = {internationalworkshop},
  year           = 2005
}

@Article{Beck95a,
  Author         = {Richard A. Becker and Stephen G. Eick and Allan R.
                   Wilks},
  Title          = {Visualizing Network Data},
  Journal        = {IEEE Transaction on Visualization and Computer
                   Graphics},
  Volume         = {1},
  Number         = {1},
  Pages          = {16-21},
  keywords       = {dotplot},
  month          = mar,
  year           = 1995
}

@InProceedings{Kale93a,
  Author         = {Laxmikant V. Kale and Sanjeev Krishnan},
  Title          = {{CHARM}++: {A} Portable Concurrent Object Oriented
                   System Based On {C}++},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {91-108},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Book{Zell05a,
  Author         = {Andreas Zeller},
  Title          = {Why Programs Fail: A Guide to Systematic Debugging},
  Publisher      = {Morgan Kaufmann},
  isbn           = {1558608664},
  keywords       = {testing},
  month          = {oct},
  year           = 2005
}

@TechReport{Bhar96a,
  Author         = {Krishna A. Bharat and Luca Cardelli},
  Title          = {Migratory Applications},
  Institution    = {Digital},
  Type           = {SCR Research Report},
  Number         = {138},
  keywords       = {agents mobility binder},
  misc           = {February 15},
  month          = feb,
  url            = {http://gatekeeper.dec.com/pub/DEC/SRC/research-report/SRC-138.ps},
  year           = 1996
}

@TechReport{ISO89a,
  Author         = {{ISO8807}},
  Title          = {Information Processing Systems --- Open Systems
                   Interconnection -- {LOTOS} --- {A} formal description
                   technique based on the temporal ordering of
                   observational behaviour},
  Institution    = {ISO8807},
  Type           = {International Standard ISO},
  Number         = {8807},
  keywords       = {pcalc lotos ccs},
  year           = 1989
}

@InProceedings{Slom01a,
  Author         = {A. Slominski and M. Govindaraju and D. Gannon and R.
                   Bramley},
  Title          = {Design of an XML based Interoperable RMI System:
                   SoapRMI C++/Java 1.1},
  BookTitle      = {In Proceedings of PDPTA'01},
  Pages          = {1661--1667},
  month          = jun,
  year           = 2001
}

@TechReport{Mart82a,
  Author         = {Pat Martin and Dennis Tsichritzis},
  Title          = {A Message Management Model},
  Institution    = {University of Toronto},
  Type           = {Alpha-Beta, Technical Report},
  Number         = {CSRG-143},
  keywords       = {oislit mail},
  month          = may,
  pages          = {63-77},
  year           = 1982
}

@InProceedings{Ganz82a,
  Author         = {H. Ganzinger and R. Giegerich and U. M{\"o}ncke and
                   Robert Wilhelm},
  Title          = {A Truly Generative Semantics-Directed Compiler
                   Generator},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on
                   Compiler Construction},
  Volume         = {17},
  Pages          = {172-184},
  keywords       = {compiler generator mug2 patterns},
  month          = jun,
  year           = 1982
}

@InProceedings{VanH96b,
  Author         = {Michael VanHilst and David Notkin},
  Title          = {{Using Role Components to Implement
                   Collaboration-Based Designs}},
  BookTitle      = {Proceedings OOPSLA '96},
  Pages          = {359-369},
  Publisher      = {ACM Press},
  year           = 1996
}

@Article{Mao80a,
  Author         = {T.W. Mao and R.T. Yeh},
  Title          = {Communication Port: a Language Concept for Concurrent
                   Programming},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-6},
  Number         = {2},
  Pages          = {194-204},
  keywords       = {concurrency other tugs},
  month          = mar,
  year           = 1980
}

@InProceedings{Kosc02a,
  Author         = {Rainer Koschke},
  Title          = {Atomic Architectural Component Recovery for Program
                   Understanding and Evolution},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance},
  keywords       = {design-recovery},
  month          = oct,
  url            = {http://doi.ieeecs.org/10.1109/ICSM.2002.1167807},
  year           = 2002
}

@InProceedings{VanE03a,
  Author         = {Robert van Engelen},
  Title          = {Pushing the SOAP envelope with web services for
                   scientific computing},
  BookTitle      = {In proceedings of the International Conference on Web
                   Services (ICWS)},
  Pages          = {346--352},
  location       = {Las Vegas},
  year           = 2003
}

@InProceedings{Nguy89a,
  Author         = {G.A. Nguyen and D. Rieu},
  Title          = {Schema Change Propagation in Object-oriented Databases},
  BookTitle      = {IFIP 11th World Computer Conference},
  Editor         = {G.X. Ritter},
  Pages          = {815-820},
  Address        = {San Francisco, CA},
  Publisher      = {North-Holland},
  keywords       = {olit-oodb schema evolution (smc)},
  year           = 1989
}

@InProceedings{Garb94a,
  Author         = {Beno\^it Garbinato and Rachid Guerraoui and Karim R.
                   Mazouni},
  Title          = {Distributed Programming in {GARF}},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {225-239},
  Publisher      = {Springer-Verlag},
  abstract       = {GARF is an object-oriented programming environment
                   aimed to support the design of reliable distributed
                   applications. Its computational model is based on two
                   programming levels: the functional level and the
                   behavioral level. At the functional level, software
                   functionalities are described using passive objects,
                   named data objects, in a centralized, volatile, and
                   failure free environment. At the behavioral level, data
                   objects are dynamically bound to encapsulators and
                   mailers which support distribution, concurrency,
                   persistence and fault tolerance. Encapsulators wrap
                   data objects by controlling how the latter send and
                   receive messages, while mailers perform communications
                   between encapsulators. This paper describes how the
                   GARF computational model enables to build flexible and
                   highly modular abstractions for the design of reliable
                   distributed applications.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@Book{Corm90b,
  Author         = {Thomas H. Corman and Charles E. Leiserson and Ronald
                   L. Rivest},
  Title          = {Introduction to Algorithms},
  Publisher      = {MIT Press},
  isbn           = {0-262-03141-8},
  keywords       = {algorithms scglib},
  year           = 1990
}

@InProceedings{Inga76a,
  Author         = {Dan Ingalls},
  Title          = {The {Smalltalk}-76 Programming System Design and
                   Implementation},
  BookTitle      = {POPL'76, Principles of Programming Languages},
  Pages          = {9-16},
  Publisher      = {ACM Press},
  year           = 1976
}

@Book{Stev90a,
  Author         = {W. Richard Stevens},
  Title          = {Unix Network Programming},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-949876-1},
  keywords       = {networks scglib},
  year           = 1990
}

@Article{Chen02a,
  Author         = {Chen, Chun-Houh},
  Title          = {Generalized Association Plots: Information
                   Vizualization via Interactively Generated Correlation
                   Matrices},
  Journal        = {Statistica Sinica},
  Volume         = {12},
  Number         = {7},
  keywords       = {seriation},
  month          = dec,
  year           = 2002
}

@Article{Edwa94a,
  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 Softw. Eng. Notes},
  Volume         = {19},
  Number         = {4},
  Pages          = {29-39},
  doi            = {http://doi.acm.org/10.1145/190679.190682},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1994
}

@MastersThesis{Roet06a,
  Author         = {David R{\"o}thlisberger},
  Title          = {{Geppetto}: Enhancing {Smalltalk}'s Reflective
                   Capabilities with Unanticipated Reflection},
  School         = {University of Bern},
  Type           = {Master's Thesis},
  abstract       = { Reflection is an important tool to extend and modify
                   the semantics or runtime of applications. However, lot
                   of approaches to support reflection are based on
                   up-front fully reflective or load-time based reflection
                   mechanisms. Using these approaches, it is not possible
                   to apply reflective techniques on running systems
                   without stopping them, unless the system is fully
                   reflection which is very costly. Because many
                   applications and systems exist that cannot be halted
                   and stopped but have to be always on and running, such
                   as web applications, real-time systems or mobile
                   systems, the ability to apply reflective features at
                   runtime is a crucial and important property. Our
                   solution to achieve this possibility is unanticipated
                   reflection. With unanticipated reflection, we can
                   design the MOP required for the problem we want to
                   solve, introduce it in the language, activate the
                   reflective mechanisms and possibly remove them once
                   they are not necessary anymore at runtime, without
                   halting the system or the application in which we want
                   to apply and use the reflective mechanisms. },
  keywords       = {scg-msc snf06 jb06 fb06},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Roet06a.pdf},
  year           = 2006
}

@InProceedings{Anco00a,
  Author         = {Davide Ancona and Giovanni Lagorio and Elena Zucca},
  Title          = {Jam --- A Smooth Extension of {Java} with Mixins},
  BookTitle      = {ECOOP 2000},
  Number         = {1850},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {145-178},
  year           = 2000
}

@InProceedings{Kosc00b,
  Author         = {Rainer Koschke and Thomas Eisenbarth},
  Title          = {A Framework for Experimental Evaluation of Clustering
                   Techniques},
  BookTitle      = {Proceedings of the International Workshop on Program
                   Comprehension, IWPC'2000},
  Organization   = {IEEE},
  month          = jun,
  year           = 2000
}

@InProceedings{Geno89a,
  Author         = {Stefano Genolini and Andrea Di Maio and Cinzia
                   Cardigno and Stephen Goldsack and Colin Atkinson},
  Title          = {Specifying Synchronisation Constraints in a Concurrent
                   Object-Oriented Language},
  BookTitle      = {Proceedings TOOLS '89},
  keywords       = {olit-obcl dragoon tools89 binder},
  month          = nov,
  year           = 1989
}

@InProceedings{Pals90a,
  Author         = {Jens Palsberg and Michael I. Schwartzbach},
  Title          = {Type Substitution for Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {151-160},
  keywords       = {types olit oopsla90 ecoop90proc},
  month          = oct,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1990
}

@Book{Gris96a,
  Author         = {Ralph E. Griswold and Madge T. Griswold},
  Title          = {The Icon Programming Language},
  Publisher      = {Peer-to-Peer Communications},
  isbn           = {1-57398-001-3},
  keywords       = {icon scripting},
  month          = dec,
  url            = {http://www.peer-to-peer.com/catalog/language/icon.html},
  year           = 1996
}

@Article{Bhan94a,
  Author         = {Sanjay Bhansali},
  Title          = {Software Synthesis using Generic Architectures},
  Journal        = {Automated Software Engineering},
  Volume         = {1},
  Number         = {3},
  Pages          = {239-280},
  editor         = {W. Lewis Jhonson and Anthony Finkelstein},
  keywords       = {olit binder},
  publisher      = {Kluwer Academic Publishers},
  year           = 1994
}

@Article{Duca07X,
  Author         = {Ducasse, St\'ephane and Pollet, Damien and Poyet,
                   Lo\"{\i}c},
  Title          = {Software Architecture Reconstruction: A
                   Process-Oriented Taxonomy},
  Journal        = {Computing Surveys},
  abstract       = { To maintain and understand large applications, it is
                   crucial to know their architecture. The first problem
                   is that unlike classes and packages, architecture is
                   not explicitly represented in the code. The second
                   problem is that successful applications evolve over
                   time, so their architecture inevitably drifts.
                   Reconstructing the architecture and checking whether it
                   is still valid is therefore an important aid. While
                   there is a plethora of approaches and techniques
                   supporting architecture reconstruction, there is no
                   comprehensive state of the art and it is often
                   difficult to compare the approaches. This article
                   presents a state of the art in software architecture
                   reconstruction approaches. },
  annote         = {internationaljournal},
  keywords       = {scg-sub},
  year           = 2007
}

@InProceedings{Manc98a,
  Author         = {Spiros Mancoridis and Brian S. Mitchell},
  Title          = {Using {Automatic} {Clustering} to produce
                   {High}-{Level} {System} {Organizations} of {Source}
                   {Code}},
  BookTitle      = {Proceedings of IWPC '98 (International Workshop on
                   Program Comprehension)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  year           = 1998
}

@Unpublished{Nebb97a,
  Author         = {R. Nebbe and T.D. Meijler and S. Demeyer and S.
                   Ducasse and T. Richner},
  Title          = {Formal Model for Basic Object-Oriented Software
                   Structures},
  Note           = {Esprit IV \#21975 FAMOOS Achievement A2.2.1},
  month          = feb,
  publisher      = {University of Bern},
  year           = 1997
}

@InProceedings{Denk07b,
  Author         = {Marcus Denker and St\'ephane Ducasse and Adrian
                   Lienhard and Philippe Marschall},
  Title          = {Sub-Method Reflection},
  BookTitle      = {Proceedings of TOOLS'07},
  Note           = {To appear},
  abstract       = {Reflection has proved to be a powerful feature to
                   support the design of development environments and to
                   extend languages. However, the granularity of
                   structural reflection stops at the method level. This
                   is a problem since without sub-method reflection
                   developers have to duplicate efforts, for example to
                   introduce transparently pluggable type-checkers or
                   fine-grained profilers. In this paper we present
                   Persephone, an efficient implementation of a sub-method
                   meta-object protocol (MOP) based on AST annotations and
                   dual methods (a compiled method and its meta-object)
                   that reconcile AST expressiveness with bytecode
                   execution. We validate the MOP by presenting TreeNurse,
                   a method instrumentation framework and TypePlug, an
                   optional, pluggable type system which is based on
                   Persephone.},
  annote         = {internationalconference},
  keywords       = {scg-sub},
  year           = 2007
}

@InProceedings{Canf06a,
  Author         = {Gerardo Canfora and Luigi Cerulo},
  Title          = {Supporting Change Request Assignment in Open Source
                   Development},
  BookTitle      = {Proceedings of 2006 ACM Symposium on Applied Computing},
  Pages          = {1767-1772},
  Organization   = {ACM},
  Publisher      = {ACM Society Press},
  location       = {New York, NY},
  year           = 2006
}

@InProceedings{Gogu90c,
  Author         = {Joseph A. Goguen},
  Title          = {Types as Theories},
  BookTitle      = {Proc. of Symposium on General Topology and
                   Applications},
  Publisher      = {Oxford University Press},
  Note           = {To appear},
  keywords       = {concurrency semantics binder},
  year           = 1990
}

@InProceedings{Scha04a,
  Author         = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar
                   Nierstrasz and Roel Wuyts},
  Title          = {Composable Encapsulation Policies},
  BookTitle      = {Proceedings of European Conference on Object-Oriented
                   Programming (ECOOP'04)},
  Series         = {LNCS 3086},
  Pages          = {26-50},
  Publisher      = {Springer Verlag},
  abstract       = {Given the importance of encapsulation to
                   object-oriented programming, it is surprising to note
                   that mainstream object-oriented languages offer only
                   limited and fixed ways of encapsulating methods.
                   Typically one may only address two categories of
                   clients, users and heirs, and one must bind visibility
                   and access rights at an early stage. This can lead to
                   inflexible and fragile code as well as clumsy
                   workarounds. We propose a simple and general solution
                   to this problem in which encapsulation policies can be
                   specified separately from implementations. As such they
                   become first-class composable entities that can be
                   reused by different classes. We present a detailed
                   analysis of the problem with encapsulation and
                   visibility mechanisms in mainstream OO languages, we
                   introduce our approach in terms of a simple model, and
                   we evaluate how our approach compares with existing
                   approaches. We also assess the impact of incorporating
                   encapsulation policies into Smalltalk and discuss some
                   implementation issues. },
  annote         = {internationalconference topconference},
  cvs            = {EncapsulationPoliciesECOOP2004},
  doi            = {http://dx.doi.org/10.1007/b98195},
  keywords       = {snf04 scg-pub jb04 scg-traits stefPub schaerli},
  misc           = {acceptance rate: 25/132 = 19\%},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha04aEncapsulationPolicies.pdf},
  year           = 2004
}

@InProceedings{Anto00a,
  Author         = {G. Antoniol and G. Casazza and E. Merlo},
  Title          = {{GAWK} Software System Evolution},
  BookTitle      = {Proc. Int. Workshop on Feedback and Evolution in
                   Software and Business Processes (FEAST)},
  keywords       = {evolution},
  month          = jul,
  year           = 2000
}

@Book{Kori02a,
  Author         = {Gene Korienek and Tom Wrensch and Doug Dechow},
  Title          = {Squeak --- A Quick Trip to Objectland},
  Publisher      = {Addison Wesley},
  keywords       = {scglib smalltalk squeak},
  year           = 2002
}

@Article{Lowr92a,
  Author         = {Andy Lowry},
  Title          = {The Hermes Language in Outline Form},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {27},
  Number         = {8},
  Pages          = {51-70},
  keywords       = {plang hermes binder (shelf)},
  month          = aug,
  year           = 1992
}

@InProceedings{Burc05a,
  Author         = {Michael Burch and Stephan Diehl and Peter Wei\ss
                   gerber},
  Title          = {Visual Data Mininng in software Archives},
  BookTitle      = {Proceedings of 2005 ACM Symposium on Software
                   Visualization (Softviz 2005)},
  Pages          = {37-46},
  Address        = {St. Louis, Missouri, USA},
  keywords       = {evolution, visualization},
  month          = may,
  year           = 2005
}

@InProceedings{Lapi00a,
  Author         = {S\'ebastien Lapierre and Bruno Lagu{\"e} and Charles
                   Leduc},
  Title          = {Datrix(TM) Source Code Model and its Interchange
                   Format: Lessons Learned and Considerations for Future
                   Work},
  BookTitle      = {Proceedings of the ICSE 2000 Workshop on Standard
                   Exchange Format (WoSEF 2000)},
  month          = jun,
  year           = 2000
}

@InProceedings{Kaul06a,
  Author         = {Dimple Kaul and Aniruddha Gokhale},
  Title          = {Middleware specialization using aspect oriented
                   programming},
  BookTitle      = {ACM-SE 44: Proceedings of the 44th annual Southeast
                   regional conference},
  Pages          = {319--324},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1185448.1185520},
  isbn           = {1-59593-315-8},
  location       = {Melbourne, Florida},
  year           = 2006
}

@InProceedings{Fole88a,
  Author         = {James Foley and Christina Gibbs and Won Chul Kim and
                   Srdjan Kovacevic},
  Title          = {A Knowledge-based User Interface Management System},
  BookTitle      = {CHI '88 Conference Proceedings},
  Editor         = {Elliot Soloway and Douglas Frye and Sylvia B. Sheppard},
  keywords       = {User Interface},
  year           = 1988
}

@InProceedings{Zhao04a,
  Author         = {Tian Zhao and James Noble and Jan Vitek},
  Title          = {Scoped Types for Real-Time {Java}},
  BookTitle      = {RTSS '04: Proceedings of the 25th IEEE International
                   Real-Time Systems Symposium (RTSS'04)},
  Pages          = {241-251},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/REAL.2004.51},
  isbn           = {0-7695-2247-5},
  keywords       = {nonstandard types},
  url            = {http://jiangxi.cs.uwm.edu/publication/drafts/scoped04.pdf
                   http://jiangxi.cs.uwm.edu/publication/rtss04.pdf},
  year           = 2004
}

@Article{Syst01a,
  Author         = {Syst{\"a} and Koskimies and M\"{u}ller},
  Title          = {Shimba --- An Environment for Reverse Engineering
                   {Java} Software Systems},
  Journal        = {Software --- Practice and Experience},
  Volume         = 1,
  Number         = 1,
  month          = jan,
  year           = 2001
}

@Article{Lejt92a,
  Author         = {Moises Lejter and Scott Meyers and Steven P. Reiss},
  Title          = {Support for Maintaining Object-Oriented Programs},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-18},
  Number         = {12},
  Pages          = {1045-1052},
  keywords       = {olit},
  month          = dec,
  year           = 1992
}

@InProceedings{Jaco86a,
  Author         = {Ivar Jacobson},
  Title          = {Language Support for Changeable Large Real Time
                   Systems},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {377-384},
  keywords       = {olit distribution real-time oopsla86},
  month          = nov,
  year           = 1986
}

@TechReport{Masi89a,
  Author         = {{Centre de Recherche en Informatique de Nancy,
                   Vandoeuvre-l\`es-Nancy}},
  Title          = {Les Mardis Objets du {CRIN}, 20 Oct. 1987 --- 31 Mai
                   1988},
  Institution    = {Centre de Recherche en Informatique de Nancy,
                   Vandoeuvre-l\`es-Nancy},
  Type           = {(CRIN},
  Number         = {89-R-072)},
  editor         = {G. Masini and Amedeo Napoli and D. Colnet D. L\'eonard
                   and Karl Tombre},
  keywords       = {olit},
  year           = 1989
}

@Book{Zimm96a,
  Author         = {Chris Zimmermann (ed.)},
  Title          = {Advances in Object-Oriented Metalevel Architectures
                   and Reflection},
  Publisher      = {CRC Press},
  keywords       = {scglib},
  year           = 1996
}

@Book{Favr06a,
  Author         = {Jean-Marie Favre and Jacky Estublier and Mireille Blay},
  Title          = {L'ing\'enierie dirig\'ee par les mod\`eles: au-del\`a
                   du MDA},
  Publisher      = {Hermes-Lavoisier},
  Note           = {ISBN: 2-7462-12-12-7},
  month          = {feb},
  pages          = {240},
  year           = 2006
}

@InProceedings{John91b,
  Author         = {Brian Johnson and Ben Shneiderman},
  Title          = {Tree-Maps: a space-filling approach to the
                   visualization of hierarchical information structures},
  BookTitle      = {VIS '91: Proceedings of the 2nd conference on
                   Visualization '91},
  Pages          = {284--291},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-8186-2245-8 (PAPER)},
  location       = {San Diego, California},
  year           = 1991
}

@InProceedings{Cian91a,
  Author         = {Paolo Ciancarini},
  Title          = {{POLIS}: {A} Programming Model for Multiple Tuple
                   Spaces},
  BookTitle      = {Proceedings of the 6th International Workshop on
                   Software Specification and Design},
  Pages          = {44-51},
  Address        = {Como, Italy},
  keywords       = {concurrency binder},
  misc           = {Oct. 25-26},
  month          = oct,
  year           = 1991
}

@TechReport{Scha03b,
  Author         = {Nathanael Sch\"arli and Andrew P. Black},
  Title          = {A Browser for Incremental Programming},
  Institution    = {OGI School of Science \& Engineering},
  Type           = {Technical Report},
  Number         = {CSE-03-008},
  Address        = {Beaverton, Oregon, USA},
  abstract       = {Much of the elegance and power of Smalltalk comes from
                   its programming environment and tools. First introduced
                   more than 20 years ago, the Smalltalk browser enables
                   programmers to ``home in'' on particular methods using
                   a hierarchy of manually-defined classifications. By its
                   nature, this classification scheme says a lot about the
                   desired state of the code, but little about the actual
                   state of the code as it is being developed. We have
                   extended the Smalltalk browser with dynamically
                   computed virtual categories that dramatically improve
                   the browser's support for incremental programming. We
                   illustrate these improvements by example, and describe
                   the algorithms used to compute the virtual categories
                   efficiently.},
  annote         = {notrefereed},
  cvs            = {TraitsBrowserESUG2003},
  keywords       = {snf-redundant scg-pub skipdoi scg-traits jb03 schaerli},
  misc           = {schaerli},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha03bTraitsBrowser.pdf},
  year           = 2003
}

@InProceedings{Dony90a,
  Author         = {Christophe Dony},
  Title          = {Exception Handling and Object-Oriented Programming:
                   Towards a Synthesis},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {322-330},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Book{Wirt92a,
  Author         = {Niklaus Wirth and Jurg Gutknecht},
  Title          = {Project Oberon: The Design of an Operating System and
                   Compiler},
  Publisher      = {MIT Press},
  isbn           = {0-201-54428-8},
  keywords       = {oobib(gen) olit-oopl oobib(oopl) book},
  year           = 1992
}

@Booklet{Ardi95b,
  Title          = {Une premi\`ere approche fonctionnelle et r\'ecursive
                   de la programmation},
  Author         = {Laurent Arditi and St\'ephane Ducasse},
  Note           = {support de cours de Deug SM-PE et Mass, 120 pages},
  annote         = {lectures},
  keywords       = {stefPub},
  year           = 1995
}

@InCollection{McIl69a,
  Author         = {M. Douglas McIlroy},
  Title          = {Mass Produced Software Components},
  BookTitle      = {Software Engineering},
  Publisher      = {NATO Science Committee},
  Editor         = {P. Naur and B. Randell},
  Pages          = {138-150},
  keywords       = {olit binder},
  month          = jan,
  year           = 1969
}

@InProceedings{Nguy92a,
  Author         = {G.T. Nguyen and D. Rieu and J. Escamilla},
  Title          = {An Object Model for Engineering Design},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Series         = {LNCS 615},
  Pages          = {233-251},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Arev04a,
  Author         = {Gabriela Ar{\'e}valo and Frank Buchli and Oscar
                   Nierstrasz},
  Title          = {Detecting Implicit Collaboration Patterns},
  BookTitle      = {Proceedings of WCRE '04 (11th Working Conference on
                   Reverse Engineering)},
  Pages          = {122-131},
  Publisher      = {IEEE Computer Society Press},
  abstract       = { A key problem during software development and
                   maintenance is to detect and recognize recurring
                   collaborations among software artifacts that are
                   implicit in the code. These collaboration patterns are
                   typically signs of applied idioms, conventions and
                   design patterns during the development of the system,
                   and may entail implicit contracts that should be
                   respected during maintenance, but are not documented
                   explicitly. In this paper we apply Formal Concept
                   Analysis to detect implicit collaboration patterns. Our
                   approach generalizes Antoniol and Tonella one for
                   detecting classical design patterns. We introduce a
                   variation to their algorithm to reduce the computation
                   time of the concepts, a language-independent approach
                   for object-oriented languages, and a post-processing
                   phase in which pattern candidates are filtered out. We
                   identify collaboration patterns in the analyzed
                   applications, match them against libraries of known
                   design patterns, and establish relationships between
                   detected patterns and their nearest neighbours. },
  annote         = {internationalconference},
  cvs            = {ConAnPatternsWCRE04},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.18},
  keywords       = {olit scg-pub jb05 recast05 snf04 arevalo moose-pub},
  location       = {Delft, The Netherlands},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev04aWCRE04CollaborationPatterns.pdf},
  year           = 2004
}

@InProceedings{Palt97a,
  Author         = {S. Palthepu and J.E. Greer and G.I. McCalla},
  Title          = {{Clich}\'e {Recognition} in {Legacy} {Software}: {A}
                   {Scalable}, {Knowlegde}-{Based} {Approach}},
  BookTitle      = {Proceedings Fourth Working Conference on Reverse
                   Engineering},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {94-103},
  Publisher      = {IEEE Computer Society},
  year           = 1997
}

@InProceedings{Kilo93d,
  Author         = {Haim Kilov},
  Title          = {Information Modeling and Object {Z}: Specifying
                   Generic Reusable Associations},
  BookTitle      = {Proceedings of the International Workshop on Next
                   Generation Information Technologies and Systems},
  Editor         = {Opher Etzion \& Arie Segev},
  Pages          = {182-191},
  keywords       = {olit binder},
  month          = jun,
  year           = 1993
}

@InProceedings{Holm97a,
  Author         = {David Holmes and James Noble and John Potter},
  Title          = {{Aspects of Synchronisation}},
  BookTitle      = {Proceedings of TOOLS-25'97},
  Publisher      = {IEEE},
  keywords       = {oobib synchronization Rings},
  month          = nov,
  year           = 1997
}

@InProceedings{Fjel79a,
  Author         = {R.K. Fjeldstad and W. T. Hamlen},
  Title          = {Application Program maintenance study: report to our
                   respondents},
  BookTitle      = {Proceedings of GUIDE 48},
  Publisher      = {The Guide Corporation},
  city           = {Philedalphia},
  keywords       = {oorp},
  year           = 1979
}

@Article{Lamp83a,
  Author         = {Leslie Lamport},
  Title          = {Specifying Concurrent Program Modules},
  Journal        = {ACM TOPLAS},
  Volume         = {5},
  Number         = {2},
  Pages          = {190-222},
  keywords       = {concurrency},
  month          = apr,
  year           = 1983
}

@InProceedings{Vala98a,
  Author         = {R.R. Valasareddi and D.L. Carver},
  Title          = {A Graph-Based Object Identification Process for
                   Procedural Programs},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {50-59},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InCollection{Tsic85e,
  Author         = {Dennis Tsichritzis},
  Title          = {Objectworld},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {379-398},
  Address        = {Heidelberg},
  keywords       = {olit-appl knos knowrep oact85},
  year           = 1985
}

@TechReport{Arap90a,
  Author         = {Costas Arapis},
  Title          = {Specifying Object Life-Cycles},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {In this paper we propose a number of extensions for
                   object-oriented models in order to describe dynamic
                   aspects of applications. These extensions enable the
                   specification of objects that modify their behavior
                   dynamically and the control of the dynamic evolution of
                   objects by means of constraints expressed in the
                   language of propositional temporal logic. We shall
                   point out what differentiates our proposal from
                   existing models and give examples to illustrate our
                   arguments. We also present an algorithm for verifying
                   consistency of specifications and which is suitable for
                   an eventual implementation of our extensions.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg-ftp om90},
  month          = jul,
  pages          = {197-225},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/objectLifeCycle.pdf},
  year           = 1990
}

@PhdThesis{Jul88b,
  Author         = {Eric Jul},
  Title          = {Object Mobility in a Distributd Object-Oriented System},
  School         = {Department of Computer Science, University of
                   Washington},
  Type           = {Ph.{D}. Thesis},
  Address        = {Seattle},
  keywords       = {olit-obcl emerald},
  month          = dec,
  number         = {TR 88-12-06},
  year           = 1988
}

@InProceedings{John93a,
  Author         = {Richard Johnson and Murugappan Palaniappan},
  Title          = {MetaFlex: {A} Flexible Metaclass Generator},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {503-528},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Motivated to support the needs of component-based
                   applications, we have developed a system called
                   MetaFlex that generates metaclasses to extend the
                   behavior of our C++ classes without inventing variants
                   of the original classes. We make the case that a
                   flexible metaclass generator service that allows
                   developers to freely choose the kind and degree of
                   detail for each metaclass is needed and present our
                   architecture for making this specification. We also
                   illustrate a powerful use of this technique with a
                   scripting extension to our application framework. With
                   an evaluation of our current MetaFlex implementation
                   and its use with the scripting extension, we conclude
                   that this service is best provided by compiler vendors.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Smit86a,
  Author         = {Reid G. Smith and Rick Dinitz and Paul Barth},
  Title          = {Impulse-86: {A} Substrate for Object-Oriented
                   Interface Design},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {167-176},
  keywords       = {olit-appl impulse86 ui oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Mell98a,
  Author         = {Stephen J. Mellor and Steve Tockey and Rodolphe
                   Arthaud and Philippe LeBlanc},
  Title          = {Software-platform-independent, Precise Action
                   Specifications for {UML}},
  BookTitle      = {The Unified Modeling Language, UML'98 - Beyond the
                   Notation. First International Workshop, Mulhouse,
                   France, June 1998},
  Editor         = {Jean B{\'e}zivin and Pierre-Alain Muller},
  Number         = {1618},
  Series         = {LNCS},
  Pages          = {281--286},
  year           = 1998
}

@Book{Alur01a,
  Author         = {Deepak Alur and John Crupi and Dan Malks},
  Title          = {Core J2EE Patterns: Best Practices and Design
                   Strategies},
  Publisher      = {Pearson Education},
  isbn           = {0130648841},
  year           = 2001
}

@TechReport{Abra04a,
  Author         = {A. Abran and P. Bourque and R. Dupuis and L.L. Tripp},
  Title          = {Guide to the software engineering body of knowledge
                   (ironman version)},
  Institution    = {IEEE Computer Society},
  year           = 2004
}

@Book{Feat05a,
  Author         = {Michael C. Feathers},
  Title          = {Working Effectively with Legacy Code},
  Publisher      = {Prentice Hall},
  isbn           = {0-13-117705-2},
  keywords       = {olit scglib},
  year           = 2005
}

@InProceedings{Doue04a,
  Author         = {R\'{e}mi Douence and Pascal Fradet and Mario
                   S\"{u}dholt},
  Title          = {Composition, reuse and interaction analysis of
                   stateful aspects},
  BookTitle      = {AOSD '04: Proceedings of the 3rd international
                   conference on Aspect-oriented software development},
  Pages          = {141--150},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/976270.976288},
  isbn           = {1-58113-842-3},
  location       = {Lancaster, UK},
  year           = 2004
}

@TechReport{Roth94a,
  Author         = {Jeff Rothenberg and Sanjai Narain},
  Title          = {The Rand Advanced Simulation Language Project's
                   Declarative Modeling Formalism ({DMOD})},
  Institution    = {National Defense Research Institute},
  Type           = {Technical Report},
  Number         = {MR-376-ARPA},
  isbn           = {0-8330-1555-9},
  keywords       = {testing},
  year           = 1994
}

@InProceedings{DAmb06c,
  Author         = {Marco D'Ambros and Michele Lanza},
  Title          = {Applying the Evolution Radar to PostgreSQL},
  BookTitle      = {Proceedings of MSR 2006 (3rd International Workshop on
                   Mining Software Repositories)},
  Pages          = {177 - 178},
  mon            = may,
  year           = 2006
}

@InProceedings{Huix01a,
  Author         = {Huixiang Liu and Timothy C. Lethbridge},
  Title          = {Intelligent search techniques for large software
                   systems},
  BookTitle      = {Proceedings of Centre for Advanced Studies on
                   Collaborative research (CASCON)},
  Pages          = {10},
  year           = 2001
}

@InProceedings{DHon02a,
  Author         = {Th\'eo D'Hondt and Wolfgang},
  Title          = {Of first-class methods and dynamic scaope},
  BookTitle      = {Actes de LMO'2002: Langages et Mod\`eles \`a Objets},
  year           = 2002
}

@Article{Wong99a,
  Author         = {W. Eric Wong and Joseph R. Horgan and Swapna S.
                   Gokhale and Kishor S. Trivedi},
  Title          = {Locating Program Features using Execution Slices},
  Journal        = {asset},
  Volume         = {00},
  Pages          = {194},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ASSET.1999.756769},
  isbn           = {0-7695-0122-2},
  publisher      = {IEEE Computer Society},
  year           = 1999
}

@Book{Knut73b,
  Author         = {D.E. Knuth},
  Title          = {Fundamental Algorithms},
  Publisher      = {Addison Wesley},
  Volume         = {1},
  Series         = {The Art of Computer Programming},
  Address        = {Reading, Mass.},
  isbn           = {0-201-03809-9},
  keywords       = {misc book scglib},
  year           = 1973
}

@Article{Misr88a,
  Author         = {S.K. Misra and P.J. Jalic},
  Title          = {Third-Generation versus Fourth-Generation Software
                   Development},
  Journal        = {IEEE Software},
  Volume         = {5},
  Number         = {4},
  Pages          = {8-14},
  keywords       = {olit 4gl},
  month          = jul,
  year           = 1988
}

@Book{Guzd01a,
  Author         = {Mark Guzdial},
  Title          = {Squeak --- Object Oriented Design with Multimedia
                   Applications},
  Publisher      = {Prentice-Hall},
  keywords       = {scglib},
  year           = 2001
}

@InProceedings{Budd92a,
  Author         = {Reinhard Budde and Marie-Luise Christ-Neumann and
                   Karl-Heinz Sylla},
  Title          = {Tools and Materials: An Analysis and Design Metaphor},
  BookTitle      = {Proceedings of TOOLS Europe 92},
  Address        = {Dortmund},
  keywords       = {olit-oose},
  year           = 1992
}

@InProceedings{Yoko92a,
  Author         = {Yasuhiko Yokote},
  Title          = {The Apertos Reflective Operating System: The Concept
                   and its Implementation},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {414-434},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Article{Aceb02a,
  Author         = {C\&\#233;sar F. Acebal and Ra\&\#250;l Izquierdo
                   Castanedo and Juan M. Cueva Lovelle},
  Title          = {Good design principles in a compiler university course},
  Journal        = {SIGPLAN Not.},
  Volume         = {37},
  Number         = {4},
  Pages          = {62--73},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/510857.510870},
  issn           = {0362-1340},
  publisher      = {ACM Press},
  year           = 2002
}

@InProceedings{Hauc93a,
  Author         = {Franz J. Hauck},
  Title          = {Inheritance Modeled with Explicit Bindings: An
                   Approach to Typed Inheritance},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {231-239},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Article{Inve91a,
  Author         = {Paola Inverardi and Corrado Priami},
  Title          = {Evaluation of Tools for the Analysis of Communicating
                   Systems},
  Journal        = {Bulletin of EATCS},
  Volume         = {45},
  Pages          = {158-185},
  keywords       = {concurrency tools binder},
  month          = oct,
  year           = 1991
}

@InProceedings{Shah89a,
  Author         = {Ashwin V. Shah and Jung H. Hamel and Renee E. Borsari
                   and James E. Rumbaugh},
  Title          = {{DSM}: An Object-Relationship Modeling Language},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {191-202},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Duca06a,
  Author         = {St\'ephane Ducasse and Tudor G\^irba and Roel Wuyts},
  Title          = {Object-Oriented Legacy System Trace-based Logic
                   Testing},
  BookTitle      = {Proceedings of 10th European Conference on Software
                   Maintenance and Reengineering (CSMR'06)},
  Pages          = {35-44},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {When reengineering legacy systems, it is crucial to
                   assess if the legacy behavior has been preserved or how
                   it changed due to the reengineering effort. Ideally if
                   a legacy system is covered by tests, running the tests
                   on the new version can identify potential differences
                   or discrepancies. However, writing tests for an unknown
                   and large system is difficult due to the lack of
                   internal knowledge. It is especially difficult to bring
                   the system to an appropriate state. Our solution is
                   based on the acknowledgment that one of the few
                   trustable piece of information available when
                   approaching a legacy system is the running system
                   itself. Our approach reifies the execution traces and
                   uses logic programming to express tests on them.
                   Thereby it eliminates the need to programatically bring
                   the system in a particular state, and handles the
                   test-writer a high-level abstraction mechanism to query
                   the trace. The resulting system, called TESTLOG, was
                   used on several real-world case studies to validate our
                   claims.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.37},
  keywords       = {scg-pub recast06 snf06 jb06 fb06 stefPub girba},
  misc           = {acceptance rate: 27/65 = 42 \%},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca06aTestLogtestingCSMR.pdf},
  year           = 2006
}

@InProceedings{Kris83a,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   Birger M{\/o}ller-Pedersen and Kristen Nygaard},
  Title          = {From {SIMULA} 67 to {BETA}},
  BookTitle      = {Proceedings of the 11th SIMULA 67 User's Conference},
  Address        = {Paris},
  keywords       = {olit-oopl beta},
  month          = sep,
  year           = 1983
}

@InProceedings{Kiel96a,
  Author         = {Thilo Kielmann},
  Title          = {Designing a Coordination Model for Open Systems},
  BookTitle      = {Proceedings of COORDINATION '96},
  Editor         = {P. Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {267-284},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination open systems coordination96},
  year           = 1996
}

@InProceedings{Lakh03a,
  Author         = {Arun Lakhotia and Junwei Li and Andrew Walenstein and
                   Yun Yang},
  Title          = {Towards a Clone detection Benchmark Suite and results
                   Archive},
  BookTitle      = {Proc. of the 11th International IEEE Workshop on
                   Program Comprehension (IWPC'03)},
  Pages          = {285-286},
  Publisher      = {IEEE},
  month          = may,
  year           = 2003
}

@InProceedings{Hur87a,
  Author         = {Jin H. Hur and Kilnam Chon},
  Title          = {Overview of a Parallel Object-Oriented Language {CLIX}},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {265-273},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obcl clix ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Article{Ross69a,
  Author         = {G. J. S. Ross},
  Title          = {Minimum Spanning Tree. Algorithm AS13},
  Journal        = {Applied Statistics},
  Volume         = {18},
  Pages          = {103-104},
  keywords       = {clustering},
  year           = 1969
}

@Article{Lohr94b,
  Author         = {Klaus-Peter L{\"o}hr and Irina Piens and Thomas Wolff},
  Title          = {Verteilungstransparenz bei der objektorientierten
                   Entwicklung verteilter Appplikationen},
  Journal        = {OBJECT spektrum},
  Volume         = {??},
  Number         = {??},
  Pages          = {8-14},
  keywords       = {oobib(gen) binder},
  month          = may,
  year           = 1994
}

@InProceedings{Feij99a,
  Author         = {Loe M.G. Feijs},
  Title          = {Modelling Microsoft {COM} Using $\pi$-calculus},
  BookTitle      = {Proceedings of FM '99},
  Volume         = 1709,
  Series         = {LNCS},
  Address        = {Toulouse, France},
  Publisher      = {Springer Verlag},
  month          = sep,
  year           = 1999
}

@InProceedings{Tant02,
  Author         = {{\'E}ric Tanter and Marc S{\'e}gura-Devillechaise and
                   Jacques Noy{\'e} and Jos{\'e} Piquer},
  Title          = {Altering {Java} Semantics via Bytecode Manipulation},
  BookTitle      = {Proceedings of GPCE'02},
  Volume         = {2487},
  Series         = {LNCS},
  Pages          = {283-89},
  Publisher      = {Springer-Verlag},
  year           = 2002
}

@InProceedings{Holt01a,
  Author         = {Ric Holt},
  Title          = {Sofware Architecture as a Shared Mental Model},
  BookTitle      = {ASERC Workshop on Software Architecture},
  Address        = {University of Alberta},
  month          = aug,
  year           = 2001
}

@Misc{Goma92b,
  Author         = {Hassan Gomaa and Larry Kerschberg and Vijayan
                   Sugumaran},
  Title          = {A Knowledge-Based Approach to Generating Target System
                   Specifications from a Domain Model},
  Note           = {To be presented at the IFIP World Computer Congress,
                   Madrid Spain, 1992},
  keywords       = {olit binder},
  year           = 1992
}

@Article{Gogu86c,
  Author         = {Joseph A. Goguen},
  Title          = {Reusing and Interconnecting Software Components},
  Journal        = {IEEE Computer},
  Pages          = {16-28},
  keywords       = {olit-reuse binder(oop)},
  month          = feb,
  year           = 1986
}

@InProceedings{Brav04a,
  Author         = {Martin Bravenboer and Eelco Visser},
  Title          = {Concrete Syntax for Objects},
  BookTitle      = {In Proceedings of OOPSLA '04},
  Pages          = {365--383},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028976.1028986},
  isbn           = {1-58113-831-9},
  location       = {Vancouver, BC, Canada},
  year           = 2004
}

@TechReport{Snel97a,
  Author         = {Gregor Snelting and Frank Tip},
  Title          = {Reengineering {Class} {Hierarchies} using {Concept}
                   {Analysis}},
  Institution    = {{IBM} T.J. Watson Research Center},
  Number         = {RC 21164(94592)24APR97},
  Address        = {IBM T.J. Watson Research Center, P.O. Box 704,
                   Yorktown Heights, NY 10598, USA},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/snelting98reengineering.html},
  year           = 1997
}

@Article{Laue98a,
  Author         = {S\/oren Lauesen},
  Title          = {Real Life Object-Oriented Systems},
  Journal        = {IEEE Software},
  Pages          = {76-83},
  keywords       = {reeng reveng},
  month          = mar,
  publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@MastersThesis{Guen98a,
  Author         = {Manuel G{\"u}nter},
  Title          = {Explicit Connectors for Coordination of Active Objects},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  keywords       = {snf-none scg-pub skip-abstract skipdoi scg-msc jb98
                   scg-coord-98},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Guen98a/index.html
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Guen98a/Guen98a.pdf},
  year           = 1998
}

@InProceedings{Matt05a,
  Author         = {J\&\#250;lio C. B. Mattos and Emilena Specht and Bruno
                   Neves and Luigi Carro},
  Title          = {Making object oriented efficient for embedded system
                   applications},
  BookTitle      = {SBCCI '05: Proceedings of the 18th annual symposium on
                   Integrated circuits and system design},
  Pages          = {104--109},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1081081.1081111},
  isbn           = {1-59593-174-0},
  location       = {Florianolpolis, Brazil},
  year           = 2005
}

@InProceedings{Huff03a,
  Author         = {Jane Huffman-Hayes and Alex Dekhtyar and James Osborne},
  Title          = {Improving Requirements Tracing via Information
                   Retrieval},
  BookTitle      = {Procerdings of 11th IEEE International Requierments
                   Engineering Conference},
  Pages          = {138},
  year           = 2003
}

@InProceedings{Cann89b,
  Author         = {Peter S. Canning and William Cook and Walter L. Hill
                   and Walter G. Olthoff},
  Title          = {Interfaces for Strongly-Typed Object-Oriented
                   Programming},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {457-468},
  keywords       = {types olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Gall03c,
  Author         = {Keith Gallagher and David Binkley},
  Title          = {An Empirical Study of Computation Equivalence as
                   Determined by Decomposition Slice Equivalence},
  BookTitle      = {Proceedings 10th Working Conference on Reverse
                   Engineering (WCRE'03)},
  Pages          = {316-322},
  Address        = {Victoria, B.C., Canada},
  Organization   = {IEEE},
  month          = nov,
  year           = 2003
}

@Misc{PierUnixSecurity,
  Author         = {Lukas Renggli},
  Title          = {{Pier} {Unix} {Security}, an {Unix} file-system based
                   security framework for {Pier}},
  Note           = {http://map.squeak.org/package/1ae18f4e-086a-46e3-83ff-72ab6673c382},
  key            = {PierUnixSecurity},
  keywords       = {smalltalk pier security unix},
  url            = {http://map.squeak.org/package/1ae18f4e-086a-46e3-83ff-72ab6673c382},
  year           = 2006
}

@Misc{Garl95b,
  Author         = {D. Garlan and D. Kindred and J. Wing},
  Title          = {Interoperability: Sample Problems and Solutions},
  Note           = {Available from the authors}
}

@Article{Carr86a,
  Author         = {N. Carriero and D. Gelernter},
  Title          = {The {S}/Net's Linda Kernel},
  Journal        = {ACM Transactions on Computer Systems},
  Volume         = {4},
  Number         = {2},
  Pages          = {110-129},
  keywords       = {concurrency linda},
  month          = may,
  year           = 1986
}

@InProceedings{Reen89a,
  Author         = {Trygve Reenskaug and Anna Lise Skaar},
  Title          = {An Environment for Literate {Smalltalk} Programming},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {337-346},
  keywords       = {olit oopsla89 oorp},
  month          = oct,
  year           = 1989
}

@InProceedings{Lech96a,
  Author         = {Ulrike Lechner and Christian Lengauer and Friederike
                   Nickl and Martin Wirsing},
  Title          = {(Objects + Concurrency) \& Reusability --- {A}
                   Proposal to Circumvent the Inheritance Anomaly},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {232-247},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Case93a,
  Author         = {Yves Caseau and Laurent Perron},
  Title          = {Attaching Second-Order Types to Methods in an
                   Object-Oriented Language},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {142-160},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper proposes an extension of the notion of
                   method as it is currently used in most object-oriented
                   languages. We define polymethods as methods that we can
                   attach directly to types, as opposed to classes and
                   that we can describe with a second-order type. Two
                   benefits result from this extension; first, the
                   expressive power of the language is improved with
                   better modeling abilities. Next, second-order types
                   yield a more powerful (precise) type inference, which
                   extends the range of static type checking in a truly
                   extensible object-oriented language. We first show that
                   extensible object-oriented languages present many
                   difficulties for static type-checking and that
                   second-order types are necessary to get stronger
                   type-checking. We illustrate how to combine polymethods
                   through type inheritance and propose a technique based
                   on abstract interpretation to derive a second-order
                   type for new polymethods.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Duca03x,
  Author         = {St\'ephane Ducasse},
  Title          = {Seaside: Des applications web complexes simplement...},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 52,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2003
}

@Book{Abra91a,
  Editor         = {S. Abramsky and T.S.E. Mailbaum},
  Title          = {Proceedings {TAPSOFT}'91: Volume 1},
  Publisher      = {Springer-Verlag},
  Volume         = {493},
  Series         = {LNCS},
  Address        = {Brighton, UK},
  isbn           = {3-540-53982-4},
  keywords       = {olit tapsoft91 scglib},
  month          = apr,
  year           = 1991
}

@Manual{Brok94a,
  Title          = {ILOG BROKER: Maintening Consistency in C++ Distributed
                   Object-Oriented Systems},
  Organization   = {Ilog},
  month          = may,
  year           = 1994
}

@InProceedings{Gasp99a,
  Author         = {Mauro Gaspari and Gianluigi Zavattaro},
  Title          = {A Process Algebraic Specification of the New
                   Asynchronous {CORBA} Messaging Service},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {495-518},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {CORBA (The Common Object Request Broker Architecture)
                   has to continually evolve in order to cope with the
                   changes of requirement of applications which become
                   larger and more distributed. For this reason new
                   features are being added to the CORBA specification,
                   for instance the last proposal for a revised CORBA
                   Messaging Service includes two new asynchronous models
                   of request invocation. Since these new features will be
                   added in the next CORBA implementations a relevant
                   issue is to study their operational behaviour from
                   different perspectives in order to facilitate the task
                   of implementors. This paper addresses this issue
                   providing an analysis of the CORBA Messaging Service
                   which includes the new asynchronous features. In
                   particular we illustrate how CORBA models for request
                   invocation can be mapped into a message passing
                   architecture based on the actor model. For this purpose
                   we exploit an algebra of actors which supports some of
                   the main features of the abstract Object Model of the
                   Object Management Group, such as object identity and an
                   explicit notion of state. This approach allows us to
                   discuss and compare different models of request
                   invocation in a standard process algebraic perspective
                   for instance we show how different notions of
                   equivalence, such as standard and asynchronous
                   bisimulation, can be adapted to reason about CORBA.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Zimm03a,
  Author         = {Thomas Zimmermann and Stephan Diehl and Andreas Zeller},
  Title          = {How History Justifies System Architecture (or not)},
  BookTitle      = {6th International Workshop on Principles of Software
                   Evolution (IWPSE 2003)},
  Pages          = {73-83},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution iwpse design-recovery},
  url            = {http://www.st.cs.uni-sb.de/papers/iwpse2003/iwpse.pdf},
  year           = 2003
}

@MastersThesis{Miha03a,
  Author         = {Petru Mihancea},
  Title          = {Optimizarea detectiei automate a carentelor de
                   proiectare in sistemele software orientate pe obiecte},
  School         = {University of Timisoara},
  Type           = {Diploma thesis},
  year           = 2003
}

@Article{Metz93a,
  Author         = {Igor Metz and Hermann H{\"u}ni and Raphael Bischof},
  Title          = {Umstellung auf objektorientierte Technologie: Die
                   erste Klippe Schulung},
  Journal        = {Output Spezial},
  abstract       = {Die Umstellung der Softwarentwicklung auf ein neues
                   Paradigma ist kein einfaches Unterfangen. Es muss in
                   diesem Rahmen nicht nur eine neue Programmiersprache,
                   sondern vor allem ein neuer Denkansatz eingef{\"u}hrt
                   werden. Wir beschreiben in diesem Artikel unser Konzept
                   f{\"u}r die Schulung ganzer Entwicklungsteams, die mit
                   objektorientierter Technologie arbeiten wollen. Wir
                   werden auch die Erfahrungen darstellen, die ein
                   Gesch{\"a}ftsbereich der Ascom mit dieser Umschulung
                   gemacht hat.},
  keywords       = {olit},
  misc           = {22 November},
  month          = nov,
  year           = 1993
}

@InProceedings{Alma91a,
  Author         = {Jay Almarode},
  Title          = {Issues in the Design and Implementation of a Schema
                   Designer for an {OODBMS}},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {200-218},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Article{Duma91a,
  Author         = {Susan T. Dumais},
  Title          = {Improving the retrieval of information from external
                   sources},
  Journal        = {Behavior Research Methods, Instruments and Computers},
  Volume         = {23},
  Pages          = {229-236},
  year           = 1991
}

@InProceedings{Tayl02a,
  Author         = {Christopher Taylor and Malcolm Munro},
  Title          = {Revision Towers},
  BookTitle      = {Proceedings 1st International Workshop on Visualizing
                   Software for Understanding and Analysis},
  Pages          = {43-50},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1662-9},
  year           = 2002
}

@Misc{Duca98z,
  Author         = {St\'ephane Ducasse and Joachim Weisbrod},
  Title          = {Report of the {ECOOP}'98 Workshop on Experiences in
                   Object-Oriented Re-Engineering},
  annote         = {workshopproceedings},
  booktitle      = {Object-Oriented Technology (ECOOP'98 Workshop Reader)},
  keywords       = {skip-pdf scg-pub skip-abstract skipdoi jb-none stefPub},
  number         = 1543,
  pages          = {72-96},
  publisher      = {Springer-Verlag},
  series         = {LNCS (Lecture Notes in Computer Science)},
  year           = 1998
}

@Book{Schm95e,
  Author         = {Charles H. Schmauch},
  Title          = {{ISO} 9000 for Software Developers},
  Publisher      = {ASQC Quality Press},
  isbn           = {0-87389-348-4},
  keywords       = {iso9000 scglib},
  year           = 1995
}

@InProceedings{MacQ84a,
  Author         = {David MacQueen},
  Title          = {Modules for Standard ML},
  BookTitle      = {Proceedings of the 1984 ACM Symposium on LISP and
                   functional programming},
  Pages          = {198-207},
  Publisher      = {ACM Press},
  isbn           = {0-89791-142-3},
  location       = {Austin, Texas, United States},
  year           = 1984
}

@Book{Mons00a,
  Author         = {Richard Monson-Haefel},
  Title          = {Enterprise {Java}Beans},
  Publisher      = {O'Reilly \& Associates, Inc.},
  Edition        = {2nd},
  keywords       = {olit scglib java},
  year           = 2000
}

@InCollection{Bjor89a,
  Author         = {Anders Bjornerstedt and Christer Hulten},
  Title          = {Version Control in an Object-oriented Architecture},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {Addison Wesley/ACM Press},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {451-485},
  Address        = {Reading, Mass.},
  keywords       = {olit-oodb versions (smc)},
  year           = 1989
}

@Article{Horw89a,
  Author         = {Susan Horwitz and Jan Prins and Thomas Reps},
  Title          = {Integrating Non-Interfering Versions of Programs},
  Journal        = {ACM Trans. Programming Languages and Systems},
  Volume         = {11},
  Number         = {3},
  Pages          = {345-387},
  month          = jul,
  year           = 1989
}

@InProceedings{Banc88a,
  Author         = {Fran\c{c}ois Bancilhon},
  Title          = {Object-Oriented Database Systems},
  BookTitle      = {Proceedings 7th ACM SIGART/SIGMOD/SIGACT Symposium on
                   Principles of Database Systems},
  Address        = {Austin, Texas},
  keywords       = {olit-db oobib(oodb)},
  month          = mar,
  year           = 1988
}

@MastersThesis{Gies03a,
  Author         = {Simon Giesecke},
  Title          = {{Clone}--based {Reengineering} f\"ur {Java} auf der
                   {Eclipse}--{Plattform}},
  School         = {Carl von Ossietzky Universit\"at Oldenburg, Germany},
  month          = sep,
  url            = {http://www.informatik.uni-oldenburg.de/~matrix/da/},
  year           = 2003
}

@Article{Coll81a,
  Author         = {C.B. Collins and Ian P. Goulden and David M. Jackson
                   and Oscar Nierstrasz},
  Title          = {A Combinatorial Application of Matrix Riccati
                   Equations and their q-analogue},
  Journal        = {Discrete Mathematics},
  Volume         = {36},
  abstract       = {The generating functions for a large class of
                   combinatorial problems involving the enumeration of
                   permutations may be expressed as solutions to matric
                   Riccati equations. We show that the generating
                   functions for the permutation problem in which the
                   number of inversions is also preserved form a system of
                   matrix Riccati equations in which the differential
                   operator is the Eulerian differential operator We
                   obtain the classical result of MacMahon concerning
                   permutations.},
  address        = {Amsterdam},
  altdoi         = {http://dx.doi.org/10.1016/S0012-365X(81)80012-X},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/0012-365X(81)90234-X},
  keywords       = {misc enumeration},
  publisher      = {North-Holland},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UW/Coll81a.pdf},
  year           = 1981
}

@InProceedings{Zhan02a,
  Author         = {Youtao Zhang and Rajiv Gupta},
  Title          = {Data compression transformations for dynamically
                   allocated data structures},
  BookTitle      = {Proceddings of the 11th International Conference on
                   Compiler Construction (CC'02)},
  Volume         = {2304},
  Series         = {LNCS},
  Pages          = {14--28},
  Publisher      = {Springer-Verlag},
  year           = 2002
}

@Book{Enja93a,
  Editor         = {P.Enjalbert and Finkel, K.W.Wagner, A.},
  Title          = {Proceedings {STACS}'93},
  Publisher      = {Springer-Verlag},
  Volume         = {665},
  Series         = {LNCS},
  Address        = {Wurzburg, Germany},
  isbn           = {3-540-56503-5},
  keywords       = {olit stacts93 scglib},
  month          = feb,
  year           = 1993
}

@Book{Puec96a,
  Editor         = {Claude Peuch and Rudiger Reischuk},
  Title          = {Proceedings {STACS}'96},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 1046},
  Address        = {Grenoble, France},
  isbn           = {3-540-60922-9},
  keywords       = {olit stacts96 scglib},
  month          = feb,
  year           = 1996
}

@Book{Lien80a,
  Author         = {Bennett Lientz and Burton Swanson},
  Title          = {Software Maintenance Management},
  Publisher      = {Addison Wesley},
  Address        = {Boston, MA},
  year           = 1980
}

@TechReport{Guen99a,
  Author         = {Simon G{\"u}nter},
  Title          = {Trademark Application},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Guen99a.pdf},
  year           = 1999
}

@InProceedings{Kont97a,
  Author         = {Kostas Kontogiannis},
  Title          = {Evaluation Experiments on the Detection of Programming
                   Patterns Using Software Metrics},
  BookTitle      = {Proceedings Fourth Working Conference on Reverse
                   Engineering},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {44-54},
  Publisher      = {IEEE Computer Society},
  year           = 1997
}

@Misc{VWTraits,
  Title          = {VWTraits},
  Note           = {http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VWTraits+-+A+Traits+impleMentation+for+VW},
  key            = {VWTraits}
}

@TechReport{Cruz97a,
  Author         = {Juan Carlos Cruz and Sander Tichelaar and Oscar
                   Nierstrasz},
  Title          = {A Coordination Component Framework for Open Systems},
  Institution    = {IAM, University of Bern},
  Type           = {Working Paper},
  abstract       = {Coordination technology addresses the construction of
                   open, flexible systems from software agents in
                   distributed systems. Most of the work on coordination
                   technology so far has focussed on the development of
                   special coordination languages and environments that
                   provide the basic mechanisms for realizing the
                   coordination layer of a distributed application.
                   Typically each new language proposes its own set of
                   coordination abstractions that realizes a particular
                   paradigm for realizing coordination. Coordination
                   problems, however, are not always well-suited to a
                   particular paradigm. Instead of proposing a new
                   language, we are attempting to develop an open set of
                   software components that realize various useful
                   coordination abstractions. We are validating our
                   approach by developing an experimental framework of
                   coordination components in {Java} and applying them to
                   a canonical set of sample applications. We present our
                   initial analysis of the coordination domain, and give a
                   few examples of simple applications using the developed
                   coordination components.},
  keywords       = {skip-pdf skipdoi odp coordination scg-wp snf97
                   scg-coord-98},
  year           = 1997
}

@Article{Blas91a,
  Author         = {G{\"u}nther Blaschek},
  Title          = {Type-Safe Object-Oriented Programming with Prototypes
                   --- The Concepts of Omega},
  Journal        = {Structured Programming},
  Volume         = {12},
  Pages          = {217-225},
  address        = {New York},
  keywords       = {olit-oopl omega binder},
  publisher      = {Springer-Verlag},
  year           = 1991
}

@Article{Medv00a,
  Author         = {Medvidovic and Taylor},
  Title          = {A Classification and Comparison Framework for Software
                   Architecture Description Languages},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = 26,
  Number         = 1,
  Pages          = {70-93},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/32.825767},
  year           = 2000
}

@Book{Rist95a,
  Author         = {Robert Rist and Robert Terwilliger},
  Title          = {Object-Oriented Programming in Eiffel},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-205931-2},
  keywords       = {olit-oopl},
  year           = 1995
}

@Article{Kilo91a,
  Author         = {Haim Kilov},
  Title          = {Object Concepts and Bibliography},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {26},
  Number         = {10},
  Pages          = {11-12},
  keywords       = {olit binder},
  month          = oct,
  year           = 1991
}

@InProceedings{Bana96a,
  Author         = {Jean-Pierre Ban\^atre},
  Title          = {Parallel Multiset Processing: From Explicit
                   Coordination to Chemical Reaction},
  BookTitle      = {Proceedings COORDINATION '96},
  Editor         = {P. Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {1-11},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency gamma coordination coordination96},
  year           = 1996
}

@Article{Prem94a,
  Author         = {William J. Premerlani and Michael R. Blaha},
  Title          = {An Approach for Reverse Engineering of Relational
                   Databases},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {5},
  Pages          = {42-49},
  keywords       = {dbreeng famoos oorp},
  month          = may,
  year           = 1994
}

@InProceedings{Kim87a,
  Author         = {Won Kim and Jay Banerjee and Hong-Tai Chou and Jorge
                   F. Garza and Darrell Woelk},
  Title          = {Composite Object Support in an Object-Oriented
                   Database System},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {118-125},
  keywords       = {olit-db oopsla87},
  month          = dec,
  year           = 1987
}

@PhdThesis{Ages96a,
  Author         = {Ole Agesen},
  Title          = {Concrete Type Inference: Delivering Object-Oriented
                   Applications},
  School         = {Stanford University},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit book scglib},
  month          = dec,
  year           = 1996
}

@Article{Roma92a,
  Author         = {Griua-Catalin Roman and Kenneth C. Cox and C. Donald
                   ox and Jerome Y. Plun},
  Title          = {Pavane: A System for Declarative Visualization of
                   Concurrent Computations},
  Journal        = {Journal of Visual Languages and Computing},
  Volume         = {3},
  Pages          = {161-193},
  year           = 1992
}

@InCollection{Murp90a,
  Author         = {D. Murphy},
  Title          = {Approaching a Real-Timed Concurrency Theory},
  BookTitle      = {Semantics for Concurrency},
  Publisher      = {Springer-Verlag},
  Editor         = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas},
  Series         = {Workshops in Computing},
  Pages          = {294-310},
  keywords       = {pcalc ccs real-time},
  year           = 1990
}

@Article{Shap83a,
  Author         = {E. Shapiro and A. Takeuchi},
  Title          = {Object Oriented Programming in Concurrent Prolog},
  Journal        = {New Generation Computing},
  Volume         = {1},
  Pages          = {25-48},
  keywords       = {olit-obc},
  year           = 1983
}

@Article{Voin07a,
  Author         = {Lucian Voinea and Johan Lukkien and Alexandru Telea},
  Title          = {Visual Assessment of Software Evolution},
  Journal        = {Science of Computer Programming},
  Volume         = {365},
  Number         = {3},
  Pages          = {222-248},
  year           = 2007
}

@Misc{Tryg79a,
  Author         = {Trygve M. H. Reenskaug},
  Title          = {Models - Views - Controllers},
  Note           = {\url{heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf}},
  month          = dec,
  url            = {http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf},
  year           = 1979
}

@Article{Free90b,
  Author         = {B. Freeman-Benson and J. Maloney and A. Borning},
  Title          = {An incremental Constraint Solver},
  Journal        = {Comminications of the ACM},
  Volume         = {33},
  Number         = {1},
  Pages          = {55-63},
  year           = 1990
}

@InProceedings{Tolk97b,
  Author         = {Robert Tolksdorf},
  Title          = {Coordinating {Java} Agents with Multiple Coordination
                   Languages on the Berlinda Platform.},
  BookTitle      = {Proceedings of the 6th Workshops on Enabling
                   Technologies: Infrastructure fo r Collaborative
                   Enterprises (WET ICE '97)},
  Pages          = {121-126},
  year           = 1997
}

@TechReport{Henn92b,
  Author         = {Matthew Hennessy and H. Lin},
  Title          = {Symbolic Bisimulations},
  Institution    = {University of Sussex},
  Type           = {Report},
  Number         = {01/92},
  keywords       = {pcalc mobility binder},
  url            = {ftp://ftp.cogs.sussex.ac.uk//pub/reports},
  year           = 1992
}

@InProceedings{Cox03a,
  Author         = {Anthony Cox and Charles Clarke},
  Title          = {Syntactic Approximation Using Iterative Lexical
                   Analysis},
  BookTitle      = {Proceedings of the 11th International IEEE Workshop on
                   Program Comprehension (IWPC'03)},
  Pages          = {154-163},
  Publisher      = {IEEE},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/IWPC.2003.10006},
  keywords       = {parsing},
  month          = may,
  year           = 2003
}

@Article{Hunt77a,
  Author         = {James W. Hunt and Thomas G. Szymanski},
  Title          = {A Fast Algorithm for Computing Longest Common
                   Subsequences},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {5},
  Pages          = {350-353},
  keywords       = {lcs},
  month          = may,
  year           = 1977
}

@Article{Schm95d,
  Author         = {Douglas C. Schmidt},
  Title          = {Acceptor: {A} Design Pattern for Passively
                   Initializing Network Services},
  Journal        = {{C}++ Report, SIGS},
  Volume         = {7},
  Number         = {8},
  keywords       = {olit-reuse design-patterns iam binder ACE},
  month          = nov,
  url            = {http://www.cs.wustl.edu/~schmidt/Acceptor.ps.gz},
  year           = 1995
}

@Article{Woo85a,
  Author         = {Carson Woo and Frederick H. Lochovsky},
  Title          = {An Object-Based Approach to Modelling Office Work},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {14-22},
  keywords       = {olit ois},
  month          = dec,
  year           = 1985
}

@InProceedings{Lenc97a,
  Author         = {Raimondas Lencevicius and Urs H{\"o}lzle and Ambuj K.
                   Singh},
  Title          = {Query-Based Debugging of Object-Oriented Programs},
  BookTitle      = {Proceedings OOPSLA '97},
  Series         = {ACM SIGPLAN},
  Pages          = {304-317},
  month          = oct,
  year           = 1997
}

@InProceedings{Berg07d,
  Author         = {Jan Vran\'y and Alexandre Bergel},
  Title          = {The Debuggable Interpreter Design Pattern},
  BookTitle      = {In Proceedings of the International Conference on
                   Software and Data Technologies (ICSOFT 2007)},
  annote         = {internationalconference},
  misc           = {To appear},
  month          = jul,
  year           = 2007
}

@InProceedings{Helf94a,
  Author         = {Jonathan I. Helfman},
  Title          = {Similarity Patterns in Language},
  BookTitle      = {Proceedings of IEEE Symposium on Visual Languages},
  Pages          = {173-175},
  keywords       = {dotplot},
  url            = {http://imagebeat.com/dotplot/rp3.pdf},
  year           = 1994
}

@InProceedings{Deni04a,
  Author         = {Simon Denier},
  Title          = {Traits Programming with {AspectJ}},
  BookTitle      = {Actes de la Premi\`ere Journ\'ee Francophone sur le
                   D\'eveloppement du Logiciel par Aspects (JFDLPA'04)},
  Editor         = {Pierre Cointe},
  Pages          = {62-78},
  Address        = {Paris, France},
  Note           = {Available at
                   http://www.emn.fr/x-info/obasco/events/jfdlpa04/},
  month          = sep,
  url            = {http://www.emn.fr/x-info/obasco/events/jfdlpa04/},
  year           = 2004
}

@Article{Shne83a,
  Author         = {B. Shneiderman},
  Title          = {Direct Manipulation: {A} Step Beyond Programming
                   Languages},
  Journal        = {IEEE Computer},
  Volume         = {16},
  Number         = {8},
  Pages          = {57-69},
  keywords       = {uilit},
  year           = 1983
}

@Misc{Cunn06a,
  Author         = {Ward Cunningham},
  Title          = {{P}rivate communication},
  year           = 2006
}

@InProceedings{Duca05f,
  Author         = {St\'ephane Ducasse and Tudor G\^irba and Oscar
                   Nierstrasz},
  Title          = {{Moose}: an Agile Reengineering Environment},
  BookTitle      = {Proceedings of ESEC/FSE 2005},
  Pages          = {99-102},
  Note           = {Tool demo},
  abstract       = { Software systems are complex and difficult to
                   analyze. Reengineering is a complex activity that
                   usually involves combining different techniques and
                   tools. Moose is an reengineering environment designed
                   to provide the necessary infrastructure for building
                   new tools and for integrating them. Moose centers on a
                   language independent meta-model, and offers services
                   like grouping, querying, navigation, and
                   meta-descriptions. Several tools have been built on top
                   of Moose dealing with different aspects of
                   reengineering like: visualization, evolution analysis,
                   semantic analysis, concept analysis or dynamic
                   analysis.},
  annote         = {tooldemo},
  cvs            = {MooseDemoESEC05},
  doi            = {http://doi.acm.org/10.1145/1081706.1081723},
  keywords       = {scg-pub moose-pub stefPub jb06 recast06 girba},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05fMooseDemo.pdf},
  year           = 2005
}

@Book{Stro97a,
  Author         = {Bjarne Stroustrup},
  Title          = {The {C}++ Programming Language},
  Publisher      = {Addison Wesley},
  Edition        = {Third},
  isbn           = {0-201-88954-4},
  keywords       = {c++},
  year           = 1997
}

@MastersThesis{Mars06a,
  Author         = {Philippe Marschall},
  Title          = {{Persephone}: Taking {Smalltalk} Reflection to the
                   sub-method Level},
  School         = {University of Bern},
  Type           = {Master's Thesis},
  abstract       = {Smalltalk traditionally has good support for
                   structural reflection. This comes from the fact that
                   classes are first class, high level objects. This
                   reflection support has allowed Smalltalk
                   implementations to build tools decades ago that surpass
                   those of many other languages today. These tools are
                   basically a user interface for introspection and
                   intercession. The reflective facilities of Smalltalk
                   are not only used by tools but also by Smalltalk
                   developers for metaprogramming. However the Smalltalk
                   reflection support stops at the method border. The only
                   first class models for reflection at the sub-method
                   level Smalltalk supports are collections of bytes or
                   characters. This prevents tools from truly looking into
                   the method and makes it hard to create a new generation
                   of tools that go beyond the five pane browser and work
                   at the sub-method level. It also prevents Smalltalk
                   developers from doing metaprogramming at a sub-method
                   level. We present reflective methods: a first class,
                   high level abstraction of a method that supports rich
                   structural reflection at the sub-method level and show
                   how it eases metaprogramming and the creation of tools
                   at the sub-method level such as a pluggable type
                   checker.},
  keywords       = {scg-msc snf07 jb07 fb06},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Mars06a.pdf},
  year           = 2006
}

@InProceedings{Pang99a,
  Author         = {Candy Pang and Wade Holst and Yuri Leontiev and Duane
                   Szafron},
  Title          = {Multi-Method Dispatch Using Multiple Row Displacement},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {304-328},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Multiple Row Displacement (MRD) is a new dispatch
                   technique for multi-method languages. It is based on
                   compressing an n-dimensional table using an extension
                   of the single-receiver row displacement mechanism. This
                   paper presents the new algorithm and provides
                   experimental results that compare it with
                   implementations of existing techniques: compressed
                   n-dimensional tables, look-up automata and
                   single-receiver projection. MRD uses comparable space
                   to the other techniques, but has faster dispatch
                   performance.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Misc{Bruc98,
  Author         = {K. Bruce and L. Petersen and J. Vanderwaart},
  Title          = {Modules in LOOM: Classes are not enough},
  month          = apr,
  url            = {http://citeseer.nj.nec.com/bruce98module.html},
  year           = 1998
}

@InProceedings{Berg06f,
  Author         = {Alexandre Bergel},
  Title          = {Controlling the Visibility of Changes in Java with
                   Classboxes},
  BookTitle      = {Proceedings of the Objekty Conference 2006},
  Editor         = {Ji\u{r}\'{i} Bro\u{z}ek and Vojt\u{e}ch Merunka},
  Address        = {Prague, Czech Republic},
  Note           = {Short paper, invited keynote speaker},
  annote         = {nationalconference},
  isbn           = {80-213-1568-7},
  month          = nov,
  year           = 2006
}

@InProceedings{Ayco98a,
  Author         = {John Aycock},
  Title          = {Compiling little languages in {Python}},
  BookTitle      = {Proc. 7th Int. Python Conf.},
  Pages          = {69--77},
  city           = {Houston, TX},
  keywords       = {Earley parsing},
  month          = nov,
  url            = {http://pages.cpsc.ucalgary.ca/~aycock/spark/paper.pdf},
  year           = 1998
}

@TechReport{Held96a,
  Author         = {Michael Held},
  Title          = {Analyse der Erstellung eines Help-Dokumentes},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {In der Informatik ist es relativ einfach, sich
                   Informationen zu beschaffen. Es ist ein leichtes an
                   eine Vielzahl von Daten zu gelangen. Dabei ergibt sich
                   die Problematik des Auffindens der gew\"unschten
                   Informationen. Wer hat nicht schon einmal nach Daten
                   gesucht und sie nicht gefunden? Selbstverst\"andlich
                   ist es m\"oglich, Daten so zu benennen und zu ordnen,
                   dass beim n\"achsten Suchen der Aufwand minimal ist.
                   Sucht man aber in fremden Dokumenten, muss man sich
                   wohl oder \"ubel jede einzelne Datei ansehen. Ich habe
                   mich gefragt, ob dieser Suchaufwand nicht zu
                   vereinfachen w\"are? Ziel der Arbeit: Das Q-Handbuch IK
                   2, welches aus einer Sammlung von einzelnen Dateien
                   besteht, soll am Schluss als Help-Dokument vorliegen
                   und f\"ur alle Interessierte \"uber's Netz zur
                   Verf\"ugung stehen. Es muss eine Methode ausgearbeitet
                   werden, damit nicht bei jeder Ver\"anderung
                   (Konfigurationen werden laufend erstellt) die ganze
                   Arbeit von neuem gemacht werden muss. Es wird ein
                   passendes Konversionstool bestimmt, mit welchem danach
                   gearbeitet wird.},
  keywords       = {scg-ip jb-none},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Held96a.html
                   http://www.iam.unibe.ch/~scg/Archive/Projects/Held96a-bericht.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Projects/Held96a-hb.pdf},
  year           = 1996
}

@Unpublished{Doda95c,
  Author         = {Mahesh Dodani and J.H Perng},
  Title          = {An Object-Oriented Design of a User Interface
                   Framework},
  Note           = {University of Iowa},
  keywords       = {oobib(gen) binder},
  type           = {Draft},
  year           = 1995
}

@InProceedings{Bert03a,
  Author         = {Roland Bertuli and St\'ephane Ducasse and Michele
                   Lanza},
  Title          = {Run-Time Information Visualization for Understanding
                   Object-Oriented Systems},
  BookTitle      = {Proceedings of WOOR 2003 (4th International Workshop
                   on Object-Oriented Reengineering)},
  Pages          = {10-19},
  Publisher      = {University of Antwerp},
  abstract       = {Understanding object-oriented legacy systems is a
                   complex task exacerbated by the presence of late
                   binding and polymorphism. Moreover, the metaphor of
                   message sending and the anthropomorphism promoted by
                   object-oriented languages makes it difficult to
                   statically identify the precise role the objects play
                   at run-time. We propose a lightweight visualization
                   approach enriched with run-time information which
                   allows us to identify precise aspects of the objects
                   lifetime such as the role played in the creation of
                   other objects and the communication architecture they
                   support. Our approach not only supports the run-time
                   understanding of an application but also allows one to
                   evaluate test understanding and test coverage.},
  annote         = {internationalworkshop},
  keywords       = {snf03 scg-pub skipdoi jb03 stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Bert03aEcoopWorkshop.pdf},
  year           = 2003
}

@TechReport{Proe89a,
  Author         = {Anna-Kristin Pr{\"o}frock and Dennis Tsichritzis and
                   Gerhard M{\"u}ller and Martin Ader},
  Title          = {{ITHACA}: An Integrated Toolkit for Highly Advanced
                   Computer Applications},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  abstract       = {The aim of the ITHACA project is to develop an
                   integrated application development and support
                   environment based on the object-oriented programming
                   approach. The object-oriented approach of the type
                   envisaged in this project incorporates a wide range of
                   features, such as data encapsulation, data abstraction
                   and inheritance, which promote high application quality
                   and reusability on a large scale.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca osg-ftp ood89 ithaca-final},
  month          = jul,
  pages          = {321-344},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ithaca.pdf},
  year           = 1989
}

@PhdThesis{Nord99a,
  Author         = {Johan Nordlander},
  Title          = {Reactive Objects and Functional Programming},
  School         = {Chalmers University of Technology, G\"{o}tebord,
                   Sweden},
  month          = may,
  year           = 1999
}

@Proceedings{WCRE01a,
  Title          = {Ninth Working Conference on Reverse Engineering},
  Organization   = {IEEE Computer Society},
  keywords       = {scglib},
  year           = 2002
}

@PhdThesis{Lebl00a,
  Author         = {Herv{\'e} Leblanc},
  Title          = {Sous-hi\'{e}rarchies de {Galois}: un {Mod}\`{e}le pour
                   la {Construction} et {L}'\'{e}volution des
                   {Hi}\'{e}rarchies d'objets ({Galois} {Sub}-hierarchies:
                   a {Model} for {Construction} and {Evolution} of
                   {Object} {Hierarchies})},
  School         = {Universit\'{e} Montpellier 2},
  year           = 2000
}

@Article{Casa97a,
  Author         = {Eduardo Casais and Antero Taivalsaari},
  Title          = {Object-Oriented Software Evolution and Re-engineering
                   (Special Issue)},
  Journal        = {Theory and Practice of Object Systems (TAPOS)},
  Volume         = {3},
  Number         = {4},
  Pages          = {233-301},
  keywords       = {reeng reveng famoos},
  publisher      = {John Wiley \& Sons},
  year           = 1997
}

@InProceedings{Bast99a,
  Author         = {Remi Bastide and Sy Ousmane and Palanque Philippe},
  Title          = {Formal Specification and Prototyping of {CORBA}
                   servers},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {474-494},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {We propose to extend the CORBA interface definition of
                   distributed objects by a behavioral specification based
                   on high level Petri nets. This technique allows
                   specifying in an abstract, concise and precise way the
                   behavior of CORBA servers, including internal
                   concurrency and synchronization. As the behavioral
                   specification is fully executable, this approach also
                   enables early prototyping and testing of a distributed
                   object system as soon as the behaviors of individual
                   objects have been defined. The paper discusses several
                   implementation issues of the multithreaded, distributed
                   interpreter built for that purpose. The high level of
                   formality of the chosen formalism allows for
                   mathematical analysis of behavioral specifications.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Edwa04a,
  Author         = {Jonathan Edwards},
  Title          = {Example centric programming},
  BookTitle      = {OOPSLA 04: Companion to the 19th annual ACM SIGPLAN
                   conference on Object-oriented programming systems,
                   languages, and applications},
  Pages          = {124-124},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028664.1028713},
  isbn           = {1-58113-833-4},
  location       = {Vancouver, BC, CANADA},
  year           = 2004
}

@InProceedings{Mell87a,
  Author         = {Paola Mello and Antonio Natali},
  Title          = {Objects as Communicating Prolog Units},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {181-191},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Wu05a,
  Author         = {Hui Wu and Jeff Gray and Suman Roychoudhury and Marjan
                   Mernik},
  Title          = {Weaving a debugging aspect into domain-specific
                   language grammars},
  BookTitle      = {SAC '05: Proceedings of the 2005 ACM symposium on
                   Applied computing},
  Pages          = {1370--1374},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1066677.1066986},
  isbn           = {1-58113-964-0},
  location       = {Santa Fe, New Mexico},
  year           = 2005
}

@MastersThesis{Lose98a,
  Author         = {Roland Loser},
  Title          = {Objekt-orientierter Compilerentwurf},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Bei Entwicklung von Compilerern und Interpretern
                   f{\"u}r Programmiersprachen kommen h{\"a}ufig
                   Werkzeugen wie lex und yacc zur Anwendung. Wenn
                   gleichzeitig objekt-orientierte Methoden in der
                   Entwicklung zum Einsatz kommen, kann dies zu
                   Paradigmen-Konflikte f{\"u}hren. In dieser Arbeit wird
                   ein objekt-orientierter Compilerentwurf in C++
                   vorgestellt, welcher auf lex und yacc verzichtet, und
                   den objekt-orientierten Ansatz auf alle Komponenten
                   eines Compilers anwendet.},
  keywords       = {snf-none oobib scg-pub skipdoi toBeChecked scg-msc
                   jb98},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Lose98a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Lose98a.ps.gz},
  year           = 1998
}

@Misc{Bell02b,
  Title          = {Detection of Software Clones: Tool Comparison
                   Experiment},
  Note           = {http://www.bauhaus-stuttgart.de/clones/},
  key            = {Bell02b},
  year           = 2002
}

@Book{Dewd93a,
  Author         = {A. K. Dewdney},
  Title          = {The Tinkertoy Computer and Other Machinations},
  Publisher      = {W. H. Freeman and Company},
  keywords       = {scglib},
  year           = 1993
}

@Article{Fran97a,
  Author         = {Michael Franz and Thomas Kistler},
  Title          = {Slim binaries},
  Journal        = {Commun. ACM},
  Volume         = {40},
  Number         = {12},
  Pages          = {87--94},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/265563.265576},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 1997
}

@Misc{Tolks10a,
  Author         = {Robert Tolksdorf},
  Title          = {Programming languages for the Java Virtual Machine},
  Note           = {\\ \url{http://www.is-research.de/info/vmlanguages/}},
  url            = {http://www.is-research.de/info/vmlanguages/},
  year           = 2010,
  month = aug,
}

@Article{Ni05a,
  Author         = {Yang Ni and Ulrich Kremer and Adrian Stere and Liviu
                   Iftode},
  Title          = {Programming ad-hoc networks of mobile and
                   resource-constrained devices},
  Journal        = {SIGPLAN Notice},
  Volume         = {40},
  Number         = {6},
  Pages          = {249--260},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/1064978.1065040},
  issn           = {0362-1340},
  publisher      = {ACM Press},
  year           = 2005
}

@InProceedings{Lars96a,
  Author         = {L. Larsen and M.J. Harrold},
  Title          = {Slicing Object-Oriented Software},
  BookTitle      = {Proceedings ICSE '96},
  Pages          = {495-505},
  Organization   = {IEEE},
  year           = 1996
}

@InProceedings{Stra90a,
  Author         = {Dave D. Straube and M. Tamer Oezsu},
  Title          = {Type Consistency of Queries in an Object-Oriented
                   Database System},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {224-233},
  keywords       = {types olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Nier91b,
  Author         = {Oscar Nierstrasz and Dennis Tsichritzis and Vicki de
                   Mey and Marc Stadelmann},
  Title          = {Objects + Scripts = Applications},
  BookTitle      = {Proceedings, Esprit 1991 Conference},
  Pages          = {534-552},
  Address        = {Dordrecht, NL},
  Publisher      = {Kluwer Academic Publishers},
  abstract       = {We argue that object-oriented programming is only half
                   of the story. Flexible, configurable applications can
                   be viewed as collections of reusable objects conforming
                   to standard interfaces together with scripts that bind
                   these objects together to perform certain tasks.
                   Scripting encourages a component-oriented approach to
                   application development in which frameworks of reusable
                   components (objects and scripts) are carefully
                   engineered in an evolutionary software life-cycle, with
                   the ultimate goal of supporting application
                   construction largely from these interchangeable,
                   prefabricated components. The activity of constructing
                   the running application is supported by a visual
                   scripting tool that replaces the textual paradigm of
                   programming with a visual paradigm of direct
                   manipulation and editing of both application and user
                   interface components. We present scripting by means of
                   some simple examples, and we describe a prototype of a
                   visual scripting tool, called Vista. We conclude with
                   some observations on the environmental support needed
                   to support a component-oriented software life-cycle,
                   using as a specific example the application de
                   velopment environment of ITHACA, a large European
                   project of which Vista is a part.},
  annote         = {internationalconference},
  keywords       = {olit-ithaca skipdoi vista scripting osg-ftp oc91
                   ithaca-final},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier91bObjectsPlusScripts.pdf},
  year           = 1991
}

@InProceedings{Kell98b,
  Author         = {Ralph Keller and Urs H{\"o}lzle},
  Title          = {Binary Component Adaptation},
  BookTitle      = {ECOOP'98, LNCS 1445},
  Pages          = {307-340},
  year           = 1998
}

@InProceedings{Smol94a,
  Author         = {Gert Smolka},
  Title          = {A Foundation for Higher-Order Concurrent Constraint
                   Programming},
  BookTitle      = {Proceedings of Constraints in Computational Logics},
  Editor         = {J.-P. Jouannaud},
  Volume         = {845},
  Series         = {LNCS},
  Pages          = {50-72},
  Publisher      = {Springer-Verlag},
  Note           = {Available as Research Report RR-94-16 from DFKI
                   Kaiserslautern},
  year           = 1994
}

@InProceedings{Bloo79a,
  Author         = {Toby Bloom},
  Title          = {Evaluating Synchronization Mechanisms},
  BookTitle      = {Proceedings of the Seventh Symposium on Operating
                   Systems Principles},
  Pages          = {24-32},
  Address        = {Pacific Grove, CA},
  keywords       = {concurrency binder(conc)},
  misc           = {Dec. 10-12},
  month          = dec,
  year           = 1979
}

@InCollection{Nier92c,
  Author         = {Oscar Nierstrasz},
  Title          = {A Tour of Hybrid --- {A} Language for Programming with
                   Active Objects},
  BookTitle      = {Advances in Object-Oriented Software Engineering},
  Publisher      = {Prentice-Hall},
  Editor         = {D. Mandrioli and B. Meyer},
  Pages          = {167-182},
  abstract       = {Object-oriented programming is a powerful paradigm for
                   organizing software into reusable components. There
                   have been several attempts to adapt and extend this
                   paradigm to the programming of concurrent and
                   distributed applications. Hybrid is a language whose
                   design attempts to retain multiple inheritance,
                   genericity and strong-typing, and incorporate a notion
                   of active objects. Objects in Hybrid are potentially
                   active entities that communicate with one another
                   through a message-passing protocol loosely based on
                   remote procedure calls. Non-blocking calls and delay
                   queues are the two basic mechanisms for interleaving
                   and scheduling activities. A prototype implementation
                   of a compiler and run-time system for Hybrid have been
                   completed. We shall review aspects of the language
                   design and attempt to evaluate its shortcomings. We
                   conclude with a list of requirements that we pose as a
                   challenge for the design of future concurrent
                   object-oriented languages.},
  keywords       = {olit-obcl skipdoi hybrid tour osg-ftp},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier92cTourOfHybrid.pdf},
  year           = 1992
}

@Article{Doda94h,
  Author         = {Mahesh Dodani},
  Title          = {{WANTED}: Archaeological Object-Oriented Designers},
  Journal        = {Report on Object-Oriented Analysis and Design},
  Volume         = {7},
  Number         = {3},
  Pages          = {6-7},
  keywords       = {obib(gen) binder},
  month          = may,
  publisher      = {SIGS Publications},
  year           = 1994
}

@InProceedings{Godf00a,
  Author         = {Michael W. Godfrey and Eric H. S. Lee},
  Title          = {Secrets from the Monster: Extracting {Mozilla}'s
                   Software Architecture},
  BookTitle      = {Proc. of the Second Intl. Symposium on Constructing
                   Software Engineering Tools (CoSET-00)},
  keywords       = {design-recovery},
  month          = jun,
  url            = {http://plg.uwaterloo.ca/~migod/papers/coset00.pdf},
  year           = 2000
}

@MastersThesis{Morr89a,
  Author         = {Kenneth Morris},
  Title          = {Metrics for Object-Oriented Software Development
                   Environments},
  School         = {Sloan School of Management. MIT},
  year           = 1989
}

@InCollection{Rich77a,
  Author         = {M. Richards},
  Title          = {The Implementation of {BCPL}},
  BookTitle      = {Software Portability},
  Publisher      = {Cambridge University Press},
  Editor         = {P.J. Brown},
  Pages          = {192-202},
  keywords       = {plang bcpl o-code},
  year           = 1977
}

@Book{Spri89a,
  Author         = {George Springer and Daniel P. Friedman},
  Title          = {Scheme and the art of programming.},
  Publisher      = {MIT Press},
  Series         = {MIT electrical engineering and computer science
                   series.},
  isbn           = {0-262-19288-8},
  keywords       = {scheme book scglib},
  year           = 1989
}

@InProceedings{Issa98a,
  Author         = {Val{\'e}rie Issarny and Christophe Bidan and Titos
                   Saridakis},
  Title          = {Characterizing Coordination Architectures According to
                   their Non-Functional Execution Properties},
  BookTitle      = {{Proceedings of the 31st Annual Hawaii International
                   Conference on System Sciences}},
  Pages          = {275-283},
  month          = jan,
  url            = {http://www-rocq.inria.fr/solidor/members/issarny.html},
  year           = 1998
}

@Article{Cook84a,
  Author         = {P.R. Cook},
  Title          = {Electronic Encyclopedias},
  Journal        = {Byte},
  Pages          = {151-167},
  keywords       = {olit-appl hypertext multimedia},
  month          = jul,
  year           = 1984
}

@Article{Duca05g,
  Author         = {St\'ephane Ducasse and Nathanael Sch{\"a}rli and Roel
                   Wuyts},
  Title          = {Uniform and Safe Metaclass Composition},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {31},
  Number         = {3-4},
  Pages          = {143-164},
  abstract       = {In pure object-oriented languages, classes are
                   objects, instances of other classes called metaclasses.
                   In the same way as classes define the properties of
                   their instances, metaclasses define the properties of
                   classes. It is therefore very natural to wish to reuse
                   class properties, utilizing them amongst several
                   classes. However this introduced metaclass composition
                   problems, i.e., code fragments applied to one class may
                   break when used on another class due to the inheritance
                   relationship between their respective metaclasses.
                   Numerous approaches have tried to solve metaclass
                   composition problems, but they always resort to an
                   ad-hoc manner of handling conflicting properties,
                   alienating the meta-programmer. We propose a uniform
                   approach that represents class properties as traits,
                   groups of methods that act as a unit of reuse from
                   which classes are composed. Like all the other classes
                   in the system, metaclasses are composed out of traits.
                   This solution supports the reuse of class properties,
                   and their safe and automatic composition based on
                   explicit conflict resolution. The paper discusses
                   traits and our solution, shows concrete examples
                   implemented in the Smalltalk environment Squeak, and
                   compares our approach with existing models for
                   composing class properties. },
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2004.11.003},
  keywords       = {scg-pub stefPub schaerli jb05 snf05},
  misc           = {SCI impact factor 0.467},
  month          = dec,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05ySafeMetaclassTrait.pdf},
  year           = 2005
}

@TechReport{Sivi97a,
  Author         = {Sivilotti, Paolo A.G. and Chandy, K. Mani},
  Title          = {{A Distributed Infrastructure for Software Component
                   Technology}},
  Institution    = {California Institute of Technology, Pasadena},
  keywords       = {olit repository abb},
  month          = sep,
  url            = {http://www.cis.ohio-state.edu/~paolo/research/cs-tr-97-32.ps},
  year           = 1997
}

@InProceedings{Ledo96a,
  Author         = {T. Ledoux and P. Cointe},
  Title          = {Explicit Metaclasses as a Tool for Improving the
                   Design of Class Libraries},
  BookTitle      = {Proceedings of ISOTAS '96, LNCS 1049},
  Pages          = {38-55},
  Organization   = {JSSST-JAIST},
  month          = mar,
  year           = 1996
}

@InProceedings{Burd97a,
  Author         = {Elizabeth Burd and Malcolm Munro},
  Title          = {Investigating the Maintenance Implications of the
                   Replication of Code},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM)},
  Publisher      = {IEEE},
  keywords       = {clones},
  location       = {Bari, Italy},
  month          = sep,
  year           = 1997
}

@Article{Svob84a,
  Author         = {L. Svobodova},
  Title          = {Resilient Distributed Computing},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = {3},
  Pages          = {257-268},
  keywords       = {olit reliability},
  month          = may,
  year           = 1984
}

@InProceedings{Ingo91a,
  Author         = {A. Ing\'olfsd\'ottir and Bent Thomsen},
  Title          = {Semantic Models for {CCS} with Values},
  BookTitle      = {Proc. of Chalmers Workshop on Concurrency},
  Address        = {Baastad, Sweden},
  keywords       = {pcalc ccs binder},
  misc           = {May 27-31},
  month          = may,
  year           = 1991
}

@Article{Pete77a,
  Author         = {James L. Peterson},
  Title          = {Petri Nets},
  Journal        = {ACM Computing Surveys},
  Volume         = {9},
  Number         = {3},
  Pages          = {223-252},
  keywords       = {concurrency other nets binder(conc)},
  month          = sep,
  year           = 1977
}

@InProceedings{Hill92a,
  Author         = {Ralph D. Hill},
  Title          = {The Abstraction-Link Paradigm: Using Contraints to
                   Connect User Interfaces to Applications},
  BookTitle      = {Proceedings of CHI '92: the Conference on Human
                   Factors in Computing Systems},
  Pages          = {335-342},
  Organization   = {ACM},
  month          = may,
  year           = 1992
}

@Article{Kay77a,
  Author         = {A. Kay},
  Title          = {Microelectronics and the Personal Computer},
  Journal        = {Scientific American},
  Volume         = {3},
  Number         = {237},
  Pages          = {230-240},
  year           = 1977
}

@Article{ACM94a,
  Author         = {{ACM}},
  Title          = {High Performance Computing},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {4},
  institution    = {ACM},
  keywords       = {scglib},
  month          = apr,
  year           = 1994
}

@Article{Weth80a,
  Author         = {C. S. Wetherell},
  Title          = {Probabilistic Languages: A Review and Some Open
                   Questions},
  Journal        = {ACM Computing Surveys},
  Volume         = {12},
  Number         = {4},
  Pages          = {361--379},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/356827.356829},
  issn           = {0360-0300},
  keywords       = {parsing},
  publisher      = {ACM Press},
  year           = 1980
}

@InProceedings{Lanz02b,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {Beyond Language Independent Object-Oriented Metrics:
                   Model Independent Metrics},
  BookTitle      = {Proceedings of the 6th International Workshop on
                   Quantitative Approaches in Object-Oriented Software
                   Engineering},
  Editor         = {Fernando Brito e Abreu and Mario Piattini and Geert
                   Poels and Houari A. Sahraoui},
  Pages          = {77-84},
  abstract       = {Software Metrics have become essential in software
                   engineering for several reasons, among which quality
                   assessment and reengineering. In the context of the
                   European Esprit Pro ject FAMOOS, whose main goal was to
                   provide methodologies for the reengineering of large
                   industrial software systems, we have developed the
                   Moose Reengineering Environment, based on the language
                   independent FAMIX metamodel. Moose includes a metrics
                   engine which supports language independent metrics,
                   since coping with software written in different
                   implementation languages was one of the project's main
                   constraints. Our current research is pushing us towards
                   the development and implementation of a metametamodel,
                   which would include our metamodel and allow for several
                   extension in different research directions, among which
                   concept analysis, knowledge management and software
                   evolution. In this article we want to present our
                   current and future work for the transition from
                   language independent to domain independent metrics.},
  annote         = {internationalworkshop},
  isbn           = {84-699-8696-1},
  keywords       = {scg-pub skipdoi jb02 snf02 stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz02bModelIndependentMetrics.pdf},
  year           = 2002
}

@InProceedings{Deco91a,
  Author         = {D. Decouchant and P. Le Dot and M. Riveill and C.
                   Roisin and X. Rousset de Pina},
  Title          = {A Synchronization Mechanism for an Object-Oriented
                   Distributed System},
  BookTitle      = {Proceedings of the 11th IEEE Conference on Distributed
                   Computing Systems},
  keywords       = {olit-obcl guide binder},
  month          = may,
  year           = 1991
}

@Article{Avgu05a,
  Author         = {Pavel Avgustinov and Aske Simon Christensen and Laurie
                   Hendren and Sascha Kuzins and Jennifer Lhot\'{a}k and
                   Ondrej Lhot\'{a}k and Oege de Moor and Damien Sereni
                   and Ganesh Sittampalam and Julian Tibble},
  Title          = {{abc}: An extensible AspectJ compiler},
  Journal        = {Transactions on Aspect-Oriented Software Development},
  keywords       = {abc aspect},
  month          = oct,
  year           = 2005
}

@Unpublished{Guer93a,
  Author         = {Rachid Guerraoui},
  Title          = {Modular Atomic Objects},
  Note           = {EPFL Lausanne},
  keywords       = {olit-obc transactions binder},
  type           = {draft manuscript},
  year           = 1993
}

@TechReport{Tsch02a,
  Author         = {Daniel Tschan},
  Title          = {Exjdb --- Experimental {Java} Debugger},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {snf-none scg-ip skip-abstract jb03},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Tsch02a.pdf},
  year           = 2002
}

@Article{Koen95a,
  Author         = {Andrew Koenig},
  Title          = {Patterns and antipatterns},
  Journal        = {Journal of Object-Oriented Programming},
  keywords       = {olit patterns antipatterns},
  misc           = {March-April},
  month          = mar,
  year           = 1995
}

@InProceedings{Gamm89a,
  Author         = {Erich Gamma and Andr\'e Weinand and Rudolph Marty},
  Title          = {Integration of a Programming Environment into {ET}++
                   --- {A} Case Study},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {283-297},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl et++ binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Huda92b,
  Author         = {Paul Hudak and Simon Peyton Jones and Philip Wadler},
  Title          = {Report on the Programming Language Haskell --- {A}
                   Non-strict, Purely Functional Language (Version 1.2)},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {27},
  Number         = {5},
  keywords       = {fpl haskell binder (shelf)},
  month          = may,
  year           = 1992
}

@Article{Yama93a,
  Author         = {Seiichi Yamazaki and Kiyohiko Kajihara and Mitsutaka
                   Ito and Ryuichi Yasuhara},
  Title          = {Object-Oriented Design of Telecommunication Software},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {81-87},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@InProceedings{Cook89a,
  Author         = {William Cook and Jens Palsberg},
  Title          = {A Denotational Semantics of Inheritance and its
                   Correctness},
  BookTitle      = {Proceedings OOPSLA '89},
  Volume         = {24},
  Pages          = {433-443},
  keywords       = {olit-inheritance oopsla89 binder(oop) ioom-types},
  month          = oct,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1989
}

@InProceedings{Mann87a,
  Author         = {Carl Manning},
  Title          = {Traveler: The Apiary Observatory},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {89-97},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@TechReport{Nier83a,
  Author         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Office Object Flow},
  Institution    = {Computer Systems Research Group, University of Toronto},
  Type           = {Beta Gamma, Technical Report},
  Number         = {150},
  abstract       = {Office information systems provide facilities for
                   automatically triggering procedures when certain
                   conditions become true or particular events take place
                   such as receipt of mail. When these procedures operate
                   concurrently and independently in a common environment,
                   the overall behaviour of the system may be unexpected.
                   ``Firing expressions'' are proposed as a tool for
                   describing global behaviour and for detecting unusual
                   properties of the system.},
  keywords       = {oislit skipdoi mail modeling},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier83aOfficeObjectFlow.pdf},
  year           = 1983
}

@InProceedings{Sorg88a,
  Author         = {P\o{a}l S{\/o}rgaard},
  Title          = {Object-Oriented Programming and Computerised Shared
                   Material},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {319-334},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Article{Luhn58a,
  Author         = {H. P. Luhn},
  Title          = {The automatic creation of literature abstracts},
  Journal        = {IBM Journal of Research and Development},
  Volume         = {2},
  Pages          = {159--165},
  year           = 1958
}

@Book{Bond76a,
  Author         = {J.A. Bondy and U.S.R. Murty},
  Title          = {Graph Theory with Applications},
  Publisher      = {North Holland},
  Address        = {New York},
  keywords       = {misc graph theory book},
  year           = 1976
}

@PhdThesis{Alle97b,
  Author         = {Robert J. Allen},
  Title          = {A Formal Approach to Software Architecture},
  School         = {School of Computer Science, Carnegie Mellon
                   University, Pittsburgh},
  Type           = {Ph.{D}. Thesis},
  keywords       = {sa wright sa architecture csp},
  month          = may,
  url            = {http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/rallen_thesis.htm},
  year           = 1997
}

@InProceedings{Gord98a,
  Author         = {Andrew D. Gordon and Paul D. Hankin},
  Title          = {A Concurrent Object Calculus: Reduction and Typing},
  BookTitle      = {Proceedings HLCL '98},
  Publisher      = {Elsevier ENTCS},
  keywords       = {pcalc mobility pisem},
  url            = {http://research.microsoft.com/~adg/Publications/details.html},
  year           = 1998
}

@Book{Plet96a,
  Author         = {Jonathan Pletzke},
  Title          = {Advanced {Smalltalk}},
  Publisher      = {Wiley Computer Publishing},
  isbn           = {0-471-16350-3},
  keywords       = {olit smalltalk scglib},
  year           = 1996
}

@Book{Booc83a,
  Author         = {Grady Booch},
  Title          = {Software Engineering with Ada},
  Publisher      = {The Benjamin Cummings Publishing Co. Inc.},
  Address        = {Menlo Park, CA 94025},
  keywords       = {plang ada},
  year           = 1983
}

@Article{ACM94i,
  Author         = {{ACM}},
  Title          = {Visualization and Design},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {12},
  institution    = {ACM},
  keywords       = {scglib},
  month          = dec,
  year           = 1994
}

@InProceedings{Bani98a,
  Author         = {Elisa L. A. Baniassad and Gail C. Murphy},
  Title          = {Conceptual module querying for software reengineering},
  BookTitle      = {Proceedings of the 20th international conference on
                   Software engineering},
  Pages          = {64-73},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-8186-8368-6},
  location       = {Kyoto, Japan},
  year           = 1998
}

@InProceedings{Leth04a,
  Author         = {Timothy Lethbridge and Sander Tichelaar and Erhard
                   Pl\"odereder},
  Title          = {The Dagstuhl Middle Metamodel: A Schema For Reverse
                   Engineering},
  BookTitle      = {Electronic Notes in Theoretical Computer Science},
  Volume         = {94},
  Pages          = {7--18},
  year           = 2004
}

@InProceedings{Deur99a,
  Author         = {Arie van Deursen and Tobias Kuipers},
  Title          = {Building Document Generators},
  BookTitle      = {Proceedings ICSM'99 (International Conference on
                   Software Maintenance)},
  Editor         = {Hongji Yang and Lee White},
  Pages          = {40-49},
  Publisher      = {IEEE},
  month          = sep,
  year           = 1999
}

@InProceedings{Zou04a,
  Author         = {Zou, Qinghua and Liu, Shaorong and Chu, Wesley W.},
  Title          = {Ctree: a compact tree for indexing XML data},
  BookTitle      = {WIDM '04: Proceedings of the 6th annual ACM
                   international workshop on Web information and data
                   management},
  Pages          = {39--46},
  Address        = {New York, NY, USA},
  Publisher      = {ACM},
  doi            = {http://doi.acm.org/10.1145/1031453.1031462},
  isbn           = {1-58113-978-0},
  location       = {Washington DC, USA},
  year           = 2004
}

@TechReport{Mins74a,
  Author         = {Marvin Minsky},
  Title          = {A Framework for Representing Knowledge},
  Institution    = {MIT},
  publisher      = {Massachusetts Institute of Technology},
  source         = {http://www.ncstrl.org:8900/ncstrl/servlet/searchformname=detail\&id=oai%3Ancstrlh%3Amitai%3AMIT-AILab%2F%2FAIM-306},
  year           = 1974
}

@PhdThesis{Kosc00a,
  Author         = {Rainer Koschke},
  Title          = {Atomic Architectural Component Recovery for Program
                   Understanding and Evolution},
  School         = {Universit\"at Stuttgart},
  keywords       = {fca clustering},
  url            = {http://www.informatik.uni-stuttgart.de/ifi/ps/bauhaus/papers/koschke.thesis.2000.html},
  year           = 2000
}

@InProceedings{Groh99a,
  Author         = {B. Groh and P. Eklund},
  Title          = {Algorithms for Creating Relational Power Context
                   Families from Conceptual Graphs},
  BookTitle      = {Conceptual Structures: Standards and Practices},
  Editor         = {W. Tepfenhart and W. Cyre},
  Series         = {Lecture Notes in Artificial Intelligence},
  Pages          = {389-400},
  Address        = {Berlin},
  Publisher      = {Springer Verlag},
  keywords       = {fca},
  year           = 1999
}

@Article{Cast95a,
  Author         = {Giuseppe Castagna},
  Title          = {Covariance and contravariance: conflict without a
                   cause},
  Journal        = toplas,
  Volume         = 17,
  Number         = 3,
  Pages          = {431-447},
  year           = 1995
}

@InProceedings{Bena05a,
  Author         = {Luis Daniel Benavides Navarro and Mario S\"udholt and
                   Wim Vanderperren and Bruno De Fraine and Davy Suv\'{e}e},
  Title          = {Explicitly distributed {AOP} using {AWED}},
  BookTitle      = {Proceedings of the 5th Int. ACM Conf. on
                   Aspect-Oriented Software Development (AOSD'06)},
  Publisher      = {ACM Press},
  month          = mar,
  year           = 2006
}

@InProceedings{Welc01a,
  Author         = {I. Welch and R. Stroud},
  Title          = {{Kava} -- Using Bytecode Rewriting to add Behavioural
                   Reflection to {Java}},
  BookTitle      = {Proceedings of the 6th USENIX Conference on
                   Object-Oriented Technology (COOTS'2001)},
  Pages          = {119--130},
  Address        = {San Antonio, Texas, USA},
  month          = feb,
  year           = 2001
}

@Book{DeMa99a,
  Author         = {Tom DeMarco and Timothy Lister},
  Title          = {Peopleware, Productive Projects and Teams},
  Publisher      = {Dorset House},
  Edition        = {2nd},
  keywords       = {oorp 2copies hci scglib},
  year           = 1999
}

@Article{Davi93a,
  Author         = {John Davis and Tom Morgan},
  Title          = {Object-Oriented Development at Brooklyn Union Gas},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {67-74},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@Article{Russ00a,
  Author         = {Claudio V. Russo},
  Title          = {First-class structures for standard ML},
  Journal        = {Nordic J. of Computing},
  Volume         = {7},
  Number         = {4},
  Pages          = {348-374},
  issn           = {1236-6064},
  year           = 2000
}

@Misc{Cocoon,
  Title          = {Apache Cocoon, The Apache Cocoon Project},
  Note           = {http://cocoon.apache.org/},
  key            = {Cocoon}
}

@InProceedings{Nier91d,
  Author         = {Oscar Nierstrasz and Michael Papathomas},
  Title          = {Towards a Type Theory for Active Objects},
  BookTitle      = {ACM OOPS Messenger, Proceedings OOPSLA/ECOOP 90
                   Workshop on Object-Based Concurrent Systems},
  Volume         = {2},
  Pages          = {89-93},
  abstract       = {Currently popular notions of types, such as signature
                   compatibility, fail to express essential properties of
                   concurrent active objects that are necessary for their
                   correct use in new contexts. We propose and explore a
                   new notion of compatibility called interaction
                   conformance defined in terms of the possible
                   interactions between an object and its clients. We
                   relate interaction conformance to known equivalence
                   relations between communicating concurrent agents, and
                   we show that, by viewing types as certain kinds of
                   indeterminate agents, interaction conformance gives us
                   a subtype relationship. We briefly explore the
                   potential for applying these ideas to concurrent
                   object-oriented languages.},
  annote         = {internationalworkshop},
  doi            = {http://doi.acm.org/10.1145/127056.127092},
  keywords       = {olit-obc pcalc equivalence semantics abacus osg-ftp
                   om90 obc90},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier91dTypedActiveObjects.pdf},
  year           = 1991
}

@Article{Tsic92b,
  Author         = {Dennis Tsichritzis and Oscar Nierstrasz and Simon
                   Gibbs},
  Title          = {Beyond Objects: Objects},
  Journal        = {IJICIS (International Journal of Intelligent \&
                   Cooperative Information Systems)},
  Volume         = {1},
  Number         = {1},
  Pages          = {43-60},
  abstract       = {Object-orientation offers more than just objects,
                   classes and inheritance as means to structure
                   applications. It is an approach to application
                   development in which software systems can be
                   constructed by composing and refining pre-designed,
                   plug-compatible software components. But for this
                   approach to be successfully applied, programming
                   languages must provide better support for component
                   specification and software composition, the software
                   development life-cycle must separate the issues of
                   generic component design and reuse from that of
                   constructing applications to meet specific
                   requirements, and, more generally, the way we develop,
                   manage, exchange and market software must adapt to
                   better support large-scale reuse for software
                   communities. In this paper we shall explore these
                   themes and we will highlight a number of key research
                   directions and open problems to be explored as steps
                   towards improving the effectiveness of object
                   technology.},
  annote         = {internationaljournal},
  keywords       = {olit-reuse osg-ftp skipdoi of92},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Tsic92bBeyondObjects.pdf},
  year           = 1992
}

@MastersThesis{Held99a,
  Author         = {Michael Held},
  Title          = {Scripting f{\"u}r {CORBA}},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Verteilte Applikationen stellen hohe Anforderungen an
                   die Software-Hersteller, da diese Applikationen sehr
                   schnell sehr komplex werden, unzureichende
                   Entwicklungswerkzeuge haben und einen hohen
                   Administrationsaufwand verursachen. Zur Unterst\"utzung
                   werden heutzutage oft Middleware- Technologien
                   eingesetzt, wie zum Beispiel DCOM, RMI oder CORBA. In
                   dieser Arbeit wird CORBA analysiert und mit Hilfe eines
                   in dieser Arbeit erstellten Verbesserungsansatzes und
                   einer Skript-Sprache zu einem Komponenten Framework
                   verbessert. CORBA ist eine Middleware f\"ur verteilte,
                   heterogene Applikationen und verspricht die
                   Unabh\"angigkeit von Programmiersprache sowie eine
                   transparente Verteilung von Objekten. CORBA hat einige
                   Schwachstellen, wie zum Beispiel die mangelhafte
                   Flexibilit\"at, die mit hohem Aufwand verbundene
                   Erweiterbarkeit oder das aufwendige Testen. In der
                   Informationstechnologie gibt es heute viele, schnelle
                   Ver\"anderungen, was ein hohes Mass an Flexibilit\"at
                   und Erweiterbar- beziehungsweise Ver\"anderbarkeit der
                   Software erfordert. In dieser Arbeit wird gezeigt, dass
                   eine Middleware, wie CORBA, durch einen einfachen
                   Verbesserungsansatz, der Komponenten-Proxy-Methode,
                   wesentlich verbessert werden kann. Mit Hilfe dieser
                   Methode und der verwendeten Skript-Sprache Python wird
                   ein Komponenten Framework erstellt, das die Verwendung
                   von verteilten Komponenten wesentlich flexibler macht.
                   Durch dieses Framework wird eine h\"ohere Abstraktion
                   der Applikationen erreicht, da die Applikationslogik
                   von den Komponenten getrennt werden kann und die
                   Komponenten durch Scripting verbunden werden. Dadurch
                   entstehen allgemeinere Komponenten, die einfacher
                   wiederverwendet werden k\"onnen. Die
                   Komponenten-Proxy-Methode f\"ordert zudem die
                   Einsatzm\"oglichkeiten von CORBA. Es werden Ans\"atze
                   f\"ur einen 'travelling agent' und einen 'intelligent
                   proxy' gezeigt.},
  keywords       = {snf-none scg-pub skipdoi toBeChecked scg-msc jb99},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Held99a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Held99a.ps.gz},
  year           = 1999
}

@Article{Chua98a,
  Author         = {Mei C. Chuah and Stephen G. Eick},
  Title          = {Information Rich Glyphs for Software Management Data},
  Journal        = {IEEE Computer Graphics and Applications},
  Volume         = {18},
  Number         = {4},
  Pages          = {24--29},
  keywords       = {visualization},
  month          = jul,
  publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@Article{Kohl86a,
  Author         = {Eugene E. Kohlbecker and Daniel P. Friedman and
                   Matthias Felleisen and Bruce Duba},
  Title          = {Hygienic macro expansion},
  Journal        = {Symposium on LISP and Functional Programming},
  Pages          = {151-161},
  year           = {August 1986}
}

@InProceedings{Shri94a,
  Author         = {C. Shrivastava and D. Carver and R. Shrivastava},
  Title          = {An Ambiguity Resolution Algorithm},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {221-231},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@InProceedings{Lin98b,
  Author         = {Dekang Lin},
  Title          = {An Information-Theoretic Definition of Similarity},
  BookTitle      = {Proceedings of the 15th ICML},
  Pages          = {296-304},
  Address        = {Madison WI},
  year           = 1998
}

@InCollection{Hogg85b,
  Author         = {John Hogg},
  Title          = {Intelligent Message Systems},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {113-134},
  Address        = {Heidelberg},
  keywords       = {oislit imail oact85},
  year           = 1985
}

@InProceedings{Kuzn01a,
  Author         = {Sergei Kuznetsov and Sergei Ob{\"e}dkov},
  Title          = {Comparing {Performance} of {Algorithms} for
                   {Generating} {Concept} {Lattices}},
  BookTitle      = {Proceedings of International Workshop on Concept
                   Lattice-based Theory, Methods and Tools for Knowledge
                   Discovery in Databases},
  location       = {California, USA},
  year           = 2001
}

@TechReport{Haer06a,
  Author         = {Marcel Haerry},
  Title          = {{JPAAM} - Pluggable Authentication and Authorization
                   Framework},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {Many (web) applications share content between several
                   users and different views. To manage this content often
                   a CMS (Content Management System) is used with
                   different levels of access and offer possibilities to
                   edit and change the content. Only a few systems have a
                   security system, which can adapt to changing
                   requirements with another type of security model.
                   Therefore the way access is permitted or denied is
                   fixed in the architecture and the evolution progress of
                   the application. In detail this means that the part of
                   authorization and authentication is often hard-wired
                   into the application and bigger changes to the
                   structure in the application are required to implement
                   for example another policy. Typically the actual
                   implementation of the security system fits the current
                   wishes of the users or developers and is a fixed part
                   of the application and therefore not very easy to
                   exchange nor to adapt a new policy. The proposed
                   pluggable authentication and authorization framework
                   (called JPAAM) offers a solution to this problem and
                   allows users to select their security model for their
                   needs and gives developers the possibility to develop
                   an application aside the aspect of authorization and
                   authentication. JPAAM provides highly configurable
                   interfaces with which a clear separation of the
                   security system from the application is possible.},
  keywords       = {snf-none scg-bp jb06 fb06},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Haer06a.pdf},
  year           = 2006
}

@PhdThesis{Lanz03b,
  Author         = {Michele Lanza},
  Title          = {Object-Oriented Reverse Engineering ---
                   Coarse-grained, Fine-grained, and Evolutionary Software
                   Visualization},
  School         = {University of Berne},
  abstract       = {The maintenance, reengineering, and evolution of
                   object-oriented software systems has become a vital
                   matter in today's software industry. Although most
                   systems start off in a clean and well-designed state,
                   with time they tend to gradually decay in quality,
                   unless the systems are reengineered and adapted to the
                   evolving requirements. However, before such legacy
                   software systems can be reengineered and evolved, they
                   must be reverse engineered, i.e., their structure and
                   inner working must b e understood. This is difficult
                   because of several factors, such as the sheer size of
                   the systems, their complexity, their domain
                   specificity, and in general the bad state legacy
                   software systems are in. In this thesis we propose a
                   visual approach to the reverse engineering of
                   object-oriented software systems by means of polymetric
                   views, lightweight visualizations of software enriched
                   with metrics and other types of semantic information
                   about the software, e.g., its age, version,
                   abstractness, location, structure, function, etc. We
                   present and discuss several polymetric views which
                   allow us to understand three different aspects of
                   object-oriented software, namely (1) coarse-grained
                   aspects which allow for the understanding of very large
                   systems, (2) fine -grained aspects which allow for the
                   understanding of classes and class hierarchies, and (3)
                   evolutionary aspects, which enable us to recover and
                   understand the evolution of a software system. The
                   combination of these three types of information can
                   greatly reduce the time needed to gain an understanding
                   of an object-oriented software system. Based on the
                   application of our polymetric views, we present our
                   reverse engineering methodology which we validated and
                   refined on several occasions in industrial set tings.
                   It allows us to explore and combine these three
                   approaches into one single visual approach to
                   understand software.},
  keywords       = {recast03 scg-pub skipdoi scg-phd evolution jb03
                   moose-pub},
  misc           = {Recipient of the Denert-Stiftung Software Engineering
                   Prize 2003},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/lanza-phd.pdf},
  year           = 2003
}

@Article{Bibl01a,
  Author         = {John Bible and Gregg Rothermel and David Rosenblum},
  Title          = {A Comparative Study of Coarse- and Fine-Grained Safe
                   Regression Test Selection},
  Journal        = {ACM TOSEM},
  Volume         = {10},
  Number         = {2},
  Pages          = {149-183},
  keywords       = {testing},
  month          = apr,
  year           = 2001
}

@Misc{Kawa,
  Author         = {Per Bothner},
  Title          = {{Kawa}, the {Java}-based {Scheme} system},
  Note           = {http://www.gnu.org/software/kawa/}
}

@Article{Wale03b,
  Author         = {Andrew Walenstein and Arun Lakhotia and Rainer Koschke},
  Title          = {The Second International Workshop on Detection of
                   Software Clones: workshop report},
  Journal        = {SIGSOFT Softw. Eng. Notes},
  Volume         = {29},
  Number         = {2},
  Pages          = {1-5},
  doi            = {http://doi.acm.org/10.1145/979743.979752},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 2004
}

@InProceedings{Jeff92a,
  Author         = {S. Jefferson and D.P. Friedman},
  Title          = {{A Simple Reflective Interpreter}},
  BookTitle      = {IMSA '92 International Workshop on Reflection and
                   Meta-Level Architecture},
  Address        = {Tokyo},
  month          = nov,
  year           = 1992
}

@Article{Hu02a,
  Author         = {E. Yu-Shing Hu and G. Bernat and A. Wellings},
  Title          = {A {Static} {Timing} {Analysis} {Environment} {Using}
                   {Java} {Architecture} for {Safety} {Critical}
                   {Real}-{Time} {Systems}},
  Journal        = {In Proceedings of 7th IEEE International Workshop on
                   Object-Oriented Real-Time Dependable Systems
                   (WORDS-2002)},
  Pages          = {64-71},
  month          = jan,
  year           = 2002
}

@Article{Anco98a,
  Author         = {D. Ancona and E. Zucca},
  Title          = {A Theory of Mixin Modules: Basic and Derived Operators},
  Journal        = {Mathematical Structures in Computer Science},
  Volume         = 8,
  Number         = 4,
  Pages          = {401-446},
  month          = aug,
  url            = {http://www.disi.unige.it/person/AnconaD/Journals.html},
  year           = 1998
}

@InProceedings{Deme96m,
  Author         = {Serge Demeyer and Patrick Steyaert and Koen De Hondt
                   and Wim Codenie and Roel Wuyts and Theo D'Hondt},
  Title          = {The Zypher Meta Object Protocol},
  BookTitle      = {Proceedings of the 2nd Workshop on Open Hypermedia
                   Systems -- Hypertext '96},
  Editor         = {Uffe Kock Wiil and Serge Demeyer},
  Pages          = {15-23},
  Publisher      = {Department of Information and Computer Science ---
                   University of California Irvine --- CA 92717-3425},
  Note           = {UCI-ICS Technical Report 96-10},
  abstract       = {This paper discusses the necessity of a meta object
                   protocol in the design of an open hypermedia system. It
                   shows that a meta object protocol enables to tailor the
                   behaviour and configuration of the hypermedia system,
                   independent of its constituting elements. The approach
                   is demonstrated by means of the Zypher Open Hypermedia
                   Framework, where the meta object protocol eases the
                   incorporation of system services (i.e. caching,
                   logging, authority control and integrity control) and
                   flexible reconfiguration (i.e. run-time extensibility
                   and cross-platform portability).},
  annote         = {internationalworkshop},
  keywords       = {olit hypermedia zypher sergedem-papunr},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme96m/
                   http://www.iam.unibe.ch/~demeyer/Deme96m/psstmnt.html
                   http://www.daimi.aau.dk/~kock/OHS-HT96/
                   http://progwww.vub.ac.be/papers/paperquery.html},
  year           = 1996
}

@InProceedings{Yell92a,
  Author         = {Phillip M. Yelland},
  Title          = {Experimental Classification Facilities for {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {235-246},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Misc{Rapi98a,
  Author         = {Pascal Rapicault and Mireille Blay-Fornarino and
                   St\'ephane Ducasse and Anne-Marie Dery},
  Title          = {Dynamic Type Inference to Support Object-Oriented
                   Reengineering in Smalltalk},
  Note           = {Proceedings of the ECOOP '98 International Workshop
                   Experiences in Object-Oriented Reengineering, abstract
                   in Object-Oriented Technology (ECOOP '98 Workshop
                   Reader forthcoming LNCS)},
  abstract       = {Type information is a crucial information to support
                   object-oriented reengineering. In a dynamically typed
                   language like Smalltalk standard static type inference
                   is a complex and heavily computational task. In this
                   paper, we report how we use message passing control and
                   compiler extension to support dynamic inference type in
                   Smalltalk.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi olit famoos-papunr oobib snf98 jb98
                   stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/Rapi98a/type.pdf},
  year           = 1998
}

@InProceedings{Fium87b,
  Author         = {Eugene Fiume and Dennis Tsichritzis and Laurent Dami},
  Title          = {A Temporal Scripting Language for Object-Oriented
                   Animation},
  BookTitle      = {Proceedings of Eurographics 1987 (North-Holland)},
  Address        = {Amsterdam},
  Publisher      = {Elsevier Science Publishers},
  abstract       = {Object orientation and concurrency are inherent to
                   computer animation. Since the pieces of an animation
                   can come from various media such as computer-generated
                   imagery, video, and sound, the case for object
                   orientation is all the stronger. However, languages for
                   expressing the temporal co-ordination of animated
                   objects have been slow in coming. We present such a
                   language in this paper. Since the movements that an
                   animated object can perform are also encapsulated as
                   objects in our system, the scripting language can also
                   be used to specify motion co-ordination. Such "motion
                   objects" can be applied to any animated object. The
                   syntax, semantics, and implementation of this language
                   will be described, and we shall show how to specify
                   device-independent computer animation.},
  keywords       = {olit-appl animation osg-ftp oat87},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/temporalScripting.pdf},
  year           = 1987
}

@Article{Hoff82a,
  Author         = {C. M. Hoffman and M. J. O'Donnell},
  Title          = {Pattern Matching in Trees},
  Journal        = {Journal of the ACM},
  Volume         = 29,
  Number         = 1,
  Pages          = {68-95},
  month          = jan,
  year           = 1982
}

@InProceedings{Duca00d,
  Author         = {St{\'e}phane Ducasse and Thomas Hofmann and Oscar
                   Nierstrasz},
  Title          = {OpenSpaces: An Object-Oriented Framework For
                   Reconfigurable Coordination Spaces},
  BookTitle      = {Coordination Languages and Models},
  Editor         = {Ant{\'o}nio Porto and Gruia-Catalin Roman},
  Volume         = {1906},
  Series         = {LNCS},
  Pages          = {1-19},
  Address        = {Limassol, Cyprus},
  abstract       = {Tuple spaces have turned out to be one of the most
                   fundamental abstractions for coordinating communicating
                   agents. At the same time, researchers continue to
                   propose new variants of tuple spaces, since no one
                   approach seems to be universally applicable to all
                   problem domains. Some models offer a certain
                   configurability, but existing approaches generally stop
                   at afixed set of configuration options and static
                   configuration at instantiation time. We argue that a
                   more open approach is needed, and present OpenSpaces,
                   an object-oriented framework that supports static
                   configurability through subclassing across several
                   dimensions, as well as dynamic configurability of
                   policies through runtime composition. We introduce
                   OpenSpaces by showing how it can be used to instantiate
                   a typical application, and we present an overview of
                   the framework, implemented in Smalltalk, detailing the
                   various degrees of configurability.},
  annote         = {internationalconference},
  keywords       = {olit scg-pub skipdoi coordination jb00 scg-coord-00
                   stefPub},
  misc           = {acceptance rate: 18/52 = 35\%},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00dOpenSpaces.pdf},
  year           = 2000
}

@TechReport{Zurb03a,
  Author         = {Reto Zurbuchen},
  Title          = {Stroke Datenbank},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {snf-none scg-ip skip-abstract jb04},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Zurb03a.pdf},
  year           = 2003
}

@Book{Leuf01a,
  Author         = {Bo Leuf and Ward Cunningham},
  Title          = {The Wiki Way: Collaboration and Sharing on the
                   Internet},
  Publisher      = {Addison-Wesley},
  year           = 2001
}

@TechReport{Smol89a,
  Author         = {Gert Smolka},
  Title          = {Feature Constraint Logics for Unification Grammars},
  Institution    = {IBM Germany},
  Type           = {IWBS Report},
  Number         = {93},
  Address        = {Stuttgart},
  Note           = {To appear in Journal of Logic Programming},
  keywords       = {olit logic binder (shelf)},
  month          = nov,
  year           = 1989
}

@InProceedings{Bana96b,
  Author         = {Guruduth Banavar and Gary Lindstrom},
  Title          = {An Application Framework for Module Composition Tools},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {91-113},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Book{Dahl72a,
  Author         = {Ole-Johan Dahl and Edsgar W. Dijkstra and C.A.R. Hoare},
  Title          = {Structured Programming},
  Publisher      = {Academic Press},
  year           = 1972
}

@Proceedings{Verc96a,
  Title          = {Software for Detecting Suspected Plagiarism: A
                   Comparison},
  Editor         = {John Rosenberg},
  Publisher      = {ACM},
  author         = {Kristina L. Verco and Michael J. Wise},
  booktitle      = {Proceedings First Australian Conference on Computer
                   Science Education},
  month          = jul,
  url            = {citeseer.ist.psu.edu/verco96software.html},
  year           = 1996
}

@Article{Simo02d,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 4: Object Types and
                   Subtyping},
  Journal        = {Journal of Object Technology},
  Volume         = {1},
  Number         = {5},
  Pages          = {27-35},
  keywords       = {ioom-types},
  misc           = {November-December},
  month          = nov,
  url            = {http://www.jot.fm/issues/issue_2002_11/column2},
  year           = 2002
}

@Book{Ling95a,
  Editor         = {Tok Wang Ling and Alberto O. Mendelzon},
  Title          = {Proceedings {DOOD}'95},
  Publisher      = {Springer-Verlag},
  Volume         = {1013},
  Series         = {LNCS},
  Address        = {Singapore},
  isbn           = {3-540-60608-4},
  keywords       = {olit dood95 scglib},
  month          = dec,
  year           = 1995
}

@InProceedings{Banv96a,
  Author         = {Mario Banville},
  Title          = {Sonia: an Adaptation of Linda for Coordination of
                   Activities in Organizations},
  BookTitle      = {Proceedings of COOORDINATION '96},
  Editor         = {Paolo Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {57-74},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {coordination cscw},
  month          = apr,
  year           = 1996
}

@TechReport{Hens90b,
  Author         = {Andreas Hense},
  Title          = {Polymorphic Type Inference for a Simple Object
                   Oriented Programming Language with State},
  Institution    = {FB 14, Universit{\"a}t des Saarlandes},
  Type           = {Report},
  Number         = {A20/90},
  keywords       = {olit-types binder},
  month          = nov,
  year           = 1990
}

@Article{Chri03a,
  Author         = {Aske Simon Christensen and Anders Moller and Michael
                   I. Schwartzbach},
  Title          = {Extending Java for highlevel web service construction},
  Journal        = {ACM Transaction on Programming Languages and Systems},
  Volume         = {25},
  Number         = {6},
  Pages          = {814--875},
  year           = 2003
}

@InProceedings{Kell91a,
  Author         = {Rudolf K. Keller, Mary Cameon, Richard N. Taylor
                   Dennis B. Troup},
  Title          = {User Interface Development and Software Environments:
                   the CHIRON-1 System},
  BookTitle      = {Proceedings of the 13th international conference on
                   Software Engineering},
  Pages          = {208-218},
  Address        = {Austin},
  Organization   = {IEEE},
  month          = may,
  year           = 1991
}

@InProceedings{Ibra88a,
  Author         = {Mamdouh H. Ibrahim and Fred A. Cummins},
  Title          = {KSL: A Reflective Object-Oriented Programming Language},
  BookTitle      = {Proceedings of the International Conference on
                   Co,puter Languages},
  Pages          = {186-193},
  Organization   = {IEEE},
  month          = oct,
  year           = 1988
}

@Book{W3CXQueryUF,
  Author         = {Don Chamberlin, Daniela Florescu and Jonathan Robie},
  Title          = {{XQuery} {Update} {Facility}},
  Publisher      = {W3C},
  Address        = {},
  Edition        = {1st},
  Note           = {http://www.w3.org/TR/xqupdate/},
  year           = 2006
}

@Book{Quat98a,
  Author         = {Terry Quatrani},
  Title          = {Visual Modeling with Rational Rose and UML},
  Publisher      = {Addison Wesley},
  keywords       = {uml scglib},
  year           = 1998
}

@InProceedings{Smar98b,
  Author         = {Yannis Smaragdakis and Don Batory},
  Title          = {Implementing Reusable Object-Oriented Components},
  BookTitle      = {5th International Conference on Software Reuse},
  Address        = {Victoria, Canada},
  month          = jun,
  url            = {http://www.cs.utexas.edu/users/schwartz/pub.htm#templates},
  year           = 1998
}

@InProceedings{Smit95c,
  Author         = {W.R. Smith},
  Title          = {Using a Prototype-based Language for User Interface:
                   The Newton Project's Experience},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {61-73},
  Organization   = {ACM},
  keywords       = {ioom ioom-prototype},
  month          = oct,
  year           = 1995
}

@PhdThesis{Duca97a,
  Author         = {St\'ephane Ducasse},
  Title          = {Int\'egration r\'eflexive de d\'ependances dans un
                   mod\`ele \`a classes},
  School         = {Universit\'e de Nice-Sophia Antipolis},
  Note           = {Th\`ese de l'Universit\'e de Nice-Sophia Antipolis},
  annote         = {phdthesis},
  keywords       = {olit scglit oobib snf97 stefPub flo},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca97aPhD.ps.gz
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Duca97aPhD.pdf},
  year           = 1997
}

@Unpublished{Lump00b,
  Author         = {Markus Lumpe},
  Title          = {Forms --- A Flexible Notion for Composition},
  Note           = {ECOOP 2000 Workshop on Component-Oriented Programming},
  abstract       = {We have been working on the definition of a general
                   purpose composition language based on a variant of the
                   Pi-calculus as formal semantics. More precisely, we
                   have developed the PiL-calculus, a process calculus in
                   which agents communicate by passing immutable
                   extensible records, called forms, rather than tuples.
                   Using this approach, we are able to model compositional
                   abstractions in a more natural and robust way. In this
                   position paper, we will extend the notion of forms and
                   will show that forms may serve as a unifying concept in
                   component-oriented software development.},
  keywords       = {oobib(gen) piccola scg-wp},
  month          = mar,
  year           = 2000
}

@InBook{Hayn95a,
  Author         = {P. Haynes and T. Menzies and R.F. Cohen},
  Title          = {Software Visualization},
  Chapter        = {{Visualisations} of {Large} {Object}-{Oriented}
                   {Systems}},
  Publisher      = {World-Scientific},
  year           = 1997
}

@Book{Frol96a,
  Author         = {Svend Fr\/olund},
  Title          = {Coordinating Distributed Objects --- An Actor-Based
                   Approach to Synchronization},
  Publisher      = {MIT Press},
  keywords       = {olit actors coordination},
  year           = 1996
}

@Unpublished{Just94a,
  Author         = {Timothy P. Justice and Rajeev K. Pandey and Timothy A.
                   Budd},
  Title          = {A Multiparadigm Approach to Compiler Construction},
  Note           = {Oregon State University},
  keywords       = {compiler binder},
  type           = {Draft},
  year           = 1994
}

@TechReport{Spec04a,
  Author         = {Daria Spescha},
  Title          = {Software Composition Styles: Mixins for {Piccola}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Piccola is a language to compose software components.
                   It is designed to support different composition styles.
                   Furthermore, mixins and mixin layers are a powerfull
                   composition style. So it was an interesting question if
                   mixins and mixin layers could be implemented with
                   Piccola. To prove this I first simulated the structure
                   for mixins and then implemented a small mixin layer
                   library for graph manipulation.},
  keywords       = {scg-ip jb04 piccola mixin layers snf04},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Spec04aMixinStyles.pdf},
  year           = 2004
}

@InProceedings{Nebb98n,
  Author         = {Robb Nebbe},
  Title          = {Composition and Coordination: the Two Paradigms
                   Underlying {AOP}?},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Series         = {LNCS 1543},
  Publisher      = {Springer-Verlag},
  abstract       = {This position paper is based on work recovering
                   architectures from object-oriented systems in the
                   context of the FAMOOS Esprit project. Our experience
                   corroborates the existence of aspects that cross-cut
                   the functionality of a software system. However, when
                   examining how the problems arising from such a
                   situation are dealt with in Ada where the language has
                   built-in support for concurrency and C++ where no such
                   support exists suggests the possibility of a more
                   general approach to aspect-oriented programming based
                   on the following hypothesis about software structure
                   that so far has proven to be correct. "A software
                   system can be structured as a set of independent
                   semantic domains consisting of a core problem domain
                   and a set of coordinated supporting domains." I will
                   use the term semantics to refer to an axiomatic or
                   denotational notions of semantics where only the result
                   is considered as semantically relevant as opposed to an
                   operational notion of semantics where how the result
                   was obtained is equally important. I will also use the
                   term coordination to mean the linking of actions or
                   instances from different semantic domains. This is a
                   very general notion of coordination of which the more
                   traditional use of coordination in relation to
                   concurrency is an example.},
  keywords       = {olit famoos-papunr scg-pub skipdoi toBeChecked snf98
                   jb98},
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/Nebb98n/nebbe_aop.pdf},
  year           = 1998
}

@InProceedings{Smar98a,
  Author         = {Yannis Smaragdakis and Don Batory},
  Title          = {Implementing Layered Design with Mixin Layers},
  BookTitle      = {Proceedings ECOOP '98},
  Editor         = {Eric Jul},
  Volume         = 1445,
  Series         = {LNCS},
  Pages          = {550-570},
  Address        = {Brussels, Belgium},
  keywords       = {mixin-layers},
  month          = jul,
  url            = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/t1445.htm
                   http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1445/14450550.pdf
                   http://www.cs.utexas.edu/users/schwartz/pub.htm#ecoop-templates
                   ftp://ftp.cs.utexas.edu/pub/predator/ecoop98.pdf},
  year           = 1998
}

@InProceedings{Schu99a,
  Author         = {Ulrik Schultz and Julia Lawall and Charles Consel and
                   Gilles Muller},
  Title          = {Towards Automatic Specialization of {Java} Programs},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {367-390},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Automatic program specialization can derive efficient
                   implementations from generic components, thus
                   reconciling the often opposing goals of genericity and
                   efficiency. This technique has proved useful within the
                   domains of imperative, functional, and logical
                   languages, but so far has not been explored within the
                   domain of object-oriented languages. We present
                   experiments in the specialization of {Java} programs.
                   We demonstrate how to construct a program specializer
                   for {Java} programs from an existing specializer for C
                   programs and a {Java}-to-C compiler. Specialization is
                   managed using a declarative approach that abstracts
                   over the optimization process and masks implementation
                   details. Our experiments show that program
                   specialization provides a four-time speedup of an
                   image-filtering program. Based on these experiments, we
                   identify optimizations of object-oriented programs that
                   can be carried out by automatic program specialization.
                   We argue that program specialization is useful in the
                   field of software components, allowing a generic
                   component to be specialized to a specific
                   configuration.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Scha01b,
  Author         = {Nathanael Sch{\"a}rli and Franz Achermann},
  Title          = {Partial evaluation of inter-language wrappers},
  BookTitle      = {Workshop on Composition Languages, WCL '01},
  abstract       = {Wrapping external components by scripts can be a
                   performance bottleneck if inter-language bridging is
                   frequent. Piccola is a pure composition language that
                   wraps components according to a specific composition
                   style. This wrapping must be efficient, since even
                   arithmetic operations are done by external components.
                   In this paper we present how to use partial evaluation
                   to overcome much of the overhead associated with the
                   wrapping. It turns out that Piccola scripts can be
                   highly optimized since form expression exhibit the
                   right kind of information to separate side effects from
                   services and resolve internal dependencies.},
  keywords       = {scg-pub skipdoi jb02 piccola snf01 schaerli},
  misc           = {schaerli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha01bLanguageWrappers.pdf},
  year           = 2001
}

@Book{Kern84a,
  Author         = {B.W. Kernighan and R. Pike},
  Title          = {The {UNIX} Programming Environment},
  Publisher      = {Prentice-Hall},
  keywords       = {misc unix},
  year           = 1984
}

@Article{Nier85b,
  Author         = {Oscar Nierstrasz},
  Title          = {Hybrid: {A} Unified Object-Oriented System},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {49-57},
  abstract       = {Hybrid is a data abstraction language that attempts to
                   unify a number of object-oriented concepts into a
                   single, coherent system. In this paper we give an
                   overview of our object model, describe a number of the
                   language constructs, and briefly discuss the issue of
                   object management.},
  annote         = {internationaljournal},
  keywords       = {olit-oopl skipdoi hybrid},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier85bHybridUnified.pdf},
  year           = 1985
}

@InProceedings{Sell98a,
  Author         = {A. Sellink and C. Verkoef},
  Title          = {Native Patterns},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {89-99},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Book{Arno96a,
  Author         = {Ken Arnold and James Gosling},
  Title          = {The {Java} Programming Language},
  Publisher      = {Addison Wesley},
  keywords       = {olit oopl java scglib},
  year           = 1996
}

@InProceedings{Deme05a,
  Author         = {Serge Demeyer and Filip Van Rysselberghe and Tudor
                   G\^irba and Jacek Ratzinger and Radu Marinescu and Tom
                   Mens and Bart Du Bois and Dirk Janssens and St\'ephane
                   Ducasse and Michele Lanza and Matthias Rieger and
                   Harald Gall and Michel Wermelinger and Mohammad
                   El-Ramly},
  Title          = {The {LAN}-simulation: A Research and Teaching Example
                   for Refactoring},
  BookTitle      = {Proceedings of IWPSE 2005 (8th International Workshop
                   on Principles of Software Evolution)},
  Pages          = {123-131},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {The notion of refactoring --- transforming the
                   source-code of an object-oriented program without
                   changing its external behaviour --- has been studied
                   intensively within the last decade. This diversity has
                   created a plethora of toy-examples, cases and code
                   snippets, which make it hard to assess the current
                   state-of-the-art. Moreover, due to this diversity,
                   there is currently no accepted way of teaching good
                   refactoring practices, despite the acknowledgment in
                   the software engineering body of knowledge. Therefore,
                   this paper presents a common example --- the LAN
                   simulation --- which has been used by a number of
                   European Universities for both research and teaching
                   purposes.},
  annote         = {internationalworkshop},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.30},
  keywords       = {scg-pub evolution stefPub jointERCIM girba recast06
                   jb06 moose-pub},
  location       = {Lisbon, Portugal},
  misc           = {acceptance rate: 13/54=24\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme05aLANRefactoring.pdf},
  year           = 2005
}

@Article{Kohl81a,
  Author         = {Walter H. Kohler},
  Title          = {A Survey of Techniques for Synchronization and
                   Recovery in Decentralized Computer Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {13},
  Number         = {2},
  Pages          = {149-183},
  keywords       = {olit reliability recovery},
  month          = jun,
  year           = 1981
}

@InProceedings{Chen94a,
  Author         = {Weimin Chen and Volker Turau and Wolfgang Klas},
  Title          = {Efficient Dynamic Look-up Strategy for Multi-Methods},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {408-431},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Misc{XHTML1,
  Author         = {{W3C} Recommendation},
  Title          = {{XHTML} 1.0, The Extensible HyperText Markup Language},
  Note           = {http://www.w3.org/TR/xhtml1},
  key            = {XHTML1},
  year           = 1998
}

@Book{Nanc92a,
  Author         = {D. Nanci and B. Espinasse and B. Cohen and H.
                   Heckenroth},
  Title          = {Ingenierie des systemes d'information avec Merise},
  Publisher      = {Sybex},
  year           = 1992
}

@InProceedings{Hogg87a,
  Author         = {John Hogg and Steven Weiser},
  Title          = {{OTM}: applying Objects to Tasks},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {388-393},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Oxho92a,
  Author         = {Nicholas Oxh\/oj and Jens Palsberg and Michael I.
                   Schwartzbach},
  Title          = {Making Type Inference Practical},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Series         = {LNCS 615},
  Pages          = {329-349},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop92proc},
  month          = jun,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1992
}

@InProceedings{Sche84a,
  Author         = {Hans-J{\"o}rg Schek},
  Title          = {Nested Transactions in a Combined {IRS}-{DBMS}
                   Architecture},
  BookTitle      = {Proceedings of the Third joint BCS and ACM Symposium
                   on Research and Development in Information Retrieval},
  Address        = {Cambridge, England},
  keywords       = {dblit},
  month          = jul,
  year           = 1984
}

@Book{Higg87a,
  Author         = {David A. Higgins and Nicholas Zvegintzov},
  Title          = {Data Structured Software Maintenance: The Warnier/Orr
                   Approach},
  Publisher      = {Dorset House},
  month          = jan,
  year           = 1987
}

@InProceedings{Rieg99a,
  Author         = {Matthias Rieger and St\'ephane Ducasse and Georges
                   Golomingi},
  Title          = {Tool Support for Refactoring Duplicated OO Code},
  BookTitle      = {Object-Oriented Technology (ECOOP '99 Workshop Reader)},
  Number         = {1743},
  Series         = {LNCS (Lecture Notes in Computer Science)},
  Publisher      = {Springer-Verlag},
  abstract       = {Code duplication is an important problem in
                   application maintenance. Tools exist that support code
                   duplication detection. However, few of them propose a
                   solution for the problem, i.e. refactorings. We propose
                   an approach that uses the information given by code
                   duplication detection to guide the refactorings of OO
                   applications.},
  annote         = {internationalworkshop},
  keywords       = {olit scg-pub skipdoi jb-none},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg99aToolSuppRefacOOCode.pdf},
  year           = 1999
}

@TechReport{Brei92a,
  Author         = {Christian Breiteneder and Laurent Dami and Simon Gibbs
                   and Vicki de Mey and Dennis Tsichritzis},
  Title          = {Telepresence in Shared Virtual Worlds},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg of92},
  month          = jul,
  pages          = {265-274},
  year           = 1992
}

@InProceedings{Seid87a,
  Author         = {Ed Seidewitz},
  Title          = {Object-Oriented Programming in {Smalltalk} and {ADA}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {202-213},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Resn94a,
  Author         = {Mitchel Resnick},
  Title          = {Turtles, Termites, and Traffic Jams},
  Publisher      = {MIT Press},
  keywords       = {scglib},
  year           = 1994
}

@Article{Dijk72c,
  Author         = {Edsgar W. Dijkstra},
  Title          = {Selected Writings on Computing: A Personal Perspective},
  Journal        = {EWD},
  Volume         = {477},
  Pages          = {60--66},
  keywords       = {separation of concerns},
  publisher      = {Springer-Verlag},
  year           = 1972
}

@InCollection{Luca78a,
  Author         = {P. Lucas},
  Title          = {On the Formalization of Programming Languages: Early
                   History and Main Approaches},
  BookTitle      = {The Vienna Development Method: The Meta-Language},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Bj\/orner and C.B. Jones},
  Volume         = {61},
  Series         = {LNCS},
  Pages          = {1-23},
  Address        = {Heidelberg},
  keywords       = {pl-semantics vdm},
  year           = 1978
}

@Book{Welc97a,
  Author         = {Brent B. Welch},
  Title          = {Practical Programming in Tcl and Tk},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-616830-2},
  keywords       = {tcl tk pl scglib},
  year           = 1997
}

@InProceedings{Gutf87a,
  Author         = {Steven H. Gutfreund},
  Title          = {ManiplIcons in ThinkerToy},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {307-317},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Ebra06a,
  Author         = {P. Ebraert and T. D'Hondt and Y. Vandewoude and Y.
                   Berbers},
  Title          = {User-centric dynamic evolution},
  BookTitle      = {Proceedings, ERCIM 2006},
  year           = 2006
}

@InProceedings{Barr89a,
  Author         = {Brian M. Barry},
  Title          = {Prototyping a Real-Time Embedded System in {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {255-266},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Holm95a,
  Author         = {Jim Holmes},
  Title          = {Building your own Compiler with {C}++},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-182106-7},
  keywords       = {compiler book scglib},
  year           = 1995
}

@Article{Phil87a,
  Author         = {Iain Phillips},
  Title          = {Refusal Testing},
  Journal        = {Theoretical Computer Science},
  Volume         = {50},
  Pages          = {241-284},
  keywords       = {pcalc equivalence ccs binder(ccs)},
  publisher      = {North-Holland},
  year           = 1987
}

@Article{Verh78a,
  Author         = {J.S.M. Verhofstad},
  Title          = {Recovery Techniques for Database Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {10},
  Number         = {2},
  Pages          = {167-195},
  keywords       = {dblit reliability recovery db},
  month          = jun,
  year           = 1978
}

@InProceedings{Godf00b,
  Author         = {Michael Godfrey and Qiang Tu},
  Title          = {Evolution in Open Source Software: A Case Study},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM 2000)},
  Pages          = {131-142},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  year           = 2000
}

@InProceedings{Inga88a,
  Author         = {Dan Ingalls},
  Title          = {Fabrik: {A} Visual Programming Environment},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {176-190},
  keywords       = {olit ptyping visprog oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Yase91a,
  Author         = {Rahim Yaseen and Stanley Y.W. Su and Herman Lam},
  Title          = {An Extensible Kernel Object Management System},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {247-263},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Grau88a,
  Author         = {Nicolas Graube},
  Title          = {Reflexive Architecture: From {ObjVlisp} to {CLOS}},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {110-127},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Article{Schi89a,
  Author         = {Allan M. Schiffman},
  Title          = {Fun with Exception-Handling Part I},
  Journal        = {ParcPlace Newsletter},
  institution    = {ParcPlace},
  keywords       = {exception handling time out},
  month          = oct,
  page           = {10},
  year           = 1989
}

@InProceedings{Ibra95a,
  Author         = {Fred Cummins and Mamdouh Ibrahim},
  Title          = {{A Model of Reflection in Object-Oriented Languages}},
  BookTitle      = {Proceedings of the IJCAI '95 workshop on Reflection
                   and Meta-Level Architectures and their Applications in
                   AI},
  Pages          = {19-29},
  year           = 1995
}

@InProceedings{Delc91a,
  Author         = {Christine Delcourt and Roberto Zicari},
  Title          = {The Design of an Integrity Consistency Checker ({ICC})
                   for an Object-Oriented Database System},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {97-117},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InCollection{Banc93a,
  Author         = {Fran\c{c}ois Bancilhon},
  Title          = {Object Database Systems: Functional Architecture},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {163-175},
  abstract       = {Object database systems have now been on the market
                   for about 4 years. They have evolved considerably and
                   are now slowly converging to common and accepted
                   overall architecture. The goal of this paper is to
                   describe this architecture. An object database system
                   supports an object database model. This model can be
                   decomposed into four different aspects: data, behavior,
                   persistence and naming. An object database system
                   consists of a database engine supporting all or part of
                   the database model. On top of this engine are
                   implemented a number of language interfaces: an object
                   definition language, an object query language and one
                   or several programming languages. These programming
                   languages can be internal or external. Internal
                   languages are fully managed within the system, and are
                   in general proprietary extensions of existing
                   programming languages (C, Smalltalk, Lisp or C++).
                   External languages are managed outside of the database
                   system and are in most case standard languages (C++ or
                   Smalltalk).},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@TechReport{Boch90a,
  Author         = {Gregor V. Bochmann and M. Barbeau and M. Erradi and L.
                   Lecomte and Pierre Mondain-Monval and N. Williams},
  Title          = {Mondel: An Object-Oriented Specification Language},
  Institution    = {Universit\'e de Montr\'eal},
  Type           = {Report},
  Number         = {7481},
  keywords       = {olit binder},
  year           = 1990
}

@Book{Coop95a,
  Author         = {Alan Cooper},
  Title          = {About Face --- The Essentials of User Interface Design},
  Publisher      = {Hungry Minds},
  keywords       = {scglib 2books},
  year           = 1995
}

@Book{Ghez89a,
  Editor         = {Ghezzi, J.A.McDermid, C.},
  Title          = {Proceedings {ESEC}'89},
  Publisher      = {Springer-Verlag},
  Volume         = {387},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-51635-2},
  keywords       = {olit esec89 scglib},
  month          = sep,
  year           = 1989
}

@InProceedings{Blac86a,
  Author         = {Andrew Black and Norman Hutchinson and Eric Jul and
                   Henry Levy},
  Title          = {Object Structure in the {Emerald} System},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {78-86},
  keywords       = {olit-oopl emerald distribution oopsla86},
  month          = nov,
  year           = 1986
}

@Book{Ande97b,
  Author         = {U. Andelfinger},
  Title          = {Diskursive Anforderungsanalyse. Ein Beitrag zum
                   Reduktionsproblem bei Systementwicklungen in der
                   Informatik},
  Publisher      = {Peter Lang},
  Address        = {Frankfurt},
  keywords       = {fca},
  year           = 1997
}

@InProceedings{Quei00a,
  Author         = {Christian Queinnec},
  Title          = {The influence of browsers on evaluators or,
                   continuations to program Web servers},
  BookTitle      = {ACM SIGPLAN International Conference on Functional
                   Programming},
  Pages          = {23-33},
  year           = 2000
}

@InProceedings{Barn04a,
  Author         = {Mike Barnett and David A. Naumann},
  Title          = {Friends Need a Bit More: Maintaining Invariants Over
                   Shared State},
  BookTitle      = {Proceedings MPC 2004},
  month          = jul,
  year           = 2004
}

@Article{Gogu90b,
  Author         = {Joseph A. Goguen},
  Title          = {Sheaf Semantics for Concurrent Interacting Objects},
  Journal        = {Mathematical Structures in Computer Science},
  Note           = {To appear},
  keywords       = {concurrency semantics binder},
  year           = 1990
}

@Misc{Scala,
  Title          = {The Scala Programming Language},
  Note           = {http://lamp.epfl.ch/scala/},
  key            = {scala},
  url            = {http://lamp.epfl.ch/scala/}
}

@InProceedings{Schn00a,
  Author         = {Schneider, Jean-Guy and Lumpe, Markus},
  Title          = {{A Metamodel for Concurrent, Object-based Programming}},
  BookTitle      = {Proceedings of Langages et Mod{\`e}les {\`a} Objets
                   '00},
  Editor         = {Dony, Christophe and Sahraoui, Houari A.},
  Pages          = {149-165},
  Address        = {Mont Saint-Hilaire, Qu{\'e}bec},
  Publisher      = {Hermes},
  abstract       = {The development of flexible and reusable concurrent
                   object-oriented programming abstractions has suffered
                   from the inherent problem that reusability and
                   extensibility is limited due to position-dependent
                   parameters. To tackle this problem, we propose the
                   Form-calculus, an inherently polymorphic variant of the
                   Pi-calculus, where polyadic tuple communication is
                   replaced by monadic communication of extensible
                   records. This approach facilitates the specification of
                   flexible, concurrent, object-oriented programming
                   abstractions. Based on our previous work in this field,
                   we present a Form-calculus based meta-level approach
                   for concurrent, object-based programming which adapts a
                   compositional view of programming. This approach
                   enables the definition of various semantic models
                   supporting different kinds of inheritance and method
                   dispatch strategies, and clarifies concepts which are
                   typically merged in existing object-oriented
                   programming languages.},
  isbn           = {ISBN 2-7462-0093-7},
  keywords       = {scg-pub skipdoi olit concurrency pi models snf99 lmo00
                   jb01},
  location       = {Privat},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Schn00aMetamodelForOBCP.pdf},
  year           = 2000
}

@Book{More99a,
  Editor         = {Ana Moreira and Serge Demeyer},
  Title          = {Object-Oriented Technology ({ECOOP}'99 Workshop
                   Reader)},
  Publisher      = {Springer-Verlag},
  Number         = 1743,
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  keywords       = {olit ecoop99wr scg-pub skip-abstract skipdoi skip-pdf
                   toBeChecked scglib snf99 jb99 sergedem-volume jb99},
  month          = dec,
  year           = 1999
}

@Unpublished{Lu92a,
  Author         = {Gang Lu and Martin Ader},
  Title          = {First Experience of WoorRKS*},
  Note           = {Bull Worldwide Information Systems},
  keywords       = {olit-db oobib(db) binder},
  type           = {Draft},
  year           = 1992
}

@InProceedings{Abad94b,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {A Theory of Primitive Objects: Second-Order Systems},
  BookTitle      = {Proceeding of ESOP '94 on Programming Languages and
                   Systems},
  Editor         = {Donald Sannella},
  Volume         = {788},
  Series         = {LNCS},
  Pages          = {1-25},
  Publisher      = {Springer Verlag},
  keywords       = {olit binder},
  month          = apr,
  year           = 1994
}

@TechReport{Dony98a,
  Author         = {Dony, C. and Huchard, M. and Leblanc, H. and Libourel,
                   T.},
  Title          = {Meta-modele de representation de hierarchies de
                   classes},
  Institution    = {CNET},
  Number         = {Rapport d'avancement 01.98},
  keywords       = {fca},
  month          = apr,
  pages          = {2-29},
  year           = 1998
}

@InProceedings{Fuku86a,
  Author         = {Koichi Fukunaga and Shin-ichi Hirose},
  Title          = {An Experience with a Prolog-based Object-Oriented
                   Language},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {224-231},
  keywords       = {olit-oopl spool prolog oopsla86},
  month          = nov,
  year           = 1986
}

@Book{Budd00a,
  Author         = {Timothy Budd},
  Title          = {Understanding Object-Oriented Programming with {Java}
                   Updated Edition},
  Publisher      = {Addison Wesley},
  keywords       = {olit-oopl java scglib},
  year           = 2000
}

@Book{Knut86a,
  Author         = {D.E. Knuth},
  Title          = {The TexBook},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 1986
}

@InCollection{Dijk68a,
  Author         = {Edsgar W. Dijkstra},
  Title          = {Co-operating Sequential Processes},
  BookTitle      = {Programming Languages},
  Publisher      = {Academic Press},
  Editor         = {F. Genuys},
  Pages          = {43-112},
  Address        = {New York},
  keywords       = {concurrency},
  year           = 1968
}

@PhdThesis{Scha05a,
  Author         = {Nathanael Sch{\"a}rli},
  Title          = {Traits --- Composing Classes from Behavioral Building
                   Blocks},
  School         = {University of Berne},
  abstract       = {Inheritance is well-known and accepted as a
                   fundamental mechanism for reuse in object-oriented
                   languages. Unfortunately, the main variants --- single
                   inheritance, multiple inheritance, and mixin
                   inheritance --- all suffer from conceptual and
                   practical problems related to software reuse and
                   robustness with respect to changes. In a rst part of
                   this thesis, we identify and illustrate these problems.
                   To overcome these problems, we then present traits, a
                   simple compositional model that extends single
                   inheritance. A trait is essentially a (parameterized)
                   set of methods; it serves as a behavioral building
                   block for classes and is the primitive unit of code
                   reuse. We develop a formal model of traits that
                   establishes how traits can be composed to form other
                   traits or classes, and we describe how we implemented
                   traits in Squeak Smalltalk by bootstrapping a new
                   language kernel. We present our experimental validation
                   in which we apply traits to refactor parts of the
                   Smalltalk kernel and library, and we develop a
                   programming methodology around the usage of traits and
                   the trait browser, the tool that we implemented to take
                   full advantage of the availability of traits in the
                   Squeak programming environment.},
  cvs            = {NSchaerliPhD},
  keywords       = {scg-pub skipdoi snf05 jb05 scg-traits schaerli scg-phd
                   evolution},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/schaerli-phd.pdf},
  year           = 2005
}

@InProceedings{Luci04a,
  Author         = {Andrea {De Lucia} and Fausto Fasano and Rocco Oliveto
                   and Genoveffa Tortora},
  Title          = {Enhancing an Artefact Management System with
                   Traceability Recovery Features},
  BookTitle      = {Proceedings of 20th IEEE International Conference on
                   Software Maintainance (ICSM 2004)},
  Pages          = {306--315},
  year           = 2004
}

@TechReport{Broy88a,
  Author         = {Manfred Broy},
  Title          = {An Example for the Design of Distributed Systems in a
                   Formal Setting: The Lift Problem},
  Institution    = {University of Passau, Faculty of Math. and Comp. Sci.},
  Type           = {MIP-8802},
  keywords       = {concurrency lift binder},
  month          = feb,
  year           = 1988
}

@Misc{Mart03a,
  Author         = {Robert C. Martin},
  Title          = {{Are} {Dynamic} {Languages} {Going} to {Replace}
                   {Static} {Languages}?},
  Note           = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639},
  key            = {Mart03a},
  keywords       = {dynamic languages static languages testing},
  url            = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639},
  year           = 2003
}

@InProceedings{Havi06a,
  Author         = {Wilke Havinga and Istvan Nagy and Lodewijk Bergmans},
  Title          = {An Analysis of Aspect Composition Problems},
  BookTitle      = {In Proceedings of the 3rd European Workshop on Aspects
                   in Software (EIWAS) 2006},
  url            = {http://janus.cs.utwente.nl:8000/twiki/pub/EIWAS2006/FinalPapers/HavingaNagyBergmans2006.pdf},
  year           = 2006
}

@InProceedings{Nier86a,
  Author         = {Oscar Nierstrasz},
  Title          = {What is the `Object' in Object-oriented Programming?},
  BookTitle      = {Proceedings of the CERN School of Computing},
  Volume         = {CERN 87-04},
  Pages          = {43-53},
  Address        = {Renesse, the Netherlands},
  abstract       = {Object-oriented programming has become quite
                   widespread in recent years, although there are few
                   guidelines to help us distinguish when a system is
                   ``truly'' object-oriented or not. In this paper we
                   discuss what have emerged as the main concepts in the
                   object-oriented approach, and we attempt to motivate
                   these concepts in terms of how they aid in software
                   development.},
  annote         = {invited},
  keywords       = {olit skipdoi survey osg oat87},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier86aWhatIsTheObject.pdf},
  year           = 1986
}

@Article{Wong00a,
  Author         = {Eric Wong and Swapna Gokhale and Joseph Horgan},
  Title          = {Quantifying the closeness between program components
                   and features},
  Journal        = {Journal of Systems and Software},
  Volume         = {54},
  Number         = {2},
  Pages          = {87-98},
  keywords       = {feature},
  year           = 2000
}

@InProceedings{Haeb88a,
  Author         = {Paul E. Haeberli},
  Title          = {ConMan: {A} Visual Programming Language for
                   Interactive Graphics},
  BookTitle      = {Proceedings SIGGRAPH' 88, ACM Computer Graphics},
  Volume         = {22},
  Pages          = {103-111},
  keywords       = {visprog binder scripting},
  month          = aug,
  year           = 1988
}

@InProceedings{Thom92b,
  Author         = {Laurent Thomas},
  Title          = {Extensibility and Reuse of Object-Oriented
                   Synchronization Components},
  BookTitle      = {Proceedings of the Parallel Architecture and Language
                   Europe (PARLE '92)},
  Editor         = {D. Etiemble and J.-C. Syre},
  Volume         = {605},
  Series         = {LNCS},
  Pages          = {261-275},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc binder},
  month          = jun,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/parle92.ps},
  year           = 1992
}

@Article{Ande84a,
  Author         = {John R. Anderson and Robert Farrell and Ron Sauers},
  Title          = {Learning to program in {L}ISP},
  Journal        = {Cognitive Science},
  Volume         = {8},
  Number         = {2},
  Pages          = {87-129},
  keywords       = {psyprog learning examples},
  url            = {http://www.cogsci.rpi.edu/CSJarchive/1984v08/i02/p0087p0129/MAIN.PDF},
  year           = 1984
}

@TechReport{Berg04a,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz and Roel Wuyts},
  Title          = {Classboxes: Controlling Visibility of Class Extensions},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-04-003},
  Address        = {Universit\"at Bern, Switzerland},
  abstract       = { A class extension is a method that is defined in a
                   module, but whose class is defined elsewhere. Class
                   extensions offer a convenient way to incrementally
                   modify existing classes when subclassing is
                   inappropriate. Unfortunately existing approaches suffer
                   from various limitations. Either class extensions have
                   a global impact, with possibly negative effects for
                   unexpected clients, or they have a purely local impact,
                   with negative results for collaborating clients.
                   Furthermore, conflicting class extensions are either
                   disallowed, or resolved by linearization, with
                   consequent negative effects. To solve these problems we
                   present classboxes, a module system for object-oriented
                   languages that provides for method addition and
                   replacement. Moreover, the changes made by a classbox
                   are only visible to that classbox (or classboxes that
                   import it), a feature we call local rebinding. To
                   validate the model we have implemented it in the Squeak
                   Smalltalk environment, and performed benchmarks. },
  annote         = {report notrefereed technicalReport},
  classification = {D.1.5 Object-oriented Programming; D.3.3 Language
                   Constructs and Features},
  general_terms  = {Inheritance, Mixins, Multiple Inheritance, Traits,
                   Reuse, Smalltalk},
  keywords       = {snf-redundant scg-pub skipdoi jb04 snf04 stefPub
                   alexPub alexandrePub},
  misc           = {ClassboxTR04},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg04aIAM-04-003.pdf},
  year           = 2004
}

@InProceedings{Soni95a,
  Author         = {Dilip Soni and Robert L. Nord and Christine Hofmeister},
  Title          = {Software Architecture in Industrial Applications},
  BookTitle      = {Proceedings ICSE '95},
  Pages          = {196-207},
  Address        = {Seattle},
  Publisher      = {ACM Press},
  keywords       = {sa architecture view},
  month          = apr,
  year           = 1995
}

@InProceedings{Ossh00a,
  Author         = {Harold Ossher and Peri Tarr},
  Title          = {Hyper/{J}: multi-dimensional separation of concerns
                   for {Java}},
  BookTitle      = {Proceedings of the 22nd international conference on
                   Software engineering},
  Pages          = {734-737},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/337180.337618},
  isbn           = {1-58113-206-9},
  keywords       = {hyperj hyper class extension},
  location       = {Limerick, Ireland},
  year           = 2000
}

@Book{Star96a,
  Author         = {Leon Starr},
  Title          = {How to Build Shlaer-Mellor Object Models},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-207663-2},
  keywords       = {olit models scglib},
  year           = 1996
}

@Article{Stas90a,
  Author         = {John T. Stasko},
  Title          = {TANGO: A Framework and System for Algorithm Animation},
  Journal        = {IEEE Computer},
  Volume         = {23},
  Number         = {9},
  Pages          = {27-39},
  month          = sep,
  year           = 1990
}

@InProceedings{Loeh92a,
  Author         = {Klaus-Peter L{\"o}hr},
  Title          = {Concurrency Annotations},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {327-340},
  keywords       = {olit-obc eiffel oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Deme98o,
  Author         = {Serge Demeyer},
  Title          = {Analysis of Overridden Methods to Infer Hot Spots},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {olit famoos-papunr scg-pub skip-abstract skipdoi
                   toBeChecked snf98 sergedem-papunr jb98},
  url            = {http://www.iam.unibe.ch/~demeyer/Deme98o/
                   http://www.iam.unibe.ch/~demeyer/Deme98o/paper.html},
  year           = 1998
}

@Book{Mayr95a,
  Editor         = {Ernst W. Mayr and Claude Puech},
  Title          = {Proceedings {STACS}'95},
  Publisher      = {Springer-Verlag},
  Volume         = {900},
  Series         = {LNCS},
  Address        = {Munich, Germany},
  isbn           = {3-540-59042-0},
  keywords       = {olit stacts95 scglib},
  month          = mar,
  year           = 1995
}

@InProceedings{Jim96a,
  Author         = {Trevor Jim},
  Title          = {What are principal typings and what are they good for?},
  BookTitle      = {Principles of Programming Languages},
  Publisher      = {ACM},
  url            = {http://www.research.att.com/~trevor/papers.html},
  year           = 1996
}

@TechReport{Alle96a,
  Author         = {Robert Allen and David Garlan},
  Title          = {The {Wright} Architectural Specification Language},
  Institution    = {School of Computer Science, Carnegie Mellon University},
  Type           = {{CMU-CS-96-TB}},
  Address        = {Pittsburgh},
  month          = sep,
  url            = {http://www.cs.cmu.edu/afs/cs/project/able/ftp/wright-tr.ps},
  year           = 1996
}

@InProceedings{Krin01a,
  Author         = {Jens Krinke},
  Title          = {Identifying Similar Code with Program Dependence
                   Graphs},
  BookTitle      = {Proceedings Eigth Working Conference on Reverse
                   Engineering (WCRE'01)},
  Pages          = {301-309},
  Organization   = {IEEE Computer Society},
  keywords       = {clones},
  month          = oct,
  year           = 2001
}

@Article{Agha93b,
  Author         = {Gul Agha and Svend Fr\/olund and Woo Young Kim and
                   Rajendra Panwar and Anna Patterson and Daniel Sturman},
  Title          = {Abstraction and Modularity Mechanisms for Concurrent
                   Computing},
  Journal        = {IEEE Parallel and Distributed Technology},
  Pages          = {3-14},
  keywords       = {olit-obc binder},
  month          = may,
  year           = 1993
}

@InCollection{Gamm97a,
  Author         = {Erich Gamma},
  Title          = {Extension object},
  BookTitle      = {Pattern languages of program design 3},
  Publisher      = {Addison-Wesley Longman Publishing Co., Inc.},
  Pages          = {79--88},
  Address        = {Boston, MA, USA},
  isbn           = {0-201-31011-2},
  year           = 1997
}

@Proceedings{Denn96a,
  Title          = {Languages et Mod\`eles \`a Objets},
  Editor         = {Yves Dennebouy},
  Address        = {Leysin, Suisse},
  Publisher      = {EPFL},
  booktitle      = {Actes LMO '96},
  keywords       = {lmo96 scglib},
  misc           = {16-18 Octobre},
  month          = oct,
  year           = 1996
}

@Article{Dijk72a,
  Author         = {Edsgar W. Dijkstra},
  Title          = {The Humble Programmer},
  Journal        = {ACM},
  Volume         = {15},
  Pages          = {859-866},
  keywords       = {comprehension},
  year           = 1972
}

@Book{Fink92a,
  Editor         = {A. Finkel and M. Jantzen},
  Title          = {Proceedings {STACS}'92},
  Publisher      = {Springer-Verlag},
  Volume         = {577},
  Series         = {LNCS},
  Address        = {Cachan, France},
  isbn           = {3-540-55210-3},
  keywords       = {olit stacts92 scglib},
  month          = feb,
  year           = 1992
}

@InCollection{Souk95a,
  Author         = {Jiri Soukop},
  Title          = {Implementing Patterns},
  BookTitle      = {Pattern Languages of Program Design},
  Publisher      = {Addison Wesley},
  Editor         = {J.O. Coplien and D.Schmidt},
  Pages          = {395-412},
  year           = 1995
}

@InProceedings{Saff04a,
  Author         = {David Saff and Michael D. Ernst},
  Title          = {An experimental evaluation of continuous testing
                   during development},
  BookTitle      = {Proceedings of the 2004 International Symposium on
                   Software Testing and Analysis ISSTA 2004},
  Organization   = {ACM},
  keywords       = {continuous testing},
  month          = jul,
  url            = {http://pag.csail.mit.edu/~mernst/pubs/ct-user-study-issta2004.pdf},
  year           = 2004
}

@InProceedings{Nier03c,
  Author         = {Oscar Nierstrasz and Franz Achermann},
  Title          = {A Calculus for Modeling Software Components},
  BookTitle      = {FMCO 2002 Proceedings},
  Editor         = {F. S. De Boer, M. M. Bonsangue, S. Graf and W-P. de
                   Roever},
  Volume         = {2852},
  Series         = {LNCS},
  Pages          = {339-360},
  Publisher      = {Springer-Verlag},
  abstract       = { Many competing definitions of software components
                   have been proposed over the years, but still today
                   there is only partial agreement over such basic issues
                   as granularity (are components bigger or smaller than
                   objects, packages, or application?), instantiation (do
                   components exist at run-time or only at compile-time?),
                   and state (should we distinguish between components and
                   ``instances" of components?). We adopt a minimalist
                   view in which components can be distinguished by
                   \emph{composable interfaces}. We have identified a
                   number of key features and mechanisms for expressing
                   composable software, and propose a calculus for
                   modeling components, based on the asynchronous pi
                   calculus extended with explicit namespaces, or
                   ``forms". This calculus serves as a semantic foundation
                   and an executable abstract machine for Piccola, an
                   experimental composition language. The calculus also
                   enables reasoning about compositional styles and
                   evaluation strategies for Piccola. We present the
                   design rationale for the Piccola calculus, and briefly
                   outline some of the results obtained.},
  annote         = {invited},
  cvs            = {PiccolaFMCO},
  doi            = {http://dx.doi.org/10.1007/b14033},
  keywords       = {snf04 scg-pub piccola jb04},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier03cPiccolaCalculus.pdf},
  year           = 2003
}

@Unpublished{McHa92b,
  Author         = {Ciaran McHale and Bridget Walsh and Se\'an Baker and
                   Alexis Donnelly},
  Title          = {Evaluating Synchronisation Mechanisms: The Inheritance
                   Matrix},
  Note           = {Submitted to ECOOP '92 workshop on Object-Based
                   Concurrency and Reuse},
  keywords       = {olit-obc obc92 binder},
  url            = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-92-18.ps.gz},
  year           = 1992
}

@InProceedings{Berg06b,
  Author         = {Alexandre Bergel and Marcus Denker},
  Title          = {Prototyping Languages, Related Constructs and Tools
                   with {Squeak}},
  BookTitle      = {Proceedings of the Workshop on Revival of Dynamic
                   Languages (co-located with ECOOP'06)},
  abstract       = {Prototyping new programming languages is often
                   assimilated as a task requiring heavy expertise in
                   parsing and compilation. This paper argues that
                   choosing as a host platform a language having advanced
                   reflective capabilities helps in reducing the effort
                   and time spent on developing new language related
                   constructs and tools. The Squeak Smalltalk
                   implementation provides very expressive reflective
                   facilities. In this paper we focus on having methods as
                   first class entities, enabling methods manipulation as
                   plain standard objects and reification of method
                   execution. Powerful language related tools and
                   efficient new programming constructs can be quickly
                   implemented. ByteSurgeon, a bytecode manipulation
                   library, and FacetS, an aspect mechanism, serve as
                   illustrations.},
  annote         = {internationalworkshop},
  cvs            = {SqueakRSP06},
  keywords       = {snf06 scg-pub skipdoi jb06 fb06 alexpub},
  month          = jul,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Bergel06bRDLPrototyping.pdf},
  year           = 2006
}

@InProceedings{Mule94b,
  Author         = {Philippe Mulet and Jacques Malenfant and Pierre Cointe},
  Title          = {Towards a Methodology for Explicit Composition of
                   MetaObjects},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {316-330},
  Address        = {Austin},
  month          = oct,
  year           = 1995
}

@Article{Dey01a,
  Author         = {Anind K. Dey},
  Title          = {Understanding and Using Context},
  Journal        = {Personal Ubiquitous Computing},
  Volume         = {5},
  Number         = {1},
  Pages          = {4--7},
  address        = {London, UK},
  doi            = {http://dx.doi.org/10.1007/s007790170019},
  issn           = {1617-4909},
  publisher      = {Springer-Verlag},
  year           = 2001
}

@InProceedings{Andr87a,
  Author         = {Timothy Andrews and Craig Harris},
  Title          = {Combining Language and Database Advances in an
                   Object-Oriented Development Environment},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {430-440},
  keywords       = {olit-oopl oodb vbase oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Ishi92b,
  Author         = {Yutaka Ishikawa and Hideyuki Tokuda and Clifford W.
                   Mercer},
  Title          = {An Object-Oriented Real-Time Programming Language},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {66-73},
  keywords       = {olit-oopl ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Dony88a,
  Author         = {Christophe Dony},
  Title          = {An Object-Oriented Exception Handling System for an
                   Object-Oriented Language},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {146-161},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc exceptions},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Book{Abra91b,
  Editor         = {S. Abramsky and T.S.E. Mailbaum},
  Title          = {Proceedings {TAPSOFT}'91: Volume 2},
  Publisher      = {Springer-Verlag},
  Volume         = {494},
  Series         = {LNCS},
  Address        = {Brighton, UK},
  isbn           = {3-540-53981-6},
  keywords       = {olit tapsoft91 scglib},
  month          = apr,
  year           = 1991
}

@InProceedings{Helm90a,
  Author         = {Richard Helm and Ian M. Holland and Dipayan
                   Gangopadhyay},
  Title          = {Contracts: Specifying Behavioural Compositions in
                   Object-Oriented Systems},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90},
  Volume         = {25},
  Pages          = {169-180},
  keywords       = {olit oopsla90 ecoop90proc binder},
  month          = oct,
  year           = 1990
}

@InProceedings{Lee84a,
  Author         = {Allison Lee and Carson Woo and Frederick H. Lochovsky},
  Title          = {Officeaid: An Integrated Document Management System},
  BookTitle      = {Proceedings of ACM SIGOA Conference},
  Pages          = {170-180},
  keywords       = {oislit documents},
  month          = jun,
  year           = 1984
}

@Book{Chom57a,
  Author         = {Noam Chomsky},
  Title          = {Syntactic Structures},
  Publisher      = {Mouton and Co},
  Address        = {The Hague},
  year           = 1957
}

@Misc{BrowseUnit,
  Author         = {Romain Robbes},
  Title          = {{Browse} {Unit}: {Integrating} {S}{Unit} into the
                   {Smalltalk} {Browser}},
  Note           = {http://minnow.cc.gatech.edu/squeak/3113},
  key            = {BrowseUnit},
  keywords       = {testing, smalltalk},
  url            = {http://minnow.cc.gatech.edu/squeak/3113},
  year           = 2004
}

@Unpublished{Pier92d,
  Author         = {Benjamin C. Pierce and David N. Turner},
  Title          = {Statically Typed Multi-Methods via Partially Abstract
                   Types},
  Note           = {Computer Science Dept., University of Edinburgh},
  keywords       = {types olit binder},
  month          = oct,
  type           = {Draft manuscript},
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/friendly.ps.gz},
  year           = 1992
}

@MastersThesis{Nier81a,
  Author         = {Oscar Nierstrasz},
  Title          = {Automatic Coordination and Processing of Electronic
                   Forms in {TLA}},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis},
  abstract       = {Many procedures for processing paper forms in offices
                   are well-defined, regular and mundane. This thesis
                   discusses the design and implementation of a facility
                   for specifying automatic procedures in an electronic
                   office forms system, called TLA. A high-level
                   description of a "working set of forms" is used to
                   trigger the automatic procedures. The algorithm which
                   establishes the triggering is presented in detail.},
  keywords       = {skip-pdf skipdoi oislit forms tla},
  year           = 1981
}

@InProceedings{McDo90a,
  Author         = {John Alan McDonald and Werner Stuetzle and Andreas
                   Buja},
  Title          = {Painting Multiple Views of Complex Objects},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {245-257},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Misc{UPnP,
  Title          = {The Universal Plug and Play},
  Note           = {http://www.upnp.org},
  key            = {UPnP},
  url            = {http://www.upnp.org}
}

@Article{Muns94a,
  Author         = {Jonathan P. Munson and Prasun Dewan},
  Title          = {A Flexible Object Merging Framework},
  Journal        = {Proceedings of the 1994 ACM conference on Computer
                   supported cooperative work},
  Pages          = {231-242},
  year           = 1994
}

@InProceedings{Ossh92a,
  Author         = {Harold Ossher and William Harrison},
  Title          = {Combination of Inheritance Hierarchies},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {25-40},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Article{Mayr96d,
  Author         = {von Mayrhauser, A. and A.M. Vans},
  Title          = {Identification of Dynamic Comprehension Processes
                   During Large Scale Maintenance},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {22},
  Number         = {6},
  Pages          = {424-437},
  month          = jun,
  year           = 1996
}

@Article{Agha86a,
  Author         = {Gul Agha},
  Title          = {An Overview of Actor Languages},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {58-67},
  keywords       = {olit-obc concurrency messages actors oopws86},
  month          = oct,
  year           = 1986
}

@TechReport{Buch02a,
  Author         = {Frank Buchli},
  Title          = {An explicit model for {ADVance}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = { ADvance is a powerful round-trip UML viewer
                   integrated with the VisualWorks Smalltalk environment.
                   Because ADvance implicitly uses Smalltalk as its model,
                   it cannot be used for anything but Smalltalk code that
                   is loaded in the image. This project removes this
                   restriction by transparently introducing an explicit
                   model for ADvance using Smalltalk's meta-programming
                   facilities. This solution is validated by showing how
                   it can be used to display ADvance diagrams on Moose
                   models.},
  keywords       = {snf-none scg-ip jb03 moose-pub},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Buch02a.pdf},
  year           = 2002
}

@Article{McDo89b,
  Author         = {Charles E. McDowell and David P. Helmbold},
  Title          = {Debugging Concurrent Programs},
  Journal        = {ACM Computing Surveys},
  Volume         = {21},
  Number         = {4},
  Pages          = {593-622},
  month          = dec,
  year           = 1989
}

@Manual{SICS95,
  Title          = {SICStus Prolog User's Manual},
  Organization   = {Programming Systems Group, Swedish Institute of
                   Computer Science},
  Address        = {Sweden},
  year           = 1995
}

@Book{Powe99a,
  Author         = {Bruce Powel Douglass},
  Title          = {Real-Time {UML}},
  Publisher      = {Addison Wesley},
  Edition        = {Second},
  keywords       = {olit scglib},
  year           = 1999
}

@Misc{Gon04a,
  Author         = {Sebastian Gonzales and Wolgang Demeuter and Pascal
                   Costanza and St\'ephane Ducasse and Richard Gabriel and
                   Theo D'hondt},
  Title          = {Report of the {ECOOP}'03 Workshop on Object-Oriented
                   Language Engineering in Post-Java Era},
  abstract       = {This report covers the activities of the 2nd workshop
                   on "Object-Oriented Language Engineering for the
                   Post-Java Era". We describe the motivation that led to
                   the organisation of a second edition of the workshop.
                   Relevant organisational aspects are mentioned. The main
                   part of the report consists of a summary of Dave
                   Thomas's invited talk, and a recount of the
                   presentations by the authors of position papers.
                   Comments given along the way by the participants are
                   included. Finally, some pointers to related work and
                   events are given.},
  annote         = {workshopproceedings},
  booktitle      = {Object-Oriented Technology (ECOOP'04 Workshop Reader)},
  keywords       = {scg-pub skipdoi jb04 stefPub recast04},
  publisher      = {Springer-Verlag},
  series         = {LNCS (Lecture Notes in Computer Science)},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gonz04aoolepje04-report.pdf},
  year           = 2004
}

@PhdThesis{Sefi96a,
  Author         = {Mohlalefi Sefika},
  Title          = {Design Conformance Management of Software Systems: an
                   Architecture-Oriented Approach},
  School         = {University of Illinois},
  year           = 1996
}

@InProceedings{Kore97a,
  Author         = {Bogdan Korel and Jurgen Rilling},
  Title          = {Dynamic Program Slicing in Understanding of Program
                   Execution},
  BookTitle      = {5th International Workshop on Program Comprehension
                   (WPC '97)},
  Pages          = {80-85},
  year           = 1997
}

@PhdThesis{Poll05a,
  Author         = {Pollet, Damien},
  Title          = {Une architecture pour les transformations de mod\`eles
                   et la restructuration de mod\`eles UML},
  School         = {Universit\'e de Rennes 1},
  annote         = {phdthesis},
  month          = jun,
  url            = {http://www.irisa.fr/bibli/publi/theses/2005/pollet/pollet.html},
  year           = 2005
}

@Manual{VW30,
  Title          = {VisualWorks 3.0},
  Organization   = {ParcPlace},
  Note           = {User Guide, Cookbook, Reference Manual},
  year           = 1998
}

@Book{xquery1.0,
  Author         = {Scott Boag and Don Chamberlin and Mary Fern\'{a}ndez
                   and Daniela Florescu and Jonathan Robie and J\'{e}rome
                   Sim\'{e}on},
  Title          = {XQuery 1.0: An XML Query Language},
  Publisher      = {W3C},
  Address        = {},
  Edition        = {1st},
  Note           = {http://www.w3.org/TR/xquery/},
  year           = 2006
}

@Book{Alex77a,
  Author         = {Christopher Alexander and Sara Ishakawa and Murray
                   Silverstein},
  Title          = {A Pattern Language},
  Publisher      = {Oxford University Press},
  Address        = {New York},
  keywords       = {design-patterns scglib},
  year           = 1977
}

@Article{Duca07y,
  Author         = {St\'ephane Ducasse and Hilaire Fernandes},
  Title          = {Smalltalk et design patterns, un couple assorti},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 92,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = mar,
  year           = 2007
}

@InProceedings{Oste01a,
  Author         = {Klaus Ostermann and Mira Mezini},
  Title          = {Object-oriented composition untangled},
  BookTitle      = {Proceedings of OOPSLA '01, ACM SIGPLAN Notices},
  Volume         = {36},
  Pages          = {283-299},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/504282.504303},
  isbn           = {1-58113-441-X},
  location       = {Tampa Bay, FL, USA},
  year           = 2001
}

@Book{Fran92a,
  Author         = {Nissim Francez},
  Title          = {Program Verification},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-41608-5},
  keywords       = {coordination scglib},
  year           = 1992
}

@TechReport{MOF00a,
  Author         = {{Object} {Management} {Group}},
  Title          = {{Meta} {Object} {Facility} ({MOF}) Specification
                   (version 1.3)},
  Institution    = {{Object} {Management} {Group}},
  key            = {OMG},
  keywords       = {olit UML MOF},
  month          = mar,
  year           = 2000
}

@InCollection{Camp74a,
  Author         = {Roy H. Campbell and A. Nico Habermann},
  Title          = {The Specification of Process Synchronization by Path
                   Expressions},
  BookTitle      = {Operating Systems, International Symposium},
  Publisher      = {Springer-Verlag},
  Editor         = {E. Gelenbe and C. Kaiser},
  Volume         = {16},
  Series         = {LNCS},
  Pages          = {89-102},
  keywords       = {concurrency path expressions},
  year           = 1974
}

@Article{Land66a,
  Author         = {P.J. Landin},
  Title          = {The Next 700 Programming Languages},
  Journal        = {Communications of the ACM},
  Volume         = {9},
  Number         = {3},
  Pages          = {157-166},
  keywords       = {fpl iswim binder(fp)},
  month          = mar,
  year           = 1966
}

@Article{Mock00b,
  Author         = {Audris Mockus and David Weiss},
  Title          = {Predicting risk of software changes},
  Journal        = {Bell Labs Technical Journal},
  Volume         = {5},
  Number         = {2},
  keywords       = {evolution},
  month          = apr,
  year           = 2000
}

@InProceedings{Bern97a,
  Author         = {Philip A. Bernstein},
  Title          = {{Repositories and Object Oriented Databases}},
  BookTitle      = {Proceedings BTW '97},
  Editor         = {Dittrich, Klaus R. and Geppert, Andreas},
  Pages          = {34-46},
  Address        = {Ulm, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {scglib dblit oodb repository abb},
  month          = mar,
  url            = {http://www.research.microsoft.com/users/philbe/SIGMOD%20Record.doc},
  year           = 1997
}

@InProceedings{Klus03a,
  Author         = {Steven Klusener and Ralf L{\"a}mmel},
  Title          = {Deriving tolerant grammars from a base-line grammar},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM 2003)},
  Pages          = {179-188},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2003.1235420},
  keywords       = {parsing},
  month          = sep,
  year           = 2003
}

@Article{Hewi85a,
  Author         = {Carl Hewitt},
  Title          = {The Challenge of Open Systems},
  Journal        = {Byte},
  Volume         = {10},
  Number         = {4},
  Pages          = {223-242},
  keywords       = {misc open systems},
  month          = apr,
  year           = 1985
}

@Article{Fabr74a,
  Author         = {R.S. Fabry},
  Title          = {Capability-Based Addressing},
  Journal        = {CACM},
  Volume         = {17},
  Number         = {7},
  Pages          = {403-412},
  keywords       = {security olit capabilities},
  month          = jul,
  year           = 1974
}

@Book{Abel86,
  Author         = {Harold Abelson and Andrea diSessa},
  Title          = {Turtle Geometry},
  Publisher      = {MIT Press},
  isbn           = {0-262-51037-5},
  keywords       = {ai scglib},
  year           = 1986
}

@Book{Tsic82a,
  Author         = {Dennis Tsichritzis and Frederick H. Lochovsky},
  Title          = {Data Models},
  Publisher      = {Prentice-Hall},
  Address        = {Englewood Cliffs, N.J.},
  keywords       = {dblit},
  year           = 1982
}

@InProceedings{Wein88a,
  Author         = {Andr\'e Weinand and Erich Gamma and Rudolph Marty},
  Title          = {{ET}++ --- An Object-Oriented Application Framework in
                   {C}++},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {46-57},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Grei00a,
  Author         = {Howard Greisdorf},
  Title          = {Relevance: An Interdisciplinary and Information
                   Science Perspective},
  Journal        = {Informing Science},
  Volume         = {3},
  Number         = {2},
  Note           = {Special Issue on Information Science Research},
  keywords       = {relevance information retrieval},
  year           = 2000
}

@InProceedings{Boji00a,
  Author         = {Dragan Bojic and Dusan Velasevic},
  Title          = {Reverse {Engineering} of {Use} {Case} {Realizations}
                   in {UML}},
  BookTitle      = {Proceedings of SAC '00 (ACM Symposium on Applied
                   Computing)},
  Publisher      = {ACM Press},
  keywords       = {fca},
  url            = {http://www.acm.org/conferences/sac/sac00/Proceed/FinalPapers},
  year           = 2000
}

@Article{Ladd97a,
  Author         = {Laddaga, R. and Veitch, J.},
  Title          = {Dynamic Object Technology},
  Journal        = {Communications of the ACM},
  Volume         = {40},
  Number         = {5},
  Pages          = {36-38},
  keywords       = {olit},
  month          = may,
  publisher      = {ACM Press},
  year           = 1997
}

@InProceedings{Taen89a,
  Author         = {David Taenzer and Murthy Ganti and Sunil Podar},
  Title          = {Problems in Object-Oriented Software Reuse},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {25-38},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-reuse inheritance scglib ecoop89proc binder(oop)},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Arev03d,
  Author         = {Gabriela Ar{\'e}valo and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Understanding Classes using {X-Ray} Views},
  BookTitle      = {Proceedings of 2nd International Workshop on MASPEGHI
                   2003 (ASE 2003)},
  Pages          = {9-18},
  Publisher      = {CRIM -- University of Montreal (Canada)},
  abstract       = { Understanding the internal workings of classes is a
                   key prerequisite to maintaining an object-oriented
                   software system. Unfortunately, classical editing and
                   browsing tools offer mainly linear and textual views of
                   classes and their implementation. These views fail to
                   expose the semantic relationships between the internal
                   parts of a class. We propose XRay views --a technique
                   based on Concept Analysis-- which reveal the internal
                   relationships between groups of methods and attributes
                   of a class. XRay views are composed out of elementary
                   collaborations between attributes and methods and help
                   the engineer to build a mental model of how a class
                   works internally. In this paper we present XRay views,
                   and illustrate the approach by applying it to three
                   Smalltalk classes: OrderedCollection, Scanner, and
                   UIBuilder. },
  annote         = {internationalworkshop},
  cvs            = {ConAnMASPEGHI03XRayViews},
  keywords       = {snf04 scg-pub skipdoi stefPub arevalo jb04 moose-pub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev03dMASPEGHI03XRayViews.pdf},
  year           = 2003
}

@InProceedings{Brac93a,
  Author         = {Gilad Bracha and David Griswold},
  Title          = {{Strongtalk}: Typechecking {Smalltalk} in a Production
                   Environment},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {215-230},
  keywords       = {olit oopsla93},
  month          = oct,
  url            = {http://bracha.org/oopsla93.ps},
  year           = 1993
}

@InCollection{Broo83a,
  Author         = {Stephen D. Brookes and William C. Rounds},
  Title          = {Behavioral Equivalence Relations Induced by
                   Programming Logics},
  BookTitle      = {Automata, Languages and Programming, 10th Colloquium},
  Publisher      = {Springer-Verlag},
  Volume         = {154},
  Series         = {LNCS},
  Address        = {Barcelona, July 1983},
  keywords       = {pcalc equivalence ccs csp binder},
  year           = 1983
}

@Book{John00a,
  Author         = {Jeff Johnson},
  Title          = {GUI Bloopers},
  Publisher      = {Morgan Kaufmann},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{That95a,
  Author         = {Satish R. Thatt\'e},
  Title          = {Object Imaging},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {52-76},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Book{Tsic87b,
  Editor         = {D. Tsichritzis},
  Title          = {Objects and Things},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg oat87 book scglib},
  month          = mar,
  year           = 1987
}

@Article{Logr88a,
  Author         = {L. Logrippo and A. Obaid and J.P. Briand and M.C.
                   Fehri},
  Title          = {An Interpreter for {LOTOS}, {A} Specification Language
                   for Distributed Systems},
  Journal        = {Software --- Practice and Experience},
  Volume         = {18},
  Number         = {4},
  Pages          = {365-385},
  keywords       = {pcalc lotos ccs binder(conc)},
  month          = apr,
  year           = 1988
}

@InProceedings{Bala00a,
  Author         = {Magdalena Balazinska and Ettore Merlo and Michel
                   Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis},
  Title          = {Advanced Clone-Analysis to Support Object-Oriented
                   System Refactoring},
  BookTitle      = {Proceedings Seventh Working Conference on Reverse
                   Engineering (WCRE'00)},
  Editor         = {Fran\c{c}oise Balmas and Kostas Kontogiannis},
  Pages          = {98-107},
  Organization   = {IEEE Computer Society},
  month          = oct,
  url            = {http://nms.lcs.mit.edu/~mbalazin/publications/wcre2000Balazinska.ps},
  year           = 2000
}

@Misc{PetitPetri,
  Author         = {Oscar Nierstrasz and Markus Gaelli},
  Title          = {Petit{Petri} --- A {Petri} Net Editor built with
                   {ET}oys},
  Note           = {http://www.iam.unibe.ch/$\sim$scg/Teaching/CP/PetriNets},
  abstract       = {This web page provides an overview of a Squeak EToys
                   implementation of a Petri net interpreter. },
  annote         = {misc},
  keywords       = {scg-misc skipdoi petri nets etoys jb-none},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Teaching/CP/PetriNets},
  year           = 2005
}

@Article{Kim90a,
  Author         = {Won Kim and Jay Banerjee and Hong-Tai Chou and Jorge
                   F. Garza},
  Title          = {Object-Oriented Database Support for {CAD}},
  Journal        = {Computer Aided Design},
  Volume         = {22},
  Number         = {8},
  Pages          = {469-479},
  keywords       = {olit-oodb (smc)},
  year           = 1990
}

@Misc{Jikes,
  title          = {The {Jikes} Research Virtual Machine},
  Note           = {\\ \url{http://jikesrvm.org/}},
  month          = aug,
  year           = 2010,
  key            = {Jikes},
  url            = {http://jikesrvm.org/}
}

@InProceedings{Unga87a,
  Author         = {David Ungar and Randall B. Smith},
  Title          = {Self: The Power of Simplicity},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = 22,
  Pages          = {227-242},
  doi            = {http://doi.acm.org/10.1145/38765.38828},
  keywords       = {olit-oopl self oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Mart98a,
  Editor         = {Robert Martin and Dirk Riehle and Frank Buschmann},
  Title          = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-31011-2},
  keywords       = {patterns scglib},
  year           = 1998
}

@InProceedings{Farr82a,
  Author         = {R. Farrow},
  Title          = {{LINGUIST}-86: Yet Another Translator Writing System
                   Based on Attribute Grammars},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on
                   Compiler Construction},
  Volume         = {17},
  Pages          = {160-171},
  keywords       = {compiler generator linguist-86 patterns},
  month          = jun,
  year           = 1982
}

@InProceedings{Bonf94a,
  Author         = {F. Bonfatti and P. D. Monari},
  Title          = {Towards a General Purpose Approach to Object-Oriented
                   Analysis},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {108-122},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Youn92a,
  Author         = {Douglas A. Young},
  Title          = {Object-Oriented Programming wih {C}++ and
                   {OSF}/{MOTIF}},
  Publisher      = {MIT Press},
  isbn           = {0-13-630252-1},
  keywords       = {oobib(oopl) olit-oopl book scglib},
  year           = 1992
}

@Unpublished{Vasc92c,
  Author         = {Vasco Vasconcelos},
  Title          = {({A} Preliminary Note on) {A} Simple Polymorphic
                   Object Calculus},
  Note           = {Keio University},
  keywords       = {pcalc-obc mobility types binder},
  misc           = {Dec. 17},
  month          = dec,
  type           = {draft},
  year           = 1992
}

@Article{Hess90a,
  Author         = {Wim H. Hesselink},
  Title          = {Axioms and Models of Linear Logic},
  Journal        = {Formal Aspects of Computing},
  Volume         = {2},
  Pages          = {139-166},
  keywords       = {linear-logic binder},
  year           = 1990
}

@Article{Sche86a,
  Author         = {R.W. Scheifler and J. Gettys},
  Title          = {The {X} Window System},
  Journal        = {ACM Transactions on Computer Graphics},
  Volume         = {5},
  Number         = {2},
  Pages          = {79-109},
  keywords       = {uilit},
  month          = apr,
  year           = 1986
}

@Article{Orav92a,
  Author         = {Fredrik Orava and Joachim Parrow},
  Title          = {An Algebraic Verification of a Mobile Network},
  Journal        = {Formal Aspects of Computing},
  Volume         = {4},
  Number         = {6},
  Pages          = {497-543},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@Unpublished{Mira02,
  Author         = {Eliot Miranda},
  Title          = {A {Sketch} for an {Adaptive} {Optimizer} for
                   {Smalltalk} written in {Smalltalk}},
  Note           = {unpublished},
  year           = 2002
}

@TechReport{Lohr95a,
  Author         = {Klaus-Peter L{\"o}hr},
  Title          = {Verteilungstransparenz bei der objektorientierten
                   Spezifikation verteilter Appplikationen},
  Institution    = {Universit{\"a}t Berlin},
  Type           = {Report B},
  Number         = {95-X},
  keywords       = {oobib(gen) binder},
  month          = jan,
  year           = 1995
}

@InProceedings{Smit02a,
  Author         = {Michael P. Smith and Malcolm Munro},
  Title          = {Runtime Visualisation of Object Oriented Software},
  BookTitle      = {Proceedings of the 1st International Workshop on
                   Visualizing Software for Understanding and Analysis},
  Pages          = {81},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1662-9},
  year           = 2002
}

@InProceedings{Flor95a,
  Author         = {Gert Florijn},
  Title          = {Object Protocols as Functional Parsers},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {351-373},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Book{Flan96a,
  Author         = {David Flanagan},
  Title          = {Java in Nutshell},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-183-6},
  keywords       = {olit-oopl java scglib},
  year           = 1996
}

@InProceedings{Eise93a,
  Author         = {Susan Eisenbach and Ross Paterson},
  Title          = {Pi-Calculus Semantics of the Concurrent Configuration
                   Language Darwin},
  BookTitle      = {Proceedings of the 26th Annual Hawaii International
                   Conference on System Sciences},
  Volume         = {2},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oobib binder pi concurrency},
  url            = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/formal.ps.Z},
  year           = 1993
}

@Article{Comp99a,
  Author         = {Daniele Compare and Paola Inverardi and Alexander L.
                   Wolf},
  Title          = {Uncovering Architectural Mismatch in Component
                   Behavior},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {33},
  Number         = {2},
  Pages          = {101-31},
  month          = feb,
  year           = 1999
}

@Book{Gord79a,
  Author         = {M.J.C. Gordon and A.J. Milner and C.P. Wadsworth},
  Title          = {Edinburgh {LCF}},
  Publisher      = {Springer-Verlag},
  Volume         = {78},
  Series         = {LNCS},
  keywords       = {fpl ml semantics},
  year           = 1979
}

@Book{Marc02a,
  Author         = {Michele Marchesi and Giancarlo Succi and Don Wells and
                   Laurie Williams},
  Title          = {Extreme Programming Perspectives},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-77005-9},
  keywords       = {scglib},
  year           = 2002
}

@Article{Abbo84a,
  Author         = {C. Abbott},
  Title          = {Intervention Schedules for Real-Time Programming},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = {3},
  Pages          = {268-274},
  keywords       = {concurrency other real-time scheduling},
  month          = may,
  year           = 1984
}

@TechReport{Thom92a,
  Author         = {Bent Thomsen and Lone Leth and Alessandro Giacalone},
  Title          = {Some Issues in the Semantics of Facile Distributed
                   Programming},
  Institution    = {ECRC},
  Type           = {ECRC-92-32},
  Address        = {Munich},
  keywords       = {concurrency semantics facile binder (shelf)},
  year           = 1992
}

@Article{Fiad07a,
  Author         = {Jos\'e Luiz Fiadeiro},
  Title          = {Designing for Software's Social Complexity},
  Journal        = {Computer},
  Volume         = {40},
  Number         = {1},
  Pages          = {34-39},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/MC.2007.16},
  issn           = {0018-9162},
  publisher      = {IEEE Computer Society},
  year           = 2007
}

@TechReport{Chib93b,
  Author         = {Shigeru Chiba},
  Title          = {Open C++ Release 1.2 Programmer Guide},
  Institution    = {Dept of Information Science, University of Tokyo},
  Number         = {93-3},
  year           = 1993
}

@InProceedings{Arev02c,
  Author         = {Gabriela Ar{\'e}valo and Andrew P. Black and Yania
                   Crespo and Michel Dao and Erik Ernst and Peter Grogono
                   and Marianne Huchard and Markku Sakkinen},
  Title          = {The Inheritance Workshop.},
  BookTitle      = {ECOOP Workshops},
  Pages          = {117-134},
  keywords       = {arevalo},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev02cECOOP02InheritanceWorkshop.pdf},
  year           = 2002
}

@InProceedings{Cott05,
  Author         = {Thomas Cottenier and Tzilla Elrad},
  Title          = {Contextual Pointcut Expressions for Dynamic Service
                   Customization},
  BookTitle      = {Dynamic Aspect Workshop (DAW'05) as part of AOSD'05},
  year           = 2005
}

@Article{Aho75a,
  Author         = {Alfred V. Aho and M.J. Corasick},
  Title          = {Fast Pattern Matching: An Aid to Bibliographic Search},
  Journal        = {CACM},
  Volume         = {18},
  Number         = {6},
  Pages          = {333-340},
  keywords       = {unix searching},
  month          = jun,
  year           = 1975
}

@InProceedings{Thal06a,
  Author         = {Florian Thalmann and Markus Gaelli},
  Title          = {{Jam} {Tomorrow}: Collaborative Music Generation in
                   {Croquet} Using {OpenAL}},
  BookTitle      = {Proceedings of C5 2006 (The Fourth International
                   Conference on Creating, Connecting and Collaborating
                   through Computing)},
  Pages          = {73-78},
  abstract       = {We propose a music generation software that allows
                   large numbers of users to collaborate. In a virtual
                   world, groups of users generate music simultaneously at
                   different places in a room. This can be realized using
                   OpenAL sound sources. The generated musical pieces have
                   to be modifiable while they are playing and all
                   collaborating users should immediately see and hear the
                   results of such modifications. We are testing these
                   concepts within Croquet by implementing a software
                   called Jam Tomorrow.},
  annote         = {internationalconference},
  cvs            = {JamTomorrow},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/C5.2006.22},
  keywords       = {scg-pub jb06 fb06 scg-bp croquet music snf06},
  misc           = {gaelli},
  month          = jan,
  peer           = {yes},
  type           = {Bachelor's thesis},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Thal06aJamTomorrow.pdf},
  year           = 2006
}

@Article{Elem01a,
  Author         = {Khaled El Emam and Saida Benlarbi and Nishith Goel and
                   Shesh N. Rai},
  Title          = {The Confounding Effect of Class Size on the Validity
                   of Object-Oriented Metrics},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {27},
  Number         = {7},
  Pages          = {630-650},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/32.935855},
  issn           = {0098-5589},
  publisher      = {IEEE Computer Society},
  year           = 2001
}

@InProceedings{Anco00b,
  Author         = {Davide Ancona},
  Title          = {{MIX(FL)}: a kernel language of mixin modules},
  BookTitle      = {AMAST 2000 --- Algebraic Methodology And Software
                   Technology},
  Editor         = {T. Rus},
  Number         = 1816,
  Series         = {LNCS},
  Pages          = {454-468},
  Publisher      = {Springer Verlag},
  keywords       = {amast amast 2001 module mixin},
  url            = {ftp://ftp.disi.unige.it/pub/person/AnconaD/DISI-TR-96-23.ps.gz},
  year           = 2000
}

@TechReport{Wegn94b,
  Author         = {Peter Wegner},
  Title          = {Beyond Computable Functions or Escape from the Turing
                   Tarpit},
  Institution    = {Brown University},
  Type           = {TR No.},
  Number         = {CS-94-01},
  keywords       = {olit-oose binder (shelf)},
  month          = jan,
  year           = 1994
}

@Misc{Java,
  Title          = {Java},
  Note           = {http://java.sun.com/},
  key            = {Java}
}

@InProceedings{Kafu91a,
  Author         = {Dennis G. Kafura and Greg Lavender},
  Title          = {Recent Progress in Combining Actor-Based Concurrency
                   with Object-Oriented Programming},
  BookTitle      = {ACM OOPS Messenger, Proceedings OOPSLA/ECOOP 90
                   Workshop on Object-Based Concurrent Systems},
  Volume         = {2},
  Pages          = {55-58},
  keywords       = {olit-obcl act++ obc90},
  month          = apr,
  year           = 1991
}

@InProceedings{Cecc05a,
  Author         = {Ceccato, Mario and Marin, Marius and Mens, Kim and
                   Moonen, Leon and Tonella, Paolo and Tourwe, Tom},
  Title          = {A Qualitative Comparison of Three Aspect Mining
                   Techniques},
  BookTitle      = {13th International Workshop on Program Comprehension
                   (IWPC)},
  Pages          = {13--22},
  Publisher      = {IEEE CS},
  doi            = {http://dx.doi.org/10.1109/WPC.2005.2},
  isbn           = {0-7695-2254-8},
  issn           = {1092-8138},
  year           = 2005
}

@TechReport{RDF99a,
  Author         = {{World} {Wide} {Web} {Consortium}},
  Title          = {{Resource} {Description} {Framework} ({RDF}) Model and
                   Syntax Specification},
  Institution    = {{World} {Wide} {Web} {Consortium}},
  month          = feb,
  year           = 1999
}

@InProceedings{Buhr88a,
  Author         = {Peter A. Buhr and C.R. Zarnke},
  Title          = {Nesting in an Object-Oriented Language is {NOT} for
                   the Birds},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {128-145},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@InProceedings{Meij96m,
  Author         = {Theo Dirk Meijler and Serge Demeyer and Robert Engel},
  Title          = {Class Composition in {FACE}, a Framework Adaptive
                   Composition Environment},
  BookTitle      = {Special Issues in Object-Oriented Programming (ECOOP
                   '96 Workshop Reader)},
  Editor         = {Max M{\"u}hlh{\"a}user},
  Publisher      = {dpunkt.verlag},
  abstract       = {An object-oriented framework represents variations in
                   the application do-main via so-called hot spots.
                   Maturing the right set of hot spots requires an
                   iterative de-velopment process which gives rise to
                   incomplete framework documentation. This paper shows
                   that by measuring the changes between different
                   releases of the framework, it is possible to detect
                   undocumented hot spots. We expect that our work will
                   result in better documented and consequently more
                   reusable frameworks.},
  isbn           = {3-920993-67-51},
  keywords       = {olit famoos-papunr scg-pub skipdoi toBeChecked snf97
                   jb96 sergedem-papunr},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Meij96mClassComposition.pdf},
  year           = 1996
}

@InProceedings{Nier05c,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Tudor
                   G\^irba},
  Title          = {The Story of {Moose}: an Agile Reengineering
                   Environment},
  BookTitle      = {Proceedings of the European Software Engineering
                   Conference (ESEC/FSE 2005)},
  Pages          = {1-10},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  Note           = {Invited paper},
  abstract       = { Moose is a language-independent environment for
                   reverse- and re-engineering complex software systems.
                   Moose provides a set of services including a common
                   meta-model, metrics evaluation and visualization, a
                   model repository, and generic GUI support for querying,
                   browsing and grouping. The development effort invested
                   in Moose has paid off in precisely those research
                   activities that benefit from applying a combination of
                   complementary techniques. We describe how Moose has
                   evolved over the years, we draw a number of lessons
                   learned from our experience, and we outline the present
                   and future of Moose. },
  annote         = {invited},
  cvs            = {MOOSE-ESEC05},
  doi            = {http://doi.acm.org/10.1145/1095430.1081707},
  isbn           = {1-59593-014-0},
  keywords       = {hasler07 girba stefPub recast06 scg-pub jb06 moose-pub
                   snf-actsc norex06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05cStoryOfMoose.pdf},
  year           = 2005
}

@InProceedings{Dean95a,
  Author         = {Jeffrey Dean and David Grove and Craig Chambers},
  Title          = {Optimization of Object-Oriented Programs Using Static
                   Class Hierarchy Analysis},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {77-101},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Rati04a,
  Author         = {Daniel Ra\c{t}iu and St\'ephane Ducasse and Tudor
                   G{\^\i}rba and Radu Marinescu},
  Title          = {Using History Information to Improve Design Flaws
                   Detection},
  BookTitle      = {Proceedings of 8th European Conference on Software
                   Maintenance and Reengineering (CSMR'04)},
  Pages          = {223--232},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {As systems evolve and their structure decays,
                   maintainers need accurate and automatic identification
                   of the design problems. Current approaches for
                   automatic detection of design problems are not accurate
                   enough because they analyze only a single version of a
                   system and consequently they miss essential information
                   as design problems appear and evolve over time. Our
                   approach is to use the historical information of the
                   suspected flawed structure to increase the accuracy of
                   the automatic problem detection. Our means is to define
                   measurements which summarize how persistent the problem
                   was and how much maintenance effort was spent on the
                   suspected structure. We apply our approach on a large
                   scale case study and show how it improves the accuracy
                   of the detection of God Classes and Data Classes, and
                   additionally how it adds valuable semantical
                   information about the evolution of flawed design
                   structures.},
  annote         = {internationalconference},
  keywords       = {recast04 scg-pub skipdoi stefPub jb04 moose-pub girba
                   ratiu evolution},
  misc           = {acceptance rate: 33/62 = 52\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rati04aHistoryImproveFlawsDetection.pdf},
  year           = 2004
}

@InProceedings{Pauw98a,
  Author         = {De Pauw, Wim and David Lorenz and John Vlissides and
                   Mark Wegman},
  Title          = {Execution Patterns in Object-Oriented Visualization},
  BookTitle      = {Proceedings Conference on Object-Oriented Technologies
                   and Systems (COOTS '98)},
  Pages          = {219-234},
  Publisher      = {USENIX},
  year           = 1998
}

@Misc{Prev,
  Author         = {Klaus Wuestefeld},
  Title          = {{Prevayler}, a prevalence layer for {Java}},
  Note           = {http://www.prevayler.org},
  key            = {Prev},
  keywords       = {java persistency prevalence},
  url            = {http://www.prevayler.org}
}

@Article{Nish00b,
  Author         = {Nishizaki, Shin{-}ya},
  Title          = {A Polymorphic Environment Calculus and its
                   Type-Inference Algorithm},
  Journal        = {Higher-Order and Symbolic Computation},
  Volume         = {13},
  Number         = {3},
  Pages          = {241-280},
  doi            = {http://dx.doi.org/10.1023/A:1010010314528},
  keywords       = {contract-types context-calculus},
  year           = 2000
}

@Article{Estu05a,
  Author         = {Jacky Estublier and David Leblang and Andr\'e van der
                   Hoek and Reidar Conradi and Geoffrey Clemm and Walter
                   Tichy and Darcy Wiborg-Weber},
  Title          = {Impact of Software Engineering Research on the
                   Practice of Software Configuration Management},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {14},
  Number         = {4},
  Pages          = {383-430},
  keywords       = {scm},
  month          = oct,
  year           = 2005
}

@Book{ECMA97a,
  Editor         = {?},
  Title          = {ECMAScript Language Specification},
  Publisher      = {European Computer Machinery Association},
  keywords       = {scripting ecmascript javascript},
  month          = jun,
  url            = {http://www.ecma-international.org/publications/standards/Ecma-262.htm},
  note            = {\\ \url{http://www.ecma-international.org/publications/standards/Ecma-262.htm}},
  year           = 1997
}

@PhdThesis{Turn96a,
  Author         = {David N. Turner},
  Title          = {The Polymorphic Pi-Calculus: Theory and Implementation},
  School         = {Department of Computer Science, University of
                   Edinburgh, UK},
  Type           = {Ph.{D}. Thesis},
  keywords       = {Pict pi},
  url            = {http://www.dcs.gla.ac.uk/~dnt/thesis.ps},
  year           = 1996
}

@InProceedings{Egye99a,
  Author         = {Alexander Egyed and Phillipe B. Kruchten},
  Title          = {Rose/Architect: a tool to visualize architecture},
  BookTitle      = {Proc. 32nd Annual Hawaii Conference on Systems
                   Sciences},
  year           = 1999
}

@PhdThesis{Casa91b,
  Author         = {Eduardo Casais},
  Title          = {Managing Evolution in Object Oriented Environments: An
                   Algorithmic Approach},
  School         = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit osg-phd binder (shelf)},
  month          = may,
  number         = {no. 369)},
  year           = 1991
}

@InProceedings{Mauw87a,
  Author         = {S. Mauw},
  Title          = {A Constructive Version of the Approximation Induction
                   Principle},
  BookTitle      = {Proceedings SION Conference (CSN 87)},
  Pages          = {235-252},
  Address        = {Amsterdam},
  Publisher      = {CWI},
  keywords       = {pcalc regular processes},
  year           = 1987
}

@Misc{PHP,
  Title          = {{PHP}: Hypertext Preprocessor},
  Note           = {http://www.php.net/},
  key            = {PHP}
}

@PhdThesis{Tant04a,
  Author         = {{\'E}ric Tanter},
  Title          = {From Metaobject Protocols to Versatile Kernels for
                   Aspect-Oriented Programming},
  School         = {University of Nantes and University of Chile},
  month          = {nov},
  year           = 2004
}

@InProceedings{Ham03a,
  Author         = {Frank van Ham},
  Title          = {Using Multilevel Call Matrices in Large Software
                   Projects},
  BookTitle      = {Proceedings of the IEEE Symposium on Information
                   Visualization},
  Pages          = {29-34},
  Address        = {Seattle, Washington},
  Publisher      = {IEEE},
  keywords       = {dotplot},
  month          = oct,
  year           = 2003
}

@InProceedings{Pasc86a,
  Author         = {Geoffrey A. Pascoe},
  Title          = {Encapsulators: {A} New Software Paradigm in
                   {Smalltalk}-80},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {341-346},
  keywords       = {olit-oopl smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Duca99f,
  Author         = {Mireille Ducass\'e},
  Title          = {Coca: An Automated Debugger for {C}},
  BookTitle      = {International Conference on Software Engineering},
  Pages          = {154-168},
  year           = 1999
}

@TechReport{Mura87a,
  Author         = {M. Murata and K. Kusumoto},
  Title          = {Daemon: A Mediator that Keeps Wholes Consistent with
                   their parts},
  Institution    = {Fuji Xerox},
  year           = 1987
}

@InProceedings{Film87a,
  Author         = {Robert E. Filman},
  Title          = {Retrofitting Objects},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {342-353},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Dasg86a,
  Author         = {Partha Dasgupta},
  Title          = {A Probe-Based Monitoring Scheme for an Object-Oriented
                   Distributed Operating System},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {57-66},
  keywords       = {olit-oopl clouds distribution os oopsla86 oobib(sys)},
  month          = nov,
  year           = 1986
}

@InProceedings{Godi95b,
  Author         = {Robert Godin and Guy Mineau and Rokia Missaoui},
  Title          = {Incremental {Structuring} of {Knowledge} {Bases}},
  BookTitle      = {Proceedings of KRUSE '95 (International Symposium on
                   Knowledge Retrieval, Use, and Storage for Efficiency)},
  Series         = {LNAI},
  Pages          = {179-198},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  location       = {Santa Cruz, California, USA},
  year           = 1995
}

@Book{Gill92a,
  Author         = {Alan C. Gillies},
  Title          = {Software Quality},
  Publisher      = {Thomson Computer Press},
  isbn           = {1-85032-270-8},
  keywords       = {olit-gen scglib},
  year           = 1992
}

@Article{Cox83a,
  Author         = {Brad J. Cox},
  Title          = {The Object Oriented Pre-Compiler},
  Journal        = {SIGPLAN Notices},
  Volume         = {18},
  Number         = {1},
  Pages          = {15-22},
  keywords       = {olit-oopl oopc},
  month          = jan,
  year           = 1983
}

@Book{Watt90a,
  Author         = {David A. Watt},
  Title          = {Programming Language Concepts and Paradigms},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-726274-4},
  keywords       = {pl book scglib},
  year           = 1990
}

@InProceedings{Epst88a,
  Author         = {Danny Epstein and Wilf R. LaLonde},
  Title          = {A {Smalltalk} Window System Based on Constraints},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {83-94},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Shib92a,
  Author         = {Etsuya Shibayama},
  Title          = {Semantic Layers of Object-Based Concurrent Computing},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Matio Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {99-117},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@Article{Nyga86a,
  Author         = {Kristen Nygaard},
  Title          = {Basic Concepts in Object Oriented Programming},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {128-132},
  keywords       = {olit survey oopws86},
  month          = oct,
  year           = 1986
}

@InCollection{Russ89a,
  Author         = {D. Russinoff},
  Title          = {Proteus: a Frame-based Non-monotonic Inference System},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {127-150},
  Address        = {Reading, Mass.},
  keywords       = {olit ai frames oocda89},
  year           = 1989
}

@TechReport{Arap91b,
  Author         = {Costas Arapis},
  Title          = {Specifying Object Interactions},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {Working paper},
  abstract       = {Techniques for specifying temporal properties of an
                   application are presented, based on the assumption that
                   static and behavioral properties have been described
                   within some object-oriented model. These techniques
                   enable the specification of the dynamic evolution of
                   object behavior and the interactions of collections of
                   cooperating objects. The underlying formalism used for
                   our specifications is the language of first-order
                   temporal logic. A method for checking consistency of
                   specifications is also presented.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {303-322},
  year           = 1991
}

@InProceedings{Igar99a,
  Author         = {Atsushi Igarashi and Benjamin Pierce},
  Title          = {Foundations for Virtual Types},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {161-185},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Virtual types have been proposed as a notation for
                   generic programming in object-oriented languages---an
                   alternative to the more familiar mechanism of
                   parametric classes. The tradeoffs between the two
                   mechanisms are a matter of current debate: for many
                   examples, both appear to offer convenient (indeed
                   almost interchangeable) solutions; in other situations,
                   one or the other seems to be more satisfactory.
                   However, it has proved difficult to draw rigorous
                   comparisons between the two approaches, partly because
                   current proposals for virtual types vary considerably
                   in their details, and partly because the proposals
                   themselves are described rather informally, usually in
                   the complicating context of full-scale language
                   designs. Work on the foundations of object-oriented
                   languages has already established a clear connection
                   between parametric classes and the polymorphic
                   functions found in familiar typed lambda-calculi. Our
                   aim here is to explore a similar connection between
                   virtual types and dependent records. We present, by
                   means of examples, a straightforward model of objects
                   with embedded type fields in a typed lambda-calculus
                   with subtyping, type operators, fixed points, dependent
                   functions, and dependent records with both ``bounded''
                   and ``manifest'' type fields (this combination of
                   features can be viewed as a measure of the inherent
                   complexity of virtual types). Using this model, we then
                   discuss some of the major differences between previous
                   proposals and show why some can be checked statically
                   while others require run-time checks. We also
                   investigate how the partial ``duality'' of virtual
                   types and parametric classes can be understood in terms
                   of translations between universal and (dependent)
                   existential types.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Till96a,
  Author         = {Scott R. Tilley and Dennis B. Smith and Santanu Paul},
  Title          = {Towards a Framework for Program Understanding},
  BookTitle      = {WPC '96: Proceedings of the 4th International Workshop
                   on Program Comprehension (WPC '96)},
  Pages          = {19},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-8186-7283-8},
  keywords       = {design-recovery},
  url            = {http://doi.ieeecomputersociety.org/10.1109/WPC.1996.501117},
  year           = 1996
}

@Book{Oaks97a,
  Author         = {Scott Oaks and Henry Wong},
  Title          = {Java Threads},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-216-6},
  keywords       = {java oolit-oopl oobib(concurrency) scglib},
  year           = 1997
}

@InProceedings{Kapp88a,
  Author         = {Gerti Kappel and Michael Schrefl},
  Title          = {A Behaviour Integrated Entity Relationship Approach
                   for the Design of Object-Oriented Databases},
  BookTitle      = {Proceedings 7th International Conference on Entity
                   Relationship Approach},
  Pages          = {175-192},
  Address        = {Rome},
  keywords       = {olit-db osg ood89},
  month          = nov,
  year           = 1988
}

@Book{Aho72a,
  Author         = {Alfred V. Aho and Jeffrey D. Ullman},
  Title          = {The Theory of Parsing, Translation and Compiling
                   Volume {I}: Parsing},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-914556-7},
  keywords       = {compiler book scglib},
  year           = 1972
}

@Article{Tane85a,
  Author         = {A.S. Tanenbaum and R. Van Renesse},
  Title          = {Distributed Operating Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {17},
  Number         = {4},
  Pages          = {419-470},
  keywords       = {olit distribution binder},
  month          = dec,
  year           = 1985
}

@Book{Schm86a,
  Author         = {Kurt J. Schmucker},
  Title          = {Object-Oriented Programming for the Macintosh},
  Publisher      = {Hayden Book Company},
  keywords       = {olit-oopl object-pascal},
  year           = 1986
}

@InProceedings{Tant06d,
  Author         = {{\'E}ric Tanter},
  Title          = {An Extensible Kernel Language for {AOP}},
  BookTitle      = {Proceedings of AOSD Workshop on Open and Dynamic
                   Aspect Languages},
  Address        = {Bonn, Germany},
  year           = 2006
}

@Article{Haer83a,
  Author         = {T. Haerder and A. Reuter},
  Title          = {Principles of Transaction-Oriented Database Recovery},
  Journal        = {ACM Computing Surveys},
  Volume         = {15},
  Number         = {4},
  Pages          = {287-317},
  keywords       = {dblit transactions recovery reliability},
  month          = dec,
  year           = 1983
}

@PhdThesis{Mart84a,
  Author         = {T. Patrick Martin},
  Title          = {A Communication Model for Message Management Systems},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {Ph.{D}. Thesis},
  keywords       = {oislit mail},
  year           = 1984
}

@TechReport{Pier89a,
  Author         = {Benjamin C. Pierce and Scott Dietzen and Spiro
                   Michaylov},
  Title          = {Programming in Higher-Order Typed Lambda-Calculi},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-89-111}},
  keywords       = {types lambda binder},
  month          = mar,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/leap.ps.gz},
  year           = 1989
}

@Book{Wirf03,
  Author         = {Rebecca Wirfs-Brock and Alan McKean},
  Title          = {Object Design --- Roles, Responsibilities and
                   Collaborations},
  Publisher      = {Addison-Wesley},
  isbn           = {0-201-37943-0},
  keywords       = {scglib},
  year           = 2003
}

@InProceedings{Neig96a,
  Author         = {James M. Neighbors},
  Title          = {Finding {Reusable} {Software} {Components} in {Large}
                   {Systems}},
  BookTitle      = {Proceedings of WCRE '96 (3rd Working Conference on
                   Reverse Engineering)},
  Pages          = {2-10},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  month          = nov,
  year           = 1996
}

@InProceedings{Mann81a,
  Author         = {Zohar Manna and Amir Pnueli},
  Title          = {Verification of Concurrent Programs: Temporal Proof
                   Principle},
  BookTitle      = {Logics of Programs (Proceedings 1981)},
  Editor         = {D. Kozen},
  Volume         = {131},
  Series         = {LNCS},
  Pages          = {200-252},
  Publisher      = {Springer-Verlag},
  keywords       = {temporal-logic temporal logic},
  year           = 1981
}

@Article{Kicz96b,
  Author         = {Gregor Kiczales},
  Title          = {{Beyond the Black Box: Open Implementation}},
  Journal        = {IEEE Software},
  keywords       = {olit},
  month          = jan,
  year           = 1996
}

@PhdThesis{Hurs95a,
  Author         = {Walter H{\"u}rsch},
  Title          = {Maintaining Behavior and Consistency of
                   Object-Oriented Systems during Evolution},
  School         = {Northeastern University, MA},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-reuse},
  url            = {http://www.ccs.neu.edu/home/lieber/theses/huersch/thesis.ps},
  year           = 1995
}

@Article{Duca01t,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: Classes},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 36,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@InCollection{Pint93c,
  Author         = {Xavier Pintado},
  Title          = {Gluons: a Supprot for Software Component Cooperation},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {43-60},
  abstract       = {This paper presents \fIgluons\fR as objects that
                   mediate software component cooperation. We discuss the
                   advantages of encapsulating inter-component interaction
                   inside a set of special objects. We present the design
                   of a hierarchy of \fIgluon\fR classes that provide the
                   support for the application domain independent part of
                   component interaction protocols. As an example, we
                   present the design of a financial information framework
                   and we discuss the role that \fIgluons\fR play in the
                   definition of the framework.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Four96b,
  Author         = {C{\'e}dric Fournet and Georges Gonthier and
                   Jean-Jacques L{\'e}vy and Luc Maranget and Didier
                   R{\'e}my},
  Title          = {A Calculus of Mobile Agents},
  BookTitle      = {Proceedings of the 7th International Conference on
                   Concurrency Theory (CONCUR '96)},
  Volume         = 1119,
  Series         = {LNCS},
  Pages          = {406-421},
  Publisher      = {Springer-Verlag},
  keywords       = {olit(mobility) obib(pcalc) binder pcalc mobility join
                   calculus pisem},
  month          = aug,
  url            = {http://www.research.microsoft.com/~fournet/biblio.htm},
  year           = 1996
}

@TechReport{Bell92a,
  Author         = {Jean L. Bell},
  Title          = {Reuse and Browsing: Survey of Program Developers},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg of92},
  month          = jul,
  pages          = {197-220},
  year           = 1992
}

@Book{Erik98a,
  Author         = {Hans-Erik Eriksson and Magnus Penker},
  Title          = {{UML} Toolkit},
  Publisher      = {John Wiley \& Sons},
  isbn           = {0-471-19161-2},
  keywords       = {UML},
  year           = 1998
}

@Unpublished{Webe91a,
  Author         = {Franz Weber},
  Title          = {Getting Class Correctness and System Correctness
                   Equivalent -- How to Get Covariance Right},
  Note           = {submitted for publication},
  keywords       = {types olit binder},
  month          = dec,
  type           = {draft},
  year           = 1991
}

@InProceedings{Lucc87a,
  Author         = {Steven E. Lucco},
  Title          = {Parallel Programming in a Virtual Object Space},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {26-34},
  keywords       = {olit-obc oopsla87},
  month          = dec,
  year           = 1987
}

@TechReport{Maze86a,
  Author         = {Murray S. Mazer},
  Title          = {Exploring the link between office support systems and
                   distributed problem solving systems},
  Institution    = {Computer Systems Research Institute, University of
                   Toronto},
  Type           = {Office and Data Base Systems Research 86', Technical
                   Report},
  Number         = {CSRI-183},
  Address        = {Toronto},
  editor         = {F.H. Lochovsky},
  keywords       = {oislit},
  month          = jul,
  year           = 1986
}

@InProceedings{Gay03a,
  Author         = {David Gay and Philip Levis and Robert von Behren and
                   Matt Welsh and Eric Brewer and David Culler},
  Title          = {The {nesC} language: A holistic approach to networked
                   embedded systems},
  BookTitle      = {PLDI '03: Proceedings of the ACM SIGPLAN 2003
                   conference on Programming language design and
                   implementation},
  Pages          = {1--11},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/781131.781133},
  isbn           = {1-58113-662-5},
  location       = {San Diego, California, USA},
  year           = 2003
}

@InProceedings{Wint02a,
  Author         = {Michael Winter and Thomas Gen{\ss}ler and Alexander
                   Christoph and Oscar Nierstrasz and St\'ephane Ducasse
                   and Roel Wuyts and Gabriela Ar{\'e}valo and Peter
                   M\"uller and Christian Stich and Bastiaan Sch\"onhage},
  Title          = {Components for Embedded Software --- The PECOS
                   Approach},
  BookTitle      = {Proc. Second International Workshop on Composition
                   Languages},
  Note           = {In conjunction with 16th European Conference on
                   Object-Oriented Programming (ECOOP) Malaga, Spain, June
                   11, 2002},
  abstract       = {This paper presents a domain specific composition
                   language called CoCo. The CoCo language has been
                   developed in the context of the PECOS project which
                   aims at enabling component-based technology for a
                   certain class of embedded systems called "field
                   devices".},
  annote         = {internationalworkshop},
  keywords       = {olit skipdoi scg-pub jb-skip pecos stefPub arevalo},
  url            = {http://www.iam.unibe.ch/~scg/Archive/pecos/public_documents/Wint02a.pdf},
  year           = 2002
}

@Book{Assm03a,
  Author         = {Uwe A{\ss}mann},
  Title          = {Invasive Software Composition},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-44385-1},
  keywords       = {olit Assmann},
  url            = {http://www.ida.liu.se/~uweas/InvasiveSoftwareComposition/},
  year           = 2003
}

@PhdThesis{Stee80a,
  Author         = {G.L. Steele},
  Title          = {The definition and implementation of a computer
                   programming language based on constraints},
  School         = {MIT},
  year           = 1980
}

@TechReport{Hens91a,
  Author         = {Andreas Hense},
  Title          = {An {O}'Small Interpreter Based on Denotational
                   Semantics},
  Institution    = {FB 14, Universit{\"a}t des Saarlandes},
  Type           = {Report},
  Number         = {A07/91},
  keywords       = {olit-inheritance binder},
  month          = oct,
  year           = 1991
}

@InProceedings{Pulv01a,
  Author         = {E.Pulverm{\"u}ller and A. Speck and J.O.Coplien and M.
                   D'Hondt and W.DeMeuter},
  Title          = {Position Paper: Feature Interaction in Composed
                   Systems},
  BookTitle      = {Proceedings of the European Conference on
                   Object-Oriented Programming, ECOOP 2001},
  Pages          = {1-6},
  keywords       = {feature},
  year           = 2001
}

@InProceedings{Bake93a,
  Author         = {Brenda S. Baker},
  Title          = {A Theory of Parameterized Pattern Matching: Algorithms
                   and Applications (Extended Abstract)},
  BookTitle      = {Proceedings of the 25th ACM Symposium on Theory of
                   Computing},
  Pages          = {71-80},
  month          = may,
  url            = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-2.ps.gz},
  year           = 1993
}

@Article{Jack00a,
  Author         = {Daniel Jackson and John Chapin},
  Title          = {Redesigning Air Traffic Control: An Exercise in
                   Software Design},
  Journal        = {IEEE Software},
  Volume         = {17},
  Number         = {3},
  Pages          = {63-70},
  keywords       = {oorp},
  month          = may,
  publisher      = {IEEE},
  year           = 2000
}

@InProceedings{Fiut96a,
  Author         = {Roberto Fiutem and Paolo Tonella and Giuliano Antoniol
                   and Ettore Merlo},
  Title          = {A Clich\'{e}-Based Environment to Support
                   Architectural Reverse Engineering},
  BookTitle      = {Proceedings ICSM '96},
  Organization   = {IEEE},
  month          = nov,
  year           = 1996
}

@Article{Zhu87a,
  Author         = {Xinming Zhu and Herbert A. Simon},
  Title          = {Learning Mathematics From Examples and by Doing},
  Journal        = {Cognition and Instruction},
  Volume         = 4,
  Number         = 3,
  Pages          = {137-166},
  month          = jan,
  year           = 1987
}

@PhdThesis{Alme80a,
  Author         = {Guy T. Almes},
  Title          = {Garbage Collection in an Object-Oriented System},
  School         = {Carnegie Mellon University},
  Type           = {Ph.{D}. Thesis},
  Address        = {Pittsburgh, PA},
  keywords       = {olit memory},
  year           = 1980
}

@Book{Bisc92a,
  Author         = {Walter R. Bischofberger and Gustav Pomberger},
  Title          = {Prototyping-Oriented Software Development},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-55448-3},
  keywords       = {oobib(gen) book scglib},
  year           = 1992
}

@InCollection{Berg87a,
  Author         = {Jan A. Bergstra and J.W. Klop},
  Title          = {$ACP_\tau$: {A} Universal Axiom System for Process
                   Specification},
  BookTitle      = {Algebraic Methods: Theory, Tools and Applications},
  Publisher      = {Springer-Verlag},
  Editor         = {M. Wirsing and J.A. Bergstra},
  Volume         = {394},
  Series         = {LNCS},
  Pages          = {447-463},
  keywords       = {pcalc acp binder(conc)},
  year           = 1987
}

@InProceedings{Vogt95a,
  Author         = {F. Vogt and R. Wille},
  Title          = {{TOSCANA} --- a graphical tool for analyzing and
                   exploring data},
  BookTitle      = {Proceedings of the DIMACS Int. Workshop on Graph
                   Drawing (GD'94)},
  Editor         = {R. Tamassia and I.G. Tollis},
  Series         = {Lecture Notes in Computer Science 894},
  Pages          = {226-233},
  Address        = {Berlin-Heidelberg},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  year           = 1995
}

@Book{Whorf56a,
  Author         = {B.L. Whorf},
  Title          = {Language Thought and Reality},
  Publisher      = {MIT Press},
  year           = 1956
}

@InProceedings{Duca04f,
  Author         = {St\'ephane Ducasse and Tudor G\^irba and Jean-Marie
                   Favre},
  Title          = {Modeling Software Evolution by Treating History as a
                   First Class Entity},
  BookTitle      = {Proceedings Workshop on Software Evolution Through
                   Transformation (SETra 2004)},
  Pages          = {75--86},
  Address        = {Amsterdam},
  Publisher      = {Elsevier},
  abstract       = {The histories of software systems hold useful
                   information when reasoning about the systems at hand or
                   about general laws of software evolution. Yet, the
                   approaches developed so far, do not rely on an explicit
                   meta-model and do not facilitate the comparison of
                   different evolutions. We argue for the need to define
                   history as a first class entity and propose a
                   meta-model centered around the notion of history. We
                   show the usefulness of our a meta-model by discussing
                   the different analysis it enables.},
  annote         = {internationalworkshop},
  doi            = {http://dx.doi.org/10.1016/j.entcs.2004.08.035},
  keywords       = {scg-pub evolution van stefPub recast05 jointERCIM
                   girba hismo jb05 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca04fHismo.pdf},
  year           = 2004
}

@InProceedings{Cham89a,
  Author         = {Craig Chambers and David Ungar and Elgin Lee},
  Title          = {An Efficient Implementation of {SELF} --- a
                   Dynamically-Typed Object-Oriented Language Based on
                   Prototypes},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {49-70},
  keywords       = {olit-oopl self oopsla89},
  month          = oct,
  year           = 1989
}

@Book{XTS,
  Author         = {{W3C XML Query Working Group}},
  Title          = {XML Query Test Suite},
  Publisher      = {W3C},
  Address        = {},
  Edition        = {1st},
  Note           = {\verb|http://www.w3.org/XML/Query/test-suite/|},
  year           = 2006
}

@Book{Yone87a,
  Author         = {Akinori Yonezawa and Mario Tokoro},
  Title          = {Object-Oriented Concurrent Programming},
  Publisher      = {MIT Press},
  Address        = {Cambridge, Mass.},
  isbn           = {0-262-24026-2},
  keywords       = {olit-obc oobib(obcp) book scglib},
  year           = 1987
}

@Misc{Prothon,
  Title          = {Prothon Home Page},
  Note           = {http://www.prothon.org/},
  key            = {Prothon}
}

@Book{Boeh78a,
  Author         = {B. Boehm and J. Brown and H. Kaspar and M. Lipow and
                   G. McLeod and M. Merritt},
  Title          = {Characteristics of Software Quality},
  Publisher      = {North Holland},
  keywords       = {metrics},
  year           = 1978
}

@TechReport{Cann82a,
  Author         = {H. I. Cannon},
  Title          = {Flavors: A non-hierarchical approach to
                   object-oriented programming},
  Institution    = {Symbolics Inc.},
  keywords       = {olit-oopl flavors lisp},
  year           = 1982
}

@InProceedings{Hack94a,
  Author         = {Steven T. Hackstadt and Allen D. Malony and Bernd Mohr},
  Title          = {Scalable Performance Visualization for Data-Parallel
                   Programs},
  BookTitle      = {Proc. of the Scalable High Performance Computing
                   Conference (SHPCC)},
  Pages          = {342-349},
  Address        = {Knoxville, TN},
  month          = may,
  year           = 1994
}

@Book{Lea99a,
  Author         = {Doug Lea},
  Title          = {Concurrent Programming in {Java}[tm], Second Edition:
                   Design principles and Patterns},
  Publisher      = {Addison Wesley},
  Series         = {The {Java} Series},
  Edition        = {2nd},
  isbn           = {0-201-31009-0},
  keywords       = {olit design-patterns java},
  year           = 1999
}

@InProceedings{Coel06a,
  Author         = {Wesley Coelho and Gail C. Murphy},
  Title          = {Presenting crosscutting structure with active models},
  BookTitle      = {AOSD'06: Proceedings of the 5th international
                   conference on Aspect-oriented software development},
  Pages          = {158--168},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1119655.1119677},
  isbn           = {1-59593-300-X},
  location       = {Bonn, Germany},
  year           = 2006
}

@Article{Whit84a,
  Author         = {C. Thomas White and Stephen C. Hardies and Hutchison,
                   III, Clyde A. and Marshall H. Edgell},
  Title          = {The diagonal-traverse homology search algorithm for
                   locating similarities between two sequences},
  Journal        = {Nucleic Acids Research},
  Volume         = {12},
  Number         = {1},
  Pages          = {751-766},
  keywords       = {dotplot},
  year           = 1984
}

@InProceedings{Ryde01a,
  Author         = {Barbara G. Ryder and Frank Tip},
  Title          = {Change impact analysis for object-oriented programs},
  BookTitle      = {Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop
                   on Program analysis for software tools and engineering},
  Pages          = {46-53},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/379605.379661},
  isbn           = {1-58113-413-4},
  location       = {Snowbird, Utah, United States},
  year           = 2001
}

@InProceedings{Gass98a,
  Author         = {M.L. Gassanenko},
  Title          = {Context-Oriented Programming},
  BookTitle      = {euroForth'98},
  Address        = {Schloss Dagstuhl, Germany},
  abstract       = {Context-oriented programming (COP) introduces one more
                   notion to reason about the structure of software
                   systems: a context (an environment) is a set of
                   entities bound with a system of relations. This view is
                   applicable where the object-oriented one is inadequate.
                   Implementation of COP requires the same techniques as
                   OOP: COP and OOP are different things assembled from
                   the same components. COP allows things that OOP cannot
                   do, for example, COP enables us to use late binding for
                   elementary data that are not OOP objects.},
  keywords       = {cop-lit},
  month          = {apr},
  year           = 1998
}

@TechReport{Boye94a,
  Author         = {Niels Boyen and Carine Lucas and Patrick Steyaert},
  Title          = {Generalised Mixin-based Inheritance to Support
                   Multiple Inheritance},
  Institution    = {Vrije Universiteit Brussel},
  Number         = {12},
  Note           = {vub-prog-tr-94-12},
  year           = 1994
}

@InProceedings{Pras90a,
  Author         = {Sanjiv Prasad and Alessandro Giacalone and Prateek
                   Mishra},
  Title          = {Operational and Algebraic Semantics for Facile: {A}
                   Symmetric Integration of Concurrent and Functional
                   Programming},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Series         = {LNCS 443},
  Pages          = {765-780},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency facile icalp90 binder},
  month          = jul,
  year           = 1990
}

@InProceedings{Sang05a,
  Author         = {Neeraj Sangal and Ev Jordan and Vineet Sinha and
                   Daniel Jackson},
  Title          = {Using Dependency Models to Manage Complex Software
                   Architecture},
  BookTitle      = {Proceedings of OOPSLA'05},
  Pages          = {167-176},
  year           = 2005
}

@Article{McCa76a,
  Author         = {T.J. McCabe},
  Title          = {A Measure of Complexity},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {2},
  Number         = {4},
  Pages          = {308-320},
  month          = dec,
  year           = 1976
}

@Article{Tsic82b,
  Author         = {Dennis Tsichritzis and Fausto Rabitti and Simon Gibbs
                   and Oscar Nierstrasz and John Hogg},
  Title          = {A System for Managing Structured Messages},
  Journal        = {IEEE Transactions on Communications},
  Volume         = {Com-30},
  Number         = {1},
  Pages          = {66-73},
  abstract       = {Message systems send and receive messages but do not
                   manage the information the messages contain. Database
                   management systems manage the information of a global
                   database but do not have a notion of address. In this
                   paper we outline a prototype system which integrates
                   the facilities of message systems and database
                   management systems. The system manages structured
                   messages according to their contents. The messages can
                   be stored within a station and transferred between
                   stations. Information present in the messages can be
                   queried in a distributed manner. Message structure can
                   also be exploited by automatic procedures which
                   recognize triggering conditions and perform user
                   specified actions.},
  annote         = {internationaljournal},
  keywords       = {oislit skipdoi forms mail tla ofs},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Tsic82b.pdf
                   http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=23952&arnumber=1095394&count=43&index=39},
  year           = 1982
}

@PhdThesis{Syst00a,
  Author         = {Tarja Syst{\"a}},
  Title          = {Static and Dynamic Reverse Engineering Techniques for
                   {Java} Software Systems},
  School         = {University of Tampere},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{Henr91a,
  Author         = {Tyson R. Henry and Scott E. Hudson},
  Title          = {Interactive Graph Layout},
  BookTitle      = {Proceedings of the 4th annual ACM symposium on User
                   interface software and technology},
  Pages          = {55-64},
  Address        = {Hilton Head, South Carolina, United States},
  Publisher      = {ACM Press},
  month          = nov,
  year           = 1991
}

@InProceedings{Aksi92a,
  Author         = {Mehmet Aksit and Lodewijk Bergmans},
  Title          = {Obstacles in Object-Oriented Software Development},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {341-358},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Book{Duca05j,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: Learn Programming with Robots},
  Publisher      = {APress},
  Note           = {ISBN: 1-59059-491-6},
  annote         = {book},
  keywords       = {stefPub jb05 scglib},
  year           = 2005
}

@Unpublished{Perr91b,
  Author         = {Nigel Perry},
  Title          = {Non-Strict Fpm --- {A} High Performance Lazy Abstract
                   Machine},
  Note           = {Massey University, Ngz},
  keywords       = {pcalc ccs binder},
  type           = {Draft},
  year           = 1991
}

@TechReport{Wyss04a,
  Author         = {Christoph Wysseier},
  Title          = {{CCJun} -- Polymetric Views in Three-dimensional Space},
  Institution    = {University of Berne},
  Type           = {Informatikprojekt},
  abstract       = {CodeCrawler is a tool to visualize software systems
                   using polymetric views as a lightweight reverse
                   engineering approach. In this project we introduce the
                   extension CCJun, which enriches the polymetric views
                   with a third dimension and shows how to generalize the
                   graphical interface of CodeCrawler.},
  keywords       = {scg-ip jb04 recast04},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Wyss04a.pdf},
  year           = 2004
}

@InProceedings{Sahr00,
  Author         = {Houari A. Sahraoui and Mounir Boukadoum and Hakim
                   Lounis and Fr\'ed\'eric Eth\`eve},
  Title          = {Predicting Class Libraries Interface Evolution: an
                   investigation into machine learning approaches},
  BookTitle      = {Proceedings of 7th Asia-Pacific Software Engineering
                   Conference},
  year           = 2000
}

@Book{Pier95c,
  Author         = {Benjamin Pierce},
  Title          = {Programming in the {PI}-Calculus, Tutorial Notes for
                   PiCT Version 3.6a},
  Publisher      = {University of Glasgow},
  keywords       = {olit-pcal pict book scglib},
  month          = may,
  year           = 1995
}

@InCollection{Waki93a,
  Author         = {Ken Wakita},
  Title          = {First Class Messages as First Class Continuations},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {442-459},
  abstract       = {First class messages, which we call message
                   continuations, provide, object-oriented concurrent
                   programming languages with extensibility in modeling
                   and programming communication schemes such as
                   asynchronous communication, multicasting, sophisticated
                   synchronization constraints, inter-object
                   synchronization, concurrency control, resource
                   management, and so on. In spite of its powerful
                   extensibility, the framework is sound in that the
                   framework guarantees that no program can destroy the
                   semantics of the built-in communication primitives.
                   This good property was obtained by categorization of
                   message continuations and careful design of the
                   primitive operations on message continuations.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InCollection{Papa95b,
  Author         = {Michael Papathomas and Gordon S. Blair and Geoff
                   Coulson},
  Title          = {A Model for Active Object Coordination and its Use for
                   Distributed Multimedia Applications},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = 924,
  Series         = {LNCS},
  Pages          = {162-175},
  abstract       = {The coordination among a set of concurrent objects is
                   commonly expressed through language specific
                   synchronization mechanisms in the objects'
                   implementation. Unfortunately, such an approach makes
                   it difficult to reuse these objects in applications
                   with different coordination patterns. Moreover, the
                   algorithms used for object coordination are
                   inextricably linked to the original object
                   implementation and cannot themselves be easily reused
                   for the coordination of objects with different
                   implementations. In this paper, we propose a model that
                   promotes the reuse of both objects and coordination
                   patterns. The model allows objects to synchronize their
                   execution with events occurring in other objects (e.g.
                   state changes and method invocations) in a way that is
                   compatible with local object synchronization
                   constraints and respects encapsulation. The model also
                   supports the use of class inheritance while avoiding
                   most of the problems of combining inheritance with
                   synchronization. Finally, we consider the use of the
                   model in the area of distributed multimedia
                   applications. In this area active objects encapsulate
                   media processing activities while a synchronous
                   language is used to specify their temporal
                   coordination.},
  keywords       = {olit OBM94-21},
  year           = 1995
}

@TechReport{Miln92a,
  Author         = {Robin Milner},
  Title          = {Action Structures},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {ECS-LFCS-92-249},
  keywords       = {pcalc},
  month          = dec,
  url            = {ftp://ftp.doc.ic.ac.uk/ic.doc/theory/CONFER/papers/Milner/as.ps.gz
                   ftp://ftp.cl.cam.ac.uk/users/rm135/as.ps.Z},
  year           = 1992
}

@Article{Brab00a,
  Author         = {Claus Brabrand and Anders Moller and Mikkel Ricky and
                   and Michael I. Schwartzbach},
  Title          = {PowerForms: Declarative Client-side Form Field
                   Validation},
  Journal        = {World Wide Web Journal},
  Volume         = {3},
  Number         = {4},
  Pages          = {205-314},
  year           = 2000
}

@InProceedings{Lanz03c,
  Author         = {Michele Lanza},
  Title          = {Program Visualization Support for Highly Iterative
                   Development Environments},
  BookTitle      = {Proceedings of VisSoft 2003 (2nd International
                   Workshop on Visualizing Software for Understanding and
                   Analysis)},
  Pages          = {62-67},
  Publisher      = {IEEE CS Press},
  abstract       = {Software Visualization is, despite the many
                   publications and advances in this research field, still
                   not being considered by mainstream software industry:
                   currently very few integrated development environments
                   offer (if at all) only limited visualization support,
                   and in general it can be said that software
                   visualization is being ignored at a professional level
                   by the average software developer. Moreover, even
                   relatively successful software visualization tools
                   (such as Rigi, Shrimp, JInsight, etc.) are seldom being
                   used except by their developers themselves. In this
                   position paper, based on our own experience and an
                   analysis of the current state and possible future
                   trends of integrated development environments, we put
                   up a non-exhaustive list of features that software
                   visualization tools should possess in the future to
                   have more consideration by mainstream development.},
  keywords       = {recast04 scg-pub skipdoi jb04 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz03cVisSoft.pdf},
  year           = 2003
}

@Article{Habe72a,
  Author         = {A. Nico Habermann},
  Title          = {Synchronization of Communicating Processes},
  Journal        = {Communications of the ACM},
  Volume         = {15},
  Number         = {3},
  Pages          = {171-176},
  keywords       = {concurrency},
  month          = mar,
  year           = 1972
}

@Misc{CSharp,
  Title          = {Standard {ECMA-334}: {C\#} {Language} {Specification}},
  url           = {http://www.ecma-international.org/publications/standards/Ecma-334.htm},
  Note           = {\\ \url{http://www.ecma-international.org/publications/standards/Ecma-334.htm}},
  key            = {C\#},
  year = 2006,
  month = jun
  
}

@InProceedings{Posh06a,
  Author         = {Denys Poshyvanyk and Andrian Marcus and Giuliano
                   Antoniol and Vaclav Rajlich},
  Title          = {Combining Probabilistic Ranking and Latent Semantic
                   Indexing for Feature Identification},
  BookTitle      = {Proceedings of the 2nd international conference on
                   program comprehension (ICPC)},
  Publisher      = {ACM Press},
  location       = {Athens, Greece},
  year           = 2006
}

@InProceedings{Cons94b,
  Author         = {M. Consens and M. Z. Hazan and A. Mendelzon},
  Title          = {Debugging Distributed Programs by Visualizing and
                   Querying Event Traces},
  BookTitle      = {Proceedings 1st. International Conference on
                   Applications of Databases, LNCS 819},
  year           = 1994
}

@InProceedings{Dixo89a,
  Author         = {R. Dixon and T. McKee and M. Vaughan and P. Schweizer},
  Title          = {A Fast Method Dispatcher for Compiled Languages with
                   Multiple Inheritance},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {211-214},
  keywords       = {olit-inheritance oopsla89},
  month          = oct,
  year           = 1989
}

@TechReport{Abet89a,
  Author         = {Serge Abetiboul and Paris C. Kanellakis},
  Title          = {Object Identity as Query Language Primitive},
  Institution    = {INRIA},
  Type           = {Report no.},
  Number         = {1022},
  Note           = {To appear, JACM},
  keywords       = {olit-db binder},
  month          = apr,
  year           = 1989
}

@Article{Doda93a,
  Author         = {Mahesh Dodani},
  Title          = {Practical Object-Oriented Software Engineering},
  Journal        = {Computer Science Education Journal},
  Volume         = {4},
  Number         = {1},
  Pages          = {87-98},
  keywords       = {obib(gen) binder},
  year           = 1993
}

@Book{Mitc03a,
  Author         = {John C. Mitchell},
  Title          = {Concepts in Programming Languages},
  Publisher      = {Cambridge University Press},
  isbn           = {0-521-78098-5},
  keywords       = {scglib},
  year           = 2003
}

@Proceedings{Meyr90a,
  Title          = {Proceedings {OOPSLA}/{ECOOP}'90},
  Editor         = {Norman Meyrowitz},
  Volume         = {25},
  Address        = {Ottawa, Canada},
  isbn           = {0-201-52430-X},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla90 ecoop90proc
                   oobib(gen) scglib},
  month          = oct,
  year           = 1990
}

@Article{Sonn95a,
  Author         = {Erik L.L. Sonnhammer and Richard Durbin},
  Title          = {A dot-matrix program with dynamic threshold control
                   suited for genomic {DNA} and protein sequence analysis},
  Journal        = {Gene},
  Volume         = {167},
  Pages          = {1-10},
  keywords       = {dotplot},
  month          = oct,
  publisher      = {Elsevier},
  summary        = {This paper emphasizes the interactive features of the
                   dotplot implementation. They integrate dotplots with
                   other methods of sequence alignments, e.g. BLAST,
                   superimposing the results in one display. The advantage
                   of interaction is here that it allows exploration of
                   the dotplot, since it may be that there is no optimal
                   parameter setting which allows to find all the
                   important sequence alignments. It may be that some of
                   the alignments are only visible if there is still some
                   background noise present. In their own words: "In cases
                   like this, it is desirable to view the dot-plot under
                   many different stringency conditions and be able to
                   change them in a scrolling fashion."
                   \fullcite{Sonn95}{4. Discussion}{9} They argue in favor
                   of dotplots: * Graphical dot-matrix plots can provide
                   the most complete and detailed comparison of two
                   sequences. * Dotplots are best suited for homology
                   analysis tasks involving weak and difficult to assess
                   matches in both traditional protein or DNA comparisons
                   and in more complex situations when genomic DNA is
                   compared to proteins or DNA.},
  year           = 1995
}

@TechReport{Kang90a,
  Author         = {Kyo C.Kang, Sholom G. Cohen and James A. Hess and
                   William E. Novak and A. Spencer Peterson},
  Title          = {Feature Oriented Design Analysis (FODA) Feasibility
                   Study},
  Institution    = {iSoftware Engineering Institute, Carnegie Mellon
                   University, Pittsburgh, PA},
  Number         = {CMU/SEI-90-TR-21-ESD-90/TR-222},
  keywords       = {feature},
  year           = 1990
}

@Book{Fram93a,
  Author         = {Frame Technology Corporation},
  Title          = {Using Framemaker 4},
  Publisher      = {Frame technology},
  isbn           = {41-03776-00},
  keywords       = {scglib},
  year           = 1993
}

@Article{Mall82a,
  Author         = {W.R. Mallgren},
  Title          = {Formal Specifications of Graphic Data Types},
  Journal        = {ACM TOPLAS},
  Volume         = {4},
  Number         = {4},
  Pages          = {687-710},
  keywords       = {types other graphics},
  month          = oct,
  year           = 1982
}

@InProceedings{Chib00,
  Author         = {Shigeru Chiba},
  Title          = {Load-Time Structural Reflection in {Java}},
  BookTitle      = {Proceedings of ECOOP 2000},
  Volume         = {1850},
  Series         = {LNCS},
  Pages          = {313-336},
  coden          = {LNCSD9},
  issn           = {0302-9743},
  year           = 2000
}

@InProceedings{Opdy93a,
  Author         = {William F. Opdyke and Ralph E. Johnson},
  Title          = {Creating Abstract Superclasses by Refactoring},
  BookTitle      = {Proceedings of the 1993 ACM Conference on Computer
                   Science},
  Pages          = {66-73},
  Publisher      = {ACM Press},
  keywords       = {refactoring ooreeng famoos},
  year           = 1993
}

@Book{Drak98a,
  Author         = {Caleb Drake},
  Title          = {Object-Oriented Programming with {C}++ and {Smalltalk}},
  Publisher      = {Prentice-Hall},
  keywords       = {smalltalk olit scglib},
  year           = 1998
}

@Article{Zobe01a,
  Author         = {Justin Zobel and Steffen Heinz and Hugh E. Williams},
  Title          = {In-memory hash tables for accumulating text
                   vocabularies},
  Journal        = {Inf. Process. Lett.},
  Volume         = {80},
  Number         = {6},
  Pages          = {271-277},
  doi            = {http://dx.doi.org/10.1016/S0020-0190(01)00239-3},
  issn           = {0020-0190},
  publisher      = {Elsevier North-Holland, Inc.},
  year           = 2001
}

@TechReport{Bjoe89a,
  Author         = {Anders Bj{\"o}rnerstedt},
  Title          = {Secondary Storage Garbage Collection for Decentralized
                   Object-Based Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  abstract       = {This paper describes a mechanism for secondary storage
                   garbage collection that may be used to reclaim
                   inaccessible resources in decentralized persistent
                   object based systems. Schemes for object addressing and
                   object identification are discussed and a proposal is
                   made which handles volatile objects separately from
                   persistent objects. The garbage collection of the space
                   of volatile objects is decoupled from the garbage
                   collection of the space of persistent objects. The
                   first kind of garbage collection can avoid the
                   complexity and overhead of a distributed algorithm by
                   classifying "exported" objects as persistent. The
                   problem of detecting and collecting "distributed
                   garbage" is then deferred to garbage collection of
                   persistent objects.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg-ftp ood89},
  month          = jul,
  pages          = {277-319},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/garbageCollection.pdf},
  year           = 1989
}

@InProceedings{Reyn91a,
  Author         = {John C. Reynolds},
  Title          = {The Coherence of Languages with Intersection Types},
  BookTitle      = {Proceedings Theoretical Aspects of Computer Software
                   (TACS '91)},
  Editor         = {T. Ito and A.R. Meyer},
  Series         = {LNCS 526},
  Pages          = {675-700},
  Address        = {Sendai, Japan},
  Publisher      = {Springer-Verlag},
  keywords       = {types forsythe tacs91},
  month          = sep,
  year           = 1991
}

@Proceedings{Meyr88a,
  Title          = {Proceedings {OOPSLA} '88},
  Editor         = {Norman Meyrowitz},
  Volume         = {23},
  Address        = {San Diego, California},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla88 oobib(gen)},
  month          = nov,
  year           = 1988
}

@InProceedings{Brac04b,
  Author         = {Gilad Bracha and David Ungar},
  Title          = {Mirrors: design principles for meta-level facilities
                   of object-oriented programming languages},
  BookTitle      = {Proceedings of OOPSLA '04, ACM SIGPLAN Notices},
  Pages          = {331-344},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  url            = {http://bracha.org/mirrors.pdf},
  year           = 2004
}

@InProceedings{Popo02a,
  Author         = {Andrei Popovici and Thomas Gross and Gustavo Alonso},
  Title          = {Dynamic weaving for aspect-oriented programming},
  BookTitle      = {Proceedings of the 1st international conference on
                   Aspect-oriented software development},
  Pages          = {141-147},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/508386.508404},
  isbn           = {1-58113-469-X},
  location       = {Enschede, The Netherlands},
  year           = 2002
}

@TechReport{Blum97a,
  Author         = {Roger Blum},
  Title          = {Entwurf und Implementierung einer
                   Benutzerschnittstelle f{\"u}r {ALFRED}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Aktive Datenbanksysteme erweitern herk\"ommliche
                   Datenbanksysteme um die F\"ahigkeit, selbst\"andig auf
                   gewisse Situationen zu reagieren. Am Institut f\"ur
                   Wirtschaftsinformatik, Abteilung Information
                   Engineering, der Universit\"at Bern wird die aktive
                   Schicht ALFRED (Active Layer For Rule Execution in
                   Database Systems) entwickelt. Damit kann prinzipiell
                   jedes beliebige (passive) Datenbanksystem in ein
                   aktives verwandelt werden. In diesem Projekt wird die
                   Benutzeroberfl\"ache, basierend auf festgelegten
                   funktionellen und systemtechnischen Anforderungen,
                   entworfen und implementiert. Ein besonderes Gewicht
                   wurde dabei auf die Benutzungsfreundlichkeit und die
                   Plattformunabh\"angigkeit gelegt. Ferner wird ein
                   Konzept f\"ur die automatische Ableitung von Regeln
                   f\"ur die Gew\"ahrleistung von Integrit\"atsbedingungen
                   erarbeitet. Das aktive Verhalten wird in ALFRED somit
                   vollst\"andig durch Regeln realisiert.},
  keywords       = {scg-ip jb-none},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Blum97a.pdf},
  year           = 1997
}

@Article{Luck95b,
  Author         = {David C. Luckham and James Vera},
  Title          = {An Event-Based Architecture Definition Language},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {9},
  Pages          = {717-734},
  keywords       = {rapide sa architecture tose95},
  month          = sep,
  url            = {ftp://pavg.stanford.edu/pub/Rapide-1.0/urapide-tse.ps.Z},
  year           = 1995
}

@InProceedings{Kons91c,
  Author         = {Dimitri Konstantas},
  Title          = {Design Issues of a Strongly Distributed Object Based
                   System},
  BookTitle      = {Proceedings of 2nd IEEE International Workshop for
                   Object-Orientation in Operating Systems (I-WOOOS '91)},
  Pages          = {156-163},
  Address        = {Palo-Alto},
  abstract       = {Cell, a model for strongly Distributed Object Based
                   systems is discussed. Its components, the nucleus and
                   the membrane, are presented and their characteristics
                   are described. The notions of trading and type
                   transparency in the context of the Cell model are
                   described and issues related to their design and
                   implementation are presented.},
  keywords       = {olit osg},
  misc           = {Oct. 17-18},
  month          = oct,
  year           = 1991
}

@InProceedings{Tu01a,
  Author         = {Qiang Tu and Michael W. Godfrey},
  Title          = {The Build-Time Software Architecture View},
  BookTitle      = {International Conference on Software Maintenance (ICSM
                   2001)},
  Pages          = {398-407},
  year           = 2001
}

@Misc{AspectR,
  Title          = {AspectR Home Page},
  Note           = {http://aspectr.sourceforge.net/},
  key            = {AspectR},
  keywords       = {aspect ruby},
  url            = {http://aspectr.sourceforge.net/}
}

@InProceedings{Gras86a,
  Author         = {J.E. Grass and R.H. Campbell},
  Title          = {Mediators: {A} Synchronization Mechanism},
  BookTitle      = {Proceedings of the IEEE Conference on Distributed
                   Computing Systems},
  Pages          = {468-477},
  keywords       = {concurrency synchronization binder},
  month          = sep,
  year           = 1986
}

@InProceedings{Huen95a,
  Author         = {Hermann Hueni and Ralph E. Johnson and Robert Engel},
  Title          = {A Framework for Network Protocol Software},
  BookTitle      = {Proceedings OOPSLA '95, ACM SIGPLAN Notices},
  abstract       = {Writing software to control networks is important and
                   difficult. It must be efficient, reliable, and
                   flexible. Conduits+ is framework for network software
                   that has been used to implement the signalling system
                   of a multi-protocol ATM 1 access switch. An earlier
                   version was used to implement TCP/IP. It reduces the
                   complexity of network software, makes it easier to
                   extend or modify network protocols, and is sufficiently
                   efficient. Conduits+ shows the power of a componentized
                   object-oriented framework and of common object-oriented
                   design patterns.},
  keywords       = {olit frameworks oopsla95 design-patterns},
  month          = oct,
  url            = {ftp://st.cs.uiuc.edu/pub/patterns/papers/conduits+.ps},
  year           = 1995
}

@InProceedings{Brow02a,
  Author         = {Adam Brown and Richard Cardone and Sean McDirmid and
                   Calvin Lin},
  Title          = {Using mixins to build flexible widgets},
  BookTitle      = {Proceedings of the 1st international conference on
                   Aspect-oriented software development},
  Pages          = {76-85},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/508386.508395},
  isbn           = {1-58113-469-X},
  location       = {Enschede, The Netherlands},
  year           = 2002
}

@InProceedings{Free90a,
  Author         = {Bjorn N. Freeman-Benson},
  Title          = {Kaleidoscope: Mixing Objects, Constraints and
                   Imperative Programming},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {77-88},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InCollection{Laor93a,
  Author         = {Amarit Laorakpong and Motoshi Saeki},
  Title          = {Object-Oriented Formal Specification Development using
                   {VDM}},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {529-543},
  abstract       = {This paper introduces the Object-Oriented
                   Specification Language, a language based on Formal
                   Description Technique (FDT) in the style of Vienna
                   Development Method (VDM) so called OOVDM, additionally
                   includes its denotational semantics and implementation.
                   Our research contributes to the extension of VDM by an
                   Object-Oriented concept which supports incremental and
                   subtyping inheritance. OOVDM has two types of modules,
                   which are class modules and type modules. Class modules
                   define objects having their internal states. Their
                   states can be changed states, i.e. values, and denote
                   the domains of the values. OOVDM has two kinds of
                   inheritance mechanisms---incremental inheritance and
                   subtyping inheritance. Both concepts are useful for
                   overloading existing descriptions and for hierarchical
                   classification of the objects.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Article{Zloo82a,
  Author         = {M.M. Zloof},
  Title          = {Office-by-Example: {A} Business Language that Unifies
                   Data and Word Processing and Electronic Mail},
  Journal        = {IBM System Journal},
  Volume         = {21},
  Number         = {3},
  Pages          = {272-304},
  keywords       = {oislit sba mail},
  year           = 1982
}

@TechReport{Schl01a,
  Author         = {Andreas Schlapbach},
  Title          = {Generic {XMI} Support for the {MOOSE} Reengineering
                   Environment},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {This report describes the implementation of generic
                   XMI (XML Metadata Interchange) support for MOOSE, an
                   Extensible Language-Independent Environment for
                   Reengineering Object-Oriented Systems developed at the
                   University of Berne.},
  keywords       = {scg-ip jb-none moose-pub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Schl01a.pdf},
  year           = 2001
}

@InProceedings{MacQ88a,
  Author         = {David MacQueen},
  Title          = {An Implementation of Standard ML Modules},
  BookTitle      = {Proceedings of the 1988 ACM conference on LISP and
                   functional programming},
  Pages          = {212-223},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/62678.62704},
  isbn           = {0-89791-273-X},
  location       = {Snowbird, Utah, United States},
  year           = 1988
}

@Unpublished{Punt96b,
  Author         = {Frank Puntigam},
  Title          = {Synchronization Expressed in Types of Communication
                   Channels},
  Note           = {Submitted to Workshoop N 5: Parallel Languages and
                   Programming},
  keywords       = {obib-types binder},
  type           = {Draft, Technische Universitat Wien},
  year           = 1996
}

@Article{Feij98a,
  Author         = {Loe Feijs and Roel De Jong},
  Title          = {3D visualization of software architectures},
  Journal        = {Communication of the ACM},
  Volume         = {41},
  Number         = {12},
  Pages          = {73--78},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/290133.290151},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 1998
}

@Book{Winst98a,
  Author         = {Patrick Henry Winston},
  Title          = {On to {Smalltalk}},
  Publisher      = {Addison Wesley},
  keywords       = {smalltalk scglib},
  year           = 1998
}

@MastersThesis{LaTo04a,
  Author         = {Thomas LaToza},
  Title          = {The Understanding and Modification of Procedural and
                   Object-OrientedPrograms - Wnen does Knowledge Help?},
  School         = {University of Illinois},
  Type           = {Diploma {Thesis}},
  annote         = {bachelor},
  year           = 2004
}

@Article{Came86a,
  Author         = {John R. Cameron},
  Title          = {An Overview of {JSD}},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-12},
  Number         = {2},
  Pages          = {222-240},
  keywords       = {olit jsd binder(ood)},
  month          = feb,
  year           = 1986
}

@InCollection{Cox95a,
  Author         = {P.T. Cox and F.R. Giles and T. Pietrzykowski},
  Title          = {Prograph},
  BookTitle      = {Visual Object-Oriented Programming},
  Publisher      = {Manninc Publications Co.},
  Editor         = {Margeret M. Burnett and Adele Goldberg and Ted G.
                   Lewis},
  Pages          = {45-66},
  year           = 1995
}

@Article{Harr96a,
  Author         = {D.R. Harris and A.S. Yeh and H.B. Reubenstein},
  Title          = {Extracting Architectural Features from Source Code},
  Journal        = {Automated Software Engineering},
  Volume         = {3},
  Number         = {1-2},
  Pages          = {109-139},
  keywords       = {model capture},
  year           = 1996
}

@Misc{Seaside,
  Title          = {{Seaside}, developing sophisticated web applications
                   in {Smalltalk}},
  Note           = {http://www.seaside.st},
  key            = {Seaside},
  keywords       = {squeak web server},
  url            = {http://www.seaside.st}
}

@InCollection{Mose95a,
  Author         = {Simon Moser},
  Title          = {Metamodels for {Object}-{Oriented} {Systems}},
  BookTitle      = {Software -- Concepts and Tools},
  Publisher      = {Springer Intl.},
  Volume         = {16},
  Pages          = {63-80},
  issn           = {0945-8115},
  keywords       = {skip-pdf skip-abstract skipdoi snf-none olit scg-pub
                   toBeChecked jb95},
  month          = jul,
  year           = 1995
}

@InProceedings{Muel88a,
  Author         = {H. A. M{\"u}ller and K. Klashinsky},
  Title          = {Rigi -- A system for programming-in-the-large},
  BookTitle      = {ICSE '88: Proceedings of the 10th international
                   conference on Software engineering},
  Pages          = {80-86},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-89791-258-6},
  keywords       = {design-recovery},
  location       = {Singapore},
  url            = {http://portal.acm.org/citation.cfm?id=55832},
  year           = 1988
}

@InProceedings{Bour05a,
  Author         = {N. Bouraqadi and Abdelhak Seriai and Gabriel Leblanc},
  Title          = {Towards Unified Aspect-Oriented Programming},
  BookTitle      = {Proceedings of 13th International Smalltalk Conference
                   (ISC'05)},
  abstract       = {Aspect-Oriented Programming (AOP) is a paradigm that
                   aims at improving software modularization. Indeed,
                   aspects are yet another dimension for structuring
                   applications. The notion of aspect refers to any
                   cross-cuting property. This definition encompasses both
                   functional (business) and non-functional
                   (infrastructure) properties. However, most approaches
                   for AOP focus on only one category of aspects: either
                   functional aspects or non-functional ones. This paper
                   aims at bridging the gap between those two families. We
                   present a solution for describing both functional and
                   non-functional aspects in a uniform fashion. This
                   solution relies on reflection and mixin-based
                   inheritance.},
  keywords       = {metaclass metaclasstalk},
  year           = 2005
}

@InCollection{Nier85d,
  Author         = {Oscar Nierstrasz},
  Title          = {An Object-Oriented System},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {167-190},
  Address        = {Heidelberg},
  abstract       = {Applications in Office Information Systems are often
                   very difficult to implement and prototype, largely
                   because of the lack of appropriate programming tools.
                   We argue here that "objects" have many of the
                   primitives that we need for building OIS systems, and
                   we describe an object-oriented programming system that
                   we have developed.},
  keywords       = {olit-oopl skipdoi oz (crete) oact85},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier85dOz.pdf},
  year           = 1985
}

@InProceedings{Bato03b,
  Author         = {Don Batory and Jia Liu and Jacob Neal Sarvela},
  Title          = {Refinements and multi-dimensional separation of
                   concerns},
  BookTitle      = {ESEC/FSE-11: Proceedings of the 9th European software
                   engineering conference held jointly with 11th ACM
                   SIGSOFT international symposium on Foundations of
                   software engineering},
  Pages          = {48--57},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/940071.940079},
  isbn           = {1-58113-743-5},
  location       = {Helsinki, Finland},
  year           = 2003
}

@InProceedings{Stro87a,
  Author         = {Bjarne Stroustrup},
  Title          = {What is "Object-Oriented Programming"?},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {51-70},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Maes87a,
  Author         = {Pattie Maes},
  Title          = {Concepts and Experiments in Computational Reflection},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {147-155},
  keywords       = {olit oopsla87 binder},
  month          = dec,
  year           = 1987
}

@Book{Raou92a,
  Editor         = {J.-C.Raoult},
  Title          = {Proceedings {CAAP}'92},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 581},
  Address        = {Rennes, France},
  isbn           = {3-540-55251-0},
  keywords       = {olit caap92 scglib},
  month          = feb,
  year           = 1992
}

@TechReport{Funk95a,
  Author         = {Petra Funk and Anke Lewien and Gregor Snelting},
  Title          = {Algorithms for {Concept} {Lattice} {Decomposition} and
                   their {Application}},
  Institution    = {Computer Science Dept., Technische Universitat
                   Braunschweig},
  Number         = {95-09},
  keywords       = {fca},
  year           = 1995
}

@Article{Hewi77a,
  Author         = {Carl Hewitt and Henry Baker},
  Title          = {Laws for Communicating Parallel Processes},
  Journal        = {Information Processing 77},
  Pages          = {987-992},
  editor         = {G. Gilchrist},
  keywords       = {concurrency messages actors binder},
  publisher      = {North-Holland},
  year           = 1977
}

@PhdThesis{Mule95a,
  Author         = {P. Mulet},
  Title          = {R\'eflexion et langage \`a prototypes},
  School         = {\'Ecole des Mines de Nantes},
  year           = 1995
}

@InProceedings{Rao91a,
  Author         = {Ramana Rao},
  Title          = {Implementational Reflection in {Silica}},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {251-267},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InCollection{Lieb87b,
  Author         = {Henry Lieberman},
  Title          = {Concurrent Object-Oriented Programming in Act 1},
  BookTitle      = {Object-Oriented Concurrent Programming},
  Publisher      = {MIT Press},
  Editor         = {A. Yonezawa and M. Tokoro},
  Pages          = {9-36},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-obcl act1 oocp87 oobib(obcp) scglib},
  year           = 1987
}

@Article{Brio98a,
  Author         = {Jean-Pierre Briot and Rachid Guerraoui and Klaus-Peter
                   Lohr},
  Title          = {{Concurrency and Distribution in Object-Oriented
                   Programming}},
  Journal        = {ACM Computing Surveys},
  Volume         = 30,
  Number         = 3,
  Pages          = {291-329},
  keywords       = {olit-ocl obib-concurrency},
  year           = 1998
}

@Book{Szyp98a,
  Author         = {Clemens A. Szyperski},
  Title          = {Component Software},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-17888-5},
  keywords       = {components scglib},
  year           = 1998
}

@PhdThesis{Myer87a,
  Author         = {Brad Myers},
  Title          = {Creating User Interfaces by Demonstration},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {Ph.{D}. Thesis},
  keywords       = {uilit},
  month          = may,
  number         = {CSRI Technical Report #196},
  year           = 1987
}

@TechReport{Herm00a,
  Author         = {Martin Hermann},
  Title          = {{Erstellung einer zentralen Kundendatenbank bei Firma
                   W. Gassmann AG Biel}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Erstellung einer zentralen Kundendatenbank bei der
                   Firma W. Gassmann AG, L\"angfeldweg 135, 2504 Biel. Das
                   Projekt besteht darin, die auf verschiedenste Quellen
                   verteilten kundenspezifischen Daten zu einer zentralen
                   Datenquelle zu vereinigen. Diese Datenbank sollte allen
                   Mitarbeitern via internem LAN oder via Intranet (WWW)
                   zur Verf\"ugung stehen. Das fertige Projekt umfasst
                   alle n\"otigen Anpassungen sowie die Publizierung im
                   firmeneigenen Intranet.},
  keywords       = {scg-ip jb-none},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Herm00a.pdf},
  year           = 2000
}

@InProceedings{Egye03a,
  Author         = {Alexander Egyed},
  Title          = {A Scenario-Driven Approach to Trace Dependency
                   Analysis},
  BookTitle      = {IEEE Transactions on Software Engineering},
  Volume         = {29},
  month          = feb,
  year           = 2003
}

@Article{Roch93a,
  Author         = {Roxie Rochat and Juanita Ewing},
  Title          = {Smalltalk Debugging Techniques},
  Journal        = {The {Smalltalk} Report},
  Volume         = {2},
  Number         = {9},
  Pages          = {18-23},
  month          = jul,
  year           = 1993
}

@Book{Mukh95a,
  Author         = {Manibrata Mukherji and Dennis Kafura},
  Title          = {Specification of Multi-Object Coordination Schemes
                   Using Coordinating Environments {R} Draft},
  Publisher      = {Virgina Tech},
  keywords       = {coordination oobib(pcal) agents binder},
  misc           = {February 28},
  month          = feb,
  url            = {ftp://actor.cs.vt.edu/pub/kafura/ce.ps},
  year           = 1995
}

@TechReport{Kim02a,
  Author         = {Howard Kim},
  Title          = {AspectC\#: An AOSD implementation for C\#},
  Institution    = {Department of Computer Science, Trinity College,
                   Dublin},
  keywords       = {aspect c#},
  year           = 2002
}

@InCollection{Alba83a,
  Author         = {Antonio Albano and R. Orsini},
  Title          = {Dialogo: An Interactive Environment for Conceptual
                   Design in Galileo},
  BookTitle      = {Methodology and Tools for Database Design},
  Publisher      = {North-Holland},
  Editor         = {S. Ceri},
  keywords       = {olit-oopl galileo},
  year           = 1983
}

@Misc{Goma92a,
  Author         = {Hassan Gomaa},
  Title          = {Domain Modeling for Requirements Reuse and Evolution},
  Note           = {Draft},
  keywords       = {olit reuse binder},
  month          = jun,
  year           = 1992
}

@InProceedings{Scha04b,
  Author         = {Nathanael Sch\"arli and Andrew P. Black and St\'ephane
                   Ducasse},
  Title          = {Object-oriented Encapsulation for Dynamically Typed
                   Languages},
  BookTitle      = {Proceedings of 18th International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA'04)},
  Pages          = {130-149},
  abstract       = {Encapsulation in object-oriented languages has
                   traditionally been based on static type systems. As a
                   consequence, dynamically-typed languages have only
                   limited support for encapsulation. This is surprising,
                   considering that encapsulation is one of the most
                   fundamental and important concepts behind
                   object-oriented programming and that it is essential
                   for writing programs that are maintainable and
                   reliable, and that remain robust as they evolve. In
                   this paper we describe the problems that are caused by
                   insufficient encapsulation mechanisms and then present
                   object-oriented encapsulation, a simple and uniform
                   approach that solves these problems by bringing state
                   of the art encapsulation features to dynamically typed
                   languages. We provide a detailed discussion of our
                   design rationales and compare them and their
                   consequences to the encapsulation approaches used for
                   statically typed languages. We also describe an
                   implementation of object-oriented encapsulation in
                   Smalltalk. Benchmarks show that extensive use of
                   objectoriented encapsulation results in a slowdown of
                   less than 15 per cent.},
  annote         = {internationalconference topconference},
  cvs            = {OOEncapsulationOOPSLA2004},
  doi            = {http://doi.acm.org/10.1145/1028976.1028988},
  keywords       = {snf05 scg-pub jb03 scg-traits stefPub schaerli},
  misc           = {acceptance rate: 27/174 = 16\%},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha04bOOEncapsulation.pdf},
  year           = 2004
}

@Article{Bato92a,
  Author         = {Don Batory and Sean O'Malley},
  Title          = {The Design and Implementation of Hierarchical Software
                   Systems With Reusable Components},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  keywords       = {olit binder},
  month          = oct,
  year           = 1992
}

@InProceedings{Gold96a,
  Author         = {Adele Goldberg},
  Title          = {Measurement Strategies},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {1},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Matt04a,
  Author         = {Jacob Matthews and Robert Bruce Findler and Matthew
                   Flatt and Matthias Felleisen},
  Title          = {A Visual Environment for Developing Context-Sensitive
                   Term Rewriting Systems},
  BookTitle      = {In Proceedings of the International Conference on
                   Rewriting Techniques and Applications (RTA) 2004},
  url            = {http://people.cs.uchicago.edu/~robby/pubs/papers/rta2004-mfff.pdf},
  year           = 2004
}

@Article{Simo03d,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 8: Classification
                   and Inheritance},
  Journal        = {Journal of Object Technology},
  Volume         = {2},
  Number         = {4},
  Pages          = {55-64},
  keywords       = {ioom-types},
  misc           = {July-August},
  month          = jul,
  url            = {http://www.jot.fm/issues/issue_2003_07/column4},
  year           = 2003
}

@Book{Eber00a,
  Editor         = {J. Ebert and Chris Verhoef},
  Title          = {Proceedings of the Fourth European Conference on
                   Software Maintenance and Reengineering},
  Publisher      = {IEEE},
  year           = 2000
}

@InProceedings{Sim00a,
  Author         = {Susan Elliott Sim and Margaret-Anne D. Storey},
  Title          = {A Structured Demonstration of Program Comprehension
                   Tools},
  BookTitle      = {Proceedings of WCRE 2000},
  Pages          = {184-193},
  year           = 2000
}

@InProceedings{Kuma92a,
  Author         = {V. Kumar},
  Title          = {Algorithms for constraint satisfaction problems: a
                   Survey},
  BookTitle      = {AI Magazine},
  Volume         = {13},
  Number         = {1},
  Pages          = {32-44},
  year           = 1992
}

@PhdThesis{Stee88a,
  Author         = {Maarten van Steen},
  Title          = {Modeling Dynamic Systems by Parallel Decision
                   Processes},
  School         = {University of Leiden},
  Type           = {Ph.{D}. Thesis},
  keywords       = {concurrency binder (shelf)},
  year           = 1988
}

@Article{Riva96b,
  Author         = {Fred Rivard},
  Title          = {{Reflective Facilities in {Smalltalk}}},
  Journal        = {Revue Informatik/Informatique, revue des organisations
                   suisses d'informatique. Num\'ero 1 F\'evrier 1996},
  month          = feb,
  publisher      = {Societ\'e suisse des informaticiens},
  year           = 1996
}

@TechReport{Amer86b,
  Author         = {Pierre America},
  Title          = {Rationale for the design of {POOL}},
  Institution    = {Philips Research Laboratories},
  Type           = {Doc. No.},
  Number         = {0053},
  Address        = {Eindhoven, the Netherlands},
  keywords       = {olit-obc pool},
  misc           = {January 8},
  month          = jan,
  year           = 1986
}

@InProceedings{Amse95a,
  Author         = {Maurice Amsellem},
  Title          = {ChyPro: {A} Hypermedia Programming Environment for
                   {Smalltalk}-80},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {449-470},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@TechReport{Miln89b,
  Author         = {Robin Milner and Joachim Parrow and David Walker},
  Title          = {A Calculus of Mobile Processes, Parts {I} and {II}},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {Reports ECS-LFCS-89-85 and},
  Number         = {-86},
  keywords       = {pcalc mobility ccs binder (shelf)},
  month          = mar,
  year           = 1989
}

@Misc{OmniBrowser,
  Author         = {Colin Putney},
  Title          = {{OmniBrowser}, an extensible browser framework for
                   {Smalltalk}},
  Note           = {http://www.wiresong.ca/OmniBrowser},
  key            = {OmniBrowser},
  keywords       = {smalltalk squeak browser},
  url            = {http://www.wiresong.ca/OmniBrowser}
}

@Article{Perr92a,
  Author         = {Dewayne E. Perry and Alexander L. Wolf},
  Title          = {Foundations for the Study of Software Architecture},
  Journal        = {ACM SIGSOFT Software Engineering Notes},
  Volume         = {17},
  Number         = {4},
  Pages          = {40-52},
  keywords       = {architecture composition binder},
  month          = oct,
  url            = {http://www.bell-labs.com/user/dep/work/papers/swa-sen.ps},
  year           = 1992
}

@InProceedings{Cant04a,
  Author         = {Cantrill,, Bryan M. and Shapiro,, Michael W. and
                   Leventhal,, Adam H.},
  Title          = {Dynamic instrumentation of production systems},
  BookTitle      = {ATEC '04: Proceedings of the annual conference on
                   USENIX Annual Technical Conference},
  Pages          = {2--2},
  Address        = {Berkeley, CA, USA},
  Publisher      = {USENIX Association},
  abstract       = { This paper presents DTrace, a new facility for
                   dynamic instrumentation of production systems. DTrace
                   features the ability to dynamically instrument both
                   user-level and kernel-level software in a unified and
                   absolutely safe fashion. When not explicitly enabled,
                   DTrace has zero probe effect - the system operates
                   exactly as if DTrace were not present at all. DTrace
                   allows for many tens of thousands of instrumentation
                   points, with even the smallest of systems offering on
                   the order of 30,000 such points in the kernel alone. We
                   have developed a C-like high-level control language to
                   describe the predicates and actions at a given point of
                   instrumentation. The language features user-defined
                   variables, including thread-local variables and
                   associative arrays. To eliminate the need for most
                   postprocessing, the facility features a scalable
                   mechanism for aggregating data and a mechanism for
                   speculative tracing. DTrace has been integrated into
                   the Solaris operating system and has been used to find
                   serious systemic performance problems on production
                   systems - problems that could not be found using
                   preexisting facilities.},
  keywords       = {dtrace, unix, instrumentatio},
  location       = {Boston, MA},
  url            = {http://www.usenix.org/event/usenix04/tech/general/full_papers/cantrill/cantrill_html/},
  year           = 2004
}

@Unpublished{Ryde88b,
  Author         = {D.E. Rydeheard},
  Title          = {On Category Theory and Computer Science --- An
                   Annotated Bibliography},
  Note           = {Univ. Erlangen-N{\"u}rnberg},
  keywords       = {misc category theory binder},
  misc           = {July 7},
  month          = jul,
  type           = {Draft},
  year           = 1988
}

@Book{Jeze96a,
  Author         = {J-M. J\'ez\'equel},
  Title          = {Object-Oriented Software Engineering with Eiffel},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63381-7},
  keywords       = {olit-oopl scglib},
  year           = 1996
}

@InProceedings{Omic94a,
  Author         = {Andrea Omicini and Antonio Natali},
  Title          = {Object-Oriented Computations in Logic Programming},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {194-212},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Article{Blum87,
  Author         = {A. Blumer and J. Blumer and D. Haussler and R.
                   McConnell and A. Ehrenfeucht},
  Title          = {Complete Inverted Files for Efficient Text Retrieval
                   and Analysis},
  Journal        = {JACM},
  Volume         = {34},
  Number         = {3},
  Pages          = {578-595},
  month          = jul,
  year           = 1987
}

@InProceedings{Alph05a,
  Author         = {Carl Alphonce and Blake Martin},
  Title          = {Green: a customizable UML class diagram plug-in for
                   eclipse},
  BookTitle      = {OOPSLA '05: Companion to the 20th annual ACM SIGPLAN
                   conference on Object-oriented programming, systems,
                   languages, and applications},
  Pages          = {168--169},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1094855.1094917},
  isbn           = {1-59593-193-7},
  location       = {San Diego, CA, USA},
  year           = 2005
}

@Article{Kuhn07a,
  Author         = {Adrian Kuhn and St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Semantic Clustering: Identifying Topics in Source Code},
  Journal        = {Information and Software Technology},
  Volume         = {49},
  Number         = {3},
  Pages          = {230--243},
  abstract       = {Many of the existing approaches in Software
                   Comprehension focus on program program structure or
                   external documentation. However, by analyzing formal
                   information the informal semantics contained in the
                   vocabulary of source code are overlooked. To understand
                   software as a whole, we need to enrich software
                   analysis with the developer knowledge hidden in the
                   code naming. This paper proposes the use of information
                   retrieval to exploit linguistic information found in
                   source code, such as identifier names and comments. We
                   introduce Semantic Clustering, a technique based on
                   Latent Semantic Indexing and clustering to group source
                   artifacts that use similar vocabulary. We call these
                   groups semantic clusters and we interpret them as
                   linguistic topics that reveal the intention of the
                   code. We compare the topics to each other, identify
                   links between them, provide automatically retrieved
                   labels, and use a visualization to illustrate how they
                   are distributed over the system. Our approach is
                   language independent as it works at the level of
                   identifier names. To validate our approach we applied
                   it on several case studies, two of which we present in
                   this paper.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.infsof.2006.10.017},
  keywords       = {moose-pub scg-pub snf07 jb07 recast07 inprint girba
                   stefPub},
  misc           = {SCI impact factor 0.435 (2005)},
  month          = mar,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Drafts/Kuhn06bSemanticClustering.pdf},
  year           = 2007
}

@Book{Jone95a,
  Author         = {C. B. Jones},
  Title          = {Accomodating Interference in the Formal Design of
                   Concurrent Object-Based Programs},
  Publisher      = {Kluwer Academic Publishers},
  Note           = {for printing in FMiSD},
  keywords       = {oobib(gen) binder},
  year           = 1995
}

@InProceedings{Gens03a,
  Author         = {Thomas Gen{\ss}ler and Volker Kuttruff},
  Title          = {Source-to-Source Transformation in the Large},
  BookTitle      = {Modular Programming Languages, Joint Modular Languages
                   Conference, {JMLC} 2003},
  Volume         = {2789},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {254--265},
  Publisher      = {Springer},
  doi            = {http://dx.doi.org/10.1007/b12023},
  isbn           = {3-540-40796-0},
  year           = 2003
}

@InProceedings{Atki89a,
  Author         = {Malcolm Atkinson and Fran\c{c}ois Bancilhon and D.
                   DeWitt and Klaus Dittrich and David Maier and Stanley
                   Zdonik},
  Title          = {The Object-Oriented Database System Manifesto},
  BookTitle      = {Proceedings of the First International Conference on
                   Deductive and Object-Oriented Databases},
  Pages          = {223-240},
  Address        = {Kyoto, Japan},
  Note           = {Also appears in [O2-Book]},
  abstract       = {The paper defines an object-oriented database system.
                   It describes the main features and characteristics that
                   a system must have to qualify as an object-oriented
                   database system. The authors separate these
                   characteristics into three groups: \fIMandatory\fP, the
                   ones the system must satisfy in order to be termed an
                   object-oriented database system. These are complex
                   objects, object identity, encapsulation, types or
                   classes, inheritance, overriding combined with late
                   binding, extensibility, computational completeness,
                   persistence, secondary storage management, concurrency,
                   recovery, and an ad hoc query facility. \fIOptional\fP,
                   the ones that can be added to make the system better,
                   but which are not mandatory. These are multiple
                   inheritance, type checking and inferencing,
                   distribution, design transactions, and versions.
                   \fIOpen\fP, the points where the designer can make a
                   number of choices. These are the programming paradigm,
                   the representation system, the type system, and
                   uniformity. We have taken the position, not so much
                   expecting it to be the final word as to erect a
                   provisional landmark to orient further debate.},
  keywords       = {olit-oodb (smc)},
  month          = dec,
  url            = {ftp://ftp.cs.cmu.edu//afs/cs/user/clamen/ftp/OODBMS/Manifesto.PS.z
                   ftp://ftp.cs.cmu.edu//afs/cs/user/clamen/ftp/OODBMS/Manifesto.txt.z},
  year           = 1989
}

@Article{Barr96b,
  Author         = {Daniel J. Barrett and Lori A. Clarke and Peri L. Tarr
                   and Alexander Wise},
  Title          = {A Framework for Event-Based Software Integration},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {5(4)},
  Pages          = {378-421},
  keywords       = {event},
  month          = oct,
  year           = 1996
}

@InProceedings{Nier00b,
  Author         = {Oscar Nierstrasz and Franz Achermann},
  Title          = {{Supporting Compositional Styles for Software
                   Evolution}},
  BookTitle      = {Proceedings International Symposium on Principles of
                   Software Evolution (ISPSE 2000)},
  Pages          = {11-19},
  Address        = {Kanazawa, Japan},
  Publisher      = {IEEE},
  abstract       = { Software is not just difficult to develop, but it is
                   even more difficult to maintain in the face of changing
                   requirements. The complexity of software evolution can,
                   however, be significantly reduced if we manage to
                   separate the stable artifacts (the components) from
                   their configuration (the scripts). We have proposed a
                   simple, unifying framework of forms, agents, and
                   channels for modelling components and scripts, and we
                   have developed an experimental composition language,
                   called Piccola, based on this framework, that supports
                   the specification of applications as flexible
                   compositions of stable components. In this paper we
                   show how Piccola can be used to reduce the complexity
                   of software evolution through the specification and use
                   of an appropriate compositional style, and we
                   illustrate the approach through a non-trivial example
                   of mixin layer composition. },
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ISPSE.2000.913216},
  keywords       = {snf01 scg-pub piccola mixin-layers jb00 scg-coord-00},
  misc           = {Nov 1-2},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier00bSCS.pdf},
  year           = 2000
}

@Article{Malo04a,
  Author         = {John Maloney and Leo Burd and Yasmin Kafai and Natalie
                   Rusk and Brian Silverman and Mitchel Resnick},
  Title          = {Scratch: A Sneak Preview},
  Journal        = {c5},
  Volume         = {00},
  Pages          = {104-109},
  ddress         = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/C5.2004.1314376},
  publisher      = {IEEE Computer Society},
  year           = 2004
}

@PhdThesis{Krik99a,
  Author         = {Rene Krikhaar},
  Title          = {Software Architecture Reconstruction},
  School         = {University of Amsterdam},
  keywords       = {design-recovery},
  url            = {http://www.cs.vu.nl/~x/sar/sar.pdf},
  year           = 1999
}

@MastersThesis{Hogg81b,
  Author         = {John Hogg},
  Title          = {{TLA}: {A} System for Automating Form Procedures},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis},
  keywords       = {oislit forms tla},
  year           = 1981
}

@Unpublished{Sang92b,
  Author         = {Davide Sangiorgi},
  Title          = {An Investigation into Functions as Processes},
  Note           = {submitted for publicationComputer Science Dept.,
                   University of Edinburgh},
  keywords       = {pcalc mobility hopi pi ccs binder},
  type           = {draft manuscript},
  year           = 1992
}

@Book{Nico02a,
  Author         = {Jill Nicola and Mark Mayfield and Mike Abney},
  Title          = {Streamlined Object Modeling},
  Publisher      = {Prentice Hall},
  keywords       = {scglib newentry},
  year           = 2002
}

@Misc{Mack00a,
  Author         = {T. Mackinnon and S. Freeman and P. Craig},
  Title          = {EndoTesting: Unit Testing with Mock Objects},
  text           = {Mackinnon, T., Freeman, S., Craig, P. EndoTesting:
                   Unit Testing with Mock Objects, eXtreme Programming and
                   Flexible Processes in Software Engineering - XP2000,
                   May 2000},
  url            = {http://www.mockobjects.com},
  year           = 2000
}

@InProceedings{Bhas86a,
  Author         = {K.S. Bhaskar and J.K. Pecol and J.L. Beug},
  Title          = {Virtual Instruments: Object-Oriented Program Synthesis},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {303-314},
  keywords       = {olit-appl virtual instruments smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@Book{Kafu98a,
  Author         = {Dennis Kafura},
  Title          = {Object Oriented Software Design and Construction with
                   {C}++},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-901349-0},
  keywords       = {c++},
  year           = 1998
}

@InCollection{Toml89a,
  Author         = {Chris Tomlinson and M. Scheevel},
  Title          = {Concurrent Object-Oriented Programming Languages},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {79-124},
  Address        = {Reading, Mass.},
  keywords       = {olit-obcl oocda89 oobib(obcp)},
  year           = 1989
}

@Book{Mitc96a,
  Author         = {John C. Mitchell},
  Title          = {Foundations of Programming Languages},
  Publisher      = {MIT Press},
  isbn           = {0-262-13321-0},
  keywords       = {scglib new-entry},
  year           = 1996
}

@Manual{ICC01a,
  Title          = {ADvance User's Guide},
  Organization   = {IC \mbox{\&} C GmBH Software Foundations},
  Address        = {Papenhoehe 14, D-25335 Elmshorn/Hamburg, Germany},
  month          = aug,
  year           = 2001
}

@Book{Meye95a,
  Author         = {Bertrand Meyer},
  Title          = {Object Success},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-192833-3},
  keywords       = {oobib(gen) book scglib},
  year           = 1995
}

@InProceedings{Alle98a,
  Author         = {Robert Allen and David Garlan and James Ivers},
  Title          = {Formal Modeling and Analysis of the HLA Component
                   Integration Standard},
  BookTitle      = {Proceedings of the Sixth International Symposium on
                   the Foundations of Software Engineering (FSE-6)},
  Address        = {Lake Buena Vista, Florida},
  Publisher      = {ACM},
  month          = nov,
  url            = {http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/hla-fse98.html},
  year           = 1998
}

@InProceedings{Kols98a,
  Author         = {U. K{\"o}lsch},
  Title          = {Object-Oriented Re-Engineering of Information Systems
                   in a Hetegeneous Distributed Environment},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {104-115},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Cusa91b,
  Author         = {Elspeth Cusack},
  Title          = {Inheritance in Object-Oriented gz},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {167-179},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Misc{Wall04a,
  Author         = {Larry Wall},
  Title          = {Apocalypse 12},
  Note           = {http://www.perl.com/pub/a/2004/04/16/a12.html},
  month          = apr,
  url            = {http://www.perl.com/pub/a/2004/04/16/a12.html},
  year           = 2004
}

@Article{Soti95a,
  Author         = {Drasko Sotirovski and Philippe Kruchten},
  Title          = {Implementing Dialogue Independence},
  Journal        = {IEEE Software},
  Volume         = {12},
  Number         = {6},
  Pages          = {61-70},
  keywords       = {olit architecture},
  month          = nov,
  year           = 1995
}

@Book{Cowl97a,
  Author         = {Michael F. Cowlishaw},
  Title          = {The NetRexx Language},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-806332-X},
  keywords       = {scripting rexx java},
  year           = 1997
}

@Misc{Wirs06a,
  Author         = {Martin Wirsing and Matthias H\"olzl (editors)},
  Title          = {Report of the Beyond the Horizon Thematic Group 6 on
                   Software Intensive Systems},
  url            = {ftp://ftp.umh.ac.be/pub/ftp_infofs/2006/BTH-TG6-SoftwareIntensive.pdf},
  year           = 2006
}

@TechReport{Owe88a,
  Author         = {Olaf Owe},
  Title          = {The Response Function method for Specifying Concurrent
                   Systems},
  Institution    = {University of Oslo, Dept. Informatics},
  Type           = {Research Report No.},
  Number         = {96},
  keywords       = {olit-obc obc concurrency lift binder},
  month          = apr,
  year           = 1988
}

@Misc{Deme99e,
  Author         = {Isabelle Borne and Serge Demeyer and Galal Hassan
                   Galal},
  Title          = {Proceedings of the {ECOOP}'99 Workshop on
                   Object-Oriented Architectural Evolution},
  keywords       = {olit famoos-wrkproc scg-pub skip-abstract skipdoi
                   toBeChecked sergedem-wrkproc jb99},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme99e/
                   http://www.emn.fr/borne/ECOOP99-OOAE.html},
  year           = 1999
}

@InProceedings{Hedi89a,
  Author         = {G{\"o}rel Hedin},
  Title          = {An Object-Oriented Notation for Attribute Grammars},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {329-345},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Germ04a,
  Author         = {Daniel Germ\'ain Abram Hindle and Norman Jordan},
  Title          = {Visualizing the evolution of software using softChange},
  BookTitle      = {Proceedings of the 16th International Conference on
                   Software Engineering {\&} Knowledge Engineering (SEKE
                   2004)},
  Pages          = {336--341},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  keywords       = {evolution},
  location       = {Banff, Alberta, Canada},
  mon            = jun,
  year           = 2004
}

@Article{ACM94c,
  Author         = {{ACM}},
  Title          = {The Making of the {PowerPC}},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {6},
  institution    = {ACM},
  keywords       = {scglib},
  month          = jun,
  year           = 1994
}

@InProceedings{Bens91a,
  Author         = {Dan Benson and Greg Zick},
  Title          = {Symbolic and Spatial Database for Structural Biology},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {329-339},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Vasa03a,
  Author         = {Rajesh Vasa and Jean-Guy Schneider},
  Title          = {Evolution of Cyclomatic Complexity in Object Oriented
                   Software},
  BookTitle      = {Proceedings of 7th ECOOP Workshop on Quantitative
                   Approaches in Object-Oriented Software Engineering
                   (QAOOSE '03)},
  Editor         = {Brito e Abreu, Fernando and Piattini, Mario and Poels,
                   Geert and Sahraoui, Houari A.},
  Address        = {Darmstadt, Germany},
  abstract       = {It is a generally accepted fact that software systems
                   are constructed and gradually refined over a period of
                   time. During this time, code is written and modified
                   until stable releases of the system emerge. Many
                   researchers have studied systems over a longer period
                   of time in order to understand how they change and
                   evolve. Despite these efforts, we still lack a precise
                   understanding how various properties of software change
                   over time, in particular in the area of object-oriented
                   systems. Such an understanding is of great importance
                   if we want to come up with techniques to provide
                   feedback on the evolution of quality and predictions
                   about further evolution of software systems.
                   Historically, collection of sufficient data to build
                   useful models was not practical as source code and
                   build histories were not freely available. It is our
                   opinion that by focusing our attention towards Open
                   source software repositories, we have a better hope
                   building predictive models to help developers and
                   managers. In this paper, we will report on our
                   exploratory study analyzing Open source object oriented
                   software projects and present a first predictive model
                   based on this analysis},
  keywords       = {olit selit metrics evolution qaoose03},
  location       = {Privat},
  month          = jul,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/qaoose03.pdf},
  year           = 2003
}

@Book{Andr91c,
  Author         = {Gregory R. Andrews},
  Title          = {Concurrent Programming --- Principles and Practice},
  Publisher      = {The Benjamin Cummings Publishing Co. Inc},
  isbn           = {0-80553-0086-4},
  keywords       = {concurrency book scglib},
  year           = 1991
}

@Article{Benn90a,
  Author         = {John K. Bennett},
  Title          = {Experience with Distributed {Smalltalk}},
  Journal        = {Software --- Practice and Experience},
  Volume         = {20},
  Number         = {2},
  Pages          = {157-180},
  keywords       = {olit-oopl binder},
  year           = 1990
}

@Proceedings{BYTE81a,
  Title          = {Special issue on {Smalltalk}},
  Editor         = {?},
  Volume         = {6},
  journal        = {Byte},
  keywords       = {olit-oopl smalltalk},
  month          = aug,
  year           = 1981
}

@Article{Duca00x,
  Author         = {St\'ephane Ducasse and Florence Ducasse},
  Title          = {De l'enseignement de concepts informatiques},
  Journal        = {Journal de l'association EPI Enseignement Public et
                   Informatiques},
  Volume         = 4,
  Number         = 97,
  address        = {13 rue du Jura, Paris 13},
  annote         = {notrefereed},
  keywords       = {snf-none scg-pub skip-abstract skipdoi jb00 stefPub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00xExperienceEnseig.pdf},
  year           = 2000
}

@Book{Baet90c,
  Editor         = {J.C.M. Baeten},
  Title          = {Proceedings {CONCUR}'90},
  Publisher      = {Springer-Verlag},
  Volume         = 458,
  Series         = {LNCS},
  Address        = {Amsterdam, the Netherlands},
  isbn           = {3-540-53048-7},
  keywords       = {olit concur90 scglib},
  month          = aug,
  year           = 1990
}

@Article{ACM94g,
  Author         = {{ACM}},
  Title          = {Wireless Computing},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {10},
  institution    = {ACM},
  keywords       = {scglib},
  month          = oct,
  year           = 1994
}

@Article{Bela81a,
  Author         = {Laszlo. A. Belady and Carlo J. Evangelisti},
  Title          = {System {Partitioning} and its {Measure}},
  Journal        = {Journal of Systems and Software},
  Volume         = {2},
  Pages          = {23-29},
  keywords       = {clustering},
  year           = 1981
}

@InProceedings{Lagu97a,
  Author         = {Bruno Lagu{\"e} and Daniel Proulx and Ettore M. Merlo
                   and Jean Mayrand and John Hudepohl},
  Title          = {Assessing the Benefits of Incorporating Function Clone
                   Detection in a Development Process},
  BookTitle      = {Proceedings of ICSM (International Conference on
                   Software Maintenance)},
  Organization   = {IEEE},
  keywords       = {oorp clones},
  year           = 1997
}

@TechReport{Dahl70a,
  Author         = {O.-J. Dahl and B. Myrhaug and K. Nygaard},
  Title          = {{(Simula67) Common Base Language}},
  Institution    = {Norsk Regnesentral (Norwegian Computing Center)},
  Number         = {N. S-22},
  Address        = {Oslo, N},
  month          = oct,
  year           = 1970
}

@InProceedings{Favr03a,
  Author         = {Jean-Marie Favre},
  Title          = {Meta-Model and Model Co-Evolution within the 3D
                   Software Space},
  BookTitle      = {Proceedings of ELISA 2003},
  month          = sep,
  year           = 2003
}

@Book{Myer75a,
  Author         = {G. J. Myers},
  Title          = {Reliable Software Through Composite Design},
  Publisher      = {Petrocelli/Charter},
  Address        = {New York},
  year           = 1975
}

@InCollection{Jans87a,
  Author         = {Dirk Janssens and G. Rozenberg},
  Title          = {Basic Notions of Actor Grammars: {A} Graph Grammar
                   Model for Actor Computation},
  BookTitle      = {Graph-Grammars and Their Application to Computer
                   Science},
  Publisher      = {Springer-Verlag},
  Editor         = {H. Ehrig and M. Nagl and G. Rozenberg and A. Rosenfeld},
  Volume         = {291},
  Series         = {LNCS},
  Pages          = {280-298},
  keywords       = {concurrency actors graph-grammars},
  year           = 1987
}

@Article{Tsic83a,
  Author         = {Dennis Tsichritzis and Stavros Christodoulakis},
  Title          = {Message Files},
  Journal        = {ACM TOOIS},
  Volume         = {1},
  Number         = {1},
  Pages          = {88-98},
  keywords       = {oislit mail},
  month          = jan,
  year           = 1983
}

@Article{Chin91a,
  Author         = {R.S. Chin and S.T. Chanson},
  Title          = {Distributed Object-Based Programming Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {23},
  Number         = {1},
  Pages          = {91-124},
  keywords       = {olit-obc distribution},
  month          = mar,
  year           = 1991
}

@InProceedings{Erns99b,
  Author         = {Michael D. Ernst and Jake Cockrell and William G.
                   Griswold and David Notkin},
  Title          = {Dynamically Discovering Likely Program Invariants to
                   Support Program Evolution},
  BookTitle      = {Proceedings of ICSE '99},
  month          = may,
  year           = 1999
}

@Misc{HotSwap,
  Title          = {HotSwap},
  key            = {HotSwap},
  url            = {http://developers.sun.com/dev/coolstuff/hotswap/publications.html}
}

@InProceedings{Siek00a,
  Author         = {Jeremy Siek and Andrew Lumsdaine},
  Title          = {Concept checking: Binding parametric polymorphism in
                   C++},
  BookTitle      = {Proceedings First Workshop on C++ Template Programming},
  Address        = {Erfurt, Germany},
  keywords       = {generative programming archetype concept checking},
  month          = oct,
  url            = {http://www.lsc.nd.edu/~jsiek/concept_checking.pdf},
  year           = 2000
}

@InProceedings{Meye06a,
  Author         = {Michael Meyer and Tudor G\^irba and Mircea Lungu},
  Title          = {Mondrian: An Agile Visualization Framework},
  BookTitle      = {ACM Symposium on Software Visualization (SoftVis 2006)},
  Pages          = {135--144},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  abstract       = {Data visualization is the process of representing data
                   as pictures to support reasoning about the underlying
                   data. For the interpretation to be as easy as possible,
                   we need to be as close as possible to the original
                   data. As most visualization tools have an internal
                   meta-model, which is different from the one for the
                   presented data, they usually need to duplicate the
                   original data to conform to their meta-model. This
                   leads to an increase in the resources needed, increase
                   which is not always justified. In this work we argue
                   for the need of having an engine that is as close as
                   possible to the data and we present our solution of
                   moving the visualization tool to the data, instead of
                   moving the data to the visualization tool. Our solution
                   also emphasizes the necessity of reusing basic blocks
                   to express complex visualizations and allowing the
                   programmer to script the visualization using his
                   preferred tools, rather than a third party format. As a
                   validation of the expressiveness of our framework, we
                   show how we express several already published
                   visualizations and describe the pros and cons of the
                   approach.},
  doi            = {http://doi.acm.org/10.1145/1148493.1148513},
  keywords       = {hasler07 scg-pub girba visualization jb07 fb06
                   recast07 norex06 moose-pub},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Meye06aMondrian.pdf},
  year           = 2006
}

@InProceedings{Bruc98b,
  Author         = {Kim B. Bruce and Martin Odersky and Philip Wadler},
  Title          = {A Statically Safe Alternative to Virtual Types},
  BookTitle      = {Proceedings ECOOP '98},
  Pages          = {523-549},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-64737-6},
  year           = 1998
}

@InProceedings{Breu06a,
  Author         = {Silvia Breu and Thomas Zimmermann},
  Title          = {Mining Aspects from Version History},
  BookTitle      = {Proceedings of the 21st IEEE International Conference
                   on Automated Software Engineering (ASE'06)},
  Pages          = {221--230},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {10.1109/ASE.2006.50},
  keywords       = {aspect mining software_evolution},
  priority       = {4},
  url            = {http://dx.doi.org/10.1109/ASE.2006.50},
  year           = 2006
}

@InProceedings{Nier87c,
  Author         = {Oscar Nierstrasz},
  Title          = {Active Objects in Hybrid},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {243-253},
  abstract       = {Most object-oriented languages are strong on
                   reusability or on strong-typing, but weak on
                   concurrency. In response to this gap, we are developing
                   Hybrid, an object-oriented language in which objects
                   are the active entities. Objects in Hybrid are
                   organized into domains, and concurrent executions into
                   activities. All object communications are based on
                   remote procedure-calls. Unstructured sends and accepts
                   are forbidden. To this the mechanisms of delegation and
                   delay queues are added to enable switching and
                   triggering of activities. Concurrent subactivities and
                   atomic actions are provided for compactness and
                   simplicity. We show how solutions to many important
                   concurrent problems, such a pipelining, constraint
                   management and ``administration'' can be compactly
                   expressed using these mechanisms.},
  annote         = {internationalconference},
  doi            = {http://doi.acm.org/10.1145/38765.38829},
  keywords       = {olit-obcl hybrid triggers osg-ftp oopsla87 oobib(obcp)},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier87cActiveObjects.pdf},
  year           = 1987
}

@InProceedings{McCu92a,
  Author         = {Daniel L. McCue},
  Title          = {Developing a Class Hierarchy for Object-Oriented
                   Transaction Processing},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {413-426},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Eise01a,
  Author         = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon},
  Title          = {Aiding {Program} {Comprehension} by {Static} and
                   {Dynamic} {Feature} {Analysis}},
  BookTitle      = {Proceedings of ICSM '01 (International Conference on
                   Software Maintenance)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  location       = {Florence, Italy},
  year           = 2001
}

@Unpublished{Cuet95a,
  Author         = {A. Cueto and Mahesh Dodani},
  Title          = {Browsing the Dynamic Behavior of Interactive Objects
                   with DynaBrowse},
  Note           = {University of Iowa},
  keywords       = {oobib(gen) binder},
  type           = {Draft},
  year           = 1995
}

@InProceedings{Gold80a,
  Author         = {Ira Goldstein},
  Title          = {Integrating a Network-Structured Database into an
                   Object-Oriented Programming Language},
  BookTitle      = {Proceedings of the Workshop on Data Abstraction
                   Database and Conceptual Modelling},
  Editor         = {M.L. Brodie and S.N. Zilles},
  Address        = {Pingree Park, Colorado},
  keywords       = {olit-db casais},
  misc           = {June 23-26},
  month          = jun,
  year           = 1980
}

@Book{McCl97a,
  Author         = {Carma McClure},
  Title          = {Software Reuse Techniques},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-661000-5},
  keywords       = {reuse scglib},
  year           = 1997
}

@InProceedings{Li05b,
  Author         = {Qingshan Li},
  Title          = {Dynamic Model Design Recovery and Architecture
                   Abstraction of Object Oriented Software.},
  BookTitle      = {Conference on Software Maintenance and Reengineering
                   (CSMR)},
  Pages          = {284-287},
  year           = 2005
}

@TechReport{DCE97a,
  Author         = {{Open} {Group}},
  Title          = {{DCE} 1.1: Remote Procedure Call},
  Institution    = {{Open} {Group}},
  Number         = {C706},
  key            = {DCE},
  keywords       = {uuid},
  month          = aug,
  url            = {http://www.opengroup.org/onlinepubs/009629399/},
  year           = 1997
}

@Article{Kami02a,
  Author         = {Toshihiro Kamiya and Shinji Kusumoto and Katsuro Inoue},
  Title          = {{CCF}inder: A Multi-Linguistic Token-Based Code Clone
                   Detection System for Large Scale Source Code},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {6},
  Pages          = {654-670},
  keywords       = {clones dotplot},
  year           = 2002
}

@TechReport{Jerd96a,
  Author         = {Dean Jerding and John Stasko and Thomas Ball},
  Title          = {Visualizing Message Patterns in Object-Oriented
                   Program Executions},
  Institution    = {Georgia Institute of Technology},
  Number         = {GIT-GVU-96-15},
  month          = may,
  year           = 1996
}

@InProceedings{Cout87a,
  Author         = {Jo\"elle Coutaz},
  Title          = {The Construction of User Interfaces and the Object
                   Paradigm},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {121-130},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Misc{AOSD,
  Title          = {Aspect Oriented Software Development},
  Note           = {http://www.aosd.net},
  key            = {AOSD}
}

@Unpublished{Barr96a,
  Author         = {Manuel Barrio Sol\'orzano},
  Title          = {Explicit Component Representation: Object vs. Process
                   Approach},
  Note           = {IAM, University of Bern},
  keywords       = {olit scg-wp snf96},
  month          = oct,
  type           = {draft manuscript},
  year           = 1996
}

@Article{Laem01b,
  Author         = {Ralf L\"ammel and Chris Verhoef},
  Title          = {Cracking the 500-Language Problem},
  Journal        = {IEEE Software},
  Volume         = {18},
  Number         = {6},
  Pages          = {78-88},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/52.965809},
  keywords       = {parsing},
  month          = nov,
  url            = {http://csdl2.computer.org/dl/mags/so/2001/06/s6078.htm
                   http://csdl.computer.org/dl/mags/so/2001/06/s6078.pdf},
  year           = 2001
}

@InProceedings{Cook93a,
  Author         = {William Cook},
  Title          = {Application Integration, not Application Distribution},
  BookTitle      = {ACM OOPS Messenger, Addendum to the Proceedings of
                   OOPSLA 1993},
  Volume         = {5},
  Pages          = {70-71},
  keywords       = {olit odp corba},
  month          = apr,
  year           = 1994
}

@Book{Orfa96a,
  Author         = {Robert Orfali and Dan Harkey and Jeri Edwards},
  Title          = {The Essential Distributed Objects Survival Guide},
  Publisher      = {John Wiley \& Sons},
  isbn           = {0471-12993-3},
  keywords       = {olit ole opendoc corba scglib},
  year           = 1996
}

@InProceedings{Sim99a,
  Author         = {Susan Elliott Sim and Charles L.A. Clarke and Richard
                   C. Holt and Anthony M. Cox},
  Title          = {Browsing and Searching Software Architectures},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM)},
  Pages          = {381},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.1999.792636},
  issn           = {1063-6773},
  year           = 1999
}

@PhdThesis{Snyd79a,
  Author         = {Alan Snyder},
  Title          = {A Machine Architecture to Support an Object-Oriented
                   Language},
  School         = {MIT lab. for Computer sciences},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit architecture casais},
  number         = {MIT/LCS/TR209},
  year           = 1979
}

@TechReport{Stra07a,
  Author         = {Anselm Strauss},
  Title          = {Stamp -- A Mailing List Manager for Squeak},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {Stamp is a Mailing List Manager entirely written in
                   Squeak. Although it falls in the same category as other
                   mailing list managers like Mailman2 or Ezmlm3 it should
                   not be regarded as equivalent. Such applications have
                   undergone a long development time that is beyond the
                   scope of this project. And still, there are a lot of
                   shortcomings reported by users: complicated
                   installation, non-intuitive web interfaces, ugly code
                   that is difficult to enhance and so on. Stamp tries to
                   pick-up the whole thing from beginning and implements a
                   clean base that can be extended.},
  keywords       = {snf-none scg-bp jb07},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Stra07a.pdf},
  year           = 2007
}

@TechReport{Mitc94a,
  Author         = {Kevin Mitchell},
  Title          = {{Concurrency in a Natural Semantics}},
  Institution    = {University of Edinburgh},
  Type           = {{ECS-LFCS-94-311}},
  month          = dec,
  year           = 1994
}

@Article{Zelk98a,
  Author         = {Marvin V. Zelkowitz and Dolores R. Wallace},
  Title          = {Experimental Models for Validating Technology},
  Journal        = {Computer},
  Volume         = {31},
  Number         = {5},
  Pages          = {23--31},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://dx.doi.org/10.1109/2.675630},
  publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@TechReport{Poni06b,
  Author         = {Laura Ponisio and Oscar Nierstrasz},
  Title          = {Using Contextual Information to Assess Package
                   Cohesion},
  Institution    = {University of Berne, Institute of Applied Mathematics
                   and Computer Sciences},
  Type           = {Technical Report},
  Number         = {IAM-06-002},
  abstract       = {Complex systems are decomposed into cohesive packages
                   with the goal of limiting the scope of changes: if our
                   packages are cohesive, we hope that changes will be
                   limited to the packages responsible for the features we
                   are changing, or at worst the packages that are
                   immediate clients of those features. But how should we
                   measure cohesion? Traditional cohesion metrics focus on
                   the explicit dependencies and interactions between the
                   classes within the package under study. A package,
                   however, may be conceptually cohesive even though its
                   classes exhibit no explicit dependencies. We propose a
                   group of contextual metrics that assess the cohesion of
                   a package based on the degree to which its classes are
                   used together by common clients. We apply these metrics
                   to various case studies, and contrast the degree of
                   cohesion detected with that of traditional cohesion
                   metrics. In particular, we note that object-oriented
                   frameworks may appear not to be cohesive with
                   traditional metrics, whereas our contextual metrics
                   expose the implicit cohesion that results from the
                   framework's clients.},
  annote         = {report notrefereed},
  keywords       = {jb06 fb06 scg-pub skipdoi recast06 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Poni06bAlchemistPackageCohesion.pdf},
  year           = 2006
}

@Book{Jaco05a,
  Author         = {Ivar Jacobson and Pan-Wei Ng},
  Title          = {Aspect-Oriented Software Development with Use Cases},
  Publisher      = {Addison Wesley Professional},
  isbn           = {0321268881},
  keywords       = {book},
  year           = 2005
}

@InProceedings{Fent89a,
  Author         = {Jay Fenton and Kent Beck},
  Title          = {Playground: An Object-Oriented Simulation System With
                   Agent Rules for Children of All Ages},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {123-138},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Seit98a,
  Author         = {Linda M. Seiter and Jens Palsberg and Karl J.
                   Lieberherr},
  Title          = {Evolution of Object Behavior Using Context Relations},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {24},
  Number         = {1},
  Pages          = {79-92},
  month          = jan,
  year           = 1998
}

@Article{Honi93a,
  Author         = {Shinichi Honiden and Nobuto Kotaka and Yoshinori
                   Kishimoto},
  Title          = {Formalizing Specification Modeling in {OOA}},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {54-66},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@InProceedings{Mich94a,
  Author         = {L. Mich and R. Garigliano},
  Title          = {A Linguistic Approach to the Development of
                   Object-Oriented Systems Using the {NL} System {LOLITA}},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {371-390},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Coyn95a,
  Author         = {Richard Coyne},
  Title          = {Designing Information Technology in the Postmodern Age},
  Publisher      = {MIT Press},
  keywords       = {scglib book},
  year           = 1995
}

@Book{Brac02a,
  Author         = {Ted Bracht},
  Title          = {The Dolphin {Smalltalk} Companion},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-73793-0},
  keywords       = {smalltalk scglib},
  year           = 2002
}

@InProceedings{Notk93a,
  Author         = {David Notkin and David Garlan and William G. Griswold
                   and Kevin Sullivan},
  Title          = {Adding Implicit Invocation to Languages: Three
                   Approaches},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {489-510},
  abstract       = {Implicit invocation based on event announcement is an
                   increasingly important technique for integrating
                   systems. However, the use of this technique has largely
                   been confined to tool integration systems---in which
                   tools exist as independent processes---and special
                   purpose languages---in which specialized forms of event
                   broadcast are designed into the language from the
                   start. This paper broadens the class of systems that
                   can benefit from this approach by showing how to
                   augment general-purpose programming languages with
                   facilities for implicit invocation. We illustrate the
                   approach in the context of three different languages,
                   Ada, C++, and Common Lisp. The intent is to highlight
                   the key design considerations that arise in extending
                   such languages with implicit invocation.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InCollection{Long01a,
  Author         = {Andy Longshaw},
  Title          = {Choosing Between {COM+}, {EJB}, and {CCM}},
  BookTitle      = {Component-Based Software Engeneering},
  Publisher      = {Addison Wesley},
  Pages          = {621-640},
  year           = 2001
}

@InProceedings{Kilo93c,
  Author         = {Haim Kilov and Peter Koppstein and Hassan Srinidhi},
  Title          = {A Practical Approach to the Formal Specification of
                   Semantics in the Information MOdeling},
  BookTitle      = {Proceedings of TINA '93 4th Telcommunications
                   Information Workshop},
  Volume         = {1},
  Publisher      = {IEEE Communications Society},
  Note           = {L'Aquila Italy},
  keywords       = {oobib(semantics) tina93 binder},
  month          = sep,
  year           = 1993
}

@Article{Udel95a,
  Author         = {James Udell},
  Title          = {Componentware},
  Journal        = {Byte},
  Volume         = {19},
  Number         = {5},
  Pages          = {46-56},
  keywords       = {olit-appl hypertext multimedia binder},
  month          = may,
  year           = 1994
}

@InProceedings{Berr90a,
  Author         = {G{\'e}rard Berry and G{\'e}rard Boudol},
  Title          = {The Chemical Abstract Machine},
  BookTitle      = {Proceedings POPL '90},
  Pages          = {81-94},
  Address        = {San Francisco},
  keywords       = {pcalc cham tccs binder(conc) popl90},
  misc           = {Jan 17-19},
  month          = jan,
  year           = 1990
}

@InProceedings{Oste05a,
  Author         = {Klaus Ostermann and Mira Mezini and Christophe
                   Bockisch},
  Title          = {Expressive Pointcuts for Increased Modularity},
  BookTitle      = {Proceedings of ECOOP 2005},
  year           = 2005
}

@InProceedings{Bake98b,
  Author         = {Brenda S. Baker and Raffaelle Giancarlo},
  Title          = {Longest Common Subsequence from Fragments via Sparse
                   Dynamic Programming},
  BookTitle      = {Proceedings of the 6th Annual European Symposium on
                   Algorithms},
  Editor         = {G. Bilardi and G. F. Italiano and A. Pietracaprina and
                   G. Pucci},
  Number         = {1461},
  Series         = {LNCS},
  Pages          = {79-90},
  Address        = {Venice, Italy},
  Publisher      = {Springer-Verlag, Berlin},
  month          = aug,
  url            = {http://cm.bell-labs.com/who/bsb/research.html},
  year           = 1998
}

@MastersThesis{Scha01a,
  Author         = {Nathanael Sch{\"a}rli},
  Title          = {Supporting Pure Composition by Inter-language Bridging
                   on the Meta-level},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Inter-language bridging is an important issue of
                   scripting language design and implementation. Most of
                   the popular languages such as Python, Perl, Tcl, and
                   Ruby use a bridging approach based on wrappers that are
                   written in the external language (usually C/C++) and
                   serve as a glue layer between the languages. This
                   allows a wide flexibility in defining the glue
                   abstractions, but it requires the user to specify them
                   on the level of the implementation language, and it
                   therefore impairs the higher-level scripting process.
                   In contrast, the first implementations of JPiccola, a
                   scripting and composition language implemented in
                   {Java}, use a generic bridging strategy based on
                   information provided by {Java}'s runtime introspection
                   facilities. This strategy makes accessing of external
                   objects more lightweight, but it does not provide the
                   necessary means of abstraction and leads to a very
                   tight coupling between the two language levels. In this
                   thesis, we present a new bridging strategy for Piccola
                   that combines the advantages of the two approaches. We
                   minimize the bridging functionality that is hardcoded
                   in the virtual machine by making it a meta-aspect of
                   the language Piccola. This allows the programmer to use
                   the unrestricted expressive power of the scripting
                   language to specify the glue abstractions at a higher
                   level and adapt them dynamically. As a second
                   contribution, we present a lazy evaluation technique
                   that significantly reduces the performance overhead
                   introduced by the meta-level bridging layer. In order
                   to apply this lazy evaluation technique to Piccola
                   services in general, we develop a partial evaluation
                   algorithm that separates the side effects of a service
                   and turns the individual expressions into closures.
                   Finally, we give an overview of SPiccola, a
                   Squeak-based Piccola implementation with thread-aware
                   debugging tools.},
  keywords       = {oobib scg-pub skipdoi scg-msc piccola snf01 jb01
                   schaerli},
  misc           = {schaerli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Scha01a.pdf},
  year           = 2001
}

@InProceedings{Male92a,
  Author         = {Jacques Malenfant and Christophe Dony and Pierre
                   Cointe},
  Title          = {{Behavioral Reflection in a prototype-based language}},
  BookTitle      = {Proceedings of Int'l Workshop on Reflection and
                   Meta-Level Architectures},
  Editor         = {A. Yonezawa and B. Smith},
  Pages          = {143-153},
  Address        = {Tokyo},
  Organization   = {RISE and IPA(Japan) + ACM SIGPLAN},
  month          = nov,
  year           = 1992
}

@InProceedings{Bloo88a,
  Author         = {Bard Bloom and Sorin Istrail and Albert R. Meyer},
  Title          = {Bisimulation Can't Be Traced: Preliminary Report},
  BookTitle      = {Proceedings POPL '88},
  Pages          = {229-239},
  Address        = {San Diego},
  keywords       = {pcalc equivalence ccs csp binder popl88},
  misc           = {Jan 13-15},
  month          = jan,
  year           = 1988
}

@InProceedings{Thom94a,
  Author         = {Laurent Thomas},
  Title          = {Inheritance Anomaly in True Concurrent Object Oriented
                   Languages: {A} Proposal},
  BookTitle      = {IEEE TENCON '94},
  Pages          = {541-545},
  keywords       = {concurrency},
  month          = aug,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/tencon94.a4.ps.gz},
  year           = 1994
}

@InProceedings{Mede91a,
  Author         = {Claudia Bauzer Medeiros and Patrick Pfeffer},
  Title          = {Object Integrity Using Rules},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {219-230},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Book{Brue04a,
  Author         = {Bruegge, Bernd and Dutoit, Allen H.},
  Title          = {Object-Oriented Software Engineering Using UML,
                   Patters, and Java Second Edition},
  Publisher      = {Prentice-Hall},
  keywords       = {oose scglib},
  year           = 2004
}

@Book{Chan88a,
  Author         = {K.M. Chandy and J. Misra},
  Title          = {Parallel Program Design: {A} Foundation},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {concurrency},
  year           = 1988
}

@Book{Niel05a,
  Author         = {Flemming Nielson and Hanne Riis Nielson and Chris
                   Hankin},
  Title          = {Principles of Program Analysis},
  Publisher      = {Springer-Verlag},
  Address        = {Berlin, Germany},
  Edition        = {Second Edition},
  isbn           = {3-540-65410-0},
  keywords       = {scglib},
  year           = 2005
}

@Article{Booc86a,
  Author         = {Grady Booch},
  Title          = {Object-Oriented Development},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-12},
  Number         = {2},
  Pages          = {211-221},
  keywords       = {olit ood binder(ood)},
  month          = feb,
  year           = 1986
}

@InProceedings{Ball97a,
  Author         = {Thomas Ball and Jung-Min Kim Adam and A. Porter Harvey
                   and P. Siy},
  Title          = {If Your Version Control System Could Talk},
  BookTitle      = {ICSE Workshop on Process Modeling and Empirical
                   Studies of Software Engineering},
  keywords       = {oorp},
  year           = 1997
}

@InProceedings{Mich99a,
  Author         = {Amir Michail and David Notkin},
  Title          = {Assessing Software Libraries by Browsing Similar
                   Classes, Functions and Relationships},
  BookTitle      = {International Conference on Software Engineering},
  Pages          = {463-472},
  url            = {citeseer.ist.psu.edu/article/michail99assessing.html},
  year           = 1999
}

@Article{Wyat92a,
  Author         = {Barbara B. Wyatt and Krishna Kavi and Steve Hufnagel},
  Title          = {Parallelism in Object-Oriented Language: {A} Survey},
  Journal        = {IEEE Software},
  Volume         = {9},
  Number         = {6},
  Pages          = {56-66},
  keywords       = {olit-obcl},
  month          = nov,
  year           = 1992
}

@InProceedings{Nika98a,
  Author         = {Pekka Nikander and Arto Karila},
  Title          = {A {Java} Beans Component Architecture for
                   Cryptographic Protocols},
  BookTitle      = {Proceedings of the 7th Usenix Security Symposium},
  Address        = {San Antonio, Texas},
  keywords       = {conduits+},
  misc           = {January 26-29},
  month          = jan,
  url            = {http://www.tcm.hut.fi/~pnr/jacob/},
  year           = 1998
}

@Article{Hogg92a,
  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        = {SIGPLAN OOPS Mess.},
  Volume         = {3},
  Number         = {2},
  Pages          = {11-16},
  doi            = {http://doi.acm.org/10.1145/130943.130947},
  issn           = {1055-6400},
  publisher      = {ACM Press},
  year           = 1992
}

@Article{Nico98a,
  Author         = {Rocco de Nicola and Gian Luigi Ferrari and R. Pugliese},
  Title          = {Klaim: a Kernel Language for Agents Interaction and
                   Mobility},
  Journal        = {IEEE Transactions on Software Engineering (Special
                   Issue on Mobility and Network Aware Computing)},
  editor         = {Catalin Roman and Ghezzi},
  keywords       = {concurrency agents mobility},
  year           = 1998
}

@Article{Meta98a,
  Author         = {Daniel Le M{\'e}tayer},
  Title          = {Describing Software Architecture Styles Using Graph
                   Grammars},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {24},
  Number         = {7},
  Pages          = {521-533},
  month          = jul,
  year           = 1998
}

@InProceedings{Ocal00a,
  Author         = {Alan O'Callaghan},
  Title          = {Patterns for Architectural Praxis},
  BookTitle      = {Proceedings of EuroPLoP 2000},
  keywords       = {olit oorp},
  url            = {http://www.coldewey.com/europlop2000/papers.html},
  year           = 2000
}

@InProceedings{Chen00a,
  Author         = {Chen, Kunrong and Rajlich, V{\'a}clav},
  Title          = {Case Study of Feature Location Using Dependence Graph},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM)},
  Pages          = {241-249},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature},
  location       = {Los Alamitos CA},
  year           = 2000
}

@TechReport{Gibb90b,
  Author         = {Simon Gibbs and Vassili Prevelakis},
  Title          = {Xos: An Overview},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {This paper describes Xos, an object-oriented data
                   model designed for representing software information.
                   The paper covers the design of Xos, describes its
                   functionality, and gives an indication of the current
                   status of the implementation effort.},
  editor         = {D. Tsichritzis},
  keywords       = {olit xos osg om90},
  month          = jul,
  pages          = {37-62},
  year           = 1990
}

@InProceedings{Burd99a,
  Author         = {Elizabeth Burd and Malcolm Munro},
  Title          = {An Initial Approach towards Measuring and
                   Characterizing Software Evolution},
  BookTitle      = {Proceedings of the Working Conference on Reverse
                   Engineering, (WCRE 1999)},
  Pages          = {168-174},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  year           = 1999
}

@InProceedings{Cook01a,
  Author         = {Stephen Cook and Rachel Harrison and Brian Ritchie},
  Title          = {Assessing the Evolution of Financial Management
                   Information Systems},
  BookTitle      = {ECOOP 2001 Workshop Reader},
  Volume         = {2323},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {oorp},
  year           = 2001
}

@InProceedings{Eise01b,
  Author         = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon},
  Title          = {Feature-{Driven} {Program} {Understanding} using
                   {Concept} {Analysis} of {Execution} {Traces}},
  BookTitle      = {Proceedings of IWPC '01 (9th International Workshop on
                   Program Comprehension)},
  Pages          = {300-309},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  year           = 2001
}

@Book{Simo01,
  Author         = {Herbert A. Simon},
  Title          = {The Sciences of the Artificial},
  Publisher      = {MIT Press},
  Edition        = {3rd},
  isbn           = {0-262-19374-4},
  keywords       = {design ai scglib},
  year           = 2001
}

@Article{Free95a,
  Author         = {Steve Freeman},
  Title          = {Partial Revelation and {Modula}-3},
  Journal        = {Dr. Dobb's Journal},
  Volume         = {20},
  Number         = {10},
  Pages          = {36-42},
  month          = oct,
  year           = 1995
}

@Book{Somm00a,
  Author         = {Ian Sommerville},
  Title          = {Software Engineering},
  Publisher      = {Addison Wesley},
  Edition        = {Sixth},
  keywords       = {book oorp scglib},
  year           = 2000
}

@TechReport{Sang91a,
  Author         = {Davide Sangiorgi},
  Title          = {The Lazy Lambda calculus in a Concurrency Scenario},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {ECS-LFCS-91-189},
  keywords       = {pcalc mobility types concurrency binder},
  month          = nov,
  year           = 1991
}

@MastersThesis{Thal07a,
  Author         = {Florian Thalmann},
  Title          = {Musical Composition with Grid Diagrams of
                   Transformations},
  School         = {University of Bern},
  Type           = {Master's thesis},
  abstract       = {In this thesis, the concepts of OrnaMagic, a module
                   for the generation and application of musical grid
                   structures, which is part of the music composition
                   software presto (Atari ST), are generalized, abstracted
                   and adapted for modern functorial mathematical music
                   theory. Furthermore, an new implementation for the
                   present day composition software Rubato Composer (Java)
                   is provided.},
  keywords       = {scg-msc scg-pub skipdoi snf07 jb07},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Thal07a.pdf},
  year           = 2007
}

@TechReport{Kost01a,
  Author         = {Rainer Koster and Andrew P. Black and Jie Huang and
                   Jonathan Walpole and Calton Pu},
  Title          = {Thread Transparency in Information Flow Middleware},
  Institution    = {{OGI}, School of Science and Engineering},
  Number         = {{CSE}-01-004},
  Address        = {Oregon},
  year           = 2001
}

@Book{Mitt04a,
  Author         = {Frank Mittelbach and Michael Goossens},
  Title          = {The Latex Companion Second Edition},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 2004
}

@Book{Alex79a,
  Author         = {Christopher Alexander},
  Title          = {The Timeless Way of Building},
  Publisher      = {Oxford University Press},
  Address        = {New York},
  keywords       = {design-patterns scglib},
  year           = 1979
}

@PhdThesis{Opdy92b,
  Author         = {William F. Opdyke},
  Title          = {Refactoring Object-Oriented Frameworks},
  School         = {University of Illinois},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit refactoring ooreeng famoos oorp},
  url            = {ftp://st.cs.uiuc.edu/pub/papers/refactoring/},
  year           = 1992
}

@Article{Bosc94a,
  Author         = {Jan Bosch},
  Title          = {{Relations as Object Model Components}},
  Journal        = {Journal of Programming Languages},
  Volume         = {4},
  Pages          = {39-61},
  year           = 1994
}

@InProceedings{Hofm95a,
  Author         = {Martin Hofmann and Benjamin C. Pierce},
  Title          = {Positive Subtyping},
  BookTitle      = {Proceedings POPL '95},
  abstract       = {The statement S<T in a lambda-calculus with subtyping
                   is traditionally interpreted as a semantic coercion
                   function of type [[S]]->[[T]] that extracts the ``T
                   part'' of an element of S. If the subtyping relation is
                   restricted to covariant positions, this interpretation
                   may be enriched to include both the coercion and an
                   overwriting function put[S,T]: [[S]]->[[T]]->[[S]] that
                   updates the T part of an element of S. We give a
                   realizability model and a sound equational theory.
                   Though weaker than familiar calculi of bounded
                   quantification, the restricted system retains
                   sufficient power to model objects, encapsulation, and
                   message passing. Moreover, inheritance may be
                   implemented very straightforwardly in this setting,
                   using the put functions arising from ordinary subtyping
                   of records in place of the more sophisticated systems
                   of record extension and update often used for this
                   purpose. The equational laws relating the behavior of
                   coercions and put functions can be used to prove simple
                   properties of the resulting classes in such a way that
                   proofs for superclasses are ``inherited'' by
                   subclasses.},
  keywords       = {types olit binder popl95},
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pos.ps.gz},
  year           = 1995
}

@Article{Stef86a,
  Author         = {M. Stefik and D.G. Bobrow and K. Kahn},
  Title          = {Integrating Access-Oriented Programming into a
                   Multiparadigm Environment},
  Journal        = {IEEE Software (USA)},
  Volume         = {3},
  Number         = {1},
  Pages          = {10-18},
  month          = jan,
  year           = 1986
}

@TechReport{Mens94b,
  Author         = {Tom Mens and Kim Mens and Patrick Steyaert},
  Title          = {{OPUS}: a Calculus for Modelling Object-Oriented
                   Concepts},
  Institution    = {Department of Computer Science, Vrije Universiteit
                   Brussel, Belgium},
  Type           = {Technical Report},
  Number         = {vub-tinf-tr-94-04},
  keywords       = {oobib opus binder},
  url            = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-04.ps.Z},
  year           = 1994
}

@Book{Beck99a,
  Author         = {Kent Beck},
  Title          = {Kent Beck's Guide to Better {Smalltalk}},
  Publisher      = {Sigs Books},
  isbn           = {0-251-64437-2},
  keywords       = {olit scglib smalltalk new-entry oorp},
  year           = 1999
}

@InProceedings{Nobl98a,
  Author         = {James Noble and John Potter and Jan Vitek},
  Title          = {Flexible alias protection},
  BookTitle      = {Proceedings ECOOP '98},
  Editor         = {Eric Jul},
  Volume         = 1445,
  Series         = {LNCS},
  Address        = {Brussels, Belgium},
  Publisher      = {Springer-Verlag},
  keywords       = {ecoop98proc},
  month          = jul,
  year           = 1998
}

@Article{Taiv95a,
  Author         = {Antero Taivalsaari},
  Title          = {Delegation versus Concatenation or Cloning is
                   Inheritance too},
  Journal        = {OOPS Messenger},
  Volume         = {6},
  Number         = {3},
  Pages          = {20-49},
  keywords       = {prototype},
  year           = 1995
}

@Article{Zell01a,
  Author         = {Andreas Zeller},
  Title          = {Automated Debugging: Are We Close},
  Journal        = {Computer},
  Volume         = {34},
  Number         = {11},
  Pages          = {26-31},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/2.963440},
  issn           = {0018-9162},
  publisher      = {IEEE Computer Society},
  year           = 2001
}

@InProceedings{Conr99a,
  Author         = {Reidar Conradi and Bernhard Westfechtel},
  Title          = {{SCM}: Status and Future Challenges},
  BookTitle      = {Proceedings SCM 1999 (International Workshop on
                   Software Configuration Management},
  Pages          = {228-231},
  keywords       = {scm},
  year           = 1999
}

@TechReport{Tich01y,
  Author         = {Sander Tichelaar and St\'ephane Ducasse},
  Title          = {Pull Up/Push Down Method: an Analysis},
  Institution    = {Institute of Computer Science and Applied Mathematics},
  Note           = {University of Bern, IAM-TR-09-01},
  annote         = {report notrefereed},
  year           = 2001
}

@InProceedings{Malo90a,
  Author         = {Thomas W. Malone and Kevin Crowston},
  Title          = {What is coordination Theory and How Can it Help
                   Cooperative Work Systems},
  BookTitle      = {Proceedings of CSCW '90},
  Pages          = {357-370},
  keywords       = {coordination olit},
  month          = oct,
  year           = 1990
}

@InProceedings{Srid88a,
  Author         = {S. Sridhar},
  Title          = {Configuring Stand-Alone {Smalltalk}-80 Applications},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {95-104},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Howd82a,
  Author         = {W. E. Howden},
  Title          = {Weak Mutation Testing and Completeness of Test Sets},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-8},
  Number         = {4},
  Pages          = {371-379},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-02-01 14:06:58 +0100},
  keywords       = {Complete; effective; mutations; testing; Complete;
                   effective; mutations; testing},
  month          = {jul},
  year           = 1982
}

@InProceedings{Keog02a,
  Author         = {Eamonn Keogh},
  Title          = {Exact Indexing of dynamic time warping},
  BookTitle      = {Proceedings 28th International Conference on Very
                   Large Databases, Hong Kong},
  Pages          = {406-417},
  keywords       = {dynamic analysis},
  month          = dec,
  year           = 2002
}

@Book{Marr98a,
  Author         = {Kim Marriot and Peter J. Stuckey},
  Title          = {Programming with constraints},
  Publisher      = {The Microsoft Press},
  keywords       = {book scglib},
  year           = 1998
}

@Article{Ross86a,
  Author         = {D L Ross},
  Title          = {Classifying Ada packages},
  Journal        = {Ada Lett.},
  Volume         = {VI},
  Number         = {4},
  Pages          = {53--65},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/9312.9315},
  issn           = {1094-3641},
  publisher      = {ACM Press},
  year           = 1986
}

@InProceedings{Gree05d,
  Author         = {Orla Greevy and Michele Lanza and Christoph Wysseier},
  Title          = {Visualizing Feature Interaction in {3-D}},
  BookTitle      = {Proceedings of {VISSOFT} 2005 (3th IEEE International
                   Workshop on Visualizing Software for Understanding)},
  Pages          = {114-119},
  abstract       = {Without a clear understanding of how features of a
                   software system are implemented, a maintenance change
                   in one part of the code may risk adversely affecting
                   other features. Feature implementation and
                   relationships between features are not explicit in the
                   code. To address this problem, we propose an
                   interactive 3D visualization technique based on a
                   combination of static and dynamic analysis which
                   enables the software developer to step through visual
                   representations of execution traces. We visualize
                   dynamic behaviors of execution traces in terms of
                   object creations and interactions and represent this in
                   the context of a static class-hierarchy view of a
                   system. We describe how we apply our approach to a case
                   study to visualize and identify common parts of the
                   code that are active during feature execution. },
  annote         = {internationalworkshop},
  cvs            = {TraceCrawlerVissoft2005},
  keywords       = {scg-pub skipdoi greevy jb06 Feature Feature-Traces
                   Dynamic Analysis Evolution moose-pub recast06},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05dTraceCrawlerVissoft2005.pdf},
  year           = 2005
}

@PhdThesis{Caro91a,
  Author         = {Denis Caromel},
  Title          = {Programmation parall\`ele asynchrone et imp\'erative:
                   \'etudes et propositions},
  School         = {Universit\'e de Nancy},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl eiffel binder(shelf)},
  month          = feb,
  year           = 1991
}

@PhdThesis{Riva97a,
  Author         = {Fred Rivard},
  Title          = {{\'E}volution du comportement des objets dans les
                   langages \`a classes r\'eflexifs},
  School         = {Ecole des Mines de Nantes, Universit\'e de Nantes,
                   France},
  year           = 1997
}

@InProceedings{Aloi92a,
  Author         = {Nicola Aloia and Svetlana Barneva and Fausto Rabitti},
  Title          = {Supporting Physical Independence in an Object Database
                   Server},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {396-412},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Stoy84a,
  Author         = {H. Stoyan},
  Title          = {What is an `Object-Oriented' Programming Language?},
  BookTitle      = {Proceedings of the Seventeenth Annual Hawaii
                   International Conference on System Sciences},
  keywords       = {olit survey},
  year           = 1984
}

@InProceedings{Lang05a,
  Author         = {Guillaume Langelier and Houari A. Sahraoui and Pierre
                   Poulin},
  Title          = {Visualization-based analysis of quality for
                   large-scale software systems},
  BookTitle      = {ASE},
  Pages          = {214-223},
  ee             = {http://doi.acm.org/10.1145/1101941},
  year           = 2005
}

@InProceedings{Gall03a,
  Author         = {Harald Gall and Mehdi Jazayeri and Jacek Krajewski},
  Title          = {{CVS} Release History Data for Detecting Logical
                   Couplings},
  BookTitle      = {International Workshop on Principles of Software
                   Evolution (IWPSE 2003)},
  Pages          = {13-23},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp evolution clustering},
  year           = 2003
}

@InProceedings{Morz91a,
  Author         = {Angelo Morzenti and Pierluigi San Pietro},
  Title          = {An Object-Oriented Logic Language for Modular System
                   Specification},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {39-58},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Book{Beiz99a,
  Author         = {Boris Beizer},
  Title          = {Black-Box Testing: Techniques for Functional Testing
                   of Software and Systems},
  Publisher      = {John Wiley \& Sons},
  isbn           = {0-471-12094-4},
  keywords       = {oorp},
  year           = 1999
}

@Book{Laar87a,
  Author         = {P. J. M. Laarhoven and E. H. L. Aarts},
  Title          = {Simulated annealing: theory and applications},
  Publisher      = {Kluwer Academic Publishers},
  keywords       = {simulated annealing},
  year           = 1987
}

@Book{Roge97a,
  Author         = {Dale Rogerson},
  Title          = {Inside {COM}: Microsoft's Component Object Model},
  Publisher      = {Microsoft Press},
  isbn           = {1-57231-349-8},
  keywords       = {com glue scripting components},
  year           = 1997
}

@Article{Till94b,
  Author         = {Scott R. Tilley and Kenny Wong and Margaret-Anne D.
                   Storey and Hausi A. M{\"u}ller},
  Title          = {Programmable Reverse Enginnering},
  Journal        = {International Journal of Software Engineering and
                   Knowledge Engineering},
  Volume         = {4},
  Number         = {4},
  Pages          = {501-520},
  keywords       = {reverse enginnering binder},
  year           = 1994
}

@InProceedings{LaLo86a,
  Author         = {Wilf R. LaLonde and Dave A. Thomas and John R. Pugh},
  Title          = {An Exemplar Based {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {322-330},
  keywords       = {olit concepts smalltalk oopsla86 binder(oop)},
  month          = nov,
  year           = 1986
}

@Book{Jaco95a,
  Author         = {Ivar Jacobson and Maria Ericsson and Agneta Jacobson},
  Title          = {The Object Advantage: Business Process Reengineering
                   with Object Technology},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-42289},
  keywords       = {oobib(gen) book scglib},
  year           = 1995
}

@Article{Roth96a,
  Author         = {Gregg Rothermel and Mary Jean Harrold},
  Title          = {Analyzing Regression Test Selection Techniques},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {22},
  Number         = {8},
  Pages          = {529-551},
  keywords       = {testing},
  year           = 1996
}

@InProceedings{Hosk93a,
  Author         = {Antony L. Hosking and J. Eliot B. Moss},
  Title          = {Object Fault Handling for Persistent Programming
                   Languages: {A} Performance Evaluation},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {288-303},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InCollection{Ahle94a,
  Author         = {K. Ahlers and D. Breen and C. Crampton and E. Rose and
                   M. Tuceryan and R. Whitaker and D. Greer},
  Title          = {An Augmented Vision System for Industrial Applications},
  BookTitle      = {Telemanipulator and Telepresence Techonolgies},
  Publisher      = {SPIE Proceedings},
  Volume         = {2351},
  Pages          = {345-359},
  Address        = {Boston},
  abstract       = {This paper describes the major components of the Grasp
                   augmented vision system. Grasp is an object-oriented
                   system written in C++, which provides an environment
                   both for exploring the basic technologies of augmented
                   vision, and for developing applications that
                   demonstrate the capabilities of these technologies. The
                   hardware components of Grasp include video cameras, 6-D
                   tracking devices, a frame grabber, a 3-D graphics
                   workstation, a scan converter, and a video mixer. The
                   major software components consist of classes that
                   implement geometric models, rendering algorithms,
                   calibration methods, file I/O, a user interface, and
                   event handling.},
  keywords       = {olit},
  month          = oct,
  year           = 1994
}

@InProceedings{Xu04a,
  Author         = {Xia Xu and Chung-Horng Lung and Maria Zaman and Anand
                   Srinivasan},
  Title          = {Program Restructure through Clustering Technique},
  BookTitle      = {Proceedings of International Workshop on Source Code
                   Analysis and Manipulation},
  Pages          = {75-84},
  Organization   = {IEEE},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  location       = {Chicago, IL},
  month          = sep,
  year           = 2004
}

@Misc{Deme03a,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Kim Mens and
                   Adrian Trifu and Rajesh Vasa},
  Title          = {Report of the {ECOOP}'03 Workshop on Object-Oriented
                   Reengineering},
  annote         = {workshopproceedings},
  booktitle      = {Object-Oriented Technology (ECOOP'03 Workshop Reader)},
  keywords       = {skip-pdf skipdoi skip-abstract scg-pub jb04 stefPub
                   recast03},
  publisher      = {Springer-Verlag},
  series         = {LNCS (Lecture Notes in Computer Science)},
  year           = 2003
}

@InCollection{Mey95a,
  Author         = {Vicki de Mey},
  Title          = {Visual Composition of Software Applications},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {275-303},
  abstract       = {Open applications can be viewed as compositions of
                   reusable and configurable components. We introduce
                   visual composition as a way of constructing
                   applications from plug-compatible software components.
                   After presenting related work, we describe an
                   object-oriented framework for visual composition that
                   supports open system development through the notion of
                   domain-specific composition models. We illustrate the
                   use of the framework through the application of a
                   prototype implementation to a number of very different
                   domains. In each case, a specialized visual composition
                   tool was realized by developing a domain-specific
                   composition model. We conclude with some remarks and
                   observations concerning component engineering and
                   application composition in a context where visual
                   composition is an essential part of the development
                   process.},
  keywords       = {olit osg OOSC10 vista},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@InProceedings{Manj02b,
  Author         = {Manjarr\'es, Angeles and Pickin, Simon and Suny\'e,
                   Gerson and Pollet, Damien and J\'ez\'equel, Jean-Marc},
  Title          = {OO Analysis Patterns as UML Metalevel Collaborations},
  BookTitle      = {SGAI International Conference on Knowledge Based
                   Systems and Applied Artificial Intelligence: Research
                   and Development in Intelligent Systems XIX (ES2002)},
  Series         = {BCS Conference Series},
  Publisher      = {Springer Verlag},
  annote         = {internationalconference},
  month          = {dec},
  year           = 2002
}

@InProceedings{Kons91b,
  Author         = {Joseph A. Konstan and Lawrence A. Rowe},
  Title          = {Developing a {GUIDE} Using Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {75-88},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Sham77a,
  Author         = {A. Shamir and W. Wadge},
  Title          = {Data types as objects},
  BookTitle      = {Proceedings, ICALP '77},
  Editor         = {Salomaa and Steinby},
  Volume         = {52},
  Series         = {LNCS},
  Pages          = {465-479},
  Publisher      = {Springer-Verlag},
  keywords       = {types tfc semantics icalp77},
  month          = jul,
  year           = 1977
}

@TechReport{Bail99a,
  Author         = {G\'{e}rard Baille and Philippe Garnier and Herv\'{e}
                   Mathieu and Roget Pissard-Gibollet},
  Title          = {Le CyCab de l'INRIA Rh\^{o}ne-Alpes},
  Institution    = {INRIA},
  Type           = {Technical Report},
  Number         = {RT-0229},
  keywords       = {automotive cycab},
  month          = apr,
  url            = {http://www.inria.fr/rrrt/rt-0229.html},
  year           = 1999
}

@Book{Mcca77a,
  Author         = {Jim McCall and Paul Richards and Gene Walters},
  Title          = {Factors in Software Quality},
  Publisher      = {NTIS Springfield},
  year           = 1976
}

@Article{Casta95b,
  Author         = {Giuseppe Castagna and Giorgio Ghelli and Giuseppe
                   Longo},
  Title          = {A Calculus for Overloaded Functions with Subtyping},
  Journal        = {Information and Computation},
  Volume         = {117},
  Number         = {1},
  Pages          = {115-135},
  keywords       = {olit calsulus types},
  url            = {ftp://ftp.ens.fr/pub/dmi/users/castagna/infocompu.ps.Z},
  year           = 1995
}

@Article{Cald91a,
  Author         = {G. Caldiera and V.R. Basili},
  Title          = {Identifying and Qualifying Reusable Software
                   Components},
  Journal        = {IEEE Computer},
  Pages          = {61-70},
  keywords       = {olit-reuse metrics},
  month          = feb,
  year           = 1991
}

@Article{Ahls84a,
  Author         = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan
                   Britts and Christer Hult\'en and Lars S{\"o}derlund},
  Title          = {An Architecture for Object Management in {OIS}},
  Journal        = {ACM TOOIS},
  Volume         = {2},
  Number         = {3},
  Pages          = {173-196},
  keywords       = {olit-oopl opal ois},
  month          = jul,
  year           = 1984
}

@InProceedings{Bake95b,
  Author         = {Brenda S. Baker},
  Title          = {On Finding Duplication and Near-Duplication in Large
                   Software Systems},
  BookTitle      = {Proceedings of the Second IEEE Working Conference on
                   Reverse Engineering (WCRE)},
  Pages          = {86-95},
  keywords       = {clones},
  month          = jul,
  year           = 1995
}

@InProceedings{Nier06b,
  Author         = {Oscar Nierstrasz and Marcus Denker and Tudor
                   G{\^\i}rba and Adrian Lienhard},
  Title          = {Analyzing, Capturing and Taming Software Change},
  BookTitle      = {Proceedings of the Workshop on Revival of Dynamic
                   Languages (co-located with ECOOP'06)},
  abstract       = {Software systems need to continuously change to remain
                   useful. Change appears in several forms and needs to be
                   accommodated at different levels. We propose
                   ChangeBoxes as a mechanism to encapsulate, manage,
                   analyze and exploit changes to software systems. Our
                   thesis is that only by making change explicit and
                   manipulable can we enable the software developer to
                   manage software change more effectively than is
                   currently possible. Furthermore we argue that we need
                   new insights into assessing the impact of changes and
                   we need to provide new tools and techniques to manage
                   them. We report on the results of some initial
                   prototyping efforts, and we outline a series of
                   research activities that we have started to explore the
                   potential of ChangeBoxes.},
  annote         = {internationalworkshop},
  cvs            = {RDL06ACTSC},
  keywords       = {girba snf06 scg-pub skipdoi jb06 fb06},
  month          = jul,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier06bRD06ACTSC.pdf},
  year           = 2006
}

@InCollection{Zehn03a,
  Author         = {Carl August Zehnder},
  Title          = {Wer sind denn diese Informatiker? Eine Ann\"aherung
                   aus Schweizer Sicht},
  BookTitle      = {Digital Economy -- Anspruch und Wirklichkeit. Eine
                   Festschrift f\"ur Beat Schmid},
  Publisher      = {Springer Verlag},
  Address        = {Heidelberg},
  year           = 2003
}

@Article{Gibb87a,
  Author         = {Simon Gibbs and Dennis Tsichritzis and Akis Fitas and
                   Dimitri Konstantas and Yannis Yeorgaroudakis},
  Title          = {Muse: {A} Multimedia Filing System},
  Journal        = {IEEE Software},
  Pages          = {4-15},
  keywords       = {misc mmlit muse},
  month          = mar,
  year           = 1987
}

@TechReport{Wyss99a,
  Author         = {Serge Wyssmann},
  Title          = {Design Resource Wizard Design},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Wyss99a.pdf},
  year           = 1999
}

@Article{Andr97a,
  Author         = {Jean-Marc Andreoli and Francois Pacull and Daniele
                   Pagani and Remo Pareschi},
  Title          = {Multiparty Negotiation of Distributed Object Services},
  Journal        = {Computer Supported Cooperative Work: The Journal of
                   Collaborative Computing},
  Volume         = {6},
  Number         = {1},
  Pages          = {1-26},
  keywords       = {coordination binder},
  year           = 1997
}

@Book{Odel98a,
  Author         = {James J. Odell},
  Title          = {Advanced Object-Oriented Analysis \& Design Using
                   {UML}},
  Publisher      = {Cambridge University Press},
  keywords       = {scglib book},
  year           = 1998
}

@Article{Zou05a,
  Author         = {Lijie Zou and Michael Godfrey},
  Title          = {Using Origin Analysis to Detect Merging and Splitting
                   of Source Code Entities},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {31},
  Number         = {2},
  Pages          = {166--181},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/TSE.2005.28},
  issn           = {0098-5589},
  keywords       = {evolution},
  publisher      = {IEEE Press},
  year           = 2005
}

@Article{Sato02a,
  Author         = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi
                   Kameyama},
  Title          = {A Simply Typed Context Calculus with First-class
                   Environments},
  Journal        = {Journal of Functional and Logic Programming},
  Volume         = {2002},
  Number         = {4},
  keywords       = {contract-types},
  month          = mar,
  publisher      = {EAPLS},
  url            = {http://danae.uni-muenster.de/lehre/kuchen/JFLP/articles/2002/S02-01/JFLP-A02-04.pdf
                   http://www.math.s.chiba-u.ac.jp/~sakurai/papers/context-jflp.dvi.gz},
  year           = 2002
}

@InProceedings{Gutt93a,
  Author         = {J.V. Guttag},
  Title          = {Goldilocks and Three Specifications},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {1-14},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@Book{Gibb94a,
  Author         = {Simon J. Gibbs and Dionysios C. Tsichritzis},
  Title          = {Multimedia Programming},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-42282-4},
  keywords       = {olit scglib},
  year           = 1994
}

@Book{Dipe05a,
  Editor         = {Massimiliano {Di Penta} and Maarit Harsu},
  Title          = {Tools for Software Maintenance and Reengineering},
  Publisher      = {Franco Angeli},
  Series         = {RCOST / Software Technology Series},
  Address        = {Milano},
  isbn           = {88-464-6396-X},
  keywords       = {scglib},
  year           = 2005
}

@Book{Bruc02a,
  Author         = {Kim B. Bruce},
  Title          = {Foundations of Object-Oriented Languages --- Types and
                   Semantics},
  Publisher      = {MIT Press},
  isbn           = {0-262-02523-X},
  keywords       = {scglib},
  year           = 2002
}

@InProceedings{Sche89a,
  Author         = {Marcel Schelvis},
  Title          = {Incremental Distribution of Timestamp Packets: {A} New
                   Approach to Distributed Garbage Collection},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {37-48},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{McDo89a,
  Author         = {John Alan McDonald},
  Title          = {Object-Oriented Programming for Linear Algebra},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {175-184},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Bowm99a,
  Author         = {Ivan T. Bowman and Richard C. Holt and Neil V.
                   Brewster},
  Title          = {Linux as a case study: its extracted software
                   architecture},
  BookTitle      = {International Conference on Software Engineering
                   (ICSE'99)},
  Pages          = {555-563},
  Publisher      = {IEEE CS},
  isbn           = {1-58113-074-0},
  year           = 1999
}

@Book{Nier99b,
  Editor         = {Oscar Nierstrasz and Michel Lemoine},
  Title          = {Proceedings {ESEC}/{FSE}'99},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 1687},
  Address        = {Toulouse, France},
  isbn           = {3-540-66538-2},
  keywords       = {olit esec99 scglib},
  month          = sep,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t1687.htm},
  year           = 1999
}

@Misc{AWT,
  Title          = {{AWT API}},
  Note           = {http://java.sun.com/j2se/1.3/docs/api/java/awt/package-summary.html},
  key            = {AWT}
}

@Book{Budd87a,
  Author         = {Tim Budd},
  Title          = {A Little {Smalltalk}},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {olit-oopl littlesmalltalk},
  year           = 1987
}

@Article{Amer89a,
  Author         = {Pierre America and Jaco de Bakker and J. Kok and Jan
                   Rutten},
  Title          = {Denotational Semantics of a Parallel Object-Oriented
                   Language},
  Journal        = {Information and Computation},
  Volume         = {83},
  Number         = {2},
  Pages          = {152-205},
  keywords       = {olit-obcl pool semantics},
  month          = nov,
  year           = 1989
}

@InProceedings{Silv96a,
  Author         = {Mauricio J.V. Silva and C. Robert Carlson},
  Title          = {Conceptual Design of Active Object-Oriented Database
                   Applications using Multi-level Diagrams},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {366-397},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Myer04a,
  Author         = {Brad A. Myers and John F. Pane and Andy Ko},
  Title          = {Natural Programming Languages and Environments},
  Journal        = {Commun. ACM},
  Volume         = {47},
  Number         = {9},
  Pages          = {47--52},
  address        = {New York, NY, USA},
  doi            = {10.1145/1015864.1015888},
  publisher      = {ACM Press},
  year           = 2004
}

@TechReport{Nier01a,
  Author         = {J\"org Niere and J\"org P. Wadsack and Lothar
                   Wendehals},
  Title          = {Design pattern recovery based on source code analysis
                   with fuzzy logic},
  Institution    = {Software Engineering Group, Department of Mathematics
                   and Computer Science, University of Paderborn,
                   Paderborn, Germany},
  Type           = {tr-ri-01-222},
  year           = 2001
}

@InProceedings{Golm99,
  Author         = {Michael Golm and J{\"u}rgen Klein{\"o}der},
  Title          = {Jumping to the Meta Level: Behavioral Reflection Can
                   Be Fast and Flexible},
  BookTitle      = {Reflection},
  Pages          = {22--39},
  year           = 1999
}

@InCollection{Kim95a,
  Author         = {J.J. Kim and K.M. Benner},
  Title          = {Implementation Patterns for the Observer Pattern},
  BookTitle      = {Pattern Languages of Program Design 2},
  Publisher      = {Addison Wesley},
  year           = 1995
}

@Book{Wall96b,
  Author         = {Larry Wall and Randal L. Schwartz},
  Title          = {Programming Perl},
  Publisher      = {O'Reilly \& Associates, Inc.},
  Edition        = {2nd},
  isbn           = {0-56592-149-6},
  keywords       = {pl perl binder (shelf) book scglib},
  year           = 1990
}

@InProceedings{Yau78,
  Author         = {Stephen S. Yau and J. S. Collofello and T. MacGregor},
  Title          = {Ripple effect analysis of software maintenance},
  BookTitle      = {The IEEE Computer Society's Second International
                   Computer Software and Applications Conference},
  Pages          = {60-65},
  Publisher      = {IEEE Press},
  month          = {nov},
  year           = 1978
}

@TechReport{Kahn87a,
  Author         = {Gilles Kahn},
  Title          = {Natural Semantics},
  Institution    = {INRIA},
  Type           = {Report no.},
  Number         = {601},
  keywords       = {pl-semantics binder},
  month          = feb,
  year           = 1987
}

@InProceedings{Ibra90a,
  Author         = {Mamdouh H. Ibrahim},
  Title          = {Reflection and metalevel architectures in
                   object-oriented programming (workshop session)},
  BookTitle      = {OOPSLA/ECOOP '90: Proceedings of the European
                   conference on Object-oriented programming addendum:
                   systems, languages, and applications},
  Pages          = {73--80},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  isbn           = {0-89791-443-0},
  location       = {Ottawa, Canada},
  year           = 1991
}

@Article{Nesi98a,
  Author         = {Paolo Nesi},
  Title          = {Managing {OO} Project Better},
  Journal        = {IEEE Software},
  keywords       = {oorp},
  month          = jul,
  year           = 1988
}

@InProceedings{Dahl07a,
  Author         = {Dominik Dahlem and Lotte Nickel and Jan Sacha and
                   Bartosz Biskupski and Jim Dowling and Ren\'e Meier},
  Title          = {Towards Improving the Availability of Service
                   Compositions},
  BookTitle      = {In Proceedings of the IEEE International Conference on
                   Digital Ecosystems and Technologies (IEEE DEST 2007)},
  Address        = {Cairns, Australia},
  Publisher      = {IEEE Computer Society},
  year           = 2007
}

@TechReport{Leth98z,
  Author         = {Timothy C. Lethbridge},
  Title          = {Requirements and Proposal for a {Software}
                   {Information} {Exchange} {Format} ({SIEF}) Standard},
  Institution    = {University of Ottawa},
  Note           = {http://www.site.uottawa.ca/\~{}tcl/papers/sief/
                   standardProposalv1.html},
  month          = nov,
  url            = {http://www.site.uottawa.ca/~tcl/papers/sief/standardProposalv1.html},
  year           = 1998
}

@Article{Bart86a,
  Author         = {P.S. Barth},
  Title          = {An object-oriented approach to graphical interfaces},
  Journal        = {ACM Transactions on Graphics},
  Volume         = {5},
  Number         = {2},
  Pages          = {142-172},
  keywords       = {olit graphics},
  month          = apr,
  year           = 1986
}

@InProceedings{Kien02a,
  Author         = {Joerg Kienzle and Rachid Guerraoui},
  Title          = {AOP: Does it Make Sense? The Case of Concurrency and
                   Failures},
  BookTitle      = {Proceedings ECOOP '2002},
  Volume         = {2374},
  Series         = {LNCS},
  Publisher      = {Springer Verlag},
  keywords       = {olit ecoop02proc},
  year           = 2002
}

@InProceedings{Proe92a,
  Author         = {Anna-Kristin Pr{\"o}frock and Stephen J. McMahon},
  Title          = {{ITHACA} --- An Integrated Object-Based Tool Kit for
                   the 90s},
  BookTitle      = {Proceedings AIS 92},
  Pages          = {87-94},
  Address        = {London},
  keywords       = {olit-ithaca binder},
  month          = mar,
  year           = 1992
}

@Article{Bigg89c,
  Author         = {Ted J. Biggerstaff},
  Title          = {Design Recovery for Maintenance and Reuse},
  Journal        = {IEEE Computer},
  Volume         = {22},
  Pages          = {36-49},
  keywords       = {reveng oorp},
  month          = oct,
  publisher      = {IEEE Computer Society Press},
  year           = 1989
}

@Misc{NesC,
  Author         = {Eric Brewer and David Culler and David Gay and Phil
                   Levis and Rob von Behren and Matt Welsh},
  Title          = {{nesC}: A Programming Language for Deeply Networked
                   Systems},
  Note           = {http://nescc.sourceforge.net}
}

@InProceedings{Meht00a,
  Author         = {Nikunj R. Mehta and Nenad Medvidovic and Sandeep
                   Phadke},
  Title          = {Towards a Taxonomy of Software Connectors},
  BookTitle      = {Proceedings of ICSE '00},
  Pages          = {178-187},
  Address        = {Limerick, Ireland},
  keywords       = {olit composition architecture connector},
  month          = jun,
  year           = 2000
}

@Article{Duca97h,
  Author         = {Mireille Ducass\'e},
  Title          = {Opium: An extendable trace analyser for Prolog},
  Journal        = {The Journal of Logic programming},
  url            = {citeseer.nj.nec.com/ducasse97opium.html},
  year           = 1999
}

@Article{Geha82a,
  Author         = {N. Gehani},
  Title          = {The Potential of Forms in Office Automation},
  Journal        = {IEEE Transactions on Communications},
  Volume         = {Com-30},
  Number         = {1},
  Pages          = {120-125},
  keywords       = {oislit forms},
  month          = jan,
  year           = 1982
}

@Misc{Jip,
  Title          = {Java Interactive Profiler},
  Note           = {http://sourceforge.net/projects/jiprof},
  key            = {jip},
  keywords       = {dynamic analysis}
}

@Article{Beer90a,
  Author         = {Catriel Beeri},
  Title          = {A Formal Approach to Object-Oriented Databases},
  Journal        = {Data and Knowledge Engineering},
  Volume         = {5},
  Pages          = {353-382},
  keywords       = {olit-db binder},
  publisher      = {North-Holland},
  year           = 1990
}

@InProceedings{Brun06a,
  Author         = {Magiel Bruntink},
  Title          = {Linking Analysis and Transformation Tools with
                   Source-Based Mappings},
  BookTitle      = {Proceedings of the 6th IEEE International Workshop on
                   Source Code Analysis and Manipulation (SCAM)},
  Pages          = {107--116},
  Publisher      = {IEEE Computer Society Press},
  month          = dec,
  year           = 2006
}

@Book{Tsic88d,
  Editor         = {D. Tsichritzis},
  Title          = {Active Object Environments},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg aoe88 book scglib},
  month          = jun,
  year           = 1988
}

@PhdThesis{Hond98a,
  Author         = {Koen De Hondt},
  Title          = {A Novel Approach to Architectural Recovery in Evolving
                   Object-Oriented Systems},
  School         = {Vrije Universiteit Brussel,Departement of Computer
                   Science},
  Address        = {Brussels --- Belgium},
  keywords       = {olit reveng ooreeng reengtool classification-browser
                   reuse-contracts},
  month          = dec,
  url            = {http://progwww.vub.ac.be/persons/kdehondt/},
  year           = 1998
}

@InCollection{Gold84b,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {A Layered Approach to Software Design},
  BookTitle      = {Interactive Programming Environments},
  Publisher      = {McGraw-Hill, New York},
  Editor         = {D. R. Barstow and H. E. Shrobe and E. Sandewall},
  Pages          = {387-413},
  keywords       = {olit-oopl smalltalk pie},
  year           = 1984
}

@Book{Duto97a,
  Author         = {Thierry Dutoit},
  Title          = {An Introduction to Text-to-Speech Synthesis},
  Publisher      = {Kluwer Academic Publishers},
  isbn           = {1402003692},
  keywords       = {scglib},
  year           = 1997
}

@Misc{Hetz98a,
  Author         = {Beth Hetzler and Nancy Miller},
  Title          = {Four Critical Elements for Designing Information
                   Exploration Systems},
  HowPublished   = {Presented at Information Exploration workshop for ACM
                   SIGCHI '98.},
  address        = {Los Angeles, CA},
  month          = apr,
  url            = {http://www.pnl.gov/infoviz/sigchi98/index.html},
  year           = 1998
}

@Book{Kicz91a,
  Author         = {Gregor Kiczales and Jim des Rivi\`eres and Daniel G.
                   Bobrow},
  Title          = {The Art of the Metaobject Protocol},
  Publisher      = {MIT Press},
  isbn           = {0-262-11158-6},
  keywords       = {olit-oopl clos binder (shelf) book scglib},
  year           = 1991
}

@InProceedings{Arba96b,
  Author         = {Farhad Arbab},
  Title          = {The {IWIM} Model for Coordination of Concurrent
                   Activities},
  BookTitle      = {Proceedings of COORDINATION '96},
  Editor         = {Paolo Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {34-55},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {coordination manifold},
  year           = 1996
}

@InProceedings{Shan90a,
  Author         = {Yen-Ping Shan},
  Title          = {MoDE: {A} {UIMS} for {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {258-268},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Book{Barn02a,
  Author         = {David J. Barnes and Michael Koelling},
  Title          = {Objects First With {Java} --- A Practical Introduction
                   Using {BlueJ}},
  Publisher      = {Prentice Hall},
  Address        = {Edinburgh Gate, England},
  isbn           = {0-13-044929-6},
  keywords       = {binder(shelf) book scglib},
  year           = 2003
}

@Misc{Squeakcc,
  Author         = {Anthony Hannan},
  Title          = {Squeak {Closure} {Compiler}},
  Note           = {http://minnow.cc.gatech.edu/squeak/ClosureCompiler},
  key            = {ClosureCompiler}
}

@InProceedings{Schu00a,
  Author         = {Daniel Schulz and Frank Mueller},
  Title          = {A Thread-Aware Debugger with an Open Interface},
  BookTitle      = {{ISSTA}'00},
  Address        = {Portland, Oregon},
  Publisher      = {ACM},
  year           = 2000
}

@MastersThesis{Borc01a,
  Author         = {Michael Borchardt},
  Title          = {A Feasibility Study for a {C}++ Refactoring Engine},
  School         = {University of Antwerp},
  keywords       = {refactoring},
  month          = aug,
  year           = 2001
}

@InProceedings{Myer92a,
  Author         = {Brad A. Myers and Dario A. Giuse and Brad Vander
                   Zanden},
  Title          = {Declarative Programming in a Prototype-Instance
                   System: Object-Oriented Programming Without Writing
                   Methods},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {184-200},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Denk06c,
  Author         = {Marcus Denker and Orla Greevy and Michele Lanza},
  Title          = {Higher Abstractions for Dynamic Analysis},
  BookTitle      = {2nd International Workshop on Program Comprehension
                   through Dynamic Analysis (PCODA 2006)},
  Pages          = {32-38},
  abstract       = {The developers of tools for dynamic analysis are faced
                   with choosing from the many approaches to gathering
                   runtime data. Typically, dynamic analysis involves
                   instrumenting the program under investigation to record
                   its runtime behavior. Current approaches for byte-code
                   based systems like Java and Smalltalk rely often on
                   inserting byte-code into the program under analysis.
                   However, detailed knowledge of the target programming
                   language or virtual machine is required to implement
                   dynamic analysis tools. Obtaining and exploiting this
                   knowledge to build better analysis tools is cumbersome
                   and often distracts the tool builder from the actual
                   goal, which is the analysis of the runtime behavior of
                   a system. In this paper, we argue that we need to adopt
                   a higher level view of a software system when
                   considering the task of abstracting runtime
                   information. We focus on object-oriented virtual
                   machine based languages. We want to be able to deal
                   with the runtime system as a collection of reified
                   first-class entities. We propose to achieve this by
                   introducing a layer of abstraction, i.e., a behavioral
                   middle layer. This has the advantage that the task of
                   collecting dynamic information is not concerned with
                   low level details of a specific language or virtual
                   machine. The positive effect of such a behavioral
                   middle layer is twofold: on the one hand it provides us
                   with a standard API for all dynamic analysis based
                   tools to use, on the other hand it allows the tool
                   developer to abstract from the actual implementation
                   technique.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf07 jb07 fb06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Denk06cHigherAbstractionsPCODA06.pdf
                   http://www.lore.ua.ac.be/Events/PCODA2006/index.html},
  year           = 2006
}

@InProceedings{Lind00a,
  Author         = {Christian Lindig},
  Title          = {Fast Concept Analysis},
  BookTitle      = {Working with Conceptual Structures --- Contributions
                   to ICCS 2000},
  Editor         = {Gerhard Stumme},
  Pages          = {152-161},
  Publisher      = {Shaker Verlag},
  Note           = {ISBN: 3-8265-7669-1},
  year           = 2000
}

@InProceedings{Sato92a,
  Author         = {Ichiro Satoh and Mario Tokoro},
  Title          = {A Formalism for Real-Time Concurrent Object-Oriented
                   Computing},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {315-326},
  keywords       = {olit-obc oopsla92},
  month          = oct,
  year           = 1992
}

@Article{Swin86a,
  Author         = {D. Swinehart and P. Zwellweger and Richard Beach},
  Title          = {A Structural View of the Cedar Programming Environment},
  Journal        = {ACM TOPLAS},
  Volume         = {8},
  Number         = {4},
  Pages          = {419-490},
  keywords       = {olit-oopl cedar},
  month          = oct,
  year           = 1986
}

@Book{Nels99a,
  Author         = {Jeff Nelson},
  Title          = {Programming Mobile Object with {Java}},
  Publisher      = {Wiley},
  isbn           = {0-471-25406-1},
  keywords       = {olit java mobile scglib new-entry},
  year           = 1999
}

@Article{Mads86a,
  Author         = {Ole Lehrmann Madsen},
  Title          = {Block Structure and Object Oriented Languages},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {133-142},
  keywords       = {olit concepts oopws86 ioom-intro},
  month          = oct,
  year           = 1986
}

@InProceedings{Doue01a,
  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},
  Pages          = {170--186},
  Address        = {Berlin, Heidelberg, and New York},
  Publisher      = {Springer-Verlag},
  month          = sep,
  year           = 2001
}

@InProceedings{Nier07a,
  Author         = {Oscar Nierstrasz and Markus Kobel and Tudor G\^irba
                   and Michele Lanza and Horst Bunke},
  Title          = {Example-Driven Reconstruction of Software Models},
  BookTitle      = {Proceedings of Conference on Software Maintenance and
                   Reengineering (CSMR 2007)},
  Pages          = {275-286},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {As software systems evolve, they become more complex
                   and harder to understand and maintain. Certain reverse
                   engineering techniques attempt to reconstruct software
                   models from source code with the help of a parser for
                   the source language. Unfortunately a great deal of
                   effort may be required to build a specialized parser
                   for a legacy programming language or dialect. On the
                   other hand, (i) we typically do not need a complete
                   parser that recognizes all language constructs, and
                   (ii) we have a rich supply of (legacy) examples. We
                   present an approach to use these facts to rapidly and
                   incrementally develop parsers as follows: we specify
                   mappings from source code examples to model elements;
                   we use the mappings to generate a parser; we parse as
                   much code as we can; we use the exceptional cases to
                   develop new example mappings; and we iterate.
                   Experiments with Java and Ruby, two very different
                   languages, suggest that our approach can be a very
                   efficient and effective way to rapidly construct
                   software models from legacy code.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.23},
  keywords       = {hasler07 scg-pub jb07 snf07 girba moose-pub},
  misc           = {acceptance rate: 33/62 = 52\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier07aExampleDrivenMR.pdf},
  year           = 2007
}

@InProceedings{Scha99a,
  Author         = {Reinhard Schauer and S\'ebastian Robitaille and
                   Francois Martel and Rudolf Keller},
  Title          = {Hot-{Spot} {Recovery} in {Object}-{Oriented}
                   {Software} with {Inheritance} and {Composition}
                   {Template} {Methods}},
  BookTitle      = {Proceedings of ICSM '99 (International Conference on
                   Software Maintenance)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp},
  year           = 1999
}

@InProceedings{Bran98b,
  Author         = {John Brant and Don Roberts},
  Title          = {``{Good} {Enough}'' {Analysis} for {Refactoring}},
  BookTitle      = {Object-Oriented Technology Ecoop '98 Workshop Reader},
  Series         = {LNCS},
  Pages          = {81-82},
  Organization   = {Springer-Verlag},
  year           = 1998
}

@InProceedings{Clyd92a,
  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},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {452-465},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Lern90a,
  Author         = {Barbara Staudt Lerner and A. Nico Habermann},
  Title          = {Beyond Schema Evolution to Database Reorganization},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {67-76},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Koll01a,
  Author         = {Ralf Kollman and Martin Gogolla},
  Title          = {Capturing Dynamic Program Behaviour with UML
                   Collaboration Diagrams},
  BookTitle      = {Proceedings 5th European Conference on SOftware
                   Maintenance and Reengineering (CSMR 2001)},
  Publisher      = {IEEE Computer Society},
  year           = 2001
}

@TechReport{Carm91a,
  Author         = {Ian H. Carmichael and James R. Cordy},
  Title          = {{TXL} --- The Tree Transformation Language V5.0:
                   Syntax and Informal Semantics},
  Institution    = {GMD},
  Type           = {Project REX Working Paper},
  Number         = {Rex-2-GMD-41-1.0},
  Address        = {Karlsruhe},
  keywords       = {patterns olit txl binder},
  month          = apr,
  year           = 1991
}

@Article{Unga91a,
  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: An international
                   journal},
  Volume         = {4},
  Number         = {3},
  keywords       = {ioom-prototype},
  year           = 1991
}

@Article{Anqu99b,
  Author         = {Nicolas Anquetil and Timothy C. Lethbridge},
  Title          = {Recovering Software Architecture from the Names of
                   Source Files},
  Journal        = {Journal of Software Maintenance: Research and Practice},
  Volume         = {11},
  Pages          = {201-21},
  year           = 1999
}

@InProceedings{Deur99b,
  Author         = {Arie van Deursen and Tobias Kuipers},
  Title          = {Identifying objects using cluster and concept analysis},
  BookTitle      = {ICSE},
  Pages          = {246--255},
  Publisher      = {IEEE Press},
  abstract       = {Many approaches to support (semi-automatic)
                   identification of objects in legacy code take the data
                   structures as starting point for candidate classes.
                   Unfortunately, legacy data structures tend to grow over
                   time, and may contain many unrelated fields at the time
                   of migration. We propose a method for identifying
                   objects by semi-automatically restructuring the legacy
                   data structures. Issues involved include the selection
                   of record fields of interest, the identification of
                   procedures actually dealing with such fields, and the
                   construction of coherent groups of fields and
                   procedures into candidate classes. We explore the use
                   of cluster and concept analysis for the purpose of
                   object identification, and we illustrate their effect
                   on a 100,000 LOC Cobol system. Furthermore, we use
                   these results to contrast clustering with concept
                   analysis techniques.},
  year           = 1999
}

@InProceedings{Hill99a,
  Author         = {Rich Hilliard},
  Title          = {Using the {UML} for Architectural Description},
  BookTitle      = {Proceedings 2nd International UML Conference, UML '99},
  Editor         = {Robert France Bernard Rumpe},
  Volume         = {1723},
  Series         = {LNCS},
  Pages          = {32-48},
  Publisher      = {Springer-Verlag},
  month          = oct,
  year           = 1999
}

@InProceedings{Gibb82a,
  Author         = {Simon Gibbs},
  Title          = {Office Information Models and the Representation of
                   `Office Objects'},
  BookTitle      = {Proceedings ACM SIGOA},
  Pages          = {21-26},
  Address        = {Philadelphia},
  keywords       = {olit ois},
  month          = jun,
  year           = 1982
}

@Article{Dona85b,
  Author         = {Jim Donahue and Alan Demers},
  Title          = {Data Types are Values},
  Journal        = {Transactions on Programming Languages and Systems},
  Volume         = {7},
  Number         = {3},
  Pages          = {426-445},
  keywords       = {types fpl russell tfc binder},
  year           = 1985
}

@Book{Catt94a,
  Editor         = {Rick Cattell},
  Title          = {The Object Database Standard: {ODMG}-93},
  Publisher      = {Morgan \& Kaufmann},
  isbn           = {1-55860-302-6},
  keywords       = {olit-oopl oobib(oopl) book scglib},
  year           = 1994
}

@InProceedings{Stey93a,
  Author         = {Patrick Steyaert and Wim Codenie and Theo D'Hondt and
                   Koen De Hondt and Carine Lucas and Marc Van Limberghen},
  Title          = {Nested Mixin-Methods in Agora},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {197-219},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Mixin-based inheritance is an inheritance technique
                   that has been shown to subsume a variety of different
                   inheritance mechanisms. It is based directly upon an
                   incremental modification model of inheritance. This
                   paper addresses the question of how mixins can be seen
                   as named attributes of classes the same way that
                   objects, methods, and also classes in their own right,
                   are seen as named attributes of classes. The general
                   idea is to let a class itself have control over how it
                   is extended. This results in a powerful abstraction
                   mechanism to control the construction of inheritance
                   hierarchies in two ways. Firstly, by being able to
                   constrain the inheritance hierarchy; secondly, by being
                   able to extend a class in a way that is specific for
                   that class. Nested mixins are a direct consequence of
                   having mixins as attributes. The scope rules for nested
                   mixins are discussed, and shown to preserve the
                   encapsulation of objects.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Fish87a,
  Author         = {D.H. Fishman and David Beech and H.P. Cate and E.C.
                   Chow and T. Connors and J.W. Davis and Nigel Derrett
                   and C.G. Hoch and William Kent and P. Lyngbaek and B.
                   Mahbod and M.A. Neimat and T.A. Ryan and M.C. Shan},
  Title          = {Iris: An Object-Oriented Database Management System},
  Journal        = {ACM TOOIS},
  Volume         = {5},
  Number         = {1},
  Pages          = {48-69},
  keywords       = {olit-db iris oobib(oodb)},
  month          = jan,
  year           = 1987
}

@InProceedings{Gree05a,
  Author         = {Orla Greevy and St\'ephane Ducasse},
  Title          = {Correlating Features and Code Using A Compact
                   Two-Sided Trace Analysis Approach},
  BookTitle      = {Proceedings of 9th European Conference on Software
                   Maintenance and Reengineering (CSMR'05)},
  Pages          = {314--323},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Software developers are constantly required to modify
                   and adapt features of an application in response to
                   changing requirements. The problem is that just by
                   reading the source code, it is difficult to determine
                   how classes and methods contribute to the runtime
                   behavior of features. Moreover, dependencies between
                   system features are not obvious, consequently software
                   maintenance operations often result in unintended side
                   effects. To tackle these problems, we propose a compact
                   feature-driven approach (\ie summarized trace
                   information) based on dynamic analysis to characterize
                   features and computational units of an application. We
                   extract execution traces to achieve an explicit mapping
                   between features and classes using two complementary
                   perspectives. We apply our approach to two case studies
                   and we report our findings.},
  annote         = {internationalconference},
  cvs            = {TraceScraperRevEng},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2005.21},
  keywords       = {scg-pub greevy jb05 recast05 stefPub Feature
                   Feature-Traces Dynamic Analysis Evolution moose-pub},
  location       = {Manchester, United Kingdom},
  misc           = {acceptance rate: 33/81 = 41\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05aTraceScraperCSMR2005Features.pdf},
  year           = 2005
}

@TechReport{Amer87a,
  Author         = {Pierre America and Jaco W. de Bakker},
  Title          = {Designing Equivalent Semantic Models for Process
                   Creation},
  Institution    = {CWI},
  Type           = {CS-R8732},
  Address        = {Amsterdam},
  keywords       = {concurrency semantics binder},
  month          = jul,
  year           = 1987
}

@InProceedings{Will96c,
  Author         = {Graham J. Wills},
  Title          = {Selection: 524,288 Ways to Say "This is Interesting"},
  BookTitle      = {Proceedings of the 1996 IEEE Symposium on Information
                   Visualization (INFOVIS '96)},
  Pages          = {54-61},
  Publisher      = {IEEE},
  year           = 1996
}

@Article{Lamp88a,
  Author         = {Leslie Lamport},
  Title          = {Control Predicates Are Better Than Dummy Variables for
                   Reasoning About Program Control},
  Journal        = {ACM TOPLAS},
  Volume         = {10},
  Number         = {2},
  Pages          = {267-281},
  keywords       = {concurrency safety},
  month          = apr,
  year           = 1988
}

@InProceedings{Cruz01b,
  Author         = {Juan-Carlos Cruz},
  Title          = {Supporting Development of Object Information Systems
                   with CoLaSD},
  BookTitle      = {Proceedings of OOIS 2001},
  Address        = {Calgary, Canada},
  abstract       = {Cooperative Object Information Systems are systems
                   build from objects that work together as a single
                   system. Objects that cooperate in the realization of
                   common tasks. Cooperative Object Information Systems
                   are systems constrained to continuously adapt to new
                   requirements: new objects are introduced into the
                   systems, cooperation protocols change, etc. Building
                   Cooperative Object Information Systems is difficult
                   because most of the concurrent and distributed object
                   oriented programming languages and frameworks used to
                   build them, provide only limited support for their
                   specification and abstraction, making them difficult to
                   understand, modify and customize. We show in this paper
                   how combining distributed active objects, and object
                   oriented coordination models and languages,
                   particularly the CoLaSD coordination model and
                   language, we can simplify the development of
                   Cooperative Object Information Systems, and facilitate
                   at the same time the evolution of their requirements.},
  keywords       = {olit scg-pub skipdoi scg coordination jb01},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz01OOIS.pdf},
  year           = 2001
}

@InProceedings{Godf02a,
  Author         = {Michael Godfrey Qiang Tu},
  Title          = {Tracking Structural Evolution using Origin Analysis},
  BookTitle      = {Proceedings of the International Workshop on
                   Principles of Software Evolution},
  Pages          = {117-119},
  Organization   = {SIGSOFT},
  Publisher      = {ACM Press},
  url            = {http://plg.uwaterloo.ca/~migod/papers/iwpse02.pdf},
  year           = 2002
}

@Misc{Deme03b,
  Author         = {Wolfgang Demeuter and St\'ephane Ducasse and Theo
                   D'hondt and Ole Lehrmann Madsen},
  Title          = {Report of the {ECOOP}'03 Workshop on Object-Oriented
                   Language Engineering in Post-Java Era},
  annote         = {workshopproceedings},
  booktitle      = {Object-Oriented Technology (ECOOP'03 Workshop Reader)},
  keywords       = {skip-pdf skipdoi skip-abstract scg-pub jb04 stefPub
                   snf03},
  publisher      = {Springer-Verlag},
  series         = {LNCS (Lecture Notes in Computer Science)},
  year           = 2003
}

@Book{Fent96a,
  Author         = {Norman Fenton and Shari Lawrence Pfleeger},
  Title          = {Software Metrics: {A} Rigorous and Practical Approach},
  Publisher      = {International Thomson Computer Press},
  Address        = {London, UK},
  Edition        = {Second},
  isbn           = {0534956009},
  keywords       = {metrics oorp scglib},
  year           = 1996
}

@InProceedings{Sutt90a,
  Author         = {Stanley M. Sutton, Jr. and Dennis Heimbigner and Leon
                   J. Osterweil},
  Title          = {Language constructs for managing change in
                   process-centered environments},
  BookTitle      = {SDE 4: Proceedings of the fourth ACM SIGSOFT symposium
                   on Software development environments},
  Pages          = {206--217},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/99277.99296},
  isbn           = {0-89791-418-X},
  location       = {Irvine, California, United States},
  year           = 1990
}

@InProceedings{Hans95a,
  Author         = {Martin Hansen and Hans H{\"u}ttel and Josva Kleist},
  Title          = {Bisimulations for asynchronous mobile processes},
  BookTitle      = {Proceedings of 6th International Conference on
                   Concurrency Theory ({CONCUR} '95, Philadelphia)},
  Editor         = {Insup Lee and Scott A. Smolka},
  Volume         = {962},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  year           = 1995
}

@InProceedings{Duca96b,
  Author         = {St\'ephane Ducasse and Mireille Blay-Fornarino and
                   Anne-Marie Pinna},
  Title          = {Object and Dependency Oriented Programming in FLO},
  BookTitle      = {Proceedings of International Symposium on
                   Methodologies for Intelligent Systems (ISMIS '96)},
  Number         = 1079,
  Series         = {LNIA (Lectures Notes in Artificial Intelligence)},
  Pages          = {295-304},
  Publisher      = {Springer-Verlag},
  abstract       = {The FLO language integrates management of inter-object
                   dependencies into the object oriented paradigms. In
                   this paper, we focus on the use of reactive
                   dependencies (links) in object-oriented knowledge
                   representation. In particular, we present different
                   meta-links (links between links) and show how the FLO
                   links allow one to design some composition
                   relationships.},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1007/3-540-61286-6_154},
  keywords       = {flo scg-old scg-pub stefPub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca96bDependencyOP.pdf},
  year           = 1996
}

@Unpublished{Walk93a,
  Author         = {David Walker},
  Title          = {Process Calculus and Parallel Object-Oriented
                   Programming Languages},
  Note           = {University of Warwick},
  keywords       = {pcalc-obc mobility semantics ccs binder},
  type           = {draft manuscript},
  year           = 1993
}

@InProceedings{Nier04d,
  Author         = {Oscar Nierstrasz and Marcus Denker},
  Title          = {Supporting Software Change in the Programming Language},
  BookTitle      = {OOPSLA Workshop on Revival of Dynamic Languages},
  abstract       = {In this paper we briefly review various kinds of
                   software changes and the issues that arise from them.
                   As a consequence, we propose research into programming
                   languages with explicit support for representing
                   first-class changes, and for manipulating and merging
                   multiple viewpoints of evolving software systems.},
  annote         = {internationalworkshop},
  cvs            = {RDLchange},
  keywords       = {snf05 scg-pub skipdoi jb05},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier04dRDLchange.pdf},
  year           = 2004
}

@Book{Gunt92a,
  Author         = {Carl. A. Gunter},
  Title          = {Semantics of Programming Languages},
  Publisher      = {MIT Press},
  isbn           = {0-262-57095-5},
  keywords       = {pl scglib},
  year           = 1995
}

@Misc{SmartDust,
  Title          = {Smart Dust},
  Note           = {http://www-bsac.eecs.berkeley.edu/archive/users/warneke-brett/SmartDust/index.html},
  key            = {Smart Dust},
  url            = {http://www-bsac.eecs.berkeley.edu/archive/users/warneke-brett/SmartDust/index.html}
}

@InProceedings{Noik94a,
  Author         = {Emanuel G. Noik},
  Title          = {A Space of Presentation Emphasis Techniques for
                   Visualizing Graphs},
  BookTitle      = {Proceedings of Graphics Interface '94},
  Pages          = {225-234},
  Address        = {Banff, Alberta, Canada},
  month          = may,
  url            = {http://citeseer.nj.nec.com/noik94space.html},
  year           = 1994
}

@Article{Bui86a,
  Author         = {T.X. Bui and Matthias Jarke},
  Title          = {Communications Design for Co-oP: {A} Group Decision
                   Support System},
  Journal        = {ACM TOOIS},
  Volume         = {4},
  Number         = {2},
  Pages          = {81-103},
  keywords       = {olit coop gdss},
  month          = apr,
  year           = 1986
}

@InProceedings{Smit84a,
  Author         = {B. Smith},
  Title          = {Reflection and Semantics in Lisp},
  BookTitle      = {Proceedings of POPL '84},
  Pages          = {23-3},
  year           = 1984
}

@InProceedings{Duca99d,
  Author         = {St\'ephane Ducasse and Matthias Rieger and Georges
                   Golomingi},
  Title          = {Tool Support for Refactoring Duplicated {OO} Code},
  BookTitle      = {Proceedings of the ECOOP '99 Workshop on Experiences
                   in Object-Oriented Re-Engineering},
  Editor         = {St\'ephane Ducasse and Oliver Ciupke},
  Publisher      = {Forschungszentrum Informatik, Karlsruhe},
  Note           = {FZI-Report 2-6-6/99},
  abstract       = {Code duplication is an important problem in
                   application maintenance. Tools exist that support code
                   duplication detection. However, few of them propose a
                   solution for the problem, i.e. refactorings. We propose
                   an approach that uses the information given by code
                   duplication detection to guide the refactorings of OO
                   applications.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papref scg-pub skipdoi jb99 stefPub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg99aToolSuppRefacOOCode.pdf},
  year           = 1999
}

@Book{Pelr01a,
  Author         = {Joseph Pelrine and Alan Knight},
  Title          = {Mastering ENVY/Developer},
  Publisher      = {Cambridge University Press},
  keywords       = {smalltalk scglib oorp},
  year           = 2001
}

@Unpublished{Bato94a,
  Author         = {Don Batory and Sankar Dasari and Bert Geraci and Vivek
                   Singhal and Marty Sirkin and Jeff Thomas},
  Title          = {Achieving Reuse With Software System Generators},
  Note           = {draft},
  keywords       = {olit binder},
  year           = 1994
}

@Article{Doda94c,
  Author         = {Mahesh Dodani},
  Title          = {Specifying Object-Oriented Software},
  Journal        = {Report on Object-Oriented Analysis},
  Volume         = {1},
  Number         = {3},
  Pages          = {33-37},
  keywords       = {oobib(gen) binder},
  month          = sep,
  year           = 1994
}

@MastersThesis{Lanz99a,
  Author         = {Michele Lanza},
  Title          = {Combining {Metrics} and {Graphs} for {Object}
                   {Oriented} {Reverse} {Engineering}},
  School         = {University of Bern},
  Type           = {Diploma {Thesis}},
  abstract       = {A software system may become very large during its
                   evolution, getting less maintain-able while its
                   complexity rises. Since replacing the system with a new
                   one is often out of question because of economic
                   considerations, reengineering techniques are being
                   developed to change the system into a form which makes
                   it easier to maintain and to further develop. However,
                   before a system can be reengineered, it has to be
                   reverse engineered in order to understand its nature
                   and inner logic. This work deals with a lightweight
                   approach to software reverse engineering com-bining
                   simple graphs with simple object oriented metrics. Our
                   goal is to obtain a simple and scalable graphical
                   display of a system and its parts through which we
                   succeed to visually extract information, which is
                   useful to the understanding of the system and the
                   detection of its design problems. The primary goal of
                   this work is to put up a repository of combinations of
                   graphs and metrics which are useful to reverse engineer
                   an object oriented system. To validate our approach we
                   implemented a tool called CodeCrawler, which can
                   graphically dis-play source code while providing a
                   layer of interactivity to the user: we use the term
                   navigating the code. We ran CodeCrawler on two
                   Smalltalk case studies and one large industrial case
                   study written in C++. The positive experiences and
                   reactions which we obtained are a proof of the
                   usefulness of our idea.},
  annote         = {master},
  keywords       = {snf-none oobib scg-pub skipdoi scg-msc jb00 oorp
                   moose-pub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Lanz99a.pdf},
  year           = 1999
}

@Article{Lloy04a,
  Author         = {Ryan LLoyd and Cheri Shakiban},
  Title          = {Improvements in Latent Semantic Analysis},
  Journal        = {American Journal of Undergraduate Research},
  Volume         = {3},
  Pages          = {29-34},
  year           = 2004
}

@Book{Kay01a,
  Author         = {Michael Kay},
  Title          = {XSLT, Programmer's Reference},
  Publisher      = {Wrox Press Ltd.},
  Edition        = {2nd},
  keywords       = {XML scglib},
  year           = 2001
}

@Book{Tiso94a,
  Editor         = {Sophie Tison},
  Title          = {Trees in Algebra and Programming --- {CAAP}`94},
  Publisher      = {Springer-Verlag},
  Volume         = {787},
  Series         = {LNCS},
  isbn           = {3-540-57879-X},
  keywords       = {caap94 scglib procee lncs},
  year           = 1994
}

@Book{Lach95,
  Author         = {T. Lachand-Robert},
  Title          = {La maitrise de TeX et LaTeX},
  Publisher      = {Mason},
  isbn           = {2-225-84832-7},
  keywords       = {scglib tex latex},
  year           = 1995
}

@InProceedings{Alle94b,
  Author         = {Robert Allen and David Garlan},
  Title          = {Beyond Definition/Use: Architectural Interconnection},
  BookTitle      = {Workshop on Interface Definition Languages},
  Address        = {Portland, Oregon, USA},
  keywords       = {olit visprog composition architecture binder},
  misc           = {January 20},
  month          = jan,
  year           = 1994
}

@InProceedings{Pinz05a,
  Author         = {Martin Pinzger and Harald Gall and Michael Fischer and
                   Michele Lanza},
  Title          = {Visualizing Multiple Evolution Metrics},
  BookTitle      = {Proceedings of SoftVis 2005 (2nd ACM Symposium on
                   Software Visualization)},
  Pages          = {67-75},
  Address        = {St. Louis, Missouri, USA},
  annote         = {internationalconference},
  keywords       = {evolution visualization moose-pub},
  month          = may,
  year           = 2005
}

@InProceedings{Woli91a,
  Author         = {Francis Wolinski and Jean-Fran{\c{c}}ois Perrot},
  Title          = {Representation of Complex Objects: Multiple Facets
                   with Part-Whole Hierarchies},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {Pierre America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {288-306},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Book{Flan97a,
  Author         = {David Flanagan},
  Title          = {JavaScript: The Definitive Guide},
  Publisher      = {O'Reilly \& Associates},
  Edition        = {Second},
  isbn           = {1-56592-234-4},
  keywords       = {javascript scripting scglib},
  month          = jan,
  url            = {http://www.ora.com/catalog/jscript2/noframes.html},
  year           = 1997
}

@InProceedings{Zell05b,
  Author         = {Holger Cleve and Andreas Zeller},
  Title          = {Locating causes of program failures},
  BookTitle      = {ICSE '05: Proceedings of the 27th international
                   conference on Software engineering},
  Pages          = {342-351},
  doi            = {http://doi.acm.org/10.1145/1062455.1062522},
  isbn           = {1-59593-963-2},
  location       = {St. Louis, MO, USA},
  year           = 2005
}

@Article{McIl01a,
  Author         = {S. McIlraith and T. Son and H. Zeng},
  Title          = {Semantic Web services},
  Journal        = {IEEE Intelligent Systems (Special Issue on the
                   Semantic Web)},
  Volume         = {16},
  Number         = {2},
  Pages          = {46--53},
  month          = mar,
  year           = 2001
}

@Article{Kosc05a,
  Author         = {Rainer Koschke and Jochen Quante},
  Title          = {On Dynamic Feature Location},
  Journal        = {International Conference on Automated Software
                   Engineering, 2005},
  Pages          = {86-95},
  publisher      = {ACM Press},
  year           = 2005
}

@InProceedings{Dami94b,
  Author         = {M. Damiani},
  Title          = {An Intelligent Information System for Heterogeneous
                   Data Exploration},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {298-312},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Glas96a,
  Author         = {Robert L. Glass},
  Title          = {{The} {Relationship} {Between} {Theory} and {Practice}
                   in {Software} {Engineering}},
  Journal        = {Communications of the ACM},
  Volume         = {39},
  Number         = {11},
  Pages          = {11-13},
  annote         = {practical programmer column},
  month          = nov,
  publisher      = {ACM},
  year           = 1996
}

@Book{Flan97b,
  Author         = {David Flanagan},
  Title          = {Java Examples in a Nutshell},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-371-5},
  keywords       = {olit-oopl java scglib},
  year           = 1997
}

@InProceedings{Mezi97a,
  Author         = {Mira Mezini},
  Title          = {Dynamic Object Evolution without Name Collisions},
  BookTitle      = {Proceedings ECOOP '97},
  Pages          = {190-219},
  Publisher      = {Springer-Verlag},
  doi            = {http://dx.doi.org/10.1007/BFb0053371},
  month          = jun,
  url            = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1241/12410190.pdf},
  year           = 1997
}

@InProceedings{Tich98m,
  Author         = {Sander Tichelaar and Serge Demeyer},
  Title          = {An Exchange Model for Reengineering Tools},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  abstract       = {Tools support is recognised as a key issue in the
                   reengineering of large scale object-oriented systems.
                   However, due to the heterogeneity in today's
                   object-oriented programming languages, it is hard to
                   reuse reengineering tools across legacy systems. This
                   paper proposes a language independent exchange model,
                   so that tools may perform their tasks independent of
                   the underlying programming language. Beside supporting
                   reusability between tools, we expect that this exchange
                   model will enhance the interoperability between tools
                   for metrics, visualization, reorganisation and other
                   reengineering activities.},
  keywords       = {olit scg-pub skipdoi famoos-papunr sergedem-papunr
                   tich-papunr snf98 jb98},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/Tich98m/ecoop98exchmod.pdf},
  year           = 1998
}

@Book{Soan01a,
  Editor         = {Catherine Soanes},
  Title          = {Oxford Dictionary of Current English},
  Publisher      = {Oxford University Press},
  keywords       = {examples},
  month          = jul,
  year           = 2001
}

@InProceedings{Rich02e,
  Author         = {Debbie Richards and Kathrin B{\"o}ttger and Anne Fure},
  Title          = {{RECOCASE}-tool: A {CASE} {Tool} for {RECOnciling}
                   {Requirements} {Viewpoints}},
  BookTitle      = {Proceedings of AWRE '02 (7th Australian Workshop on
                   Requirements Engineering)},
  keywords       = {fca},
  year           = 2002
}

@InProceedings{Oshi05a,
  Author         = {Yoshiki Ohshima},
  Title          = {The {Early} {Examples} of {Kedama}, {A} {Massively}
                   {Parallel} {System} in Squeak},
  BookTitle      = {IEEE C5: The Third International Conference on
                   Creating, Connecting and Collaborating through
                   Computing},
  Volume         = {3},
  Pages          = {93-100},
  keywords       = {starlogo squeak etoys agents},
  year           = 2005
}

@Proceedings{Meyr86a,
  Title          = {Proceedings {OOPSLA} '86},
  Editor         = {Norman Meyrowitz},
  Volume         = {21},
  Address        = {Portland, Oregon},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla86 oobib(gen)},
  month          = nov,
  year           = 1986
}

@InProceedings{Lung06c,
  Author         = {Mircea Lungu and Michele Lanza},
  Title          = {Softwarenaut: Cutting Edge Visualization},
  BookTitle      = {Proceedings of Softvis 2006 (3rd International ACM
                   Symposium on Software Visualization)},
  Pages          = {179--180},
  Publisher      = {ACM Press},
  year           = 2006
}

@Article{Zell97a,
  Author         = {Andreas Zeller and Gregor Snelting},
  Title          = {Unified Versioning through Feature Logic},
  Journal        = {ACM Transactions of Software Engineering and
                   Methodology},
  Volume         = {6},
  Number         = {4},
  Pages          = {397-440},
  keywords       = {scm},
  month          = oct,
  year           = 1997
}

@InProceedings{DeBa96a,
  Author         = {Jean-Marc DeBaud},
  Title          = {Lessons from a Domain-Based Reengineering Effort},
  BookTitle      = {Proceedings of WCRE 1996},
  Publisher      = {IEEE Computer Society},
  year           = 1998
}

@InProceedings{Poll07a,
  Author         = {Pollet, Damien and Ducasse, St\'ephane and Poyet,
                   Lo\"{\i}c and Alloui, Ilham and C\^impan, Sorana and
                   Verjus, Herv\'e},
  Title          = {Towards A Process-Oriented Software Architecture
                   Reconstruction Taxonomy},
  BookTitle      = {Proceedings of 11th European Conference on Software
                   Maintenance and Reengineering (CSMR'07)},
  Editor         = {Krikhaar, Ren\'e and Verhoef, Chris and Di Lucca,
                   Giuseppe},
  Publisher      = {IEEE Computer Society},
  Note           = {Best Paper Award},
  abstract       = {To maintain and understand large applications, it is
                   crucial to know their architecture. The first problem
                   is that unlike classes and packages, architecture is
                   not explicitly represented in the code. The second
                   problem is that successful applications evolve over
                   time, so their architecture inevitably drifts.
                   Reconstructing the architecture and checking whether it
                   is still valid is therefore an important aid. While
                   there is a plethora of approaches and techniques
                   supporting architecture reconstruction, there is no
                   comprehensive state of the art and it is often
                   difficult to compare the approaches. This article
                   presents a state of the art on software architecture
                   reconstruction approaches.},
  annote         = {internationalconference},
  keywords       = {scg-pub jb-skip recast},
  location       = {Amsterdam, the Netherlands},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Poll07a-CSMRSARTaxonomy.pdf},
  year           = 2007
}

@Book{Witt53a,
  Author         = {Ludwig Wittgenstein},
  Title          = {Philosophische Untersuchungen},
  Publisher      = {Blackwell, Oxford},
  location       = {Oxford},
  year           = 1953
}

@MastersThesis{Voge04a,
  Author         = {David Vogel},
  Title          = {Management and Security of Collaborative Web
                   Environments},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {This diploma gives an general overview of
                   collaboration models and of the Wiki concept, in
                   particular of the SmallWiki implementation and its
                   design. We introduce the SmallWiki Default Security
                   Model and its enhancement -- the SmallWiki Extended
                   Security Model- in order to solve the problems of
                   vandalism and of central management. This fine-grained
                   security model is explained and it is shown how a Wiki
                   administrator can manage the permissions for SmallWiki
                   users at any point in the Wiki site, and how the
                   pattern of save delegation is applied.},
  keywords       = {scg-msc jb04 smallwiki snf04},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Voge04a.pdf},
  year           = 2004
}

@MastersThesis{Vrany10a,
  Author         = {Jan Vran\'y},
  Title          = {Supporting Multiple Languages in Virtual Machines},
  School         = {Czech Technical University},
  Type           = {Diploma thesis},
  keywords       = {interoperability ctu-msc, virtual machine},
  month          = dec,
  url            = {http://users.fit.cvut.cz/~vranyj1/data/papers},
  year           = 2010
}

@InProceedings{Tele02a,
  Author         = {Telea and Maccari and Riva},
  Title          = {An Open Visualization Toolkit for Reverse Architecting},
  BookTitle      = {Proceedings of International Workshop on Program
                   Comprehension (IWPC)},
  Pages          = {3-13},
  Publisher      = {IEEE CS},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WPC.2002.1021303},
  year           = 2002
}

@InProceedings{Bana93a,
  Author         = {Mike Banahan and L. Peter Deutsch and Boris Magnusson},
  Title          = {Panel: Aims, Means, and Futures of Object-Oriented
                   Languages: Programming Styles and Tool Support},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {529-531},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Panelists will compare and assess the strengths and
                   weaknesses of major object-oriented languages. They
                   will also comment on the possible development and use
                   of those languages and their related tools.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@TechReport{Tory02a,
  Author         = {Melanie Tory and Torsten M\"oller},
  Title          = {A Model-Based Visualization Taxonomy},
  Institution    = {Computing Science Dept., Simon Fraser University},
  Number         = {CMPT-TR2002-06},
  year           = 2002
}

@Book{Jone78a,
  Editor         = {D. Bj\/orner and C.B. Jones},
  Title          = {The Vienna Development Method: The Meta-Language},
  Publisher      = {Springer-Verlag},
  Volume         = {61},
  Series         = {LNCS},
  Address        = {Heidelberg},
  keywords       = {pl-semantics vdm},
  year           = 1978
}

@Unpublished{Sour96a,
  Author         = {Jean Louis Sourrouille and Jean Claude Commercon and
                   Hugues Lecoeuche},
  Title          = {Assisting Object Behaviour Composition/Decomposition},
  Note           = {Draft, L3I: Laboratoire d'Ing\'enierie de
                   l'Informatique Industrielle},
  keywords       = {olit-gen binder},
  year           = 1996
}

@Article{Robb07a,
  Author         = {Romain Robbes and Michele Lanza},
  Title          = {A Change-based Approach to Software Evolution},
  Journal        = {Electronic Notes in Theoretical Computer Science
                   (ENTCS)},
  Volume         = {166},
  Pages          = {93-109},
  annote         = {internationaljournal},
  keywords       = {lanza evolution},
  month          = jan,
  publisher      = {Elsevier Science Direct},
  year           = 2007
}

@Misc{Fugi91a,
  Author         = {Mariagrazia Fugini and M. Guggino and Barbara Pernici},
  Title          = {Reusing Requirements Through a Modeling and
                   Composition Support Tool},
  Note           = {Accepted to CAiSE '91},
  address        = {Trondheim},
  keywords       = {olit-ithaca recast caise91},
  month          = may,
  year           = 1991
}

@TechReport{Mey92g,
  Author         = {Vicki de Mey and Betty Junod and Serge Renfer},
  Title          = {Vista User's Guide},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA.CUI.92.Vista.#2},
  keywords       = {olit-ithaca osg vista},
  month          = dec,
  year           = 1992
}

@InProceedings{Pals91b,
  Author         = {Jens Palsberg and Michael I. Schwartzbach},
  Title          = {Object-Oriented Type Inference},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {146-161},
  keywords       = {types olit oopsla91},
  month          = nov,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1991
}

@Article{More79a,
  Author         = {E. Morel and C. Renvoise},
  Title          = {Global Optimization by Suppression of Partial
                   Redundancies},
  Journal        = {CACM},
  Volume         = {22},
  Number         = {2},
  Pages          = {96-103},
  month          = feb,
  year           = 1979
}

@Article{Gaja98a,
  Author         = {Joan Gajadhar},
  Title          = {Issues in Plagiarism for the New Millennium: An
                   Assessment Odyssey},
  Journal        = {Ultibase Online Articles},
  annote         = {correct name of journal to be found},
  institution    = {The open Polytechnic of New Zealand},
  keywords       = {plagiarism},
  url            = {http://ultibase.rmit.edu.au/Articles/dec98/gajad1.htm},
  year           = 1998
}

@InCollection{Wirs90a,
  Author         = {Martin Wirsing},
  Title          = {Algebraic Specification},
  BookTitle      = {Handbook of Theoretical Computer Science},
  Publisher      = {The MIT Press},
  Editor         = {J. van Leewen},
  Volume         = {Formal Models and Semantics},
  Chapter        = {13},
  Pages          = {675-788},
  Address        = {New York, NY},
  year           = 1990
}

@InProceedings{Spah88a,
  Author         = {Stephane Spahni and J{\"u}rgen Harms},
  Title          = {A Local Name Server for Organizational Message
                   Handling Systems},
  BookTitle      = {Proceedings 1988 International Zurich Seminar on
                   Digital Communications},
  Pages          = {239-246},
  Publisher      = {IEEE Cat. No. 88TH0202-2},
  keywords       = {misc distribution name server},
  misc           = {March 8-10},
  month          = mar,
  year           = 1988
}

@InProceedings{Duca99s,
  Author         = {St\'ephane Ducasse and Michele Lanza and Serge Demeyer},
  Title          = {Reverse Engineering based on Metrics and Program
                   Visualization},
  BookTitle      = {Object-Oriented Technology (ECOOP'99 Workshop Reader)},
  Number         = {1743},
  Series         = {LNCS (Lecture Notes in Computer Science)},
  Publisher      = {Springer-Verlag},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skip-pdf jb-skip skip-abstract skipdoi},
  year           = 1999
}

@Article{Pier96a,
  Author         = {Benjamin Pierce and Davide Sangiorgi},
  Title          = {Typing and subtyping for mobile processes},
  Journal        = {Mathematical Structures in Computer Science},
  Volume         = {6},
  Number         = {5},
  Pages          = {409-454},
  Note           = {An extended abstract in {\em Proc.\ LICS 93}, {IEEE}
                   Computer Society Press.},
  month          = oct,
  year           = 1996
}

@InProceedings{Deme98n,
  Author         = {Serge Demeyer and St\'ephane Ducasse},
  Title          = {Do Metrics Support Framework Development?},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Pages          = {247-249},
  Publisher      = {Springer-Verlag},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr scg-pub skip-pdf skip-abstract
                   skipdoi snf98 metrics jb98 stefPub},
  year           = 1998
}

@Book{Bass98a,
  Author         = {Len Bass and Paul Clements and Rick Kazman},
  Title          = {Software Architecture in Practice},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-19930-0},
  keywords       = {architecture scglib oorp},
  year           = 1998
}

@InProceedings{Raj89a,
  Author         = {Rajendra K. Raj and Henry M. Levy},
  Title          = {A Compositional Model for Software Reuse},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {3-24},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-inheritance emerald ecoop89proc binder(oop)},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@MastersThesis{Wamp06a,
  Author         = {Rafael Wampfler},
  Title          = {{Eg} -- a Meta-Model and Editor for Unit Tests},
  School         = {University of Bern},
  abstract       = {In our life we often use examples to explain difficult
                   topics. Examples help us to comprehend the problem. An
                   example is easier to understand than an abstract
                   description of the problem. In software design the
                   problems are complex and abstract. But examples are
                   rarely used to explain a complicated situation. We are
                   using examples to document and explain software.
                   Examples demonstrate the creation and behavior of an
                   instance. They can be reused to compose new examples.
                   Examples can be extended with assertions and become
                   unit tests. Because the link between test and method
                   under test is often missing, we created a meta-model
                   for tests. Our meta-model stores the objects, methods
                   and parameters used for the tests. It can generate the
                   source code of its tests which is human readable. First
                   studies shows that most unit tests are method tests
                   concerning only a single method call. The other tests
                   can be refactored to method tests. We built an editor
                   for the meta-model to create examples and tests. The
                   editor is integrated in the environment and lets the
                   developer create new tests with a minimal effort.},
  keywords       = {scg-msc scg-pub skipdoi jb07 snf06},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Wamp06a.pdf},
  year           = 2006
}

@InProceedings{Free92a,
  Author         = {Bjorn N. Freeman-Benson and Alan Borning},
  Title          = {Integrating Constraints with an Object-Oriented
                   Language},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {268-286},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl kaleidoscope ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Cham92a,
  Author         = {Dennis de Champeaux and Al Anderson and Ed Feldhousen},
  Title          = {Case Study of Object-Oriented Software Development},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {377-391},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Unpublished{Mats90a,
  Author         = {Satoshi Matsuoka and Ken Wakita and Akinori Yonezawa},
  Title          = {Analysis of Inheritance Anomaly in Concurrent
                   Object-Oriented Languages},
  Note           = {Submitted to ECOOP/OOPSLA 90 workshop on Object-Based
                   Concurrent Systems},
  keywords       = {olit-obc inheritance obc90 binder},
  year           = 1990
}

@InProceedings{Sala04a,
  Author         = {Maher Salah and Spiros Mancoridis},
  Title          = {A Hierarchy of Dynamic Software Views: from
                   Object-Interactions to Feature-Interacions},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM 2004)},
  Pages          = {72--81},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2004.1357792},
  keywords       = {feature},
  year           = 2004
}

@TechReport{Gibb89c,
  Author         = {Simon Gibbs},
  Title          = {{CSCW} and Software Engineering},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg ood89},
  month          = jul,
  pages          = {31-40},
  year           = 1989
}

@InProceedings{Huda98a,
  Author         = {Paul Hudak},
  Title          = {Modular Domain Specific Languages and Tools},
  BookTitle      = {Proceedings: Fifth International Conference on
                   Software Reuse},
  Editor         = {P. Devanbu and J. Poulin},
  Pages          = {134-142},
  Publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@InProceedings{Jamm05a,
  Author         = {Fran\c{c}ois Jammes and Harm Smit},
  Title          = {Service-Oriented Architectures for Devices -- the
                   SIRENA View},
  BookTitle      = {Proceedings of the 3rd IEEE International Conference
                   on Industrial Informatics (INDIN'05)},
  Pages          = {140--147},
  doi            = {10.1109/INDIN.2005.1560366},
  month          = aug,
  year           = 2005
}

@Article{Reis88a,
  Author         = {A.H. Reisner and C.A. Bucholtz},
  Title          = {The Use of various Properties of Amino Acids in Color
                   and Monochrome Dot-Matrix Analyses for Protein
                   Homologies},
  Journal        = {Comput. Appl. Biosci.},
  Volume         = {4},
  Pages          = {395-402},
  keywords       = {dotplot},
  year           = 1988
}

@Book{Holz04a,
  Author         = {Steve Holzner},
  Title          = {Eclipse},
  Publisher      = {O'Reilly},
  isbn           = {0596006411},
  month          = may,
  year           = 2004
}

@Article{Nico85a,
  Author         = {Rocco de Nicola},
  Title          = {Two Complete Axiom Systems for a Theory of
                   Communicating Sequential Processes},
  Journal        = {Information and Control},
  Volume         = {64},
  Pages          = {136-172},
  keywords       = {pcalc equivalence csp ccs binder(csp)},
  year           = 1985
}

@Book{Tali94a,
  Author         = {Taligent Inc.},
  Title          = {Taligent's Guide to Designing Programs: Well Mannered
                   Object-Oriented Design in {C}++},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-40888-0},
  keywords       = {olit-oopl oobib(oopl) oobib(gen) c++ book},
  year           = 1994
}

@InProceedings{Andr06b,
  Author         = {Chris Andreae and James Noble and Shane Markstrum and
                   Todd Millstein},
  Title          = {A framework for implementing pluggable type systems},
  BookTitle      = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN
                   conference on Object-oriented programming systems,
                   languages, and applications},
  Pages          = {57--74},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1167473.1167479},
  isbn           = {1-59593-348-4},
  location       = {Portland, Oregon, USA},
  year           = 2006
}

@InProceedings{Raz92a,
  Author         = {Yoav Raz},
  Title          = {The Principle of Commitment Ordering, or, Guaranteeing
                   Serializability in a Heterogeneous Environment of
                   Multiple Autonomous Resource Managers Using Atomic
                   Commitment},
  BookTitle      = {Proceedings of the 18th VLDB Conference},
  Address        = {Vancouver, BC},
  keywords       = {olit transactions vldb92 binder},
  year           = 1992
}

@InProceedings{Wuyt01e,
  Author         = {Roel Wuyts and St\'ephane Ducasse},
  Title          = {Non-Functional Requirements in a Component Model for
                   Embedded Systems},
  BookTitle      = {International Workshop on Specification and
                   Verification of Component-Based Systems},
  abstract       = {In this paper we describe an interesting context to
                   study formal methods for component systems: embedded
                   devices. The context of embedded devices is highly
                   constrained by the physical requirements the devices
                   have to adhere to. As a result, component models for
                   embedded devices are not general purpose but geared
                   towards these constrained contexts. In this paper we
                   give the concrete setting of the Pecos project (a
                   project with as goal component engineering for embedded
                   devices). We describe the Pecos component model, and
                   show possibilities where we think formal verification
                   could be useful. We would like to use this as a very
                   concrete example to discuss formal verification
                   techniques.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 jb01 component Pecos stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01e.pdf},
  year           = 2001
}

@InProceedings{Simo06a,
  Author         = {Doug Simon and Cristina Cifuentes and Dave Cleal and
                   John Daniels and Derek White},
  Title          = {Java on the bare metal of wireless sensor devices: the
                   squawk Java virtual machine},
  BookTitle      = {VEE '06: Proceedings of the 2nd international
                   conference on Virtual execution environments},
  Pages          = {78--88},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1134760.1134773},
  isbn           = {1-59593-332-6},
  location       = {Ottawa, Ontario, Canada},
  year           = 2006
}

@InProceedings{Tich88a,
  Author         = {Walter Tichy},
  Title          = {Tools for Software Configuration Management},
  BookTitle      = {Proceedings of the International Workshop on Software
                   Version and Configuration Control},
  Pages          = {1-20},
  keywords       = {scm},
  year           = 1988
}

@TechReport{Mock99a,
  Author         = {Audris Mockus and Stephen Eick and Todd Graves and
                   Alan Karr},
  Title          = {On Measurements and Analysis of Software Changes},
  Institution    = {National Institute of Statistical Sciences},
  Type           = {Technical Report},
  keywords       = {evolution measurements},
  year           = 1999
}

@Book{Pink97a,
  Author         = {Steven Pinker},
  Title          = {How the Mind Works},
  Publisher      = {W. W. Norton},
  keywords       = {scglib},
  year           = 1997
}

@InProceedings{Nord02a,
  Author         = {Johan Nordlander and Mark P. Jones and Magnus Carlsson
                   and Richard B. Kieburtz and Andrew Black},
  Title          = {Reactive Objects},
  BookTitle      = {In Proceedings of the 5th IEEE International Symposium
                   on Object-oriented Real-time distributed computing},
  Address        = {Crystal City, Virginia, USA},
  month          = apr,
  year           = 2002
}

@Misc{ParcPlace95,
  Title          = {Visual {Smalltalk} Enterprise User's Guide},
  Note           = {ParcPlace-Digitalk},
  key            = {ParcPlace95},
  year           = 1995
}

@Book{Nier93c,
  Editor         = {Oscar Nierstrasz},
  Title          = {Proceedings {ECOOP}'93},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 707},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-57120-5},
  keywords       = {olit ecoop93proc scglib},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Lisk79a,
  Author         = {Barbara Liskov and Alan Snyder},
  Title          = {Exception Handling in {CLU}},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {5},
  Number         = {6},
  Pages          = {546-558},
  keywords       = {olit lang clu exceptions binder},
  month          = nov,
  year           = 1979
}

@TechReport{Cord91a,
  Author         = {James R. Cordy},
  Title          = {User's Guide to {TXL} --- The Tree Transformation
                   Language V5.0},
  Institution    = {GMD},
  Type           = {Project REX Working Paper},
  Number         = {Rex-2-GMD-42-1.0},
  Address        = {Karlsruhe},
  keywords       = {patterns olit txl binder},
  month          = apr,
  year           = 1991
}

@InProceedings{Turn98a,
  Author         = {Reid Turner and Alexander Wolf and Alfonso Fuggetta
                   and Luigi Lavazza},
  Title          = {Feature Engineering},
  BookTitle      = {Proceedings IEEE International Workshop on Software
                   Specification and Design (WSSD 1998)},
  Pages          = {162},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-8186-8439-9},
  year           = 1998
}

@InCollection{Band93a,
  Author         = {Sergio Bandinelli and Luciano Baresi and Alfonso
                   Fuggetta and Luigi Lavazza},
  Title          = {Requirements and Early Experiences in the
                   Implementation of the {SPADE} Repository using
                   Object-Oriented Technology},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {511-528},
  abstract       = {Software development environments (SDEs) pose pressing
                   requirements to the supporting repositories. This paper
                   describes these requirements, as derived within the
                   SPADE project. SPADE is a process centered environment
                   being developed at CEFRIEL and Politecnico di Milano.
                   The aim of the paper is to report the experiences that
                   the authors have gained in building a repository for
                   SPADE using O2, a ``state of the art'' object-oriented
                   DBMS.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Delo91a,
  Editor         = {C. Delobel and M. Kifer and Y. Masunaga},
  Title          = {Proceedings {DOOD}'91},
  Publisher      = {Springer-Verlag},
  Volume         = {566},
  Series         = {LNCS},
  Address        = {Munich,Germany},
  isbn           = {3-540-55015-1},
  keywords       = {olit delo91 scglib},
  month          = dec,
  year           = 1991
}

@Book{Burn93a,
  Author         = {Alan Burns and Geoff Davies},
  Title          = {Concurrent Programming},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-54417-2},
  keywords       = {pl concurrency scglib},
  year           = 1993
}

@Article{Schm95b,
  Author         = {Douglas C. Schmidt},
  Title          = {Using Design Patterns to Develop Reusable
                   Object-Oriented Communication Software},
  Journal        = {Communications of the ACM},
  Volume         = {38},
  Number         = {10},
  Pages          = {65-74},
  keywords       = {olit-reuse iam binder comacm95 design-patterns},
  month          = oct,
  url            = {http://www.cs.wustl.edu/~schmidt/CACM-95.ps.gz},
  year           = 1995
}

@InProceedings{Doda94d,
  Author         = {Mahesh Dodani and Shih-Poe Lee},
  Title          = {A History-Based Semantic Framework for Object-Oriented
                   Software Engineering Methodologies"},
  BookTitle      = {Proceedings of OOPSLA '94 Poster Session},
  Publisher      = {ACM},
  keywords       = {oobib(gen) binder},
  month          = oct,
  year           = 1994
}

@InProceedings{Dalz98a,
  Author         = {Silvano Dal Zilio},
  Title          = {Quiet and Bouncing Objects: Two Migration Abstractions
                   in a Simple Distributed Blue Calculus},
  BookTitle      = {Proc. of SOAP '98 --- International Workshop on
                   Semantics of Objects as Processes},
  Pages          = {35-42},
  Publisher      = {BRICS Notes Series 5},
  keywords       = {pcalc mobility blue calculus pisem},
  url            = {http://research.microsoft.com/~sdal/bouncingobj.htm},
  year           = 1998
}

@InProceedings{Parr88a,
  Author         = {Graham D. Parrington and Santosh K. Shrivastava},
  Title          = {Implementing Concurrency Control in Reliable
                   Object-Oriented Systems},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Series         = {LNCS 322},
  Pages          = {233-249},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@InProceedings{Card97b,
  Author         = {Stuart K. Card and Jock Mackinlay},
  Title          = {The Structure of the Information Visualization Design
                   Space},
  BookTitle      = {Proc. of the IEEE Symposium on Information
                   Visualization},
  Pages          = {92-99},
  url            = {citeseer.ist.psu.edu/card96structure.html},
  year           = 1997
}

@Misc{Dami95b,
  Author         = {Laurent Dami},
  Title          = {Pure Lambda Calculus with Records: From Compatibility
                   To Subtyping},
  Note           = {submitted to TLCA 95},
  keywords       = {olit binder},
  year           = 1995
}

@InProceedings{Deur04a,
  Author         = {van Deursen, Arie and Hofmeister, Christine and
                   Koschke, Rainer and Moonen, Leon and Riva, Claudio},
  Title          = {Symphony: View-Driven Software Architecture
                   Reconstruction},
  BookTitle      = {Proceedings of the Fourth Working IEEE/IFIP Conference
                   on Software Architecture (WICSA)},
  Pages          = {122-134},
  key            = {Deursen},
  url            = {http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm},
  year           = 2004
}

@InCollection{Bari96c,
  Author         = {Franck Barillaud and Luca Deri and Metin Feridun},
  Title          = {Network Management using Internet Technologies},
  BookTitle      = {Integrated Network Management: Management in a Virtual
                   World},
  Publisher      = {IEEE},
  brokenurl      = {http://engine.ieee.org/comsoc/ISINM/)},
  keywords       = {olit toBeChecked jb96},
  month          = may,
  year           = 1996
}

@Article{Doda92b,
  Author         = {M. Dodani and C.S. Tsai},
  Title          = {A Reliable and Flexible Type System for
                   Object-Oriented Programming},
  Journal        = {Journal of Object-Oriented Systems},
  Volume         = {??},
  Number         = {??},
  Pages          = {??-??},
  keywords       = {obib(gen) binder},
  year           = 1992
}

@Book{Somm92a,
  Author         = {Ian Sommerville},
  Title          = {Software Engineering},
  Publisher      = {Addison Wesley},
  Edition        = {Fourth},
  isbn           = {0-201-56529-3},
  keywords       = {se},
  year           = 1992
}

@InProceedings{Kami97a,
  Author         = {Samuel N. Kamin and David Hyatt},
  Title          = {A Special-Purpose Language for Picture-Drawing},
  BookTitle      = {Proceedings of the Conference on Domain-Specific
                   Languages},
  Pages          = {297-310},
  Address        = {Berkeley, CA, USA},
  Publisher      = {USENIX},
  month          = oct,
  year           = 1997
}

@TechReport{Tratt05a,
  Author         = {Laurence Tratt},
  Title          = {The {Converge} programming language},
  Institution    = {Department of Computer Science, King's College London},
  Number         = {TR-05-01},
  month          = feb,
  url            = {http://tratt.net/laurie/research/publications/papers/tratt05convergepl.pdf},
  year           = 2005
}

@Misc{Meijer00a,
  Author         = "E. Meijer and J. Gough",
  Title          = "Technical Overview of the Common Language Runtime",
  text           = "E. Meijer and J. Gough, Technical Overview of the
                   Common Language Runtime. Microsoft, 2000.",
  url            = "citeseer.ist.psu.edu/meijer00technical.html",
  year           = 2000
}

@Article{Liebe88a,
  Author         = {K. Lieberherr},
  Title          = {Object-oriented programmnig with class dictionaries},
  Journal        = {Journal on Lisp and Symbolic Computation},
  Volume         = {1},
  Number         = {2},
  Pages          = {185-212},
  year           = 1988
}

@TechReport{Badr98a,
  Author         = {Greg J. Badros and Alan Borning},
  Title          = {The Cassowary Linear Arithmetic Constraint Solving
                   Algorithm: Interface and Implementation},
  Institution    = {University of Washington},
  Number         = {UW Tech Report 98-06-04},
  year           = 1998
}

@InProceedings{Mads90a,
  Author         = {Ole Lehrmann Madsen and Boris Magnusson and Birger
                   M{\/o}ller-Pedersen},
  Title          = {Strong Typing of Object-Oriented Languages Revisited},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {140-150},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Book{Stoy77a,
  Author         = {Joseph E. Stoy},
  Title          = {Denotational Semantics: The Scott-Strachey Approach to
                   Programming Language Theory},
  Publisher      = {MIT Press},
  isbn           = {0-262-69076-4},
  keywords       = {pl-semantics book scglib},
  year           = 1977
}

@InCollection{Walk91a,
  Author         = {David Walker},
  Title          = {Some Results on the $pi$-calculus},
  BookTitle      = {Concurrency: Theory, Language and Architecture},
  Publisher      = {Springer-Verlag},
  Editor         = {A. Yonezawa and T. Ito},
  Volume         = {491},
  Series         = {LNCS},
  Pages          = {21-35},
  keywords       = {pcalc-obc mobility binder(css)},
  year           = 1991
}

@InProceedings{Bezi03a,
  Author         = {B\'ezivin, Jean and Farcet, Nicolas and J\'ez\'equel,
                   Jean-Marc and Langlois, Beno\^\it and Pollet, Damien},
  Title          = {Reflective Model Driven Engineering},
  BookTitle      = {UML~2003 -- The Unified Modeling Language -- Modeling
                   Languages and Applications},
  Editor         = {Stevens, Perdita and Whittle, Jon and Booch, Grady},
  Volume         = {2863},
  Series         = {LNCS},
  Pages          = {175-189},
  Publisher      = {Springer Verlag},
  annote         = {internationalconference},
  isbn           = {3-540-20243-9},
  month          = oct,
  url            = {http://www.irisa.fr/triskell/publis/2003/Bezivin03.pdf},
  year           = 2003
}

@InProceedings{Adam88a,
  Author         = {Norman Adams and Jonathan Rees},
  Title          = {Object-Oriented Programming in Scheme},
  BookTitle      = {Conference Record of the 1988 ACM Conference on Lisp
                   and Functional Programming},
  Pages          = {277-288},
  abstract       = {A small set of additions to Scheme to support
                   object-oriented programming, including a form of
                   multiple inheritance is described. The extensions
                   proposed are in keeping with the spirit of the Scheme
                   language and consequently differ from Lisp-based object
                   systems such as Flavors and the Common Lisp Object
                   System. The extensions mesh neatly with the underlying
                   Scheme system. The authors motivate the design with
                   examples, and describe implementation techniques that
                   yields efficiency comparable to dynamic object-oriented
                   language implementations considered to be high
                   performance. The complete design has an almost-portable
                   implementation, and the core of this design comprises
                   the object system used in T, a dialect of Scheme. The
                   applicative bias of the approach is unusual in object-
                   oriented programming systems.},
  keywords       = {olit-oopl scheme lisp (smc)},
  month          = aug,
  year           = 1988
}

@Article{Maam06a,
  Author         = {Zakaria Maamar and Djamal Benslimane and Nanjangud C.
                   Narendra},
  Title          = {What can context do for web services?},
  Journal        = {Commun. ACM},
  Volume         = {49},
  Number         = {12},
  Pages          = {98--103},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/1183236.1183238},
  issn           = {0001-0782},
  keywords       = {cop-lit},
  publisher      = {ACM Press},
  year           = 2006
}

@InProceedings{Mich01b,
  Author         = {J. Michaud and M-A. Storey and H. Muller},
  Title          = {Integrating Information Sources for Visualizing {Java}
                   Programs},
  BookTitle      = {Proceedings of IEEE International Conference on
                   Software Maintenance (ICSM'01)},
  Pages          = {250-259},
  Organization   = {IEEE},
  keywords       = {fca},
  month          = nov,
  year           = 2001
}

@Article{Mens02a,
  Author         = {Tom Mens and Michele Lanza},
  Title          = {A Graph-Based Metamodel for Object-Oriented Software
                   Metrics},
  Journal        = {Electronic Notes in Theoretical Computer Science},
  Volume         = {72},
  Number         = {2},
  abstract       = {Metrics are essential in object-oriented software
                   engineering for several reasons, among which quality
                   assessment and improvement of development team
                   productivity. While the mathematical nature of metrics
                   calls for clear definitions, frequently there exist
                   many contradicting definitions of the same metric
                   depending on the implementation language. We suggest to
                   express and define metrics using a language-independent
                   metamodel based on graphs. This graph-based approach
                   allows for an unambiguous definition of generic
                   object-oriented metrics and higher-order metrics. We
                   also report on some prototype tools that implement
                   these ideas.},
  doi            = {http://dx.doi.org/10.1016/S1571-0661(05)80529-8},
  keywords       = {scg-pub jb02 snf02},
  publisher      = {Elsevier Science},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens02a.pdf},
  year           = 2002
}

@Misc{Rees94a,
  Author         = {Jonathan A. Rees},
  Title          = {Another module system for scheme},
  month          = jan,
  year           = 1994
}

@InCollection{Card98a,
  Author         = {Luca Cardelli and Andrew D. Gordon},
  Title          = {Mobile Ambients},
  BookTitle      = {Foundations of Software Science and Computational
                   Structures},
  Publisher      = {Springer-Verlag},
  Editor         = {Maurice Nivat},
  Volume         = {1378},
  Series         = {LNCS},
  Pages          = {140-155},
  keywords       = {ambients},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1998
}

@InProceedings{Four98b,
  Author         = {C{\'e}dric Fournet and Michele Boreale and Cosimo
                   Laneve},
  Title          = {Bisimulations in the Join Calculus},
  BookTitle      = {Proceedings of the IFIP Working Conference on
                   Programming Concepts, Methods and Calculi (PROCOMET)},
  keywords       = {pcalc mobility join calculus pisem},
  month          = jun,
  url            = {http://www.research.microsoft.com/~fournet/biblio.htm},
  year           = 1998
}

@Article{Meyr82a,
  Author         = {Norman Meyrowitz and Andy van Dam},
  Title          = {Interactive Editing Systems (Parts {I} and {II})},
  Journal        = {ACM Computing Surveys},
  Volume         = {14},
  Number         = {3},
  Pages          = {321-415},
  keywords       = {uilit editing},
  month          = sep,
  year           = 1982
}

@InProceedings{Taft93a,
  Author         = {S. Tucker Taft},
  Title          = {Ada 9X: From Abstraction-Oriented to Object-Oriented},
  BookTitle      = {Proceedings OOPSLA '93},
  Volume         = {28},
  Pages          = {127-143},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Misc{Arno98a,
  Author         = {David Arnow and Gerald Weiss},
  Title          = {Introduction to Programming using {Java}},
  isbn           = {0-201-31184-4},
  keywords       = {olit oopl java scglib new-entry},
  year           = 1998
}

@InProceedings{Pash04a,
  Author         = {Ilian Pashov and Matthias Riebisch},
  Title          = {Using Feature Modelling for Program Comprehension and
                   Software Architecture Recovery},
  BookTitle      = {Proceedings of the 11th IEEE International Conference
                   and Workshop on the Engineering of Computer-Based
                   Systems (ECBS'04)},
  keywords       = {features architecture},
  month          = aug,
  year           = 2004
}

@Book{Najm97a,
  Editor         = {Elie Najim and Jean-Bernard Stefani},
  Title          = {Formal Methods for Open Object-based Distributed
                   Systems},
  Publisher      = {Chapman and Hall},
  keywords       = {scglib},
  year           = 1997
}

@PhdThesis{Knie00a,
  Author         = {G{\"u}nter Kniesel},
  Title          = {Darwin -- Dynamic Object-Based Inheritance with
                   Subtyping},
  School         = {CS Dept. III, University of Bonn, Germany},
  Type           = {{PhD} thesis},
  year           = 2000
}

@TechReport{Luca94a,
  Author         = {Carine Lucas and Patrick Steyaert},
  Title          = {Modular Inheritance of Objets Through Mixin-Methods},
  Institution    = {Vrije Universiteit Brussel, Brussels, Belgium},
  Number         = {07},
  Note           = {vub-prog-tr-94-07},
  year           = 1994
}

@InProceedings{Andr93b,
  Author         = {Jean-Marc Andreoli and Lone Leth and Remo Pareschi and
                   Bent Thomsen},
  Title          = {True Concurrency Semantics for a Linear Logic
                   Programming Language with Broadcast Communication},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {182-198},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency binder tapsoft93},
  year           = 1993
}

@Book{Barr99a,
  Author         = {Barron, David},
  Title          = {{The World of Scripting Languages}},
  Publisher      = {Wiley},
  isbn           = {ISBN 0-471-99886-9},
  keywords       = {scripting vba perl tcl {Java}Script},
  month          = dec,
  year           = 1999
}

@InProceedings{Zdon86a,
  Author         = {Stanley B. Zdonik},
  Title          = {Version Management in an Object-Oriented Database},
  BookTitle      = {IFIP WG2.4 International Workshop on Advanced
                   Programming Environments},
  Address        = {Trondheim, Norway},
  keywords       = {olit-db versions},
  misc           = {June 16-18},
  month          = jun,
  year           = 1986
}

@InProceedings{Gang93a,
  Author         = {Dipayan Gangopadhyay and Subrata Mitra},
  Title          = {ObjChart: Tangible Specification of Reactive Object
                   Behavior},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {432-457},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {ObjChart is a new visual formalism to specify objects
                   and their reactive behavior. A system is specified as a
                   collection of asynchronously communicating objects
                   arranged in a part-of hierarchy, where the reactive
                   behavior of each object is described by a finite state
                   machine. Value propagation is effected using functional
                   invariants over attributes of objects. A compositional
                   semantics for concurrent object behavior is sketched
                   using the equational framework of Misra. In contrast to
                   other Object Oriented modeling notations, ObjChart uses
                   object decomposition as the single refinement paradigm,
                   maintains orthogonality between control flow and value
                   propagation, introduces Sequence object which embodies
                   structural induction, and allows tracing causality
                   chains in time linear in the size of the system.
                   ObjChart's minimality of notations and precise
                   semantics make ObjChart models of systems coherent and
                   executable.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{YeFi05a,
  Author         = {Yunwen Ye and Gerhard Fischer},
  Title          = {Reuse-Conducive Development Environments},
  Journal        = {Autom. Softw. Eng.},
  Volume         = {12},
  Number         = {2},
  Pages          = {199--235},
  doi            = {10.1007/s10515-005-6206-x},
  url            = {http://l3d.cs.colorado.edu/~gerhard/papers/J-ASE-final.pdf},
  year           = 2005
}

@TechReport{Oder04a,
  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         = {64},
  Address        = {1015 Lausanne, Switzerland},
  year           = 2004
}

@Article{Horw91a,
  Author         = {Susan Horwitz and Thomas Reps},
  Title          = {Efficient comparison of program slices},
  Journal        = {Acta Informatica},
  Volume         = {28},
  Pages          = {713-732},
  year           = 1991
}

@Book{Ben95a,
  Author         = {Ron Ben-Natan},
  Title          = {Corba},
  Publisher      = {McGraw-Hill},
  isbn           = {0-07-005427-4},
  keywords       = {corba scglib},
  year           = 1995
}

@Book{Holt83a,
  Author         = {Richard Holt},
  Title          = {Concurrent Euclid, the {UNIX} system, and {TUNIS}},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {plang euclid},
  year           = 1983
}

@TechReport{Pier92a,
  Author         = {Benjamin C. Pierce},
  Title          = {F-Omega-Sub User's Manual Version 1.0},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {Documentation},
  keywords       = {types f-omega binder},
  month          = oct,
  year           = 1992
}

@TechReport{Gira92b,
  Author         = {Rosario Girardi},
  Title          = {Application Engineering: Putting Reuse to Work},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg of92},
  month          = jul,
  pages          = {137-149},
  year           = 1992
}

@InProceedings{Yode01a,
  Author         = {Joseph Yoder and Federico Balaguer and Ralph Johnson},
  Title          = {Architecture and Design of Adaptive Object Models},
  BookTitle      = {Conference on Object-Oriented Programming Systems,
                   Languages, and Applications (OOPSLA '01)},
  Pages          = {50-60},
  year           = 2001
}

@Article{Berg07e,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz and Roel Wuyts},
  Title          = {Stateful Traits and their Formalization},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Note           = {To appear},
  abstract       = {Traits offer a fine-grained mechanism to compose
                   classes from reusable components while avoiding
                   problems of fragility brought by multiple inheritance
                   and mixins. Traits as originally proposed are
                   stateless, that is, they contain only methods, but no
                   instance variables. State can only be accessed within
                   stateless traits by accessors, which become required
                   methods of the trait. Although this approach works
                   reasonably well in practice, it means that many traits,
                   viewed as software components, are artificially
                   \emph{incomplete}, and classes that use such traits may
                   contain significant amounts of boilerplate glue code.
                   We present an approach to stateful traits that is
                   faithful to the guiding principle of stateless traits:
                   the client retains control of the composition. Stateful
                   traits consist of a minimal extension to stateless
                   traits in which instance variables are purely local to
                   the scope of a trait, unless they are explicitly made
                   accessible by the composing client of a trait. We
                   demonstrate by means of a formal object calculus that
                   adding state to traits preserves the flattening
                   property: traits contained in a program can be compiled
                   away. We discuss and compare two implementation
                   strategies, and briefly present a case study in which
                   stateful traits have been used to refactor the
                   trait-based version of the Smalltalk collection
                   hierarchy.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2007.05.003},
  keywords       = {stefPub scg-pub jb07 snf06 inprint},
  publisher      = {Elsevier},
  year           = 2007
}

@PhdThesis{Laff92a,
  Author         = {Chris Laffra},
  Title          = {{PROCOL} --- {A} Concurrent Object Language with
                   Protocols, Delegation, Persistence and Constraints},
  School         = {Erasmus University of Rotterdam},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl procol concurrency binder (shelf)},
  month          = may,
  year           = 1992
}

@InProceedings{Rich02f,
  Author         = {Debbie Richards and Kathrin B{\"o}ttger},
  Title          = {Representing {Requirements} in {Natural} {Language} as
                   {Concept} {Lattices}},
  BookTitle      = {Proceedings of the 22nd Annual International
                   Conference of the British Computer Society's Specialist
                   Group on Artificial Intelligence (ES2002)},
  Address        = {Cambridge},
  Publisher      = {Springer Verlag},
  keywords       = {fca},
  month          = dec,
  year           = 2002
}

@InProceedings{Ages94a,
  Author         = {Ole Agesen and David Ungar},
  Title          = {Sifting Out the Gold --- Delivering Compact
                   Applications from an Exploratory Object-Oriented
                   Programming Environment},
  BookTitle      = {Proceedings OOPSLA '94},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  year           = 1994
}

@InProceedings{Male02a,
  Author         = {Jonathan I. Maletic and Andrian Marcus and Michael
                   Collard},
  Title          = {A Task Oriented View of Software Visualization},
  BookTitle      = {Proceedings of the 1st Workshop on Visualizing
                   Software for Understanding and Analysis (VISSOFT 2002)},
  Pages          = {32-40},
  Publisher      = {IEEE},
  keywords       = {visualization},
  month          = jun,
  year           = 2002
}

@Proceedings{Barb96a,
  Title          = {Distributed Computing Systems},
  Editor         = {Mario Barbacci and Vicent Y.Shen},
  Address        = {Hong Kong},
  Publisher      = {IEEE},
  booktitle      = {Proceedings of the 16th International Conference on
                   Distributed Computing Systems},
  isbn           = {0-8186-7399-0},
  keywords       = {distributed scglib},
  month          = may,
  year           = 1997
}

@InCollection{Duca05a,
  Author         = {St\'ephane Ducasse and Tudor G\^irba and Michele Lanza
                   and Serge Demeyer},
  Title          = {Moose: a Collaborative and Extensible Reengineering
                   Environment},
  BookTitle      = {Tools for Software Maintenance and Reengineering},
  Publisher      = {Franco Angeli},
  Series         = {RCOST / Software Technology Series},
  Pages          = {55-71},
  Address        = {Milano},
  abstract       = {Software systems are complex and difficult to analyze.
                   Reverse engineering is a complex analysis that usually
                   involves combining different techniques and tools.
                   Moreover, oftentimes the existing tools are not
                   perfectly suitable for the task, and customization of
                   existing tools, or development of new tools is
                   required. Moose is an extensible reengineering
                   environment designed to provide the necessary
                   infrastructure for tool integration. Moose centers on a
                   language independent meta-model, and offers services
                   like grouping, querying, navigation, and advanced tool
                   integration mechanism.},
  annote         = {articlebook},
  isbn           = {88-464-6396-X},
  keywords       = {moose-pub scg-pub skipdoi jb05 recast05 stefPub
                   jointERCIM girba},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05aMooseBookChapter.pdf},
  year           = 2005
}

@Article{Bour78a,
  Author         = {S.R. Bourne},
  Title          = {The {UNIX} Shell},
  Journal        = {Bell System Technical Journal},
  Volume         = {57},
  Number         = {6 (part 2)},
  Pages          = {1971-1990},
  misc           = {July-August},
  month          = jul,
  year           = 1978
}

@InProceedings{Ferb88b,
  Author         = {Jacques Ferber},
  Title          = {Conceptual reflection and actor languages},
  BookTitle      = {Meta-level Architectures and Reflection},
  Editor         = {North-Holland, P. Maes and D. Nardi},
  Pages          = {177-193},
  year           = 1988
}

@InProceedings{Foot97b,
  Author         = {Brian Foote and Joseph W. Yoder},
  Title          = {{Big} {Ball} of {Mud}},
  BookTitle      = {Proceedings of PLoP '97},
  annote         = {reengpat},
  year           = 1997
}

@InProceedings{Murp95a,
  Author         = {G. Murphy and D. Notkin and K. Sullivan},
  Title          = {Software Reflexion Models: Bridging the gap between
                   Source and High-Level Models},
  BookTitle      = {Proceedings of SIGSOFT '95, Third ACM SIGSOFT
                   Symposium on the Foundations of Software Engineering},
  Pages          = {18-28},
  Publisher      = {ACM Press},
  year           = 1995
}

@InProceedings{Magn93b,
  Author         = {M. Magnan and C. Oussalah},
  Title          = {Object Evolution},
  BookTitle      = {Proceeding of the 5th International Conference on
                   Sotware Engineering and Knowledge Engineering},
  Pages          = {546-553},
  Address        = {San Francisco},
  year           = 1993
}

@InProceedings{Dage98a,
  Author         = {Michel Dagenais and Ettore Merlo and Bruno Lagu{\"e}
                   and Daniel Proulx},
  Title          = {Clones Occurrence in Large Object Oriented Software
                   Packages},
  BookTitle      = {Proceedings of CASCON 1998},
  Pages          = {192-200},
  location       = {Toronto, Ontario, Canada},
  year           = 1998
}

@InProceedings{Crew97a,
  Author         = {Roger F. Crew},
  Title          = {ASTLOG: A Language for Examining Abstract Syntax Trees},
  BookTitle      = {Proceedings of the USENIX Conference on
                   Domain-Specific Languages},
  year           = 1997
}

@Book{Krug00a,
  Author         = {Steve Krug},
  Title          = {Don't make me think! A Common Sense Approach to Web
                   Usability},
  Publisher      = {New Riders Publishing},
  Address        = {Indiana, United States},
  isbn           = {0-7897-2310-7},
  keywords       = {binder(shelf) book scglib},
  year           = 2000
}

@InProceedings{Hond88a,
  Author         = {Yasuaki Honda and Akinori Yonezawa},
  Title          = {Debugging Concurrent Systems Based on Object Groups},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {267-282},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@InProceedings{Nier02a,
  Author         = {Oscar Nierstrasz and Gabriela Ar{\'e}valo and
                   St{\'e}phane Ducasse and Roel Wuyts and Andrew Black
                   and Peter M{\"u}ller and Christian Zeidler and Thomas
                   Genssler and Reinier van den Born},
  Title          = {A Component Model for Field Devices},
  BookTitle      = {Proceedings First International IFIP/ACM Working
                   Conference on Component Deployment},
  Pages          = {200-209},
  Address        = {Berlin, Germany},
  Publisher      = {ACM},
  abstract       = { Component-based software development is becoming
                   mainstream for conventional applications. However,
                   components can be difficult to deploy in embedded
                   systems because of non-functional requirements. Pecos
                   is a collaborative project between industrial and
                   research partners that seeks to enable component-based
                   technology for a class of embedded systems known as
                   field devices. In this paper we introduce a component
                   model for field devices that captures a range of
                   non-functional properties and constraints. We report on
                   the current status of Pecos, including the Pecos
                   composition language, language mappings to {Java} and
                   C++, and industrial case studies.},
  annote         = {internationalconference},
  keywords       = {scg-pub skipdoi jb02 pecos stefPub arevalo},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier02aPecosModel.pdf},
  year           = 2002
}

@InProceedings{Hill00a,
  Author         = {T. Hill and J. Noble and J. Potter},
  Title          = {Scalable Visualisations with Ownership Trees},
  BookTitle      = {Proceedings of TOOLS '00},
  month          = jun,
  year           = 2000
}

@Book{Nobl99a,
  Author         = {James Noble and Antero Taivalsaari and Ivan Moore},
  Title          = {Prototype-Based Programming},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 1999
}

@Misc{Python,
  Title          = {Python},
  Note           = {http://www.python.org},
  key            = {Python}
}

@InProceedings{Denk07a,
  Author         = {Marcus Denker and St\'ephane Ducasse},
  Title          = {Software Evolution from the Field: an Experience
                   Report from the {Squeak} Maintainers},
  BookTitle      = {Proceedings of the ERCIM Working Group on Software
                   Evolution (2006)},
  Volume         = {166},
  Series         = {Electronic Notes in Theoretical Computer Science},
  Pages          = {81-91},
  abstract       = {Over the last few years, we actively participated in
                   the maintenance and evolution of Squeak, an open-source
                   Smalltalk. The community is constantly faced with the
                   problem of enabling changes while at the same time
                   preserving compatibility. In this paper we describe the
                   current situation, the problems that faced the
                   community and we outline the solutions that have been
                   put in place. We also identify some areas where
                   problems continue to exist and propose these as
                   potential problems to addressed by the research
                   community.},
  annote         = {internationalworkshop},
  doi            = {http://dx.doi.org/10.1016/j.entcs.2006.08.003},
  keywords       = {stefPub scg-pub snf06 recast06 jb07},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Denk07aErcimEvolutionSqueak.pdf},
  year           = 2007
}

@TechReport{Weih82a,
  Author         = {W. Weihl and Barbara Liskov},
  Title          = {Specification and Implementation of Resilient Atomic
                   Data Types},
  Institution    = {MIT Department of EE and CS},
  Type           = {Computation Structures Group Memo},
  Number         = {#223},
  keywords       = {olit-oopl argus reliability},
  month          = dec,
  year           = 1982
}

@Article{Lewi04a,
  Author         = {J. Lewis and Ruth Rosenholtz and Nickson Fong and
                   Ulrich Neumann},
  Title          = {{VisualIDs}: automatic distinctive icons for desktop
                   interfaces},
  Journal        = {ACM Transactions on Graphics},
  Volume         = 23,
  Number         = 3,
  Pages          = {416--423},
  month          = aug,
  year           = 2004
}

@InProceedings{Jerd97c,
  Author         = {Dean Jerding and Spencer Rugaber},
  Title          = {{Using} {Visualization} for {Architectural}
                   {Localization} and {Extraction}},
  BookTitle      = {Proceedings WCRE},
  Pages          = {56-65},
  Publisher      = {IEEE},
  year           = 1997
}

@Book{Niel00a,
  Author         = {Jakob Nielsen},
  Title          = {Designing Web Usability},
  Publisher      = {New Riders},
  keywords       = {oorp scglib},
  year           = 2000
}

@InProceedings{Marc03b,
  Author         = {Andrian Marcus and Jonathan Maletic},
  Title          = {Recovering Documentation-to-Source-Code Traceability
                   Links using Latent Semantic Indexing},
  BookTitle      = {Proceedings of the 25th International Conference on
                   Software Engineering (ICSE 2003)},
  Pages          = {125--135},
  keywords       = {lsi},
  month          = may,
  year           = 2003
}

@Misc{ParcPlace98,
  Title          = {VisualWorks 3.0 Application Developer's Guide},
  Note           = {ParcPlace Division},
  key            = {ParcPlace98},
  year           = 1998
}

@Misc{JDI,
  Title          = {Java Debug Interface (JDI)},
  Note           = {http://java.sun.com/{\-}j2se/1.4.2/docs/{\-}jguide/jpda/{\-}jarchitecture.html},
  key            = {JDI}
}

@InProceedings{Duco87a,
  Author         = {R. Ducournau and Michel Habib},
  Title          = {On Some Algorithms for Multiple Inheritance in
                   Object-Oriented Programming},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {243-252},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Book{Plot00a,
  Editor         = {Gordon Plotkin, Colin Stirling and Mads Tofte},
  Title          = {Proof, Language and Interaction},
  Publisher      = {The MIT Press},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{Zaid04a,
  Author         = {A. Zaidman and S. Demeyer},
  Title          = {Managing trace data volume through a heuristical
                   clustering process based on event execution frequency},
  BookTitle      = {Proceedings IEEE European Conference on Software
                   Maintenance and Reengineering (CSMR 2004)},
  Pages          = {329-338},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {reengineering},
  month          = mar,
  year           = 2004
}

@Book{Burk97b,
  Author         = {Rainer Burkhardt},
  Title          = {{UML}-Unified Modeling Language},
  Publisher      = {Addison Wesley},
  isbn           = {3-8273-1226-4},
  keywords       = {uml design scglib},
  year           = 1997
}

@InProceedings{Clar98a,
  Author         = {David G. Clarke and John M. Potter and James Noble},
  Title          = {Ownership types for flexible alias protection},
  BookTitle      = {Proceedings OOPSLA '98},
  Pages          = {48-64},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/286936.286947},
  isbn           = {1-58113-005-8},
  location       = {Vancouver, British Columbia, Canada},
  year           = 1998
}

@InProceedings{Hedi03a,
  Author         = {G{\"o}rel Hedin and Lars Bendix and Boris Magnusson},
  Title          = {Introducing Software Engineering by means of Extreme
                   Programming},
  BookTitle      = {Proceedings of ICSE 2003 (International Conference on
                   Software Engineering},
  Pages          = {586-593},
  Publisher      = {IEEE Computer Society Press},
  year           = 2003
}

@InProceedings{Wirf88b,
  Author         = {Rebecca Wirfs-Brock},
  Title          = {An Integrated Color {Smalltalk}-80 System},
  BookTitle      = {Proceedings OOPSLA '88},
  Pages          = {71-82},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Girb05a,
  Author         = {Tudor G\^irba and Michele Lanza and St\'ephane Ducasse},
  Title          = {Characterizing the Evolution of Class Hierarchies},
  BookTitle      = {Proceedings of 9th European Conference on Software
                   Maintenance and Reengineering (CSMR'05)},
  Pages          = {2--11},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Analyzing historical information can show how a
                   software system evolved into its current state, which
                   parts of the system are stable and which have changed
                   more. However, historical analysis implies processing a
                   vast amount of information making the interpretation of
                   the results difficult. To address this issue, we
                   introduce the notion of the history of source code
                   artifacts as a first class entity and define
                   measurements which summarize the evolution of such
                   entities. We use these measurements to define rules by
                   which to detect different characteristics of the
                   evolution of class hierarchies. Furthermore, we discuss
                   the results we obtained by visualizing them using a
                   polymetric view. We apply our approach on two large
                   open source case studies and classify their class
                   hierarchies based on their history.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2005.15},
  keywords       = {scg-pub evolution visualization van recast05 girba
                   stefPub jb05 moose-pub},
  misc           = {acceptance rate: 33/81 = 41 \%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb05aHierarchiesEvolution.pdf},
  year           = 2005
}

@Article{Elli80a,
  Author         = {Clarence Ellis and Gary J. Nutt},
  Title          = {Computer Science and Office Information Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {12},
  Number         = {1},
  Pages          = {27-60},
  keywords       = {oislit survey},
  month          = mar,
  year           = 1980
}

@InProceedings{Biem95a,
  Author         = {J.M. Bieman and B.K. Kang},
  Title          = {Cohesion and Reuse in an Object-Oriented System},
  BookTitle      = {Proceedings ACM Symposium on Software Reusability},
  keywords       = {olit},
  month          = apr,
  year           = 1995
}

@TechReport{Ahls84b,
  Author         = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan
                   Britts and Christer Hult\'en and Lars S{\"o}derlund},
  Title          = {Making Type Changes Transparent},
  Institution    = {University of Stockholm},
  Type           = {Syslab report},
  Number         = {#22},
  keywords       = {types other},
  month          = feb,
  year           = 1984
}

@Unpublished{Gepp92a,
  Author         = {Andreas Geppert and Klaus Dittrich},
  Title          = {Constructing the Next 100 Database Management Systems:
                   Like the Handyman or Like the Engineer?},
  Note           = {Universit{\"a}t Z{\"u}rich},
  keywords       = {olit-db binder},
  month          = nov,
  type           = {draft},
  year           = 1992
}

@InProceedings{Kosc99a,
  Author         = {R. Koschke},
  Title          = {An Incremental Semi-Automatic Method for Component
                   Recovery},
  BookTitle      = {Working Conference on Reverse Engineering},
  Pages          = {256-},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/koschke99incremental.html},
  year           = 1999
}

@Book{Diko92a,
  Author         = {Marc Dik{\"o}tter},
  Title          = {Le Calcul des Accepteurs: Une Approache Uniforme de
                   l'Abstraction},
  Publisher      = {Ecole Polytechnique F\'ed\'erale de Lausanne (EPFL)},
  keywords       = {olit-oopl gee binder (shelf)},
  year           = 1992
}

@Unpublished{Sang92c,
  Author         = {Davide Sangiorgi},
  Title          = {From $pi$-calculus to Higher-Order $\pi$-calculus ---
                   and back},
  Note           = {Computer Science Dept., University of Edinburgh},
  keywords       = {pcalc mobility hopi pi ccs binder},
  type           = {draft manuscript},
  year           = 1992
}

@TechReport{Sand96a,
  Author         = {Georg Sander},
  Title          = {Graph Layout for Applications in Compiler Construction},
  Institution    = {Universitaet des Saarlandes},
  month          = feb,
  year           = 1996
}

@MastersThesis{Heal92a,
  Author         = {Healey, C. G.},
  Title          = {Visualization of Multivariate Data Using Preattentive
                   Processing},
  School         = {Department of Computer Science, University of Bristish
                   Columbia},
  year           = 1992
}

@Book{Flan99c,
  Author         = {David Flanagan and Jim Farley and William Crawford and
                   Kris Magnusson},
  Title          = {Java Enterprise In {A} Nutshell},
  Publisher      = {O'Reilly},
  keywords       = {scglib olit},
  year           = 1999
}

@Article{Char06a,
  Author         = {Kaushal Chari and Alan Hevner},
  Title          = {System Test Planning of Software: An Optimization
                   Approach},
  Journal        = {IEEE Transactions on Software Enginering},
  Volume         = {32},
  Number         = {07},
  Pages          = {503-5099},
  address        = {Los Alamitos, CA, USA},
  publisher      = {IEEE Computer Society},
  year           = 2006
}

@InProceedings{Smit00b,
  Author         = {Frederick Smith and David Walker and J. Gregory
                   Morrisett},
  Title          = {Alias Types},
  BookTitle      = {ESOP '00: Proceedings of the 9th European Symposium on
                   Programming Languages and Systems},
  Pages          = {366-381},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-67262-1},
  keywords       = {nonstandard types},
  url            = {http://www.it-c.dk/people/birkedal/teaching/rar-seminar-Fall-2001/papers/alias.ps.gz},
  year           = 2000
}

@InProceedings{Coll93a,
  Author         = {P. Collette},
  Title          = {Application of the Composition Principle to Unity-Like
                   Specifications},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {230-242},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@Article{Kopp96a,
  Author         = {Rainer Koppler},
  Title          = {A Systematic Approach to Fuzzy Parsing},
  Journal        = {Software: Practice and Experience},
  Volume         = {27},
  Number         = {6},
  Pages          = {637-649},
  year           = 1996
}

@InProceedings{Naye94a,
  Author         = {Farshad Nayeri and Ben Hurwitz and Frank Manola},
  Title          = {Generalizing Dispatching in a Distributed Object
                   System},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {450-473},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Article{Keme95a,
  Author         = {Chris F. Kemerer},
  Title          = {Empirical Research on Software Complexity and Software
                   Maintenance},
  Journal        = {Annals of Software Engineering},
  Volume         = {1},
  Number         = {1},
  Pages          = {1--22},
  year           = 1995
}

@InProceedings{Roba00a,
  Author         = {S\'ebastien Robitaille and Reinhard Schauer and Rudolf
                   K. Keller},
  Title          = {Bridging Program Comprehension Tools by Design
                   Navigation},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM'00)},
  year           = 2000
}

@Article{Duca06g,
  Author         = {St\'ephane Ducasse and Serge Stinckwich},
  Title          = {Seaside: d\'evelopper des composants r\'eutilisables},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 88,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = nov,
  year           = 2006
}

@InCollection{McCa92a,
  Author         = {Gordon McCalla and Jim Greer and Bryce Barrie and Paul
                   Pospisel},
  Title          = {Granularity Hierarchies},
  BookTitle      = {Semantic Networks in Artificial Intelligence},
  Publisher      = {Pergamon Press},
  Editor         = {Fritz Lehmann},
  Pages          = {363-375},
  Address        = {Oxford},
  year           = 1992
}

@Book{Monn93a,
  Author         = {Frieder Monninger},
  Title          = {Eiffel: Objektorientiertes Programmieren in der Praxis},
  Publisher      = {HEISE},
  isbn           = {3-88229-028-5},
  keywords       = {eiffel olit-oopl oobib(oopl) book},
  year           = 1993
}

@Book{Siob05,
  Author         = {Siobh\'{a}n Clarke and Elisa Baniassad},
  Title          = {Aspect-Oriented Analysis and Design. The Theme
                   Approach.},
  Publisher      = {Addison-Wesley},
  isbn           = {0-321-24674-8},
  year           = 2005
}

@Article{Brac88a,
  Author         = {R.J. Brachman},
  Title          = {The Basics of Knowledge Representation and Reasoning},
  Journal        = {AT\&T Technical Journal},
  Volume         = {67},
  Number         = {1},
  Pages          = {7-24},
  keywords       = {misc knowrep},
  month          = jan,
  year           = 1988
}

@InCollection{Wall96a,
  Author         = {Ake Wallin and Simon Moser and Alfred Graber},
  Title          = {Wiederverwendung mit {Smalltalk} in Client/Server
                   Applikationen},
  BookTitle      = {INFORMATIK, Zuerich},
  Publisher      = {SVI/FSI},
  keywords       = {olit toBeChecked jb95},
  month          = feb,
  year           = 1996
}

@Article{Jong86a,
  Author         = {Peter de Jong},
  Title          = {Compilation into Actors},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {68-77},
  keywords       = {concurrency messages actors scripter oopws86},
  month          = oct,
  year           = 1986
}

@TechReport{Lieb99a,
  Author         = {Karl Lieberherr and David~H. Lorenz and Mira Mezini},
  Title          = {Programming with Aspectual Components},
  Institution    = {College of Computer Science, Northeastern University},
  Number         = {NU-CCS-99-01},
  Address        = {Boston, MA 02115},
  month          = mar,
  url            = {http://www.ccs.neu.edu/home/lorenz/papers/reports/NU-CCS-99-01.html},
  year           = 1999
}

@InProceedings{Lea95a,
  Author         = {Doug Lea and Jos Marlowe},
  Title          = {Interface-Based Protocol Specification of Open Systems
                   using {PSL}},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {374-398},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Alab88a,
  Author         = {Bruno Alabiso},
  Title          = {Transformation of Data Flow Analysis Models to
                   Object-Oriented Design},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {335-354},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Deme80a,
  Author         = {A.J. Demers and Jim Donahue},
  Title          = {''Type-Completeness'' as a Language Principle},
  BookTitle      = {Proceedings, POPL 80},
  Pages          = {234-244},
  keywords       = {types fp tfc russell popl80},
  year           = 1980
}

@Article{Duca01w,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: Un smalltalk open-source d\'etonnant},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 33,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@InProceedings{Norm92a,
  Author         = {Veronique Normand and Jo\"elle Coutaz},
  Title          = {Unifying the Design and Implementation of User
                   Interfaces through the Object Paradigm},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Series         = {LNCS 615},
  Pages          = {153-169},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Buec00a,
  Author         = {Martin B\"uchi and Wolfgang Weck},
  Title          = {Generic Wrappers},
  BookTitle      = {{ECOOP 2000, 14th European Conference on
                   Object-Oriented Programming}},
  Editor         = {Elisa Bertino},
  Volume         = 1850,
  Series         = {LNCS},
  Pages          = {201-225},
  Publisher      = {Springer-Verlag},
  year           = 2000
}

@InProceedings{Rays98a,
  Author         = {Derek Rayside and Scott Kerr and Kostas Kontogiannis},
  Title          = {Change and Adaptive Maintenance Detection in {Java}
                   Software Systems},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {10-19},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  url            = {citeseer.ist.psu.edu/article/rayside98change.html},
  year           = 1998
}

@Book{Krie92a,
  Editor         = {B. Krieg-Bruckner},
  Title          = {Proceedings {ESOP}'92},
  Publisher      = {Springer-Verlag},
  Volume         = {582},
  Series         = {LNCS},
  Address        = {Rennes, France},
  isbn           = {3-540-55253-7},
  keywords       = {olit esop92 scglib},
  month          = feb,
  year           = 1992
}

@TechReport{Romp06b,
  Author         = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer},
  Title          = {Improving Test Code Reviews with Metrics: a Pilot
                   Study},
  Institution    = {Lab On Re-Engineering, University Of Antwerp},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:27:08 +0100},
  year           = 2006
}

@InProceedings{Robi03a,
  Author         = {M. Robillard and G. Murphy},
  Title          = {FEAT: A tool for locating, describing, and analyzing
                   concerns in source code},
  BookTitle      = {Proceedings of 25th International Conference on
                   Software Engineering},
  Pages          = {822-823},
  month          = {may},
  year           = 2003
}

@Article{Born86a,
  Author         = {Alan Borning and Robert Duisberg},
  Title          = {Constraint-Based Tools for Building User Interfaces},
  Journal        = {ACM Transactions on Computer Graphics},
  Volume         = {5},
  Number         = {4},
  Pages          = {345-374},
  keywords       = {uilit},
  month          = oct,
  year           = 1986
}

@Article{Furu82a,
  Author         = {R. Furuta and J. Scofield and Alan Shaw},
  Title          = {Document Formatting Systems: Survey, Concepts and
                   Issues},
  Journal        = {ACM Computing Surveys},
  Volume         = {14},
  Number         = {3},
  Pages          = {417-472},
  keywords       = {misc documents formatting},
  month          = sep,
  year           = 1982
}

@Book{Goos94a,
  Author         = {Michael Goossens and Frank Mittelbach and Alexander
                   Samarin},
  Title          = {The Latex Companion},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-54199-8},
  keywords       = {scglib},
  year           = 1994
}

@Book{Tsic90c,
  Editor         = {D. Tsichritzis},
  Title          = {Object Management},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg om90 book scglib},
  month          = jul,
  year           = 1990
}

@Article{Huan06a,
  Author         = {Gang Huang and Hong Mei and Fu-Qing Yang},
  Title          = {Runtime Recovery and Manipulation of Software
                   Architecture of Component-Based Systems},
  Journal        = {Automated Software Engineering},
  Volume         = {13},
  Number         = {2},
  Pages          = {257--281},
  address        = {Hingham, MA, USA},
  doi            = {http://dx.doi.org/10.1007/s10515-006-7738-4},
  issn           = {0928-8910},
  publisher      = {Kluwer Academic Publishers},
  year           = 2006
}

@InProceedings{McHa92a,
  Author         = {Ciaran McHale and Bridget Walsh and Se\'an Baker and
                   Alexis Donnelly},
  Title          = {Scheduling Predicates},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {177-193},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  url            = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-91-24.ps.gz},
  year           = 1992
}

@Article{Eick93a,
  Author         = {Christoph F. Eick and Bogdan Czejdo},
  Title          = {Reactive rules for {C++}},
  Journal        = {JOOP},
  Volume         = {6},
  Number         = {6},
  Pages          = {56-62},
  month          = oct,
  year           = 1993
}

@Article{Baud05a,
  Author         = {Benoit Baudry and Franck Fleurey and Jean-Marc
                   J{\'e}z{\'e}quel and Yves Le Traon},
  Title          = {Automatic Test Case Optimization: A Bacteriologic
                   Algorithm.},
  Journal        = {IEEE Software},
  Volume         = {22},
  Number         = {2},
  Pages          = {76-82},
  year           = 2005
}

@Article{Duca01s,
  Author         = {Ducasse, St\'ephane},
  Title          = {Squeak: Introspection Zork},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 37,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@InProceedings{Hamo04a,
  Author         = {A. Hamou-Lhadj and T. Lethbridge},
  Title          = {A Survey of Trace Exploration Tools and Techniques},
  BookTitle      = {Proceedings IBM Centers for Advanced Studies
                   Conferences (CASON 2004)},
  Pages          = {42--55},
  Address        = {Indianapolis IN},
  Publisher      = {IBM Press},
  keywords       = {Dynamic Analysis},
  location       = {Toronto},
  year           = 2004
}

@InProceedings{Mill86a,
  Author         = {Michael S. Miller and Howard Cunningham and Chan Lee
                   and Steven R. Vegdahl},
  Title          = {The Application Accelerator Illustration System},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {294-302},
  keywords       = {olit-appl aais smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Hurs96a,
  Author         = {W. H{\"u}rsch and L. Seiter},
  Title          = {Automating the Evolution of Object-Oriented Systems},
  BookTitle      = {Proceedings of ISOTAS '96},
  Volume         = 1049,
  Series         = {LNSC},
  Pages          = {2-21},
  Address        = {Japan},
  Organization   = {JSSST-JAIST},
  Publisher      = {Springer-Verlag},
  month          = mar,
  year           = 1996
}

@TechReport{Dam88a,
  Author         = {Mads Dam},
  Title          = {Relevance Logic and Concurrent Composition},
  Institution    = {Computer Society Press},
  Type           = {Proc. 3rd Annual Symposium on Logic in Computer
                   Science},
  Address        = {Edinburgh},
  keywords       = {pcalc ccs binder (shelf)},
  month          = jul,
  pages          = {178-185},
  year           = 1988
}

@InProceedings{Abda86a,
  Author         = {S. Kamal Abdali and Guy W. Cherry and Neil Soiffer},
  Title          = {A {Smalltalk} System for Algebraic Manipulation},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Pages          = {277-283},
  keywords       = {olit-appl views smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Schi82a,
  Author         = {P. Schicker},
  Title          = {Naming and Addressing in a Computer-Based Mail
                   Environment},
  Journal        = {IEEE Trans on Communications},
  Volume         = {COM-30},
  Number         = {1},
  Pages          = {46-62},
  keywords       = {misc mail},
  month          = jan,
  year           = 1982
}

@Article{Abad96b,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {A theory of primitive objects: Untyped and first-order
                   systems},
  Journal        = {Information and Computation},
  Volume         = {125},
  Number         = {2},
  Pages          = {78-102},
  keywords       = {olit oobib(types) pisem},
  month          = mar,
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1996
}

@Article{Card00c,
  Author         = {Luca Cardelli and Andrew D. Gordon},
  Title          = {Mobile Ambients},
  Journal        = {TCS special issue on Coordination},
  Volume         = {240},
  Number         = {1},
  Note           = {To appear},
  editor         = {D. Le M{\'e}tayer},
  keywords       = {pcalc mobility ambients pisem},
  month          = jul,
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 2000
}

@TechReport{Pint89a,
  Author         = {Xavier Pintado and Dennis Tsichritzis},
  Title          = {Satellite: {A} Navigation Tool for Hypermedia},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg ood89},
  month          = jul,
  pages          = {61-73},
  year           = 1989
}

@InProceedings{Bato03a,
  Author         = {Don Batory and Jacob Neal Sarvela and Axel Rauschmayer},
  Title          = {Scaling step-wise refinement},
  BookTitle      = {Proceedings of the 25th international conference on
                   Software engineering},
  Pages          = {187-197},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1877-X},
  location       = {Portland, Oregon},
  year           = 2003
}

@InProceedings{Gall96a,
  Author         = {Erick Gall\'esio},
  Title          = {Designing a Meta Protocol to Wrap a Standard Graphical
                   Toolkit},
  BookTitle      = {Proceedings of ISOTAS '96, LNCS 1049},
  Pages          = {135-156},
  Organization   = {JSSST-JAIST},
  month          = mar,
  year           = 1996
}

@InProceedings{Ko04a,
  Author         = {Andrew J. Ko and Brad A. Myers},
  Title          = {Designing the whyline: a debugging interface for
                   asking questions about program behavior},
  BookTitle      = {Proceedings of the 2004 conference on Human factors in
                   computing systems},
  Pages          = {151-158},
  Publisher      = {ACM Press},
  url            = {http://doi.acm.org/10.1145/985692.985712},
  year           = 2004
}

@Article{Duca07a,
  Author         = {St\'ephane Ducasse and Adrian Lienhard and Lukas
                   Renggli},
  Title          = {Seaside - Dynamic Language Power for Web Development},
  Journal        = {IEEE Software},
  abstract       = {Nowadays, many complex applications are built with a
                   web browser as their main user interface. However,
                   despite the increasing popularity of the web as an
                   application platform, implementing and maintaining web
                   applications still remains difficult and lags behind
                   conventional desktop application development. The
                   underlying technologies such as HTTP for the
                   interaction and XHTML/CSS for the presentation were
                   originally built to display and link static documents.
                   Unfortunately, most mainstream frameworks provide only
                   little abstraction over the page-oriented structure
                   imposed by those technologies. Inevitably, the
                   goto-like manner of how pages are linked leads to
                   spaghetti code and hampers reuse. In this article we
                   present Seaside, a web application framework that
                   provides an uniform and pure object-oriented view on
                   web applications. In this way, Seaside avoids the
                   unwieldily goto-like style. Exploiting the reflective
                   features of Smalltalk, Seaside reintroduces procedure
                   call abstraction in the client-server context.
                   Seaside's key concepts are: (i) a component
                   architecture supporting multiple, simultaneously active
                   control flows, (ii) a programmatic XHTML generation,
                   and (iii) fully supported on-the-fly debugging,
                   code-editing, and recompilation. In this article we
                   discuss these key features of Seaside and explain how
                   they are made possible by the dynamic nature and the
                   reflective capabilities of Smalltalk.},
  annote         = {internationaljournal},
  keywords       = {scg-pub},
  year           = 2007
}

@Book{Wuyt05b,
  Author         = {Roel Wuyts},
  Title          = {Proceedings of the Dynamic Languages Symposium 2005},
  Publisher      = {ACM Digital Library},
  annote         = {book},
  isbn           = {1-59593-283-6},
  keywords       = {dynamic languages proceedings},
  year           = 2005
}

@InProceedings{Tran99a,
  Author         = {J. Tran and R. Holt},
  Title          = {Forward and Reverse Repair of Software Architecture},
  BookTitle      = {Proceedings of CASCON},
  month          = {nov},
  year           = 1999
}

@InProceedings{Rich98b,
  Author         = {Tamar Richner and St\'ephane Ducasse and Roel Wuyts},
  Title          = {Understanding Object-Oriented Programs with
                   Declarative Event Analysis},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Series         = {LNCS 1543},
  Publisher      = {Springer-Verlag},
  abstract       = {Understanding how components in an application
                   interact to ensure a certain functionality is an
                   essential aspect of understanding a software
                   application. To obtain this kind of information an
                   analysis of the dynamic behavior of an application is
                   more appropriate than a static analysis of the code.
                   Understanding dynamic behavior through event analysis
                   is a challenge because of the large amount of data
                   gathered through program executions. In this paper, we
                   show how we define declarative queries that allow us to
                   filter the event data collected and to define new
                   abstractions which aid in program understanding.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr scglit oobib scg-pub skipdoi
                   toBeChecked snf98 jb98 stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rich98bEvents.pdf},
  year           = 1998
}

@Book{Moss95c,
  Editor         = {Peter D. Moses and Mogens Nielsen},
  Title          = {Proceedings {TAPSOFT}'95},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 915},
  Address        = {Aarhus, Denmark},
  isbn           = {3-540-59293-8},
  keywords       = {olit tapsoft96 scglib},
  month          = may,
  year           = 1995
}

@InProceedings{Bull05a,
  Author         = {R. Ian Bull and Jean-Marie Favre},
  Title          = {Visualization in the Context of Model Driven
                   Engineering.},
  BookTitle      = {MDDAUI},
  Editor         = {Andreas Pleuss and Jan Van den Bergh and Heinrich
                   Hussmann and Stefan Sauer},
  Volume         = {159},
  Series         = {CEUR Workshop Proceedings},
  Publisher      = {CEUR-WS.org},
  url            = {http://dblp.uni-trier.de/db/conf/uml/mddaui2005.html#BullF05},
  year           = 2005
}

@Misc{Mote,
  Title          = {Processor Radio boards: Mote},
  Note           = {http://www.xbow.com/Products/Wireless\_Sensor\_Networks.htm},
  key            = {Mote},
  url            = {http://www.xbow.com/Products/Wireless_Sensor_Networks.htm}
}

@InProceedings{Kell00a,
  Author         = {Wolfgang Keller},
  Title          = {The Bridge to the New Town --- A Legacy System
                   Migration Pattern},
  BookTitle      = {Proceedings of EuroPLoP 2000},
  keywords       = {olit oorp},
  url            = {http://www.coldewey.com/europlop2000/papers.html},
  year           = 2000
}

@TechReport{ASN102a,
  Author         = {International Telecommunication Union},
  Title          = {Abstract Syntax Notation One ({ASN.1})},
  Institution    = {International Telecommunication Union},
  url            = {http://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf},
  year           = 2002
}

@Book{Fowl97b,
  Author         = {Martin Fowler},
  Title          = {Analysis Patterns: Reusable Objects Models},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-89542-0},
  keywords       = {olit patterns scglib oorp},
  year           = 1997
}

@Article{Doda89a,
  Author         = {Mahesh Dodani and Charles Hughes and Michael Moshell},
  Title          = {Separation of Powers},
  Journal        = {BYTE},
  Volume         = {14},
  Number         = {3},
  keywords       = {obib(gen) binder},
  month          = mar,
  year           = 1989
}

@TechReport{Cons91a,
  Author         = {Panos Constantopoulos and Martin D{\"o}rr and E.
                   Pataki and Eleni Petra and G. Spanoudakis and Yannis
                   Vassiliou},
  Title          = {The Software Information Base --- Selection Tool
                   Integrated Prototype},
  Institution    = {Foundation of Research and Technology --- Hellas},
  Type           = {ITHACA report},
  Number         = {FORTH.91.E2.3},
  Address        = {Iraklion, Crete},
  keywords       = {olit-ithaca sib},
  misc           = {Jan 12},
  month          = jan,
  year           = 1991
}

@Article{Henn85a,
  Author         = {Matthew Hennessy and Robin Milner},
  Title          = {Algebraic Laws for Nondeterminism and Concurrency},
  Journal        = {Journal of the ACM},
  Volume         = {32},
  Number         = {1},
  Pages          = {137-161},
  keywords       = {pcalc equivalence ccs binder(ccs)},
  month          = jan,
  year           = 1985
}

@Article{Fern06a,
  Author         = {Hilaire Fernandes and St\'ephane Ducasse},
  Title          = {Smalltalk: Le pouvoir et la simplicit\'e du tout objet},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 82,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = apr,
  year           = 2006
}

@Article{Deva91a,
  Author         = {P. Devanbu and R. Brachman and P. Selfridge and B.
                   Ballard},
  Title          = {LaSSIE: {A} Knowledge-Based Software Information
                   System},
  Journal        = {CACM},
  Volume         = {34},
  Number         = {5},
  Pages          = {34-49},
  keywords       = {olit},
  month          = may,
  year           = 1991
}

@Article{Miln84a,
  Author         = {Robin Milner},
  Title          = {A Complete Inference System for a Class of Regular
                   Behaviours},
  Journal        = {Journal of Computer and System Sciences},
  Volume         = {28},
  Pages          = {439-466},
  keywords       = {pcalc regular processes binder},
  publisher      = {Academic Press},
  year           = 1984
}

@Article{Malo94a,
  Author         = {Thomas W. Malone and Kevin Crowston},
  Title          = {The Interdisciplinary Study of Coordination},
  Journal        = {ACM Computing Surveys},
  Volume         = {26},
  Number         = {1},
  keywords       = {coordination olit},
  month          = mar,
  url            = {http://pound.mit.edu/ccswp/CCSWP157.ps},
  year           = 1994
}

@Book{Meye94a,
  Author         = {Bertrand Meyer},
  Title          = {Reusable Software: The Base Object-Oriented Components
                   Libraries},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-245499-8},
  keywords       = {olit-reuse book scglib},
  year           = 1994
}

@InProceedings{More94b,
  Author         = {A. Moreira and R. Clark},
  Title          = {Rigorous Object-Oriented Analysis},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {65-78},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{mernik05a,
  Author         = {Marjan Mernik and Jan Heering and Anthony M. Sloane},
  Title          = {When and how to develop domain-specific languages},
  Journal        = {ACM Comput. Surv.},
  Volume         = {37},
  Number         = {4},
  Pages          = {316--344},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/1118890.1118892},
  issn           = {0360-0300},
  publisher      = {ACM},
  year           = 2005
}

@Article{Stad82a,
  Author         = {R. Staden},
  Title          = {An Interactive Graphics Program for Comparing and
                   Aligning Nucleic Acid and Amino Acid Sequences},
  Journal        = {Nucleic Acids Research},
  Volume         = {10},
  Pages          = {2951-2961},
  keywords       = {dotplot},
  year           = 1982
}

@Article{Matt02a,
  Author         = {Friedemann Mattern},
  Title          = {Zur Evaluation der Informatik mittels bibliometrischer
                   Analyse},
  Journal        = {Informatik-Spektrum},
  Volume         = {25},
  Number         = {1},
  Pages          = {22--32},
  url            = {http://www.vs.inf.ethz.ch/publ/papers/bibliometro.pdf},
  year           = 2002
}

@InProceedings{Merr87a,
  Author         = {Thomas Merrow and Jane Laursen},
  Title          = {A Pragmatic System for Shared Persistent Objects},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {103-110},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Bido93a,
  Author         = {M. Bidoit and R. Hennicker},
  Title          = {A General Framework for Modular Implementations of
                   Modular System Specifications},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {199-214},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@TechReport{Lipp99a,
  Author         = {Martin Lippert and Cristina V. Lopes},
  Title          = {A Study on Exception Detection and Handling Using
                   Aspect-Oriented Programming},
  Institution    = {Xerox Parc Palo Alto},
  Type           = {Technical Report P9910229},
  Number         = {CSL-99-1},
  keywords       = {aspect},
  month          = dec,
  year           = 1999
}

@Article{Duca97e,
  Author         = {St\'ephane Ducasse},
  Title          = {Des techniques de contr\^ole de l'envoi de messages en
                   {Smalltalk}},
  Journal        = {Revue des Sciences et Technologies de l'Information
                   (RSTI) -- L'Objet},
  Volume         = {3},
  Number         = {4},
  Pages          = {355-377},
  annote         = {nationaljournal},
  keywords       = {olit famoos-papref scglit oobib scg-pub skip-pdf
                   skip-abstract skipdoi jb-none snf97 stefPub flo},
  publisher      = {Hermes, Paris},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca97eMessagePassing.pdf},
  year           = 1997
}

@Article{Gele92a,
  Author         = {David Gelernter and Nicholas Carriero},
  Title          = {Coordination Languages and their significance},
  Journal        = {Comm. ACM},
  Volume         = {35},
  Number         = {2},
  keywords       = {concurrency coordination},
  month          = feb,
  year           = 1992
}

@Book{Mull97b,
  Author         = {Pierre-Alain Muller},
  Title          = {Modelisation Object avec UML},
  Publisher      = {Eyrolles},
  isbn           = {2-212-08966-X},
  keywords       = {uml scglib},
  year           = 1997
}

@InProceedings{Lamp95a,
  Author         = {John Lamping and Ramana Rao and Peter Pirolli},
  Title          = {A {Focus} + {Context} {Technique} based on
                   {Hyperbolic} {Geometry} for {Visualising} {Large}
                   {Hierarchies}},
  BookTitle      = {Proceedings of CHI '95 (International Conference on
                   Human Factors in Computing Systems)},
  Publisher      = {ACM Press},
  location       = {Denver, Colorado, USA},
  year           = 1995
}

@InProceedings{Garl86a,
  Author         = {David Garlan},
  Title          = {Views for Tools in Integrated Environments},
  BookTitle      = {Proceedings of an International Workshop on Advanced
                   Programming Environments},
  Pages          = {314--343},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-17189-4},
  moth           = {June},
  year           = 1986
}

@InProceedings{Lehm98a,
  Author         = {Manny Lehman and Dewayne Perry and Juan Ramil},
  Title          = {Implications of Evolution Metrics on Software
                   Maintenance},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM'98)},
  Pages          = {208--217},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@Article{Eick01a,
  Author         = {Stephen Eick and Todd Graves and Alan Karr and J.
                   Marron and Audris Mockus},
  Title          = {Does Code Decay? Assessing the Evidence from Change
                   Management Data},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {27},
  Number         = {1},
  Pages          = {1-12},
  issn           = {0098-5589},
  publisher      = {IEEE Press},
  year           = 2001
}

@TechReport{Tich98z,
  Author         = {Sander Tichelaar and Juan Carlos Cruz and Serge
                   Demeyer},
  Title          = {Coordination as a Variability Aspect in Open
                   Distributed Systems},
  Institution    = {University of Bern},
  abstract       = {To deal with requirements such as distribution,
                   interoperability and evolution on rapidly evolving
                   platforms such as the World Wide Web, parts of
                   applications are increasingly packaged as components.
                   Encapsulating the coordination of these multiple
                   subsystems as generic components has proven difficult,
                   because typically coordination affects multiple
                   components and in open systems a whole set of other
                   requirements, such as interoperability and security,
                   must also be dealt with. We have investigated
                   coordination as a variability aspect of open
                   distributed systems and we present concrete solutions
                   and limitations designing coordination solutions as
                   components. Our observations will help developers to
                   separate coordination from computation and to develop
                   open solutions for coordination in distributed systems.},
  keywords       = {odp scg-wp sergedem-techrep tich-techrep coordination
                   components snf98 scg-coord-98},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~demeyer/Tich98z/
                   http://www.iam.unibe.ch/~tichel/Working/CoordVar.pdf
                   http://www.iam.unibe.ch/~tichel/Working/CoordVar.ps.gz},
  year           = 1998
}

@InProceedings{Corw03a,
  Author         = {John Corwin and David F. Bacon and David Grove and
                   Chet Murthy},
  Title          = {{MJ}: a rational module system for {Java} and its
                   applications},
  BookTitle      = {Proceedings of the 18th ACM SIGPLAN conference on
                   Object-oriented programing, systems, languages, and
                   applications},
  Pages          = {241-254},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/949305.949326},
  isbn           = {1-58113-712-5},
  keywords       = {module class extension},
  location       = {Anaheim, California, USA},
  year           = 2003
}

@Book{Bigg89a,
  Author         = {T.J. Biggerstaff and A.J. Perlis},
  Title          = {Software Reusability Volume {I}: Concepts and Models},
  Publisher      = {ACM Press \& Addison Wesley},
  Volume         = {I},
  Address        = {Reading, Mass.},
  isbn           = {0-201-08017-6},
  keywords       = {olit-reuse book scglib},
  year           = 1989
}

@Article{McCr76a,
  Author         = {Edward M. McCreight},
  Title          = {A Space-Economical Suffix Tree Construction Algorithm},
  Journal        = {JACM},
  Volume         = {23},
  Number         = {2},
  Pages          = {262-272},
  keywords       = {suffix-tree},
  month          = apr,
  year           = 1976
}

@InProceedings{Buxt80a,
  Author         = {J.N. Buxton and L.E. Druffel},
  Title          = {Rationale for {STONEMAN}},
  BookTitle      = {Proceedings IEEE COMPSAC '80},
  Pages          = {66-72},
  Address        = {Chicago},
  keywords       = {misc selit stoneman apse ada},
  month          = oct,
  year           = 1980
}

@Article{King97a,
  Author         = {Nelson King},
  Title          = {Overcoming the Object Onslaught},
  Journal        = {Internet Systems},
  keywords       = {olit repository abb},
  month          = apr,
  url            = {http://www.dbmsmag.com/9704i07.html},
  year           = 1997
}

@Article{Mens04a,
  Author         = {Tom Mens and Juan F. Ramil and Michael W. Godfrey},
  Title          = {Analyzing the Evolution of Large-Scale Software: Issue
                   Overview},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice},
  Volume         = {16},
  Number         = {6},
  Pages          = {363--365},
  issn           = {1532-060X},
  month          = nov,
  publisher      = {Wiley},
  year           = 2004
}

@InProceedings{Bear90a,
  Author         = {Stephen Bear and Phillip Allen and Derek Coleman and
                   Fiona Hayes},
  Title          = {Graphical Specification of Object-Oriented Systems},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {28-37},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Article{Sakk88a,
  Author         = {Markku Sakkinen},
  Title          = {Comments on the `Law of Demeter' and {C}++},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {23},
  Number         = {12},
  Pages          = {38-44},
  keywords       = {olit demeter binder},
  month          = dec,
  year           = 1988
}

@Book{Wirt83a,
  Author         = {Niklaus Wirth},
  Title          = {Programming in Modula-2},
  Publisher      = {Springer-Verlag},
  Address        = {Berlin},
  keywords       = {olit lang modula},
  year           = 1983
}

@TechReport{Duca01x,
  Author         = {St\'ephane Ducasse and Sander Tichelaar},
  Title          = {{FAMIX} {Smalltalk} language plug-in},
  Institution    = {University of Bern},
  Note           = {To appear},
  year           = 2001
}

@TechReport{Bern98a,
  Author         = {T. Berners-Lee and R. Fielding and U.C. Irvine and L.
                   Masinter},
  Title          = {{Uniform} {Resource} {Identifiers} ({URI}): Generic
                   Syntax},
  Institution    = {RFC 2396},
  Note           = {http://www.ietf.org/rfc/rfc2396.txt},
  month          = aug,
  year           = 1998
}

@Misc{Fortress,
  Title          = {The {Fortress} Language Specification},
  Note           = {http://re\-search.\-sun.\-com/pro\-jects/plrg/fort\-ress\-0866.pdf},
  key            = {fortress},
  url            = {http://research.sun.com/projects/plrg/fortress0866.pdf}
}

@Article{Buck05a,
  Author         = {Jim Buckley and Tom Mens and Matthias Zenger and Awais
                   Rashid and G\"unter Kniesel},
  Title          = {Towards a Taxonomy of Software Change},
  Journal        = {Journal on Software Maintenance and Evolution:
                   Research and Practice},
  Pages          = {309--332},
  keywords       = {evolution},
  year           = 2005
}

@Book{Kern76a,
  Author         = {B.W. Kernighan and P.J. Plauger},
  Title          = {Software Tools},
  Publisher      = {Addison Wesley, Inc.},
  Address        = {Reading, Mass.},
  keywords       = {misc unix},
  year           = 1976
}

@InCollection{Frol95a,
  Author         = {Svend Fr\/olund and Gul Agha},
  Title          = {Abstracting Interactions Based on Message Sets},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {107-124},
  abstract       = {An important requirement of programming languages for
                   distributed systems is to provide abstractions for
                   coordination. A common type of coordination requires
                   reactivity in response to arbitrary communication
                   patterns. We have developed a communication model in
                   which concurrent objects can be activated by sets of
                   messages. Specifically, our model allows direct and
                   abstract expression of common interaction patterns
                   found in concurrent systems. For example, the model
                   captures multiple clients that collectively invoke
                   shared servers as a single activation. Furthermore, it
                   supports definition of individual clients that
                   concurrently invoke multiple servers and wait for
                   subsets of the returned reply messages. Message sets
                   are dynamically defined using conjunctive and
                   disjunctive combinators that may depend on the patterns
                   of messages. The model subsumes existing models for
                   multi-RPC and multi-party synchronization within a
                   single, uniform activation framework.},
  keywords       = {olit OBM94-07},
  year           = 1995
}

@Article{Gybe06a,
  Author         = {Kris Gybels and Roel Wuyts and St\'{e}phane Ducasse
                   and Maja D'Hondt},
  Title          = {Inter-Language Reflection -- A Conceptual Model and
                   Its Implementation},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {32},
  Number         = {2-3},
  Pages          = {109-124},
  abstract       = {Meta programming is the act of reasoning about a
                   computational system. For example, a program in Prolog
                   can reason about a program written in Smalltalk.
                   Reflection is a more powerful form of meta programming
                   where the same language is used to reason about, and
                   act upon, itself in a causally connected way. Thus on
                   the one hand we have meta programming that allows
                   different languages or paradigms to be used, but
                   without causal connection, while on the other hand we
                   have reflection that offers causal connection but only
                   for a single language. This paper combines both and
                   presents inter-language reflection that allows one
                   language to reason about and change in a causally
                   connected way another language and vice versa. The
                   fundamental aspects of inter-language reflection and
                   the language symbiosis used therein, are discussed.
                   Moreover the implementation of two symbiotic reflective
                   languages is discussed: Agora/Java and SOUL/Smalltalk.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2005.10.003},
  keywords       = {stefPub decomp-pub},
  misc           = {SCI impact factor 0.467 (2005)},
  month          = jul,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gybe06aSymbioticReflectionESUGJournal.pdf},
  year           = 2006
}

@TechReport{Meye88a,
  Author         = {Bertrand Meyer},
  Title          = {Disciplined Exceptions},
  Institution    = {Interactive Software Engineering},
  Type           = {TR-EI-22/EX},
  Address        = {Goleta, CA},
  keywords       = {olit eiffel exceptions binder},
  year           = 1988
}

@InProceedings{Weer01a,
  Author         = {Sanjiva Weerawarana and Francisco Curbera and Matthew
                   J. Duftler and David A. Epstein and Joseph Kesselman},
  Title          = {Bean Markup Language: {A} Composition Language for
                   {JavaBeans} Components},
  BookTitle      = {Proceedings of the 6th {USENIX} Conference on
                   Object-Oriented Technologies and Systems ({COOTS}-01)},
  Pages          = {173-188},
  Address        = {Berkeley, California},
  Publisher      = {USENIX Association},
  month          = feb,
  year           = 2001
}

@TechReport{Meye05a,
  Author         = {Michael Meyer},
  Title          = {Merlin: A Continuous Integration Tool for
                   {VisualWorks}},
  Institution    = {University of Berne},
  Type           = {Informatikprojekt},
  abstract       = {A common problem in Software development is that
                   changes made by one person break the code of an other.
                   These bugs are difficult to find because the problem
                   doesn't belong to one persons area, it's in the
                   interaction of the two components. These kind of bugs
                   can stay undetected for weeks or months and the later
                   they are detected the more difficult it becomes to fix
                   them. With Continuous Integration these kind of bugs
                   can often be detected on the same day that they
                   manifest. This makes fixing the bug a lot easier since
                   the developers know where to look for the bug and they
                   still know why they introduced the changes that lead to
                   the bug. The target of Merlin is to provide a slim
                   Continuous Integration tool for Smal ltalk. Merlin was
                   designed to be extendable with custom plugins. The
                   author is of the opinion that a Continous Integration
                   tool only offers a real surplus if all repetitive and
                   mostly cumbersome tasks of the development process can
                   be handled by the tool. },
  keywords       = {snf-none scg-ip jb06},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Meye05aMerlin.pdf},
  year           = 2005
}

@InProceedings{Theod98a,
  Author         = {L. Theodoros and H.M. Edwards and A. Bryant and N.
                   Willis},
  Title          = {ROMEO: Reverse Engineering from OOSource COde to OMT
                   Design},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {191-200},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Vasc04a,
  Author         = {Aline Vasconcelos and Cl\'audia Werner},
  Title          = {Software Architecture Recovery based on Dynamic
                   Analysis},
  BookTitle      = {Proceedings of the 18th Brazilian Symposium on
                   Software Engineering},
  month          = oct,
  year           = 2004
}

@InProceedings{Oder00a,
  Author         = {Martin Odersky},
  Title          = {Functional Nets},
  BookTitle      = {Proc. European Symposium on Programming},
  Volume         = 1782,
  Series         = {LNCS},
  Pages          = {1-25},
  Publisher      = {Springer-Verlag},
  keywords       = {join calculus pisem},
  month          = mar,
  url            = {http://lampwww.epfl.ch/fn/},
  year           = 2000
}

@InProceedings{Ossh95a,
  Author         = {H. Ossher and M. Kaplan and W. Harrison and A. Katz
                   and V. Kruskal},
  Title          = {Subject-Oriented Composition Rules},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {235-250},
  year           = 1995
}

@Article{Arun92a,
  Author         = {S. Arun-Kumar and M. Hennessy},
  Title          = {An Efficiency Preorder for Processes},
  Journal        = {Acta Informatica},
  Volume         = {29},
  Number         = {8},
  Pages          = {737-760},
  month          = dec,
  year           = 1992
}

@Book{Holz90a,
  Author         = {Urs H{\"o}lzle and Bay-Wei Chang and Craig Chambers
                   and David Ungar},
  Title          = {The {SELF} Manual},
  Publisher      = {Computer Systems Laboratory of Stanfor University},
  keywords       = {obib(gen) book scglib},
  year           = 1991
}

@InProceedings{Lafo90b,
  Author         = {Yves Lafont},
  Title          = {Interaction Nets},
  BookTitle      = {Proceedings POPL '90},
  Pages          = {95-108},
  Address        = {San Francisco},
  keywords       = {linear-logic binder(visprog) popl90},
  misc           = {Jan 17-19},
  month          = jan,
  year           = 1990
}

@InCollection{Jenn96a,
  Author         = {Nicholas Jennings},
  Title          = {Coordination Techniques for Distributed Artificial
                   Intelligence},
  BookTitle      = {Foundations of Distributed Artificial Intelligence},
  Publisher      = {John Wiley \& Sons},
  Editor         = {G.M.P. O'Hare and N.R. Jennings},
  Pages          = {187-210},
  keywords       = {agents dai},
  year           = 1996
}

@Book{Broo75a,
  Author         = {Frederick P. Brooks},
  Title          = {The Mythical Man-Month},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-00650-2},
  keywords       = {misc book scglib oorp},
  year           = 1975
}

@TechReport{Mese92a,
  Author         = {Jos\'e Meseguer},
  Title          = {A Logical Theory of Concurrent Objects and its
                   Realization in the Maude Language},
  Institution    = {SRI International},
  Type           = {SRI-CSL-92-08},
  keywords       = {olit-obcl maude semantics binder (shelf)},
  month          = jul,
  year           = 1992
}

@InProceedings{Clif00a,
  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} 2000 Conference on Object-Oriented
                   Programming, Systems, Languages, and Applications},
  Pages          = {130-145},
  year           = 2000
}

@Article{Bos81a,
  Author         = {Jan van den Bos and R. Plasmeijer and Jan W.M. St},
  Title          = {Process Communication Based on Input Specifications},
  Journal        = {ACM TOPLAS},
  Volume         = {3},
  Number         = {3},
  Pages          = {224-250},
  keywords       = {uilit},
  month          = jul,
  year           = 1981
}

@Article{Thom89b,
  Author         = {Dave Thomas},
  Title          = {In Search of an Object-Oriented Development Process},
  Journal        = {JOOP},
  Pages          = {60-63},
  keywords       = {oobib(gen) binder},
  month          = may,
  year           = 1989
}

@InProceedings{Gibb91c,
  Author         = {Simon Gibbs and Christian Breiteneder and Laurent Dami
                   and Vicki de Mey and Dennis Tsichritzis},
  Title          = {A Programming Environment for Multimedia Applications},
  BookTitle      = {Proceedings of the Second International Workshop on
                   Network and Operating System Support for Digital Audio
                   and Video},
  Address        = {Heidelberg},
  keywords       = {olit osg of92},
  year           = 1991
}

@Misc{Squawk,
  Title          = {The Squawk Project},
  Note           = {http://research.sun.com/projects/squawk},
  key            = {Squawk}
}

@Manual{Sann83a,
  Title          = {The Interlisp-D Reference Manual},
  Author         = {M. Sannella},
  Organization   = {Xerox Parc},
  Address        = {Palo Alto},
  year           = 1983
}

@Misc{Mari99a,
  Author         = {Brian Marick and John Smith and Mark Jones},
  Title          = {How to Misuse Code Coverage},
  HowPublished   = {International Conference and International Conference
                   and Exposition on Testing Computer Software},
  date-added     = {2007-02-01 10:03:07 +0100},
  date-modified  = {2007-02-01 11:44:31 +0100},
  institution    = {Reliable Software Technologies},
  keywords       = {code coverage},
  month          = {jun},
  url            = {citeseer.ist.psu.edu/marick99how.html},
  year           = 1999
}

@Article{Piu08a,
  Author         = {Piumarta, Ian and Warth, Alessandro},
  Title          = {Open, Extensible Object Models},
  Pages          = {1--30},
  address        = {Berlin, Heidelberg},
  book           = {Self-Sustaining Systems: First Workshop, S3 2008
                   Potsdam, Germany, May 15-16, 2008 Revised Selected
                   Papers},
  doi            = {http://dx.doi.org/10.1007/978-3-540-89275-5_1},
  isbn           = {978-3-540-89274-8},
  publisher      = {Springer-Verlag},
  year           = 2008
}

@TechReport{Stet05a,
  Author         = {Marc Stettler},
  Title          = {Moose Domain Generator},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Communication is the most important thing in the world
                   today with the internet as its most potent medium. In
                   software reengineering, tools have the problem of not
                   being able to communicate with each other, because it
                   they did not communicate using a standard language. MOF
                   is the OMG standard language to exchange reengineering
                   information. This project focussed on the communication
                   of the reengineering tool Moose with other
                   reengineering tools by using MOF.},
  keywords       = {snf-none scg-ip jb05 moose-pub},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Stet05aDomainGenerator.pdf},
  year           = 2005
}

@InProceedings{Haye94a,
  Author         = {J. H. Hayes},
  Title          = {Testing of Object-Oriented Programming Systems
                   ({OOPS}): {A} Fault-Based Approach},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {205-220},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@InProceedings{Cruz99a,
  Author         = {Juan-Carlos Cruz and St\'ephane Ducasse},
  Title          = {A Group Based Approach for Coordinating Active Objects},
  BookTitle      = {Proceedings of Coordination '99},
  Volume         = {1594},
  Series         = {LNCS},
  Pages          = {355-371},
  Publisher      = {Springer-Verlag},
  abstract       = {Although coordination of concurrent objects is a
                   fundamental as-pect of object-oriented concurrent
                   programming, there is only little support for its
                   specification and abstraction at the language level.
                   This is a problem because coordination is often buried
                   in the code of the coordinated objects, leading to a
                   lack of abstraction and reuse. Here we present CoLaS, a
                   coordination model and its implementation based on the
                   notion of Coordination Groups. By clearly identifying
                   and separating the coordination from the co-ordinated
                   objects CoLaS provides a better abstraction and reuse
                   of the coordination and the coordinated objects.
                   Moreover CoLaS's high dynamicity provides better
                   support for coordination of active objects.},
  annote         = {internationalconference},
  keywords       = {stefPub olit scg-pub skipdoi scg-coord-99 snf99 flo
                   colas jb99},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz99aGroupBasedApproach.pdf},
  year           = 1999
}

@InProceedings{Lagu98a,
  Author         = {Bruno Lagu{\"e} and Charles Leduc and Andr{\'e} Le Bon
                   and Ettore Merlo and Michel Dagenais},
  Title          = {An Analysis Framework for Understanding Layered
                   Software Architectures},
  BookTitle      = {Proceedings IWPC '98},
  year           = 1998
}

@Book{Burn95a,
  Author         = {Margaret M. Burnett and Adele Goldberg},
  Title          = {Visual Object-Oriented Programming},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-172397-9},
  keywords       = {oobib(oopl) book scglib},
  year           = 1995
}

@InProceedings{Duhl88a,
  Author         = {Joshua Duhl and Craig Damon},
  Title          = {A Performance Comparison of Object and Relational
                   Databases Using the Sun Benchmark},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {153-163},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@Book{Lehm85a,
  Author         = {Manny Lehman and Les Belady},
  Title          = {Program Evolution: Processes of Software Change},
  Publisher      = {London Academic Press},
  Address        = {London},
  isbn           = {0-12-442440-6},
  keywords       = {oorp evolution},
  pages          = {538},
  url            = {ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf},
  year           = 1985
}

@Book{Evan03a,
  Author         = {Eric Evans},
  Title          = {Domain-Driven Design: Tacking Complexity In the Heart
                   of Software},
  Publisher      = {Addison-Wesley Longman Publishing Co., Inc.},
  Address        = {Boston, MA, USA},
  isbn           = {0321125215},
  year           = 2003
}

@InCollection{Yoko93a,
  Author         = {Yasuhiko Yokote},
  Title          = {Kernel Structuring for Object-Oriented Operating
                   Systems: The Apertos Approach,},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {145-162},
  abstract       = {This paper addresses the issues faced when
                   constructing an operating system and its kernel with
                   object-oriented technology. We first propose
                   object/metaobject separation, a means of constructing
                   an object-oriented operating system and its kernel.
                   This method divides the implementing system facilities
                   and applications into two types: objects and
                   metaobjects. This paper presents the concept of
                   object/metaobject separation and discusses why
                   object/metaobject separation is required in terms of
                   limitations in the micro-kernel and object-oriented
                   technologies. We also discuss an example of using
                   object/metaobject separation as implemented in Apertos.
                   This paper then proposes mechanisms which efficiently
                   implement object/metaobject separation. These are
                   characterized by meta-level context management, and are
                   implemented in the Apertos operating system. Meta-level
                   context management is designed to reduce the overhead
                   of control transfer between an object and its
                   metaspace. Here, metaobjects reflectors, MetaCore,
                   Context, and Activity are introduced to represent the
                   metahierarchy of an object's execution. Finally, we
                   present the evaluation results of the Apertos
                   implementation, and discuss the relationship with
                   previous work.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Pree95b,
  Author         = {Wolfgang Pree},
  Title          = {Design Patterns for Object-Oriented Development},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-42294-8},
  keywords       = {olit-reuse scglib},
  year           = 1995
}

@InProceedings{Tsic87a,
  Author         = {Dennis Tsichritzis and Simon Gibbs},
  Title          = {Messages, Messengers and Objects},
  BookTitle      = {Proceedings of the IEEE Symposium on Office Automation},
  Address        = {Gaithersburg, MD},
  keywords       = {olit oat87},
  month          = apr,
  year           = 1987
}

@Book{Glass97a,
  Author         = {Robert L. Glass},
  Title          = {Building Quality Software},
  Publisher      = {Prentice-Hall},
  keywords       = {oorp},
  year           = 1997
}

@Book{Coad95a,
  Author         = {Peter Coad and Daid North and Mark Mayfield},
  Title          = {Object Models: Strategies, Patterns, \& Applications},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-108614-6},
  keywords       = {olit patterns models strategies scglib},
  year           = 1995
}

@Unpublished{Hond92a,
  Author         = {Kohei Honda},
  Title          = {Reduction Theories for Concurrent Calculi ---
                   Behavioural Semantics without Observables},
  Note           = {Keio University},
  keywords       = {pcalc-obc mobility binder},
  misc           = {Dec. 23},
  month          = dec,
  type           = {draft},
  year           = 1992
}

@InProceedings{Lowe05a,
  Author         = {W. Lowe and T. Panas},
  Title          = {Rapid Construction of Software Comprehension Tools},
  BookTitle      = {International Journal of Software Engineering and
                   Knowledge Engineering},
  year           = 2005
}

@InProceedings{Nikh89a,
  Author         = {R. S. Nikhil and Arvind},
  Title          = {Can Dataflow Subsume von Neumann Computing?},
  BookTitle      = {Proc. 16th IEEE Symp. on Comput. Arch. (ISCA)},
  Pages          = {262-272},
  keywords       = {misc},
  year           = 1989
}

@InProceedings{Mins97a,
  Author         = {Naftaly Minsky and Victoria Ungureanu},
  Title          = {Regulated Coordination in Open Distributed Systems},
  BookTitle      = {Proceedings COORDINATION '97},
  Editor         = {David Garlan and Daniel Le M{\`e}tayer},
  Volume         = 1282,
  Series         = {LNCS},
  Pages          = {81-97},
  Address        = {Berlin, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination97},
  month          = sep,
  year           = 1997
}

@Article{Meye91a,
  Author         = {Scott Meyers},
  Title          = {Difficulties in Integrating Multiview Development
                   Systems},
  Journal        = {IEEE Softw.},
  Volume         = {8},
  Number         = {1},
  Pages          = {49--57},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://dx.doi.org/10.1109/52.62932},
  issn           = {0740-7459},
  publisher      = {IEEE Computer Society Press},
  year           = 1991
}

@InProceedings{Ardi97a,
  Author         = {Laurent Arditi and St\'ephane Ducasse},
  Title          = {Scheme: un langage applicatif pour l'enseignement de
                   l'informatique en milieu aride},
  BookTitle      = {Actes des Journ\'ees Fran\c caises des Langages
                   Applicatifs (JFLA '97)},
  Pages          = {209-228},
  abstract       = {Dans cet article, nous pr\'esentons une exp\'erience
                   d'enseignement de l'informatique en milieu aride:
                   volume horaire faible, faible coefficient, \'etudiants
                   peu motiv\'es. Dans ce contexte d\'efavorable, nous
                   avons choisi de privil\`egier un concept, la
                   r\'ecursivit\'e dans le cadre de la programmation
                   fonctionnelle, plut\^ot qu'un langage. Ce choix nous a
                   conduit \`a consid\`erer le langage Scheme pour sa
                   simplicit\'e. Nous d\'ecrivons ici notre cours, les
                   probl\`emes que nous avons rencontr\'es et les
                   solutions que nous avons choisies.},
  annote         = {nationalconference},
  keywords       = {stefPub snf97},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ardi97aSchemeTeaching.pdf},
  year           = 1997
}

@Article{Bane87a,
  Author         = {Jay Banerjee and Hong-Tai Chou and Jorge F. Garza and
                   Won Kim and Darrell Woelk and Nat Ballou and H. Kim},
  Title          = {Data Model Issues for Object-Oriented Applications},
  Journal        = {ACM TOOIS},
  Volume         = {5},
  Number         = {1},
  Pages          = {3-26},
  keywords       = {olit-db orion oobib(oodb)},
  month          = jan,
  year           = 1987
}

@Book{DeBon90a,
  Author         = {Edward de Bono},
  Title          = {Simplicity},
  Publisher      = {Penguin Books Ltd},
  isbn           = {0140258396},
  keywords       = {scglib complexity},
  year           = 1990
}

@PhdThesis{Arms03a,
  Author         = {Joe Armstrong},
  Title          = {Making reliable distributed systems in the presence of
                   software errors},
  School         = {The Royal Institute of Technology Stockholm},
  keywords       = {erlang},
  url            = {http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf},
  year           = 2003
}

@InProceedings{Taka92a,
  Author         = {Kazunori Takashio and Mario Tokoro},
  Title          = {{DROL}: An Object-Oriented Programming Language for
                   Distributed Real-Time Systems},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {276-297},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Meij96a,
  Author         = {Theo Dirk Meijler and Robert Engel},
  Title          = {Making Design Patterns Explicit in {FACE}, a Framework
                   Adaptive Composition Environment},
  BookTitle      = {EuroPLoP preliminary Conference Proceedings},
  abstract       = {Creating applications using object-oriented frameworks
                   is done at a rela- tively low abstraction level,
                   leaving a large gap with the high abstraction level of
                   a de- sign. This makes the use of a framework
                   difficult, and allows design and realization to
                   diverge. Design patterns are more specific elements of
                   design, and thus reduce this gap. We even bridge this
                   gap by making design patterns and the classes that play
                   a role within them into special purpose software
                   components. System realization becomes a matter of
                   composing special purpose class-components. We also
                   introduce a system, FACE, which supports the visual
                   composition of such specifications.},
  keywords       = {olit scg-pub skipdoi toBeChecked snf96 jb96},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Meij96aFACE.pdf},
  year           = 1996
}

@InProceedings{Alag94a,
  Author         = {S. Alagi{\'c} and R. Sunderraman and R. Bagai},
  Title          = {Declarative Object-Oriented Programming: Inheritance,
                   Subtyping and Prototyping},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {236-259},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@TechReport{Rieg04a,
  Author         = {Matthias Rieger},
  Title          = {Experiments on Language Independent Duplication
                   Detection},
  Institution    = {University of Bern, Institute of Applied Mathematics
                   and Computer Science},
  Number         = {iam-04-002},
  abstract       = {Duplicated code can have a severe, negative impact on
                   the maintainability of large software systems.
                   Techniques for detecting duplicated code exist but they
                   rely mostly on parsers, technology that is often
                   fragile in the face of different languages and
                   dialects. In this paper we show that a lightweight
                   approach based on simple string-matching can be
                   effectively used to detect a significant amount of code
                   duplication. The approach scales well, and can be
                   easily adapted to different languages and contexts. We
                   validate our approach by applying it to a number of
                   industrial and open source case studies, involving five
                   different implementation languages and ranging from
                   256KB to 13MB of source code. Finally, we compare our
                   approach to a more sophisticated one employing
                   parameterized matching, and demonstrate that little if
                   anything is gained by adopting a more heavyweight
                   approach.},
  keywords       = {olit scg-pub skipdoi jb05 clones duploc recast05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg04a-IAM-04-002.pdf},
  year           = 2004
}

@Book{Fisc93a,
  Author         = {Alice E. Fischer and Frances S. Grodzinsky},
  Title          = {The Anatomy of Programming Languages},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-042219-3},
  keywords       = {olit-oopl oobib(oopl) book scglib},
  year           = 1993
}

@Book{Voss94a,
  Author         = {Gottfried Vossen},
  Title          = {Datenmodelle, Datenbanksprachen und
                   Datenbank-Management-Systeme},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {3-89319-566-1},
  keywords       = {dblit book scglib},
  year           = 1994
}

@Unpublished{Lieb94a,
  Author         = {Karl J. Lieberherr and Jens Palsberg and Cun Xiao},
  Title          = {Checking Adaptive Software},
  Note           = {draft manuscript},
  abstract       = {A succinct presentation of adaptive software.
                   Introduces a ``lambda calculus'' for patterns.},
  keywords       = {olit binder design-patterns},
  url            = {ftp://ftp.ccs.neu.edu//pub/people/lieber/check-adaptive.ps},
  year           = 1994
}

@InProceedings{Schn97a,
  Author         = {Jean-Guy Schneider and Markus Lumpe},
  Title          = {Synchronizing Concurrent Objects in the Pi-Calculus},
  BookTitle      = {Proceedings of Langages et Mod\`eles \`a Objets '97},
  Editor         = {Roland Ducournau and Serge Garlatti},
  Pages          = {61-76},
  Address        = {Roscoff},
  Publisher      = {Hermes},
  abstract       = {The development of concurrent object-based programming
                   languages has suffered from the lack of any generally
                   accepted formal foundation for defining their
                   semantics. Therefore we are seeking for a minimal
                   semantic foundation for defining features of concurrent
                   object-based languages. Our previous work has shown
                   that the Pi-calculus is a promising formal foundation
                   for modelling objects, and we have defined an object
                   model integrating common features of object-oriented
                   programming languages. Our goal is to define a
                   black-box framework for modelling objects. As a first
                   extension of our Pi-calculus based object model, we
                   present in this work the integration of abstractions
                   for synchronizing concurrent objects. Our results show
                   that objects are most easily synchronized when
                   synchronization policies are reified as first class
                   entities (i.e. metaobjects) and that McHale's concept
                   of ``generic synchronization policies'' forms a
                   promising base for the definition of higher-level,
                   reusable synchronization abstractions.},
  isbn           = {2-86601-650-5},
  keywords       = {scg-pub skipdoi pict pi olit lmo97 snf96 jb97
                   scg-coord-98},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Schn97aSyncConcObjPi.pdf},
  year           = 1997
}

@TechReport{Wegn93a,
  Author         = {Peter Wegner},
  Title          = {Towards Component-Based Software Technology},
  Institution    = {Brown University},
  Type           = {TR No.},
  Number         = {CS-93-11},
  keywords       = {olit-oose binder (shelf)},
  misc           = {July 6},
  month          = jul,
  year           = 1993
}

@Book{Meye98a,
  Author         = {Scott Meyers},
  Title          = {Effective {C}++},
  Publisher      = {Addison Wesley},
  Edition        = {second},
  isbn           = {0-201-92488-9},
  keywords       = {olit-oopl book scglib oorp},
  year           = 1998
}

@InProceedings{Tich00n,
  Author         = {Sander Tichelaar and St\'ephane Ducasse and Serge
                   Demeyer},
  Title          = {{FAMIX} and {XMI}},
  BookTitle      = {Proceedings WCRE 2000 Workshop on Exchange Formats},
  Pages          = {296-296},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Recently exchange formats have gained lots of
                   attention. Multiple tools need to interact and/or work
                   on the same software system. Especially there is a need
                   to reuse parser technology. Within the FAMOOS project
                   we have developed a model for representing
                   object-oriented software systems at the program entity
                   level. The model has been designed for language
                   independence, extensibility and information exchange.
                   For the actual exchange of data we are currently moving
                   to use XMI, a standard for model-based information
                   exchange.},
  annote         = {internationalworkshop},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2000.891485},
  keywords       = {components scg-pub tich-papunr sergedem-papunr snf00
                   jb00 stefPub},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich00nFamixWCRE2000.pdf},
  year           = 2000
}

@InProceedings{Birr93a,
  Author         = {Andreas Birrer and Thomas Eggenschwiler},
  Title          = {Frameworks in the Financial Engineering Domain: An
                   Experience Report},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {21-35},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {To supply the financial engineering community with
                   adequate and timely software support we advocate a
                   reusability oriented approach to software development.
                   The approach focuses on frameworks and reusable
                   building blocks. This paper presents a domain specific
                   framework for a calculation engine to be used in
                   financial trading software. It is as such an example of
                   using frameworks outside their typical domain of
                   graphical user interfaces.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@TechReport{Nest92b,
  Author         = {Uwe Nestmann and L\'aszl\'o Teleki},
  Title          = {Towards a Calculus of Communicating Functions},
  Institution    = {Univ. Erlangen-N{\"u}rnberg},
  Type           = {IMMD7-13/92},
  Note           = {submitted for publication},
  keywords       = {pcalc binder (shelf)},
  month          = dec,
  year           = 1992
}

@Article{Koza93a,
  Author         = {Wojtek Kozaczynski and Annie Kuntzmann-Combelles},
  Title          = {What It Takes to Make {OO} Work},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {20-23},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@Misc{Brac04a,
  Author         = {Gilad Bracha},
  Title          = {Pluggable Type Systems},
  Note           = {OOPSLA Workshop on Revival of Dynamic Languages},
  annote         = {internationalworkshop},
  cvs            = {EgRDL2004},
  keywords       = {nonstandard types},
  month          = oct,
  url            = {http://pico.vub.ac.be/%7Ewdmeuter/RDL04/papers/Bracha.pdf},
  year           = 2004
}

@Misc{UREP,
  Title          = {{Unisys} {Universal} {Repository} ({UREP})},
  Note           = {http://www.unisys.com/marketplace/urep/},
  key            = {UREP}
}

@InProceedings{Pelt94a,
  Author         = {Hannu Peltonen and Tomi M{\"a}nnist{\"o} and Kari Alho
                   and Reijo Sulonen},
  Title          = {Product Configurations --- An Application for
                   Prototype Object Approach},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {513-534},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Yasu92a,
  Author         = {Masahiro Yasugi and Satoshi Matsuoka and Akinori
                   Yonezawa},
  Title          = {{ABCL}/onEM-4: {A} New Software/Hardware Architecture
                   for Object-Oriented Concurrent Computing on an Extended
                   Dataflow Supercomputer},
  BookTitle      = {Proceedings, ACM Supercomputing '92},
  Address        = {Washington D.C.},
  keywords       = {olit-obc abcl binder},
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/supercomputing92-abcl.ps.gz},
  year           = 1992
}

@TechReport{ConF95a,
  Author         = {Groupe ConForM},
  Title          = {Concurrency and Formal Methods},
  Institution    = {EPFL},
  Type           = {Journee scientifique Groupe ConForM},
  keywords       = {concurrency olit formal methods epfl binder},
  misc           = {19 December},
  month          = dec,
  year           = 1995
}

@TechReport{Vict94a,
  Author         = {Bj\"orn Victor},
  Title          = {A Verification Tool for The Polyadic pi-Calculus},
  Institution    = {Uppsala University (Sweden)},
  Type           = {Report DoCs},
  Number         = {94/50},
  issn           = {0283-0574},
  keywords       = {Vict94a oobib(pcalc) binder},
  month          = may,
  year           = 1994
}

@Article{Romp06a,
  Author         = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer},
  Title          = {Characterizing the Relative Significance of a Test
                   Smell},
  Journal        = {icsm},
  Volume         = {0},
  Pages          = {391-400},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.18},
  issn           = {1063-6773},
  publisher      = {IEEE Computer Society},
  year           = 2006
}

@Article{Prec98a,
  Author         = {Lutz Prechelt and Christian Kr{\"a}mer},
  Title          = {Functionality versus Practicality: Employing Existing
                   Tools for Recovering Structural Design Patterns},
  Journal        = {Journal of Universal Computer Science},
  Volume         = {4},
  Number         = {12},
  Pages          = {866-882},
  annote         = {pattern},
  month          = dec,
  year           = 1998
}

@Misc{Wing04a,
  Author         = {Eric Winger},
  Title          = {Pragmas: Running tests on method change},
  Note           = {\url{www.cincomsmalltalk.com/userblogs/eric/blogView?entry=3265627283},
                   Retrieved August 10th 2006},
  url            = {http://www.cincomsmalltalk.com/userblogs/eric/blogView?entry=3265627283},
  year           = 2004
}

@InProceedings{Roet07b,
  Author         = {David R{\"o}thlisberger and Marcus Denker and {\'E}ric
                   Tanter},
  Title          = {Unanticipated Partial Behavioral Reflection},
  BookTitle      = {Advances in Smalltalk --- Proceedings of 14th
                   International Smalltalk Conference (ISC 2006)},
  Volume         = {4406},
  Series         = {LNCS},
  Pages          = {47-65},
  Publisher      = {Springer},
  abstract       = { Dynamic, unanticipated adaptation of running systems
                   is of interest in a variety of situations, ranging from
                   functional upgrades to on-the-fly debugging or
                   monitoring of critical applications. In this paper we
                   study a particular form of computational reflection,
                   called unanticipated partial behavioral reflection,
                   which is particularly well-suited for unanticipated
                   adaptation of real-world systems. Our proposal combines
                   the dynamicity of unanticipated reflection, i.e.,
                   reflection that does not require preparation of the
                   code of any sort, and the selectivity and efficiency of
                   partial behavioral reflection. First, we propose
                   unanticipated partial behavioral reflection which
                   enables the developer to precisely select the required
                   reifications, to flexibly engineer the metalevel and to
                   introduce the meta behavior dynamically. Second, we
                   present a system supporting unanticipated partial
                   behavioral reflection in Squeak Smalltalk, called
                   Geppetto, and illustrate its use with a concrete
                   example of a Seaside web application. Benchmarks
                   validate the applicability of our proposal as an
                   extension to the standard reflective abilities of
                   Smalltalk. },
  annote         = {internationalconference},
  keywords       = {scg-pub jb06 snf06 },
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Roet07bUPBReflection.pdf},
  year           = 2007
}

@Misc{Kim90c,
  Author         = {Won Kim},
  Title          = {Introduction to Object-Oriented Databases},
  address        = {Cambridge, MA},
  isbn           = {0-262-11124-1},
  keywords       = {olit-oodb (smc) book scglib},
  series         = {Computer Systems},
  year           = 1990
}

@InProceedings{Acha93a,
  Author         = {Bruno Achauer},
  Title          = {Implementation of Distributed Trellis},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {103-117},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {DOWL is an extension of the Trellis language
                   supporting distribution. It allows programmers to
                   transparently invoke operations on remote objects and
                   to move objects between the nodes of a distributed
                   system. A few primitives permit the programmer to take
                   full advantage of distribution and to tune performance;
                   most notably by restricting the mobility of objects and
                   specifying which objects should move together. This
                   paper describes the implementation of these extensions:
                   the object format, communication system and the
                   mechanism to invoke operations on remote objects.
                   Performance figures are also presented. },
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InCollection{Auer95a,
  Author         = {Ken Auer},
  Title          = {Reusability through self-encapsulation},
  BookTitle      = {Pattern languages of program design},
  Publisher      = {ACM Press/Addison-Wesley Publishing Co.},
  Pages          = {505-516},
  isbn           = {0-201-60734-4},
  year           = 1995
}

@InProceedings{Tant06b,
  Author         = {{\'E}ric Tanter},
  Title          = {Aspects of Composition in the {Reflex AOP} Kernel},
  BookTitle      = {Proceedings of the 5th International Symposium on
                   Software Composition (SC 2006)},
  Editor         = {L{\"o}we, Welf and S{\"u}dholt, Mario},
  Series         = {LNCS 4089},
  Pages          = {98--113},
  Address        = {Vienna, Austria},
  Publisher      = {Springer},
  month          = mar,
  year           = 2006
}

@TechReport{Pern90a,
  Author         = {Barbara Pernici},
  Title          = {Class Design and Meta-Design},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {We present a methodology to guide the application
                   developer in the design of applications based on
                   reusable objects. Design information is associated with
                   each class to guide the developer in building
                   applications, addressing separately the various design
                   aspects. The refinement process during the construction
                   of a given application and the problem of inserting the
                   necessary design support information in a repository
                   are discussed.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg om90},
  month          = jul,
  pages          = {117-131},
  year           = 1990
}

@Unpublished{Baru89a,
  Author         = {Sanjoy K. Baruah},
  Title          = {A Blackboard Architecture to Support Generation of
                   Schematics for Design Automation},
  Note           = {Proceedings of IFIP WG 10.2 Conf. on CAD Systems Sup.
                   AI Technique},
  keywords       = {expert systems binder},
  month          = jun,
  type           = {Draft},
  year           = 1989
}

@Book{Wir87a,
  Author         = {N. Wirth},
  Title          = {Algorithmes et structures de donn\'ees},
  Publisher      = {Eyrolles},
  Address        = {Paris},
  year           = 1987
}

@InCollection{Miln75a,
  Author         = {Robin Milner},
  Title          = {Processes, a mathematical model of computing agents},
  BookTitle      = {Logic Colloquium, Bristol 1973},
  Publisher      = {North Holland},
  Pages          = {157-174},
  Address        = {Amsterdam},
  year           = 1975
}

@InProceedings{Amer92a,
  Author         = {Pierre America},
  Title          = {Formal Techniques for Parallel Object-Oriented
                   Languages},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {119-140},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@InCollection{Tsic85a,
  Author         = {Dennis Tsichritzis and Costantino Thanos and Fausto
                   Rabitti and Stavros Christodoulakis and Simon Gibbs and
                   Elisa Bertino and A. Fedeli and Christos Faloutsos and
                   Panos Economopoulos},
  Title          = {Design Issues of a File Server for Multimedia
                   Documents},
  BookTitle      = {Esprit '84: Status Report of Ongoing Work},
  Publisher      = {Elsevier Science Publishers B.V. (North-Holland)},
  Editor         = {J. Roukens and J.F. Renuart},
  keywords       = {misc documents},
  year           = 1985
}

@InProceedings{Hass00a,
  Author         = {Ahmed Hassan and Ric Holt and Bruno Lague and
                   Sebastien Lapierre and Charles Leduc},
  Title          = {E/R Schema for the Datrix C/C++/Java Exchange Format},
  BookTitle      = {Proceedings of WCRE (Working Conference on Reverse
                   Engineering), Exchange Formats Workshop},
  Pages          = {284-286},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  month          = nov,
  year           = 2000
}

@Book{Deme98c,
  Editor         = {Serge Demeyer and Jan Bosch},
  Title          = {Object-Oriented Technology ({ECOOP}'98 Workshop
                   Reader)},
  Publisher      = {Springer-Verlag},
  Volume         = {1543},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-65460-7-(Donation-Serge)},
  keywords       = {skip-pdf olit ecoop98proc scg-pub skip-abstract
                   skipdoi toBeChecked scglib snf98 jb98 sergedem-volume
                   jb98},
  month          = dec,
  year           = 1998
}

@Book{W3CXDM,
  Author         = {Mary Fern\'{a}ndez, Ashok Malhotra. Jonathan Marsh,
                   Marton Nagy and Norman Walsh},
  Title          = {XQuery 1.0 and XPath 2.0 Data Model (XDM)},
  Publisher      = {W3C},
  Address        = {},
  Edition        = {1st},
  Note           = {\verb|http://www.w3.org/TR/xpath-datamodel|},
  year           = 2006
}

@Book{Frie92a,
  Author         = {Daniel P. Friedman and Mitchell Wand and Christopher
                   T. Haynes},
  Title          = {Essentials of Programming Languages},
  Publisher      = {McGraw-Hill},
  Edition        = {2nd},
  keywords       = {pl book scglib},
  year           = 1992
}

@InProceedings{Inga97a,
  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      = {Proceedings OOPSLA '97, ACM SIG{\-}PLAN Notices},
  Pages          = {318-326},
  Publisher      = {ACM Press},
  keywords       = {olit smalltalk oopsla97 oorp},
  month          = nov,
  url            = {http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html},
  year           = 1997
}

@InProceedings{Berg03a,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Roel Wuyts},
  Title          = {Classboxes: A Minimal Module Model Supporting Local
                   Rebinding},
  BookTitle      = {Proceedings of Joint Modular Languages Conference
                   (JMLC'03)},
  Volume         = {2789},
  Series         = {LNCS},
  Pages          = {122-131},
  Publisher      = {Springer-Verlag},
  abstract       = { Classical module systems support well the modular
                   development of applications but do not offer the
                   ability to add or replace a method in a class that is
                   not defined in that module. On the other hand,
                   languages that support method addition and replacement
                   do not provide a modular view of applications, and
                   their changes have a global impact. The result is a gap
                   between module systems for object-oriented languages on
                   one hand, and the very desirable feature of method
                   addition and replacement on the other hand. To solve
                   these problems we present classboxes, a module system
                   for object-oriented languages that provides method
                   addition and replacement. Moreover, the changes made by
                   a classbox are only visible to that classbox (or
                   classboxes that import it), a feature we call local
                   rebinding. To validate the model, we have implemented
                   it in the Squeak Smalltalk environment, and performed
                   experiments modularising code. },
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1007/b12023},
  keywords       = {snf03 scg-pub jb03 module stefPub classbox
                   alexandrePub alexPub noWorkshop},
  misc           = {Best Paper Award},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg03aClassboxes.pdf
                   http://www.springerlink.com/index/G5C3J6EB427YCDH2},
  year           = 2003
}

@InProceedings{Kies95a,
  Author         = {Heiko Kie{\ss}ling and Uwe Kr{\"u}ger},
  Title          = {Sharing Properties in a Uniform Object Space},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {424-448},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@TechReport{Cruz97b,
  Author         = {Juan Carlos Cruz},
  Title          = {Coordination Support for Real-Time Multiagent Systems
                   Development},
  Institution    = {IAM, University of Bern},
  Type           = {Working Paper},
  abstract       = {Most of the work on coordination technology so far
                   focused on the development of special coordination
                   languages that provide the basic mechanisms for
                   realizing the coordination layer of complex software
                   applications. Each new language provide its own set of
                   coordination abstractions that realizes a particular
                   paradigm for realizing coordination. Coordination
                   problems, however are not always well-suited to a
                   particular paradigm. Instead of proposing a language,
                   we propose to realize a set of coordination components
                   that realize useful coordination abstractions. We argue
                   in this paper that this approach can be applied to the
                   development of software systems which strong real-time
                   requirements.},
  keywords       = {odp coordination real-time scg-wp snf97 scg-coord-98},
  year           = 1997
}

@InProceedings{Dona99a,
  Author         = {Judith Donath and Karrie Karahalios and Fernanda
                   Viegas},
  Title          = {Visualizing Conversation},
  BookTitle      = {Proceedings of the 32nd Hawaii International
                   Conference on System Sciences},
  Publisher      = {IEEE},
  year           = 1999
}

@InProceedings{Koba96a,
  Author         = {Naoki Kobayashi and Benjamin C. Pierce and David N.
                   Turner},
  Title          = {Linearity and the Pi-Calculus},
  BookTitle      = {Conference Record of {POPL}~'96},
  Pages          = {358-371},
  Publisher      = {ACM Press},
  keywords       = {pict pi typing popl96},
  month          = jan,
  url            = {http://www.dcs.gla.ac.uk/~dnt/KobayashiPierceTurner96.ps.gz},
  year           = 1996
}

@InProceedings{Rath93,
  Author         = {Elizabeth D. Rather and Donald R. Colburn and Charles
                   H. Moore},
  Title          = {The evolution of Forth},
  BookTitle      = {HOPL-II: The second ACM SIGPLAN conference on History
                   of programming languages},
  Pages          = {177--199},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  isbn           = {0-89791-570-4},
  location       = {Cambridge, Massachusetts, United States},
  year           = 1993
}

@TechReport{Datr00a,
  Author         = {{Bell} {Canada}},
  Title          = {{DATRIX} Abstract Semantic Graph Reference Manual
                   (version 1.4)},
  Institution    = {{Bell} {Canada}},
  key            = {Dat},
  month          = may,
  year           = 2000
}

@Book{Tane87a,
  Author         = {Andrew S. Tanenbaum},
  Title          = {Operating Systems Design Implemtations},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-637331},
  keywords       = {distribution book scglib},
  year           = 1987
}

@InProceedings{Arev03b,
  Author         = {Gabriela Ar{\'e}valo},
  Title          = {{X-Ray} Views on a Class using Concept Analysis},
  BookTitle      = {Proceedings of WOOR 2003 (4th International Workshop
                   on Object-Oriented Reengineering)},
  Pages          = {76-80},
  Publisher      = {University of Antwerp},
  abstract       = {Within object oriented software, the minimal unit of
                   development and testing is a class. So understanding
                   how a class is defined and behaves is important.
                   Considering that a class is composed of instance
                   variables and methods, the process is not so easy to
                   achieve because we must decide which different
                   viewpoints can help us to detect features of a class.
                   These viewpoints can include identifying groups of
                   methods accessing a (set of) instance variable(s),
                   groups of methods that interact among themselves to
                   provide a functionality or groups of methods that
                   behave as interface. Thus, with these different groups,
                   we are able to know the different hidden
                   characteristics of a class. In this position paper, we
                   propose to apply Concept Analysis to generate the
                   different groups of (collaborating) entities and use
                   these groups to define different views. These views
                   will help us to get the main features of a class.},
  cvs            = {ConAnWOOR03XRayViews},
  keywords       = {recast03 scg-pub skipdoi jb03 arevalo moose-pub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev03bWOOR03XRayViews.pdf},
  year           = 2003
}

@InProceedings{Gael05b,
  Author         = {Markus Gaelli and Orla Greevy and Oscar Nierstrasz},
  Title          = {Composing Unit Tests},
  BookTitle      = {Proceedings of SPLiT 2006 (2nd International Workshop
                   on Software Product Line Testing)},
  abstract       = {If we were to apply the testing techniques of
                   object-oriented systems prescribed by the XUnit
                   framework to a car factory, the result would be an
                   inefficient process: A tire would be created, quality
                   assured and then thrown away, only to be recreated
                   later to test the functionality of the whole car. XUnit
                   makes it difficult to reuse intermediate results of low
                   level unit tests. As a consequence a higher level unit
                   test is forced to recreate test scenarios which were
                   already created by lower level unit tests. This
                   duplicated testing effort is time-consuming both for
                   setting up new scenarios and for running the tests. To
                   address this problem we suggest a semi-automatic
                   approach to compose tests. First we describe how we can
                   detect candidates of composable test cases by partially
                   ordering their sets of covered method signatures, then
                   we present techniques to refactor unit tests
                   accordingly.},
  annote         = {internationalworkshop},
  cvs            = {EgSplit2005},
  keywords       = {scg-pub jb07 skipdoi},
  misc           = {gaelli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael05bComposingUnitTests.pdf
                   http://www.biglever.com/split2005/Presentations/SPLiT2005_Proceedings.pdf},
  year           = 2005
}

@Article{Madh85a,
  Author         = {Nazim H. Madhavji},
  Title          = {Compare: A Collusion Detector for {PASCAL}},
  Journal        = {Techniques et Sciences Informatiques},
  Volume         = {4},
  Number         = {6},
  Pages          = {489-498},
  month          = nov,
  year           = 1985
}

@Book{Hogr95a,
  Editor         = {Dieter Hogrefe and Stefan Leue},
  Title          = {Proceedings of {IFIP} {WG} 6.1 7th International
                   Conference on Formal Description Techniques},
  Publisher      = {Chapman \& Hall},
  isbn           = {0-412-64450-(2)},
  keywords       = {book scglib},
  year           = 1995
}

@TechReport{Frei00a,
  Author         = {Michael Freidig},
  Title          = {{XMI} for {FAMIX}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {In the context of the FAMOOS project it is necessary
                   to transfer object-oriented models of software systems
                   between different analysis tools. These models conform
                   to the meta-model FAMIX, which is a model of the source
                   code of a software system. In this project the OMG
                   standard XMI (XML Metadata Interchange) is used to map
                   the FAMIX meta-model to an XML DTD and generate XML
                   files based on the model that is transferred. Because
                   XMI is based on MOF (Meta Object Facility) meta-models,
                   FAMIX is defined as a MOF meta-model. Based on these
                   concepts, a prototype in Java is implemented that reads
                   data from the Java reflective-interface and uses the
                   XMI standard to generate an XML document. Because any
                   model that has a MOF compliant metamodel can be
                   exchanged with XMI, the prototype uses a generic
                   approach by implementing the MOF interfaces and
                   instantiating the FAMIX meta-model from the MOF model.
                   This architecture can be reused for systems that use
                   meta-models different from FAMIX. In order to test the
                   correctness of the model-data after the transfer, a
                   test program is implemented, that verifies the syntax
                   and the content of generated XMI documents.},
  keywords       = {snf-none scg-ip scglib jb00},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Frei00a.pdf},
  year           = 2000
}

@Article{Beac82a,
  Author         = {RichardJ. Beach and J.C. Beatty and K.S. Booth and
                   D.A. Plebon and Eugene Fiume},
  Title          = {The Message is the Medium: Multiprocess Structuring of
                   an Interactive Paint Program},
  Journal        = {Computer Graphics},
  Volume         = {16},
  Number         = {3},
  Pages          = {277-287},
  keywords       = {olit-appl paint messages thoth ui},
  month          = jul,
  year           = 1982
}

@InProceedings{Ishi92a,
  Author         = {Yutaka Ishikawa},
  Title          = {Communication Mechanism on Autonomous Objects},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {303-314},
  keywords       = {olit-obc oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Gens02b,
  Author         = {Thomas Gen{\ss}ler and Oscar Nierstrasz and Bastiaan
                   Sch\"onhage},
  Title          = {Components for Embedded Software --- The {PECOS}
                   Approach},
  BookTitle      = {Proc. International Conference on Compilers,
                   Architectures and Synthesis for Embedded Systems},
  abstract       = { Software is more and more becoming the major cost
                   factor for embedded devices. Already today, software
                   accounts for more than 50 percent of the development
                   costs of such a device. However, software development
                   practices in this area lag far behind those in the
                   traditional software industry. Reuse is hardly ever
                   heard of in some areas, development from scratch is
                   common practice and component-based software is usually
                   a foreign word. PECOS is a collaborative project
                   between industrial and research partners that seeks to
                   enable component-based technology for a certain class
                   of embedded systems known as "field devices" by taking
                   into account the specific properties of this
                   application area. In this paper we introduce a
                   component model for field device software. Furthermore
                   we report on the PECOS component composition language
                   CoCo and the mapping from CoCo to {Java} and C++. },
  annote         = {internationalconference},
  doi            = {http://doi.acm.org/10.1145/581630.581634},
  keywords       = {olit pecos scg-pub jb04},
  url            = {http://www.iam.unibe.ch/~scg/Archive/pecos/public_documents/Gens02b.pdf},
  year           = 2002
}

@Book{Trac95a,
  Author         = {Will Tracz},
  Title          = {Confessions of a Used Program Salesman},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63369-8},
  keywords       = {scglib reuse new-entry},
  year           = 1995
}

@Misc{Tratt05b,
  Author         = {Laurence Tratt},
  Title          = {Domain Specific Language Implementation via
                   Compile-Time Meta-Programming},
  Note           = {Submitted for Publication},
  keywords       = {Earley parsing},
  year           = 2005
}

@Book{Sebe92a,
  Author         = {Robert W. Sebesta},
  Title          = {Concepts of Programming Languages},
  Publisher      = {Benjamin Cummings},
  Address        = {Redwood City, Calif.},
  Edition        = {Second},
  isbn           = {0-8053-7130-3},
  keywords       = {pl-lit book scglib},
  year           = 1992
}

@Article{Doda90a,
  Author         = {Mahesh Dodani and A.J.G. Babu},
  Title          = {Karmarkar's Projective Method for Linear Programming:
                   {A} Computational Appraisal},
  Journal        = {Computer Science Education Journal},
  Volume         = {21},
  Number         = {2},
  Pages          = {191-212},
  keywords       = {obib(gen) binder},
  year           = 1990
}

@InProceedings{Doda95b,
  Author         = {Mahesh Dodani and Randall Rupp},
  Title          = {Integrating Formal Specifications with Object-Oriented
                   Software Engineering Methodologies: {A} Case Study},
  BookTitle      = {WIFT '95 Workshop on Industrial-strength Formal
                   Techniques},
  keywords       = {oobib(gen) binder},
  year           = 1995
}

@InProceedings{Shar91a,
  Author         = {Ravi Sharma and Mary Lou Soffa},
  Title          = {Parallel Generational Garbage Collection},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {16-32},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Abra93a,
  Author         = {Samson Abramsky and C.-H. Luke On},
  Title          = {Full Abstraction in the Lazy Lambda Calculus},
  Journal        = {Information and Computation},
  Volume         = {105},
  Number         = {2},
  Pages          = {159-267},
  keywords       = {misc lambda fp lazy (laurent)},
  month          = aug,
  publisher      = {Academic Press},
  year           = 1993
}

@Article{Horn77a,
  Author         = {Jim J. Horning and David B. Wortman},
  Title          = {Software Hut: {A} Computer Program Engineering Project
                   in the Form of a Game},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-3},
  Number         = {4},
  Pages          = {325-330},
  keywords       = {misc selit hut},
  month          = jul,
  year           = 1977
}

@InProceedings{Asse93a,
  Author         = {Holger Assenmacher and Thomas Breitbach and Peter
                   Buhler and Volker H{\"u}bsch and Reinhard Schwarz},
  Title          = {{PANDA} --- Supporting Distributed Programming in
                   {C}++},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {361-383},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {PANDA is a run-time package based on a very small
                   operating system kernel which supports distributed
                   applications written in C++. It provides powerful
                   abstractions such as very efficient user-level threads,
                   a uniform global address space, object and thread
                   mobility, garbage collection, and persistent objects.
                   The paper discusses the design rationales underlying
                   the PANDA system. The fundamental features of PANDA are
                   surveyed, and their implementation in the current
                   prototype environment is outlined.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Balm98a,
  Author         = {F. Balmas},
  Title          = {Outlining C Loops: Preliminary Results and Trends},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {115-125},
  Publisher      = {IEEE Computer Society},
  annote         = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Proceedings{Bido97a,
  Title          = {Theory and Practice of Software Development},
  Editor         = {Michel Bidoit and MAx Dauchet},
  Volume         = {1214},
  Series         = {LNCS},
  Address        = {Lille, France},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the 7th International Conference
                   CAAP/FASE, TAPSOFT '97},
  isbn           = {3-540-62781-2},
  keywords       = {tapsoft97 scglib},
  month          = apr,
  year           = 1997
}

@Misc{Monticello,
  Author         = {Avi Bryant},
  Title          = {Monticello},
  Note           = {http://www.wiresong.ca/Monticello},
  key            = {Monticello},
  url            = {http://www.wiresong.ca/Monticello}
}

@Book{Brue00a,
  Author         = {Bruegge, Bernd and Dutoit, Allen H.},
  Title          = {{Object-Oriented Software Engineering: Conquering
                   Complex and Changing Systems}},
  Publisher      = {Prentice-Hall},
  isbn           = {ISBN 0-13-017452-1},
  keywords       = {oose selit olit oorp},
  year           = 2000
}

@InProceedings{Meye86a,
  Author         = {Bertrand Meyer},
  Title          = {Genericity versus Inheritance},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {391-405},
  keywords       = {types olit inheritance eiffel polymorphism oopsla86
                   oobib(inh)},
  month          = nov,
  year           = 1986
}

@PhdThesis{Thom90a,
  Author         = {Bent Thomsen},
  Title          = {Calculi for Higher Order Communicating Systems},
  School         = {Imperial College},
  Type           = {Ph.{D}. Thesis},
  Address        = {London},
  keywords       = {pcalc mobility equivalence chocs binder (shelf)},
  year           = 1990
}

@Article{Cock93a,
  Author         = {Alistair Cockburn},
  Title          = {The impact of object-orientation on application
                   development},
  Journal        = {IBM Systems Journal},
  Volume         = {32},
  Number         = {3},
  Pages          = {420-444},
  keywords       = {oorp},
  month          = mar,
  year           = 1993
}

@Article{Heck78a,
  Author         = {Paul Heckel},
  Title          = {A Technique for Isolating Differences Between Files},
  Journal        = {CACM},
  Volume         = {21},
  Number         = {4},
  Pages          = {264-268},
  month          = apr,
  year           = 1978
}

@TechReport{Schm95c,
  Author         = {Douglas C. Schmidt},
  Title          = {An {OO} Encapsulation of Lightweight {OS} Concurrency
                   Mechanism in the {ACE} Toolkit},
  Institution    = {Washington University, St. Louis.},
  Type           = {Technical Report},
  Number         = {WUCS-95-31},
  keywords       = {olit-reuse design-patterns iam binder},
  url            = {http://www.cs.wustl.edu/~schmidt/ACE_Concurrency.ps.gz},
  year           = 1995
}

@Article{Buss02a,
  Author         = {Christoph Bussler and Dieter Fensel and Alexander
                   Maedche},
  Title          = {A conceptual architecture for semantic web enabled web
                   services},
  Journal        = {SIGMOD Rec.},
  Volume         = {31},
  Number         = {4},
  Pages          = {24--29},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/637411.637415},
  issn           = {0163-5808},
  publisher      = {ACM Press},
  year           = 2002
}

@TechReport{Nier03a,
  Author         = {Oscar Nierstrasz and Franz Achermann and Stefan
                   Kneub\"uhl},
  Title          = {A Guide to {JP}iccola},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-03-003},
  Address        = {Universit\"at Bern, Switzerland},
  abstract       = {Piccola is small, experimental \emph{composition
                   language} --- a language for building applications from
                   software components implemented in another, host
                   programming language. This document describes JPiccola,
                   the implementation of Piccola for the {Java} host
                   language.},
  cvs            = {jpiccola/PiccolaGuide},
  keywords       = {snf03 scg-pub skipdoi jb03 piccola},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Research/Piccola/index.html
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Nier03aJPiccolaGuide.pdf},
  year           = 2003
}

@PhdThesis{Berg94a,
  Author         = {Lodewijk Bergmans},
  Title          = {Composing Concurrent Objects},
  School         = {University of Twente},
  keywords       = {olit-obc oobib(concurrency) scglib},
  url            = {ftp://ftp.cs.utwente.nl/pub/doc/TRESE/bergmans.phd.tar},
  year           = 1994
}

@TechReport{Casa91a,
  Author         = {Eduardo Casais},
  Title          = {Managing Class Evolution Through Reorganisation},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {Because of incomplete specifications or inadequate
                   design decisions, software components developed with an
                   object-oriented language require frequent
                   reorganisations before they become stable, reusable
                   classes. We propose a new incremental algorithm that
                   analyses the redefinitions carried out on inherited
                   properties when a class is added to a hierarchy, and
                   restructures the hierarchy to discover missing
                   abstractions and to enforce programming style
                   guidelines. We illustrate our automatic restructuring
                   approach with simple examples, describe formally the
                   algorithm and the object model it is based on, and
                   discuss its suitability for object-oriented software
                   engineering.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {287-301},
  year           = 1991
}

@MastersThesis{Schw02a,
  Author         = {Daniel Schweizer},
  Title          = {Navigation in Object-Oriented Reverse Engineering},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Tool support is needed to cope with the complexity and
                   the large amounts of infor-mation in reverse
                   engineering. By creating representations in another
                   form, often at a higher level of abstraction,
                   state-of-the-art tools aid in reducing complexity and
                   gaining insights into parts of a system's structure.
                   However, orientation and navigation among these
                   representations remains difficult. Often superfluously
                   tool-induced effort is needed to perform a certain
                   task. We call this artificially added effort friction.
                   Tools with the right navigation support can reduce this
                   friction, and increase productivity. This work
                   classifies navigation in models of object-oriented
                   software systems, and shows that among the great number
                   of possibilities, only a few make sense. We determine
                   which kinds of navigation steps are useful, and why. We
                   summarize our experience and best practices of
                   state-of-the-art tools in a set of re-quirements for an
                   ideal reverse engineering tool. As a validation for
                   these requirements, we analyze data about the user's
                   behavior during reverse engineering sessions. To
                   collect that data, and for studying various ways of
                   navigation and orientation, we built MooseNavigator, a
                   prototype reverse engineering navigator.},
  keywords       = {oobib scg-pub skipdoi jb02 scg-msc snf02 moose-pub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Schw02a.pdf},
  year           = 2002
}

@InProceedings{Duca03c,
  Author         = {St\'ephane Ducasse and Philippe Mougin},
  Title          = {Power to Collections: Generalizing Polymorphism by
                   Unifying Array Programming and Object-Oriented
                   Programming},
  BookTitle      = {Proceedings of the ECOOP '03 Workshop on
                   Object-oriented Language Engineering for the Post-Java
                   Era},
  abstract       = {Array programming shines in its ability to express
                   computations at a high-level of abstraction, allowing
                   one to manipulate and query whole sets of data at once.
                   This paper presents the OOPAL model that enhances
                   object-oriented programming with array programming
                   features. The goal of OOPAL is to determine a minimum
                   set of modifications that must be made to the
                   traditional object model in order to take advantage of
                   the possibilities of array programming. It is based on
                   a minimal extension of method invocation and the
                   definition of a kernel of methods implementing the
                   fundamental array programming operations. The model is
                   validated in F-SCRIPT, a new scripting language.},
  annote         = {internationalworkshop},
  keywords       = {snf03 scg-pub skipdoi jb03 stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca03cOOPALEcoop.pdf},
  year           = 2003
}

@InProceedings{Cruz99b,
  Author         = {Juan-Carlos Cruz and St\'ephane Ducasse},
  Title          = {Coordinating Open Distributed Systems},
  BookTitle      = {Proceedings of International Workshop in Future Trends
                   in Distributed Computing Systems '99},
  abstract       = {Open Distributed Systems are the dominating
                   intellectual issue of the end of this century. Figuring
                   out how to build those systems will become a central
                   issue in distributed system research in the next
                   future. Although CORBA seems to provide all the
                   necessary support to construct those systems. It
                   provides a very limited support to the evolution of
                   requirements in those systems. The main problem is that
                   the description of the elements from which systems are
                   built, and the way in which they are composed are mixed
                   into the application code. Making them difficult to
                   understand, modify and customize. We think that a
                   solution to this problem goes through the introduction
                   of the so called coordination models and languages into
                   the CORBA model. We propose in this paper the
                   introduction of our object coordination model called
                   CoLaS into the CORBA model.},
  annote         = {internationalworkshop},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/FTDCS.1999.818794},
  keywords       = {olit scg-pub scg-coord-99 snf99 jb99 stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz99FTDCS.pdf},
  year           = 1999
}

@InProceedings{Mond02a,
  Author         = {Akito Monden and Daikai Nakae and Toshihiro Kamiya and
                   Shin-ichi Sato and Ken-ichi. Matsumoto},
  Title          = {Software quality analysis by code clones in industrial
                   legacy software},
  BookTitle      = {Proc. of the 8th IEEE Symposium on Software Metrics
                   (METRICS2002)},
  Pages          = {87-94},
  Address        = {Ottawa, Canada},
  keywords       = {clones dotplot},
  month          = jun,
  year           = 2002
}

@TechReport{Oswa03a,
  Author         = {Baltisar Oswald and Silvan Auer},
  Title          = {{CASYMS}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {snf-none scg-ip skip-abstract jb04},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Oswa03a.pdf},
  year           = 2003
}

@Article{Bigg87a,
  Author         = {T.J. Biggerstaff and C. Richter},
  Title          = {Reusability Framework, Assessment, and Directions},
  Journal        = {IEEE Software},
  Volume         = {4},
  Number         = {2},
  Pages          = {41-49},
  keywords       = {olit-reuse},
  month          = mar,
  year           = 1987
}

@TechReport{Smit03a,
  Author         = {Jason McC. Smith and David Stotts},
  Title          = {SPQR: Flexible Automated Design Pattern Extraction
                   from Source Code},
  Institution    = {Department of Computer Science, University of North
                   Carolina, Chapel Hill, USA},
  Type           = {TR03-016},
  month          = may,
  year           = 2003
}

@InProceedings{Kueh99a,
  Author         = {Thomas Kuehne},
  Title          = {Internal Iteration Externalized},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {329-350},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Although it is acknowledged that internal iterators
                   are easier and safer to use than conventional external
                   iterators, it is commonly assumed that they are not
                   applicable in languages without builtin support for
                   closures and that they are less flexible than external
                   iterators. We present an iteration framework that uses
                   objects to emulate closures, separates structure
                   exploration and data consumption, and generalizes on
                   folding, thereby invalidating both the above
                   statements. Our proposed "transfold" scheme allows
                   processing one or more data structures simultaneously
                   without exposing structure representations and without
                   writing explicit loops. We show that the use of two
                   functional concepts (function parameterization and lazy
                   evaluation) within an object-oriented language allows
                   combining the safety and economic usage of internal
                   iteration with the flexibility and client control of
                   external iteration. Sample code is provided using the
                   statically typed Eiffel language.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Book{Diac98a,
  Author         = {R. Diaconescu and K. Futatsugi},
  Title          = {Cafe{OBJ} Report},
  Publisher      = {World Scientific},
  Address        = {Singapore},
  year           = 1998
}

@InProceedings{Beck93a,
  Author         = {K. Becker},
  Title          = {Proving Ground Confluence and Inductive Validity in
                   Constructor BasedEquational Specifications},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {46-60},
  Publisher      = {Springer-Verlag},
  keywords       = {specification proof tapsoft93},
  month          = apr,
  year           = 1993
}

@InProceedings{Parn94a,
  Author         = {Parnas, David Lorge},
  Title          = {Software Aging},
  BookTitle      = {Proceedings 16th International Conference on Software
                   Engineering (ICSE '94)},
  Pages          = {279--287},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  location       = {Sorrento, Italy},
  year           = 1994
}

@InProceedings{Shil89a,
  Author         = {John J. Shilling and Peter F. Sweeney},
  Title          = {Three Steps to Views: Extending the Object-Oriented
                   Paradigm},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings OOPSLA '89},
  Volume         = {24},
  Pages          = {353-361},
  keywords       = {olit binder(oop) oopsla89},
  month          = oct,
  year           = 1989
}

@TechReport{Graf90a,
  Author         = {Alessandro Graffigna and Jiarong Li and J. Marti and
                   G. De Michelis and Josep Mongui\'o and C. Simone and
                   Michel Tueni and H. Wiegmann},
  Title          = {{ADL} Syntax Description},
  Institution    = {Siemens Nixdorf Informationssysteme AG},
  Type           = {ITHACA Report},
  Number         = {Nixdorf.90.U.2.#7},
  Address        = {Paderborn},
  keywords       = {olit-ithaca adl},
  misc           = {Dec. 31},
  month          = dec,
  year           = 1990
}

@InProceedings{Olde93a,
  Author         = {E.-R. Olderog and S. R{\"o}ssig},
  Title          = {A Case Study in Transformational Design of Concurrent
                   Systems},
  BookTitle      = {Proceedings TAPSOFT '93},
  Series         = {LNCS 668},
  Pages          = {90-104},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@PhdThesis{Holl92b,
  Author         = {Ian M. Holland},
  Title          = {The Design and Representation of Object-Oriented
                   Components},
  School         = {Northeastern University},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-reuse binder},
  url            = {http://www.ccs.neu.edu/home/lieber/theses/holland/thesis.ps},
  year           = 1991
}

@InProceedings{Foot93a,
  Author         = {B. Foote},
  Title          = {Architectural Balkanization in the Post-Linguistic
                   Area},
  BookTitle      = {OOPSLA '93 Workshop on Reflection and Metalevel
                   Architectures in Object-Oriented Programming},
  year           = 1993
}

@Misc{ContextJ,
  Title          = {{ContextL}},
  Note           = {http://prog.vub.ac.be/~pcostanza/contextj.html},
  key            = {ContextL},
  keywords       = {cop-lit},
  url            = {http://prog.vub.ac.be/~pcostanza/contextj.html}
}

@Book{Yone89a,
  Editor         = {A. Yonezawa},
  Title          = {Concurrency: Theory, Language, and Architecture},
  Publisher      = {Springer-Verlag},
  Volume         = {491},
  Series         = {LNCS},
  Address        = {Oxford, UK},
  isbn           = {3-540-53932-8},
  keywords       = {olit scglib},
  month          = sep,
  year           = 1989
}

@Article{Lund03a,
  Author         = {Jonas Lundberg and Welf L{\"o}we},
  Title          = {Architecture Recovery by Semi-Automatic Component
                   Identification},
  Journal        = {Electronic Notes in Theoretical Computer Science},
  Volume         = {82},
  Number         = {5},
  year           = 2003
}

@InProceedings{Kohl98a,
  Author         = {Gerd Kohler and Heinrich Rust and Frank Simon},
  Title          = {Assessment of Large Object-Oriented Software Systems:
                   {A} Metrics Based Process},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Pages          = {250-251},
  Publisher      = {Springer-Verlag},
  year           = 1998
}

@InProceedings{Duca04a,
  Author         = {St\'ephane Ducasse and Michele Lanza and Roland
                   Bertuli},
  Title          = {High-Level Polymetric Views of Condensed Run-Time
                   Information},
  BookTitle      = {Proceedings of 8th European Conference on Software
                   Maintenance and Reengineering (CSMR'04)},
  Pages          = {309-318},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Understanding the run-time behavior of object-oriented
                   legacy systems is a complex task due to factors such as
                   late binding and polymorphism. Current approaches
                   extract and use information from the complete execution
                   trace of a system. The sheer size and complexity of
                   such traces make their handling, storage, and analysis
                   difficult. Current software systems which run almost
                   non-stop do not permit such a full analysis. In this
                   paper we present a lightweight approach based on the
                   extraction of a condensed amount of information, e.g.,
                   measurements, that does not require a full trace. Using
                   this condensed information, we propose a visualization
                   approach which allows us to identify and understand
                   certain aspects of the objects' lifetime such as their
                   role played in the creation of other objects and the
                   communication architecture they support.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2004.1281433},
  keywords       = {recast04 scg-pub stefPub jb04 moose-pub},
  misc           = {acceptance rate: 33/62 = 52\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca04aRuntimePolymetricViews.pdf},
  year           = 2004
}

@TechReport{Kell05a,
  Author         = {Andy Kellens and Kim Mens},
  Title          = {A Survey of Aspect Mining Tools and Techniques},
  Institution    = {UCL, Belgium},
  month          = jun,
  url            = {ftp://prog.vub.ac.be/tech_report/2005/vub-prog-tr-05-16.pdf},
  year           = 2005
}

@Article{Rau00a,
  Author         = {Andreas Rau},
  Title          = {Potential and Challenges for Model-based Development
                   in the Automotive Industry},
  Journal        = {``Business Briefing: Global Automotive Manufacturing
                   and Technlogy'', World Market Research Center},
  month          = oct,
  year           = 2000
}

@InProceedings{Lehm97a,
  Author         = {Manny Lehman and Dewayne Perry and Juan Ramil and
                   Wladyslaw Turski and Paul Wernick},
  Title          = {Metrics and Laws of Software Evolution--The Nineties
                   View},
  BookTitle      = {Proceedings IEEE International Software Metrics
                   Symposium (METRICS'97)},
  Pages          = {20--32},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/METRIC.1997.637156},
  keywords       = {evolution metrics},
  year           = 1997
}

@InProceedings{Brun86a,
  Author         = {Giorgio Bruno and Alessandra Balsamo},
  Title          = {Petri Net-Based Object-Oriented Modelling of
                   Distributed Systems},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {284-293},
  keywords       = {olit lang ada oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Watt05a,
  Author         = {Martin Wattenberg},
  Title          = {Baby Names Visualization, and Social Data Analysis},
  BookTitle      = {Proceedings of 2005 IEEE Symposium on Information
                   Visualization (INFOVIS 2005)},
  Pages          = {1--6},
  year           = 2005
}

@InProceedings{Sang93c,
  Author         = {D. Sangiorgi},
  Title          = {From pi-calculus to Higher-Order pi-calculus-and back},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {151-166},
  Publisher      = {Springer-Verlag},
  keywords       = {oobib(pcal) tapsoft93},
  month          = apr,
  year           = 1993
}

@InProceedings{Pree94a,
  Author         = {Wolfgang Pree},
  Title          = {Meta Patterns --- {A} Means for Capturing the
                   Essentials of Reusable Object-Oriented Design},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {150-162},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc oorp},
  month          = jul,
  year           = 1994
}

@InProceedings{Kafu90a,
  Author         = {Dennis Kafura and Douglas Washabaugh and Jeff Nelson},
  Title          = {Garbage Collection of Actors},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {126-134},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Misc{XMI20,
  Title          = {XML Metadata Interchange (XMI), v2.0},
  Note           = {http://www.omg.org/cgi-bin/doc?formal/05-05-01},
  key            = {XMI 2.0},
  year           = 2005
}

@Article{Trip89a,
  Author         = {Anand Tripathi},
  Title          = {An Overview of the Nexus Distributed Operating System
                   Design},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {15},
  Number         = {6},
  Pages          = {686-695},
  keywords       = {olit-ooos nexus binder},
  month          = jun,
  year           = 1989
}

@InCollection{Wadl95a,
  Author         = {Philip Wadler},
  Title          = {Monads for functional programming},
  BookTitle      = {Advanced Functional Programming},
  Publisher      = {Springer-Verlag},
  Editor         = {J. Jeuring and E. Meijer},
  Volume         = 925,
  Series         = {LNCS},
  keywords       = {monads},
  year           = 1995
}

@Article{Pete89b,
  Author         = {Larry L. Peterson and Nick C. Buchholz and Richard D.
                   Schlichting},
  Title          = {Preserving and using context information in
                   interprocess communication},
  Journal        = {ACM Trans. Comput. Syst.},
  Volume         = {7},
  Number         = {3},
  Pages          = {217--246},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/65000.65001},
  issn           = {0734-2071},
  publisher      = {ACM Press},
  year           = 1989
}

@InProceedings{Hamo05b,
  Author         = {A. Hamou-Lhadj},
  Title          = {The Concept of Trace Summarization},
  BookTitle      = {Proceedings of PCODA 2005 (1st International Workshop
                   on Program Comprehension through Dynamic Analysis)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {Dynamic Analysis},
  year           = 2005
}

@Article{Boc94a,
  Author         = {Conrad Bock and James Odell},
  Title          = {A Foundation for Composition},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {7},
  Number         = {6},
  year           = 1994
}

@InProceedings{Rett02a,
  Author         = {A. Rettberg and W. Thronicke},
  Title          = {Embedded System Design Based On Webservices},
  BookTitle      = {DATE '02: Proceedings of the conference on Design,
                   automation and test in Europe},
  Pages          = {232},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@Article{Hoar78a,
  Author         = {C.A.R. Hoare},
  Title          = {Communicating Sequential Processes},
  Journal        = {CACM},
  Volume         = {21},
  Number         = {8},
  Pages          = {666-677},
  keywords       = {concurrency csp binder},
  month          = aug,
  year           = 1978
}

@Book{Blah92a,
  Author         = {Michael Blaha and William Permerlani Frederick Eddy
                   and William Lorensen and James Rumbaugh},
  Title          = {Object-Oriented Modeling and Design},
  Publisher      = {Prentice-Hall},
  year           = 1992
}

@InProceedings{Duca00a,
  Author         = {St{\'e}phane Ducasse and Serge Demeyer and Oscar
                   Nierstrasz},
  Title          = {Tie Code And Questions: a Reengineering Pattern},
  BookTitle      = {Proceedings of EuroPLoP '2000},
  Pages          = {209-217},
  abstract       = {Reengineering is an inherent aspect of modern software
                   development, with its emphasis on iterative and
                   incremental development. The reengineering pattern
                   presented in this paper shows how you can support your
                   understanding during system reengineering by linking
                   your questions or information about the code in the
                   code itself.},
  annote         = {internationalworkshop},
  keywords       = {snf-none olit scg-pub skipdoi jb00 stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00aTieCode.pdf},
  year           = 2000
}

@Book{Ande73a,
  Author         = {M. R. Andenberg},
  Title          = {Cluster Analysis for Applications},
  Publisher      = {Academic Press},
  Address        = {London},
  keywords       = {clustering},
  year           = 1973
}

@Proceedings{Bry97a,
  Title          = {Deductive and Object-Oriented Databases},
  Editor         = {Francois Bry and Raghu Ramakrishnan and Kotagiri
                   Ramamohanarao},
  Volume         = {1341},
  Series         = {LNCS},
  Address        = {Montreaux, Switzerland},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the 5th International Conference, DOOD
                   '97},
  isbn           = {3-540-63792-3},
  keywords       = {dood97 scglib},
  month          = dec,
  year           = 1997
}

@TechReport{Tsic91b,
  Author         = {Dennis Tsichritzis and Simon Gibbs and Laurent Dami},
  Title          = {Active Media},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {In this paper we explore an environment for "active
                   media." The environment consists of a lower-level
                   object-oriented framework intended for multimedia
                   programmers and a higher-level facility intended for
                   multimedia designers. We claim that such an environment
                   will be both flexible and powerful for constructing
                   complex multimedia applications. We first define
                   multimedia objects and then explore composition
                   techniques for these objects. Finally, we outline a
                   facility for "scripting," that is, specifying the
                   cooperation of such objects.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {115-132},
  year           = 1991
}

@TechReport{Mill77a,
  Author         = {R. Miller and C.K. Yap},
  Title          = {Formal Specification and Analysis of Loosely Connected
                   Processes},
  Institution    = {Yorktown Heights},
  Type           = {IBM Research Report},
  Number         = {#28917},
  Address        = {N.Y.},
  keywords       = {concurrency other},
  year           = 1977
}

@Article{Helf95a,
  Author         = {Jonathan I. Helfman},
  Title          = {{Dotplot} Patterns: a Literal Look at Pattern
                   Languages},
  Journal        = {TAPOS},
  Volume         = {2},
  Number         = {1},
  Pages          = {31-41},
  keywords       = {oorp dotplot},
  url            = {http://www.cs.unm.edu/~jon/dotplot/},
  year           = 1995
}

@Article{Ball96a,
  Author         = {Timothy Ball and Stephen Eick},
  Title          = {Software Visualization in the Large},
  Journal        = {IEEE Computer},
  Volume         = {29},
  Number         = {4},
  Pages          = {33--43},
  address        = {Los Alamitos CA},
  issn           = {0018-9162},
  keywords       = {oorp evolution},
  publisher      = {IEEE Computer Society Press},
  year           = 1996
}

@Article{Deme99b,
  Author         = {Serge Demeyer and Matthias Rieger and Theo Dirk
                   Meijler and Edzard Gelsema},
  Title          = {Class Composition for Specifying Framework Design},
  Journal        = {Theory and Practice of Object Systems (TAPOS)},
  Volume         = {5},
  Number         = {2},
  Pages          = {73-81},
  abstract       = {Object-oriented frameworks are a particularly
                   appealing approach towards software reuse. An
                   object-oriented framework represents a design for a
                   family of applications, where variations in the
                   application domain are tackled by filling in the
                   so-called hot spots. However, experience has shown that
                   the current object-oriented mechanisms (class
                   inheritance and object composition) are not able to
                   elegantly support the "fill in the hot spot" idea. This
                   paper introduces class composition as a more productive
                   approach towards hot spots, offering all of the
                   advantages of both class inheritance and object
                   composition but involving extra work for the framework
                   designer.},
  keywords       = {olit famoos-papref face scg-pub skipdoi toBeChecked
                   snf98 sergedem-papref jb98},
  month          = apr,
  publisher      = {John Wiley \& Sons},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme99bClassComposition.pdf},
  year           = 1999
}

@InProceedings{Kram89b,
  Author         = {Jeffrey Kramer and J. Magee and M. Sloman},
  Title          = {Configuration Support for System Description,
                   Construction and Evolution},
  BookTitle      = {Proc 5th Int Workshop on Software Specification and
                   Design},
  Pages          = {28-33},
  Address        = {Pittsburgh, Pennsylvania},
  keywords       = {visprog scripting},
  month          = may,
  year           = 1989
}

@Book{Lane92a,
  Author         = {Cosimo Laneve and Ugo Montanari},
  Title          = {Mobility in the {CC}-Paradigm},
  Publisher      = {Springer-Verlag},
  Volume         = {629},
  Series         = {LNCS},
  keywords       = {pcalc mobility (uwe)},
  pages          = {336-345},
  year           = 1992
}

@InProceedings{Eixe98a,
  Author         = {Wolfgang Eixelsberger and Michaela Ogris and Gall,
                   Harald and Bernt Bellay},
  Title          = {Software Architecture Recovery of a Program Family},
  BookTitle      = {International Conference on Software Engineering
                   (ICSE)},
  Pages          = {508-511},
  isbn           = {0-8186-8368-6},
  year           = 1998
}

@InProceedings{Jaco87a,
  Author         = {Ivar Jacobson},
  Title          = {Object Oriented Development in an Industrial
                   Environment},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {183-191},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Nass73a,
  Author         = {I. Nassi and B. Shneiderman},
  Title          = {Flowchart Techniques for Structured Programming},
  Journal        = {SIGPLAN Notices},
  Volume         = {8},
  Number         = {8},
  month          = aug,
  year           = 1973
}

@InProceedings{Ande86a,
  Author         = {David B. Anderson},
  Title          = {Experience with Flamingo: {A} Distributed,
                   Object-Oriented User Interface System},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {177-185},
  keywords       = {olit-appl flamingo ui oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Ehri93a,
  Author         = {H. Ehrig and R. M. Jimenez and F. Orejas},
  Title          = {Compositionality Results for Different Types of
                   Parameterization and Parameter Passing in Specification
                   Languages},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {31-45},
  Publisher      = {Springer-Verlag},
  keywords       = {specification proof tapsoft93},
  month          = apr,
  year           = 1993
}

@PhdThesis{Ache02a,
  Author         = {Franz Achermann},
  Title          = {Forms, Agents and Channels --- Defining Composition
                   Abstraction with Style},
  School         = {University of Berne},
  abstract       = {Object-oriented technology and design is not the final
                   answer to the recurrent problem of making systems, on
                   one hand, more open and flexible and, on the other
                   hand, more robust, safe, and fast. While
                   object-oriented languages have a lot of success in
                   implementing components, they have rather limited
                   support for expressing composition abstractions. As
                   such, the component-based software principle is only
                   partially supported by the object-oriented approach.
                   Component-based software development breaks down an
                   application into stable parts, i.e., the components,
                   and high-level abstractions for composing the
                   components. Flexibility is provided by the possibility
                   to recompose. How can we design a composition language
                   to support this metaphor? What mechanisms are needed to
                   encapsulate components, to make their contextual
                   assumptions explicit, and to define composition
                   abstractions in a compact way? We argue that we should
                   seek the minimal kernel of mechanisms that allows us to
                   define composition abstractions, instead of adding
                   additional language constructs to the object-oriented
                   paradigm. This is necessary in order to reason about
                   these abstractions and derive properties of the
                   composed application. In this thesis we propose Forms,
                   Agents and Channels as this minimal set of
                   abstractions. Forms are extensible records unified with
                   services. They are primitive objects, act as explicit
                   namespaces, and encapsulate arguments to invoke
                   services. Agents are autonomous entities that exchange
                   forms along channels. We show that this simple model is
                   expressive enough to define high-level composition
                   abstractions while being small enough to be
                   mathematically tractable. We present the formal model
                   of forms, agents and channels in terms of a composition
                   calculus. We encode the composition calculus into the
                   asynchronous pi-calculus and show the soundness of this
                   encoding. We define the composition language Piccola on
                   top of the composition calculus by adding some
                   syntactic sugar and by defining a bridge to access
                   external components. The usefulness of Piccola is
                   demonstrated by defining composition abstractions and
                   reasoning about them at the level of the language. We
                   present several kinds of composition abstractions:
                   wrappers to adapt components, connectors to implement
                   composition styles, and coordination abstractions that
                   cross-cut the functional decomposition of a system. We
                   also demonstrate how to reason about composition and
                   how to use glue code to detect and fix compositional
                   mismatches. },
  keywords       = {scg-phd piccola contract-types snf02 jb02},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/acherman-phd.pdf},
  year           = 2002
}

@Book{Free99a,
  Author         = {Eric Freeman and Susanne Hupfer and Ken Arnold},
  Title          = {JavaSpaces Principles, Patterns and Practice},
  Publisher      = {Addison Wesley},
  Note           = {ISBN: 0201309556},
  keywords       = {java, scglib},
  year           = 1999
}

@Book{Trem75a,
  Author         = {J.P. Tremblay and R. Manohar},
  Title          = {Discrete Mathemetical Structures with Applications to
                   Computer Science},
  Publisher      = {McGraw-Hill},
  keywords       = {misc computability logic},
  year           = 1975
}

@InProceedings{Hans91a,
  Author         = {Eric N. Hanson and Tina M. Harvey and Mark A. Roth},
  Title          = {Experiences in {DBMS} Implementation Using an
                   Object-Oriented Persistent Programming Language and a
                   Database Toolkit},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {314-328},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Doda94a,
  Author         = {Mahesh Dodani},
  Title          = {Model-Based Specifications of Object-Oriented Software},
  Journal        = {Report on Object-Oriented Analysis and Desing},
  Volume         = {1},
  Number         = {4},
  keywords       = {oobib(gen) specification binder},
  month          = nov,
  publisher      = {SIGS Publications},
  year           = 1994
}

@InProceedings{Reyn85a,
  Author         = {John C. Reynolds},
  Title          = {Three Approaches to Type Structure},
  BookTitle      = {Proceedings TAPSOFT '85},
  Editor         = {Ehrig and Floyd, Nivat and Thatcher},
  Series         = {LNCS 185},
  Pages          = {97-138},
  Publisher      = {Springer-Verlag},
  keywords       = {types tapsoft85 caap85 binder},
  year           = 1985
}

@InProceedings{Mull90a,
  Author         = {Hausi A. M{\"u}ller and James S. Uhl},
  Title          = {Composing {Subsystem} {Structures} using (k,2)-partite
                   graphs},
  BookTitle      = {Proceedings of ICSM '90 (International Conference on
                   Software Maintenance)},
  Pages          = {12-19},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  month          = nov,
  year           = 1990
}

@Article{Lieb86b,
  Author         = {H. Lieberman},
  Title          = {Delegation and Inheritance: Two mechanisms for sharing
                   Knowledge in Object-Oriented Systems},
  Journal        = {Bigre + Globule},
  Volume         = {48},
  Pages          = {79-89},
  year           = 1986
}

@InProceedings{Harr95a,
  Author         = {David R. Harris and Howard B. Reubenstein and
                   Alexander S. Yeh},
  Title          = {Reverse Engineering to the Architectural Level},
  BookTitle      = {Proceedings of the 17th International Conference on
                   Software Engineering (ICSE'95)},
  Address        = {Seattle, Washington USA},
  Publisher      = {Association for Computing Machinery, Inc.},
  month          = apr,
  year           = 1995
}

@Article{Wegn89a,
  Author         = {Peter Wegner},
  Title          = {Learning the Language},
  Journal        = {Byte},
  Volume         = {14},
  Number         = {3},
  Pages          = {245-253},
  keywords       = {olit binder(oop) oobib(gen)},
  month          = mar,
  year           = 1989
}

@Book{Baet90a,
  Author         = {Jos C.M. Baeten},
  Title          = {Applications of Process Algebra},
  Publisher      = {Cambridge University Press},
  isbn           = {0-521-40028-7},
  keywords       = {pcalc acp book scglib},
  year           = 1990
}

@Book{Miln80a,
  Author         = {Robin Milner},
  Title          = {A Calculus of Communicating Systems},
  Publisher      = {Springer-Verlag},
  Volume         = {92},
  Series         = {LNCS},
  keywords       = {pcalc equivalence ccs},
  year           = 1980
}

@InProceedings{Aldr05a,
  Author         = {Jonathan Aldrich},
  Title          = {Open Modules: Modular Reasoning About Advice},
  BookTitle      = {Proceedings ECOOP 2005},
  Volume         = 3586,
  Series         = {LNCS},
  Pages          = {144-168},
  Address        = {Glasgow, UK},
  Publisher      = {Springer Verlag},
  doi            = {http://dx.doi.org/10.1007/11531142_7},
  keywords       = {olit},
  month          = jul,
  url            = {http://www.cs.cmu.edu/~aldrich/papers/ecoop05open-modules.pdf},
  year           = 2005
}

@TechReport{Bung07a,
  Author         = {Philipp Bunge},
  Title          = {Shrew -- A Prototype for Subversion Analysis},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {With the growth of the World Wide Web, version control
                   systems have become an essential component in
                   collaborative software development. One such version
                   control system that has found generous adoption in
                   recent years is Subversion, a centralized system that
                   was designed explicitly to match the requirements of
                   the open-source community. Equally, specialized web
                   based tools have emerged to browse and inspect version
                   control systems such as Subversion and have proven
                   themselves to be valuable instruments for the
                   developers of software projects. As projects become
                   larger and more complex however, these tools have often
                   reached their limitations on the level of introspecting
                   they can provide. To solve this problem we present
                   Shrew, an approach to analyze Subversion repositories
                   that builds upon a specialized meta-model and makes use
                   of the Moose object- oriented reengineering environment
                   to facilitate information extraction and that presents
                   its results with a convenient web interface.},
  keywords       = {snf-none scg-bp jb07},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Bung07a.pdf},
  year           = 2007
}

@PhdThesis{Mour03a,
  Author         = {Paolo Moura},
  Title          = {Logtalk},
  School         = {Universidade da Beira Interior},
  year           = 2003
}

@Article{Fish96a,
  Author         = {Kathleen Fisher and John C. Mitchell},
  Title          = {The Development of Type Systems for Object-Oriented
                   Languages},
  Journal        = {Theory and Practice of Object Systems},
  Volume         = {1},
  Number         = {3},
  Pages          = {189-220},
  keywords       = {oopl ooc},
  url            = {ftp://theory.stanford.edu/pub/jcm/papers/tapos.ps},
  year           = 1996
}

@TechReport{Kneu01a,
  Author         = {Stefan Kneub\"uhl},
  Title          = {Implementing Coordination Styles in {Piccola}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {piccola scg-ip skip-abstract jb-none},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Kneu01a.pdf},
  year           = 2001
}

@Book{Lee97a,
  Author         = {Richard C. Lee and William M. Tepfenhart},
  Title          = {{UML} and {C}++ {A} Practical Guide to Object-Oriented
                   Development},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-619719-1},
  keywords       = {c++ uml scglib new-entry},
  year           = 1997
}

@InCollection{Mule93a,
  Author         = {Philippe Mulet and Pierre Cointe},
  Title          = {Definition of a Reflective Kernel for a
                   Prototype-Based Language},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {128-144},
  abstract       = {We present the implementation of Moostrap, a
                   reflective prototype-based language, the interpreter of
                   which is written in Scheme. Moostrap is based on a
                   reduced number of primitives, according to a previous
                   work for defining a taxonomy for prototype-based
                   languages. Our purpose is to reify the behavior of any
                   object through two steps: the slot lookup and its
                   application. The first phase is reified thanks to
                   \fIbehavioral metaobjects\fR, and the second is managed
                   by special objects, called \fIslot-executants\fR. This
                   kernel does not handle any implicit delegation at
                   first. However, we introduce it, as s first extension
                   of the basic language using a new behavioral
                   meta-object.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Fowl03a,
  Author         = {Martin Fowler},
  Title          = {{UML} Distilled},
  Publisher      = {Addison Wesley},
  isbn           = {0321193687},
  keywords       = {olit design scglib uml},
  year           = 2003
}

@TechReport{Nier90a,
  Author         = {Oscar Nierstrasz and Laurent Dami and Vicki de Mey and
                   Marc Stadelmann and Dennis Tsichritzis and Jan Vitek},
  Title          = {Visual Scripting --- Towards Interactive Construction
                   of Object-Oriented Applications},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Object-oriented programming techniques are known to
                   improve the flexibility and reusability of certain
                   kinds of software. Libraries of object classes,
                   however, continue to be difficult both to develop and
                   to reuse. We present an approach to object-oriented
                   application development in which applications are
                   constructed by interactively "scripting" cooperating,
                   reusable software objects. A visual scripting tool is
                   being developed within ITHACA, an Esprit II project
                   which seeks to produce an integrated environment for
                   the rapid and flexible development of object-oriented
                   applications for selected application domains.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca skipdoi scripting vst vista osg-ftp om90},
  month          = jul,
  pages          = {315-331},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier90aVisualScripting.pdf},
  year           = 1990
}

@InProceedings{Brue93a,
  Author         = {Bernd Bruegge and Tim Gottschalk and Bin Luo},
  Title          = {A Framework for Dynamic Program Analyzers},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {65-82},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Ache00d,
  Author         = {Franz Achermann},
  Title          = {Language support for feature mixing},
  BookTitle      = {Workshop on Multi-Dimensional Separation of Concerns
                   in Software Engineering (ICSE 2000)},
  Address        = {Limerick, Ireland},
  abstract       = {Object oriented languages cannot express certain
                   composition abstractions due to restricted abstraction
                   power. A number of approaches, like SOP or AOP overcome
                   this restriction, thus giving the programmer more
                   possibilities to get a higher degree of separation of
                   concern. We propose \emph{forms}, extensible mappings
                   from labels to values, as vehicle to implement and
                   reason about composition abstractions. Forms unify a
                   variety of concepts such as interfaces, environments,
                   and contexts. We are prototyping a composition language
                   where forms are the only and ubiquitous first class
                   value. Using forms, it is possible compose software
                   artifacts focusing on a single concern and thus achieve
                   a high degree of separation of concern. We believe that
                   using forms it also possible to compare and reason
                   about the different composition mechanisms proposed.},
  keywords       = {olit scg-pub skipdoi piccola jb00 snf00 scg-coord-00},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache00dFeatureMixing.pdf},
  year           = 2000
}

@Misc{JavaCC,
  Title          = {Java Compiler Compiler},
  Note           = {http://www.experimentalstuff.com/Technologies/JavaCC/},
  key            = {JavaCC},
  url            = {http://www.experimentalstuff.com/Technologies/JavaCC/}
}

@InProceedings{Stor95a,
  Author         = {Margaret-Anne D. Storey and Hausi A. M{\"u}ller},
  Title          = {Manipulating and Documenting Software Structures using
                   {SHriMP} {Views}},
  BookTitle      = {Proceedings of ICSM '95 (International Conference on
                   Software Maintenance)},
  Pages          = {275-284},
  Publisher      = {IEEE Computer Society Press},
  year           = 1995
}

@Article{Wild95a,
  Author         = {Norman Wilde and Michael Scully},
  Title          = {Software Reconnaisance: Mapping Program Features to
                   Code},
  Journal        = {Software Maintenance: Research and Practice},
  Volume         = {7},
  Number         = {1},
  Pages          = {49-62},
  year           = 1995
}

@InProceedings{Cham92c,
  Author         = {Craig Chambers},
  Title          = {Object-Oriented Multi-Methods in {Cecil}},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {33-56},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl cecil ecoop92proc},
  month          = jun,
  year           = 1992
}

@Article{Priet90a,
  Author         = {Prieto-Diaz, Rub{\'e}n},
  Title          = {Domain Analysis: An Introduction},
  Journal        = {ACM SIGSoft Enginnering Notes},
  Volume         = {15},
  Number         = {2},
  Pages          = {47-54},
  keywords       = {olit-reuse},
  month          = apr,
  year           = 1990
}

@Article{Cox97a,
  Author         = {Brad J. Cox},
  Title          = {Objects as Property},
  Journal        = {IEEE Software Magazine},
  keywords       = {olit-oopl poise repository},
  month          = jan,
  url            = {http://virtualschool.edu/cox/IEEE97.html},
  year           = 1997
}

@InProceedings{Gael04a,
  Author         = {Markus Gaelli and Michele Lanza and Oscar Nierstrasz
                   and Roel Wuyts},
  Title          = {Ordering Broken Unit Tests for Focused Debugging},
  BookTitle      = {20th International Conference on Software Maintenance
                   (ICSM 2004)},
  Pages          = {114-123},
  abstract       = {Current unit test frameworks present broken unit tests
                   in an arbitrary order, but developers want to focus on
                   the most specific ones first. We therefore inferred a
                   partial order of unit tests corresponding to a coverage
                   hierarchy of their sets of covered method signatures:
                   When several unit tests in this coverage hierarchy
                   break, we can guide the developer to the test calling
                   the smallest number of methods. Our experiments with
                   four case studies indicate that this partial order is
                   semantically meaningful, since faults that cause a unit
                   test to break generally cause less specific unit tests
                   to break as well.},
  annote         = {internationalconference},
  cvs            = {EgICSM2004},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2004.1357796},
  keywords       = {scg-pub testing jb05 snf04},
  misc           = {gaelli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael04aOrderingBrokenUnitTestsForFocusedDebugging.pdf},
  year           = 2004
}

@Article{Smit77b,
  Author         = {J.M. Smith and D.C.P. Smith},
  Title          = {Database abstractions: Aggregation and Generalization},
  Journal        = {ACM TODS},
  Volume         = {2},
  Number         = {2},
  Pages          = {105-133},
  keywords       = {dblit data abstraction},
  month          = jun,
  year           = 1977
}

@InProceedings{Weih05a,
  Author         = {Marcel Weiher and St\'ephane Ducasse},
  Title          = {High-Order Messaging},
  BookTitle      = {Proceedings of International Symposium on Dynamic
                   Languages (SDL'05)},
  Pages          = {23-34},
  Publisher      = {ACM Press},
  abstract       = {We introduce Higher Order Messaging, a higher order
                   programming mechanism for dynamic object-oriented
                   languages. Higher Order Messages allow user-defined
                   message dispatch mechanism to be expressed using an
                   optimally compact syntax that is a natural extension of
                   plain messaging and also have a simple conceptual
                   model. They can be implemented without extending the
                   base language and operate through language bridges.},
  annote         = {internationalconference},
  keywords       = {stefPub jb06 listic},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Weih05aHigherOrderMessagingOOPSLA2005.pdf},
  year           = 2005
}

@Book{Best93a,
  Editor         = {Eike Best},
  Title          = {Proceedings {CONCUR}'93},
  Publisher      = {Springer-Verlag},
  Volume         = {715},
  Series         = {LNCS},
  Address        = {Heidesheim, Germany},
  isbn           = {3-540-57208-2},
  keywords       = {olit concur93 scglib},
  month          = aug,
  year           = 1993
}

@PhdThesis{Sing96a,
  Author         = {Vivek P. Singhal},
  Title          = {A Programming Language for Writing Domain-Specific
                   Software System Generators},
  School         = {University of Texas at Austin},
  month          = sep,
  url            = {http://www.cs.utexas.edu/users/schwartz/pub.htm#vivek-thesis},
  year           = 1996
}

@InCollection{Rieh98b,
  Author         = {Dirk Riehle},
  Title          = {Bureaucracy},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  Editor         = {Robert Martin and Dirk Riehle and Frank Buschmann},
  Pages          = {163-185},
  year           = 1998
}

@Book{Borl91a,
  Author         = {?},
  Title          = {Open Architecture Handbook},
  Publisher      = {Borland International Inc.},
  Address        = {Scotts Valley, CA},
  year           = 1991
}

@TechReport{Varo95a,
  Author         = {Patrick Varone},
  Title          = {Implementation of `Generic Synchronization Policies'
                   in Pict},
  Institution    = {University of Bern, Institute of Computer Science and
                   Applied Mathematics},
  Type           = {Technical Report},
  Number         = {IAM-96-005},
  abstract       = {This report presents the implementation of the
                   "Generic Synchronization Policies" (abbreviated as GSP)
                   using the language Pict. The main goal of this work was
                   to see how well suited Pict is for implementing higher
                   level abstractions. The remainder of this report is
                   structured as follows: Section 2 briefly introduces the
                   GSP concept. Pict and its object model are presented in
                   section 3. The implementation of GSP is the heart of
                   section 4. Finally, Section 5 mention future possible
                   works.},
  keywords       = {olit scg-pub skipdoi toBeChecked snf95 jb95},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Varo95aGSPinPict.pdf},
  year           = 1996
}

@InProceedings{Bern82a,
  Author         = {Philip A. Bernstein and N. Goodman},
  Title          = {A Sophisticate's Introduction to Distributed
                   Concurrency Control},
  BookTitle      = {Proceedings of the Eighth International Conference on
                   Very Large Data Bases},
  Pages          = {62-76},
  keywords       = {concurrency other},
  year           = 1982
}

@InProceedings{Cole01a,
  Author         = {R.J. Cole and P.W. Eklund},
  Title          = {Browsing Semi-structured Web texts using Formal
                   Concept Analysis},
  BookTitle      = {Proceedings 9th International Conference on Conceptual
                   Structures},
  Series         = {LNAI 2120},
  Pages          = {319-332},
  Address        = {Berlin},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  year           = 2001
}

@Book{Booc98a,
  Author         = {Grady Booch and James Rumbaugh and Ivar Jacobson},
  Title          = {The Unified Modeling Language User Guide},
  Publisher      = {Addison Wesley},
  Note           = {ISBN: 0-210-57168-4},
  year           = 1998
}

@InProceedings{Tant03a,
  Author         = {{\'E}ric Tanter and Jacques Noy\'e and Denis Caromel
                   and Pierre Cointe},
  Title          = {Partial Behavioral Reflection: Spatial and Temporal
                   Selection of Reification},
  BookTitle      = {Proceedings of OOPSLA '03, ACM SIGPLAN Notices},
  Pages          = {27-46},
  month          = {nov},
  url            = {http://www.dcc.uchile.cl/~etanter/research/publi/2003/tanter-oopsla03.pdf},
  year           = 2003
}

@Article{Tenn76a,
  Author         = {R.D. Tennent},
  Title          = {The Denotational Semantics of Programming Languages},
  Journal        = {Communications of the ACM},
  Volume         = {19},
  Number         = {8},
  Pages          = {437-453},
  keywords       = {pl-semantics binder},
  month          = aug,
  year           = 1976
}

@InProceedings{Schm98a,
  Author         = {I. Schmitt and G. Saake},
  Title          = {Merging Inheritance Hierarchies for Database
                   Integration},
  BookTitle      = {Proceedings of the 3rd International Conference on
                   Cooperative Info. Systems (CoopIS'98)},
  Address        = {New York},
  keywords       = {fca},
  month          = aug,
  year           = 1998
}

@InProceedings{Feel92a,
  Author         = {Michael J. Feeley and Henry M. Levy},
  Title          = {Distributed Shared Memory with Versioned Objects},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {247-262},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Kuhn06c,
  Author         = {Adrian Kuhn and Orla Greevy},
  Title          = {Exploiting the Analogy Between Traces and Signal
                   Processing},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintainance (ICSM 2006)},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {The main challenge of dynamic analysis is the huge
                   volume of data, making it difficult to extract high
                   level views. Most techniques developed so far adopt a
                   fine-grained approach to address this issue. In this
                   paper we introduce a novel approach representing entire
                   traces as signals in time. Drawing this analogy between
                   dynamic analysis and signal processing, we are able to
                   access a rich toolkit of well-established and
                   ready-to-use analysis techniques. As an application of
                   this analogy, we show how to fit a visualization of the
                   complete feature space of a system on one page only:
                   our approach visualizes feature traces as time plots,
                   summarizes the trace signals and uses dynamic time
                   warping to group them by similar features. We apply the
                   approach on a case study, and discuss both common and
                   unique patterns as observed on the visualization.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.29},
  keywords       = {scg-pub kuhn greevy jb07 fb06 Feature Feature-Traces
                   Dynamic Analysis moose-pub recast07 snf06},
  month          = sep,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Kuhn06cTraceSignalICSM2006.pdf},
  year           = 2006
}

@TechReport{Clou00a,
  Author         = {Paul Clough},
  Title          = {Plagiarism in Natural and Programming Languages: An
                   Overview of Current Tools and Technologies},
  Institution    = {University of Sheffield, Department of Computer
                   Science},
  keywords       = {plagiarism, copy detection},
  lastaccess     = {nov 22, 2002},
  month          = jun,
  url            = {http://www.dcs.shef.ac.uk/~cloughie/research.htm#plagiarism},
  year           = 2000
}

@InProceedings{Hama03a,
  Author         = {Rachid Hamadi and Boualem Benatallah},
  Title          = {A Petri Net-based Model for Web Service Composition},
  BookTitle      = {Proceedings of the Fourteenth Australasian Database
                   Conference (ADC 2003)},
  Address        = {Adelaide, Australia},
  keywords       = {semantic web},
  year           = 2003
}

@InCollection{Bigg92a,
  Author         = {T.J. Biggerstaff},
  Title          = {Design Recovery for Maintenance and Reuse},
  BookTitle      = {Software Reengineering},
  Publisher      = {IEEE Computer Society Press},
  Editor         = {Robert S. Arnold},
  Pages          = {520-533},
  keywords       = {reveng},
  year           = 1992
}

@InProceedings{Lian98a,
  Author         = {Sheng Liang and Gilad Bracha},
  Title          = {Dynamic Class Loading in the {Java} Virtual Machine},
  BookTitle      = {Proceedings of OOPSLA '98, ACM SIG{\-}PLAN Notices},
  Pages          = {36-44},
  year           = 1998
}

@Book{Bung77a,
  Author         = {M. Bunge},
  Title          = {Treatise on Basic Philosophy: Ontology I: The
                   Furniture of the World},
  Publisher      = {Riedel},
  year           = 1977
}

@InProceedings{Sark92a,
  Author         = {Manojit Sarkar and Marc H. Brown},
  Title          = {Graphical Fisheye Views of Graphs: Visualizing
                   Objects, Graphs, and Video},
  BookTitle      = {Proceedings of ACM CHI'92 Conference on Human Factors
                   in Computing Systems},
  Pages          = {83-91},
  year           = 1992
}

@InProceedings{Anqu99a,
  Author         = {Nicolas Anquetil and Timothy Lethbridge},
  Title          = {Experiments with {Clustering} as a {Software}
                   {Remodularization} {Method}},
  BookTitle      = {Proceedings of WCRE '99 (6th Working Conference on
                   Reverse Engineering)},
  Pages          = {235-255},
  keywords       = {clustering},
  year           = 1999
}

@InCollection{Mayo91a,
  Author         = {Guillermo Mayobre},
  Title          = {Reuse-Oriented {SW} Development at Hewlett Packard},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@InProceedings{Drah03a,
  Author         = {Dirk Draheim and Lukasz Pekacki},
  Title          = {Process-Centric Analytical Processing of Version
                   Control Data},
  BookTitle      = {International Workshop on Principles of Software
                   Evolution (IWPSE 2003)},
  Pages          = {131--136},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp evolution clustering},
  year           = 2003
}

@Article{LaLo91a,
  Author         = {Wilf LaLonde and John Pugh},
  Title          = {{Subclassing} $\neq$ {Subtyping} $\neq$ {Is}-a},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {3},
  Number         = {5},
  Pages          = {57-62},
  keywords       = {olit joop ioom-types},
  month          = jan,
  year           = 1991
}

@InProceedings{Andr99a,
  Author         = {Lu{\'\i}s Filipe Andrade and Jos{\'e} Luiz Fiadeiro},
  Title          = {{Interconnecting Objects via Contracts}},
  BookTitle      = {Proceedings UML '99 (The Second International
                   Conference on The U nified Modeling Language)},
  Editor         = {Bernhard Rumpe},
  Volume         = {1723},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  month          = oct,
  year           = 1999
}

@Article{McLe85a,
  Author         = {Dennis McLeod and S. Widjojo},
  Title          = {Object Management and Sharing in Autonomous,
                   Distributed Data/Knowledge Bases},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {83-89},
  keywords       = {olit-db knowrep},
  month          = dec,
  year           = 1985
}

@InProceedings{Duca06c,
  Author         = {St\'ephane Ducasse and Tudor G\^irba and Adrian Kuhn},
  Title          = {Distribution Map},
  BookTitle      = {Proceedings of 22nd IEEE International Conference on
                   Software Maintenance (ICSM '06)},
  Pages          = {203-212},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Understanding large software systems is a challenging
                   task, and to support it many approaches have been
                   developed. Often, the result of these approaches
                   categorize existing entities into new groups or
                   associates them with mutually exclusive properties. In
                   this paper we present the Distribution Map as a generic
                   technique to visualize and analyze this type of result.
                   Our technique is based on the notion of focus, which
                   shows whether a property is well-encapsulated or
                   cross-cutting, and the notion of spread, which shows
                   whether the property is present in several parts of the
                   system. We present a basic visualization and complement
                   it with measurements that quantify focus and spread. To
                   validate our technique we show evidence of applying it
                   on the result sets of different analysis approaches. As
                   a conclusion we propose that the Distribution Map
                   technique should belong to any reverse engineering
                   toolkit.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.22},
  keywords       = {scg-pub jb07 fb06 stefPub moose-pub girba recast07
                   snf06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca06cDistributionMap.pdf},
  year           = 2006
}

@TechReport{Elli92a,
  Author         = {Clarence Ellis and Gary J. Nutt},
  Title          = {The Modelling and Analysis of Coordination Systems},
  Institution    = {University of Colorado},
  Type           = {Technical Report},
  keywords       = {oislit survey binder},
  year           = 1992
}

@InProceedings{Duca05e,
  Author         = {St\'ephane Ducasse and Michele Lanza and Laura Ponisio},
  Title          = {Butterflies: A Visual Approach to Characterize
                   Packages},
  BookTitle      = {Proceedings of the 11th IEEE International Software
                   Metrics Symposium (METRICS'05)},
  Pages          = {70-77},
  Publisher      = {IEEE Computer Society},
  abstract       = {Understanding sets of classes, or packages, is an
                   important activity in the development and reengineering
                   of large object-oriented systems. Packages represent
                   the coarse-grained structure of an application. They
                   are artefacts to deploy and structure software, and
                   therefore more than a simple generalization of classes.
                   The relationships between packages and their contained
                   classes are key in the decomposition of an application
                   and its (re)-modularisation. However, it is difficult
                   to quickly grasp the structure of a package and to
                   understand how a package interacts with the rest of the
                   system. We tackle this problem using butterfly
                   visualizations, i.e. dedicated radar charts built from
                   simple package metrics based on a language-independent
                   meta-model. We illustrate our approach on two
                   applications and show how we can retrieve the relevant
                   characteristics of packages.},
  annote         = {internationalconference},
  cvs            = {AlchemistPackageMETRICS05},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/METRICS.2005.15},
  keywords       = {jb06 scg-pub stefPub moose-pub recast06},
  misc           = {acceptance rate: 39/89 = 44\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05ePackageVisualization.pdf},
  year           = 2005
}

@InProceedings{Jaga90a,
  Author         = {Radha Jagadeesan and Prakash Panangaden},
  Title          = {A Domain-theoretic Model for a Higher-order Process
                   Calculus},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Volume         = {443},
  Series         = {LNCS},
  Pages          = {181-194},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility icalp90 binder(conc)},
  month          = jul,
  year           = 1990
}

@InProceedings{Aksi94b,
  Author         = {Mehmet Aksit and Jan Bosch and William van der Sterren
                   and Lodewijk Bergmans},
  Title          = {Real-Time Specification Inheritance Anomalies and
                   Real-Time Filters},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {386-407},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Cunn86a,
  Author         = {Ward Cunningham and Kent Beck},
  Title          = {A Diagram for Object-Oriented Programs},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {361-367},
  keywords       = {olit concepts smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Lang95a,
  Author         = {Danny Lange and Yuichi Nakamura},
  Title          = {Interactive Visualization of Design Patterns can help
                   in Framework Understanding},
  BookTitle      = {Proceedings ACM International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA 1995)},
  Pages          = {342-357},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  keywords       = {ooreveng famoos},
  year           = 1995
}

@PhdThesis{Papa92c,
  Author         = {Michael Papathomas},
  Title          = {Language Design Rationale and Semantic Framework for
                   Concurrent Object-Oriented Programming},
  School         = {Dept. of Computer Science, University of Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obc pcalc osg-phd osg-ftp},
  number         = {No. 2522},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/papathomasThesis.pdf},
  year           = 1992
}

@TechReport{Muel01a,
  Author         = {Peter M{\"u}ller and Arnd Poetzsch-Heffter},
  Title          = {Universes: A Type System for Alias and Dependency
                   Control},
  Institution    = {Fernuniversit\"at Hagen},
  Number         = {279},
  key            = {M{\"u}ller \& Poetzsch-Heffter},
  url            = {www.informatik.fernuni-hagen.de/pi5/publications.html},
  year           = 2001
}

@Misc{Stru,
  Title          = {The Apache Struts Web Application Framework},
  Note           = {http://jakarta.apache.org/struts/},
  key            = {Stru}
}

@Article{Anco01b,
  Author         = {Davide Ancona and Elena Zucca},
  Title          = {A Theory of Mixin Modules: Algebraic Laws and
                   Reduction Semantics},
  Journal        = {Mathematical Structures in Computer Science},
  Volume         = {12},
  Number         = {6},
  Pages          = {701-737},
  url            = {http://www.disi.unige.it/person/AnconaD/Journals.html},
  year           = 2001
}

@InProceedings{Wuyt04x,
  Author         = {Roel Wuyts and Serge Demeyer and St\'ephane Ducasse
                   and Kim Mens},
  Title          = {Report of the {ECOOP}'04 Workshop on Object-Oriented
                   Reengineering},
  BookTitle      = {Object-Oriented Technology. ECOOP'04 Workshop Reader},
  Volume         = {3344},
  Series         = {LNCS (Lecture Notes in Computer Science)},
  Pages          = {177-186},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper reports on the results of the Fifth
                   International Workshop on Object-Oriented Reengineering
                   in Oslo on June 15, 2004. It enumerates the
                   presentations made, classifies the contributions and
                   lists the main results of the discussions held at the
                   workshop. As such it provides the context for future
                   workshops around this topic.},
  annote         = {workshopproceedings},
  doi            = {10.1007/b104146},
  keywords       = {scg-pub jb04 stefPub recast04},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt04x-OOR04Report.pdf},
  year           = 2004
}

@InProceedings{Beti05a,
  Author         = {Aysu Betin-Can and Tevfik Bultan and Xiang Fu},
  Title          = {Design for verification for asynchronously
                   communicating Web services},
  BookTitle      = {WWW '05: Proceedings of the 14th international
                   conference on World Wide Web},
  Pages          = {750--759},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1060745.1060853},
  isbn           = {1-59593-046-9},
  location       = {Chiba, Japan},
  year           = 2005
}

@Book{Dave02a,
  Author         = {B.A. Davey and H. A. Priestley},
  Title          = {Introduction to Lattices and Order: Second Edition},
  Publisher      = {Cambridge University Press},
  year           = 2002
}

@InProceedings{Garb96a,
  Author         = {Beno\^it Garbinato and Pascal Felber and Rachid
                   Guerraoui},
  Title          = {Protocol Classes for Designing Reliable Distributed
                   Environments},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {316-343},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Berg06a,
  Author         = {Alexandre Bergel},
  Title          = {{FacetS}: First Class Entities for an Open Dynamic
                   {AOP} Language},
  BookTitle      = {Proceedings of the Open and Dynamic Aspect Languages
                   Workshop},
  abstract       = {This paper describes a new aspect language construct
                   for Squeak, named FACETS. Aspects are completely
                   integrated within the Squeak programming language and
                   its environment. The innovations of FACETS are: (i)
                   traits can be part of the pointcut definition, (ii) two
                   scoping policies are available to share state among
                   aspects and (iii) aspects are prototype-based.},
  annote         = {internationalworkshop},
  keywords       = {aspect facets},
  month          = mar,
  url            = {http://www.cs.tcd.ie/Alexandre.Bergel/download/papers/Berg06a-FacetS.pdf},
  year           = 2006
}

@InProceedings{Aoki01a,
  Author         = {Atsushi Aoki and Kaoru Hayashi and Kouichi Kishida and
                   Kumiyo Nakakoji and Yoshiyuki Nishinaka and Brent
                   Reeves and Akio Takashima and Yasuhiro Yamamoto},
  Title          = {A Case Study of the Evolution of Jun: an
                   Object-Oriented Open-Source 3D Multimedia Library},
  BookTitle      = {Proceedings of International Conference on Software
                   Engineering (ICSE)},
  keywords       = {olit},
  year           = 2001
}

@MastersThesis{Kraj03a,
  Author         = {Jacek Krajewski},
  Title          = {{QCR} \-- {A} Methodology for Software Evolution
                   Analysis},
  School         = {Information Systems Institute, Distributed Systems
                   Group, Technical University of Vienna},
  keywords       = {olit},
  misc           = {15, April},
  month          = apr,
  year           = 2003
}

@TechReport{Lieb81a,
  Author         = {Henry Lieberman and Carl Hewitt},
  Title          = {A Real Time Garbage Collector Based on the Lifetimes
                   of Objects},
  Institution    = {MIT},
  Type           = {AI memo no},
  Number         = {569},
  keywords       = {olit memory real-time casais},
  year           = 1981
}

@PhdThesis{Rieh00a,
  Author         = {Dirk Riehle},
  Title          = {Framework Design: a Role Modelling Approach},
  School         = {Swiss Federal Institute of Technology, Zurich},
  key            = {Diss. ETH No. 13509},
  year           = 2000
}

@InProceedings{Papa94a,
  Author         = {M. P. Papa and G. Ragucci and G. Corrente and M.
                   Ferrise and S. Giurleo and D. Vitale},
  Title          = {The Development of an Object-Oriented Multimedia
                   Information System},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {278-297},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@InProceedings{Mats91b,
  Author         = {Satoshi Matsuoka and Ken Wakita and Akinori Yonezawa},
  Title          = {On Inheritance in Concurrent Object-Oriented Languages},
  BookTitle      = {Proceedings of 7th Annual Conference of Japan Society
                   for Software Science and Technology (JSSST)},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {65-68},
  Address        = {Tokyo, Japan},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc inheritance anomaly},
  year           = 1991
}

@Article{Stoe06a,
  Author         = {Christoph Stoermer and Anthony Rowe and Liam O'Brien
                   and Chris Verhoef},
  Title          = {Model-Centric Software Architecture Reconstruction},
  Journal        = {Software --- Practice and Experience},
  Volume         = {36},
  Number         = {4},
  Pages          = {333--363},
  address        = {New York, NY, USA},
  doi            = {http://dx.doi.org/10.1002/spe.v36:4},
  issn           = {0038-0644},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2006
}

@Article{Hora85a,
  Author         = {Wolfgang Horak},
  Title          = {Office Document Architecture and Office Document
                   Interchange Formats: Current Status of International
                   Standardization},
  Journal        = {IEEE Computer},
  Volume         = {18},
  Number         = {10},
  Pages          = {50-60},
  keywords       = {olit-appl oda},
  month          = oct,
  year           = 1985
}

@InProceedings{Rich02c,
  Author         = {Debbie Richards and Kathrin B{\"o}ttger},
  Title          = {Assisting {Decision} {Making} in {Requirements}
                   {Reconciliation}},
  BookTitle      = {Proceedings of CSCWD '02 (7th International Conference
                   on Computer Supported Cooperative Work in Design)},
  Address        = {Brazil},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  month          = sep,
  year           = 2002
}

@InProceedings{Li05a,
  Author         = {Qingshan Li and Hua Chu and Shengming Hu and Ping Chen
                   and Zhao Yun},
  Title          = {Architecture Recovery and Abstraction from the
                   Perspective of Processes},
  BookTitle      = {Working Conference on Reverse Engineering (WCRE)},
  Pages          = {57-66},
  year           = 2005
}

@InProceedings{Cler88a,
  Author         = {Silvia Clerici and F. Orejas},
  Title          = {{GSBL}: An Algebraic Specification Language Based on
                   Inheritance},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {78-92},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@TechReport{Smit82c,
  Author         = {Brian Cantwell Smith},
  Title          = {Reflection and Semantics in a Procedural Language},
  Institution    = {MIT},
  Number         = {TR-272},
  Address        = {Cambridge, MA},
  year           = 1982
}

@TechReport{Mars98a,
  Author         = {P. Marsura and D. Riehle},
  Title          = {Design and Implementation of the {Java} Any Framework},
  Institution    = {Union Bank of Switzerland},
  Type           = {Ubilab technical report},
  Number         = {98.5.1},
  keywords       = {framework},
  url            = {http://www.ubs.com/e/index/about/ubilab/ext/publications/e_full_list.htm},
  year           = 1998
}

@InProceedings{Anto98a,
  Author         = {G. Antoniol and R. Fiutem and L. Cristoforetti},
  Title          = {Design Pattern Recovery in Object-Oriented Software},
  BookTitle      = {6th International Workshop on Program Comprehension
                   (Ischia, Italy)},
  Pages          = {153-160},
  url            = {http://citeseer.nj.nec.com/antoniol98design.html},
  year           = 1998
}

@InProceedings{Duwe99a,
  Author         = {Stephan D{\"{u}}wel},
  Title          = {Enhancing {System} {Analysis} by {Means} of {Formal}
                   {Concept} {Analysis}},
  BookTitle      = {Conference on Advanced Information Systems
                   Engineering. 6th Doctoral Consortium},
  Address        = {Heidelberg, Germany},
  keywords       = {fca},
  month          = jun,
  year           = 1999
}

@Book{Kast82a,
  Author         = {U. Kastens and B. Hutt and E. Zimmermann},
  Title          = {{GAG}: {A} Practical Compiler Generator},
  Publisher      = {Springer-Verlag},
  Volume         = {141},
  Series         = {LNCS},
  keywords       = {compiler generator gag patterns},
  year           = 1982
}

@InProceedings{Flaj90a,
  Author         = { Philippe Flajolet, Paolo Sipala, Jean-Marc Steyaert},
  Title          = {Analytic variations on the common subexpression
                   problem},
  BookTitle      = {Automata, Languages, and Programming},
  Volume         = {443},
  Series         = {LNCS},
  Pages          = {220-234},
  Publisher      = {Springer Verlag},
  year           = 1990
}

@Article{Berg84a,
  Author         = {Jan A. Bergstra and J.W. Klop},
  Title          = {Process Algebra for Synchronous Communication},
  Journal        = {Information and Control},
  Volume         = {60},
  Pages          = {109-137},
  keywords       = {pcalc acp binder},
  year           = 1984
}

@Article{Unga92a,
  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        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {53-65},
  keywords       = {olit-oopl self ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Bull96a,
  Author         = {Fr\'ed\'erique Bullat and Michel Schneider},
  Title          = {Dynamic Clustering in Object Databases Exploiting
                   Effective Use of Relationships Between Objects},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {344-365},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InCollection{Tolk95a,
  Author         = {Robert Tolksdorf},
  Title          = {A Machine for Uncoupled Coordination and Its
                   Concurrent Behavior},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {176-193},
  abstract       = {The family of un-coupled coordination languages ---
                   its most prominent representative is Linda --- uses as
                   a central mechanism for synchronization and
                   communication the addition and withdrawal of elements
                   to and from a multiset. We define a machine --- the
                   Bag-Machine --- that abstracts from specific outforms
                   of elements handled and operations in a coordination
                   language. We give a truly concurrent behavioral
                   specification by event structures. We further show, how
                   the embedding of a coordination language can be
                   formalized and demonstrate our approach by a
                   specification of Linda.},
  keywords       = {olit OBM94-11},
  year           = 1995
}

@TechReport{Abad90b,
  Author         = {Mart{\'\i}n Abadi},
  Title          = {An Axiomatization of Lamport's Temporal Logic of
                   Actions},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {65},
  Address        = {Palo Alto, California},
  keywords       = {temporal-logic tla binder (shelf)},
  month          = oct,
  year           = 1990
}

@TechReport{Mey92d,
  Author         = {Vicki de Mey},
  Title          = {Experience with Vista},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA.CUI.92.Vista.#3},
  keywords       = {olit-ithaca osg vista},
  month          = nov,
  year           = 1992
}

@Article{Frat99a,
  Author         = {Piero Fraternali},
  Title          = {Tools and approaches for developing data-intensive Web
                   applications: a survey},
  Journal        = {ACM Computing Surveys},
  Volume         = {3},
  Pages          = {227--263},
  year           = 1999
}

@Article{Kram90b,
  Author         = {Jeff Kramer and Jeff Magee},
  Title          = {The Evolving Philosophers Problem: Dynamic Change
                   Management},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {16},
  Number         = {11},
  Pages          = {1293--1306},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/32.60317},
  publisher      = {IEEE Press},
  year           = 1990
}

@Book{Ben82a,
  Author         = {Ben-Ari},
  Title          = {Principles of Concurrent Programming},
  Publisher      = {Prentice-Hall},
  keywords       = {concurrency},
  year           = 1982
}

@Article{Paul94a,
  Author         = {Santanu Paul and Atul Prakash},
  Title          = {A Framework for Source Code Search Using Program
                   Patterns},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {20},
  Number         = {6},
  Pages          = {463-475},
  month          = jun,
  year           = 1994
}

@Article{Magn90a,
  Author         = {Boris Magnusson},
  Title          = {{SCOOP}-Europe Report and Introducing {OOP} Research
                   at the University of Geneva},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {3},
  Number         = {4},
  Pages          = {66-70},
  keywords       = {olit joop},
  year           = 1990
}

@InProceedings{Rich99a,
  Author         = {Tamar Richner and St\'ephane Ducasse},
  Title          = {Recovering High-Level Views of Object-Oriented
                   Applications from Static and Dynamic Information},
  BookTitle      = {Proceedings of 15th IEEE International Conference on
                   Software Maintenance (ICSM'99)},
  Editor         = {Hongji Yang and Lee White},
  Pages          = {13-22},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Recovering architectural documentation from code is
                   crucial to maintaining and reengineering software
                   systems. Reverse engineering and program understanding
                   approaches are often limited by the fact that (1) they
                   propose a fixed set of predefined views and (2) they
                   consider either purely static or purely dynamic views
                   of the application. In this paper we present an
                   environment supporting the generation of tailorable
                   views of object-oriented systems from both static and
                   dynamic information. Our approach is based on the
                   combination of user-defined queries which allow an
                   engineer to create high-level abstractions and to
                   produce views using these abstractions.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.1999.792487},
  keywords       = {olit famoos-papref scg-pub toBeChecked snf99 jb99 oorp
                   stefPub},
  misc           = {acceptance rate: 49/100 = 49\%},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rich99aRecoveringViews.pdf},
  year           = 1999
}

@InProceedings{Kawa04a,
  Author         = {Shinji Kawaguchi and Pankaj K. Garg and Makoto
                   Matsushita and Katsuro Inoue},
  Title          = {MUDABlue: An Automatic Categorization System for Open
                   Source Repositories},
  BookTitle      = {Proceedings of the 11th Asia-Pacific Software
                   Engineering Conference (APSEC 2004)},
  Pages          = {184--193},
  year           = 2004
}

@Article{Taiv96a,
  Author         = {Antero Taivalsaari},
  Title          = {On the Notion of Inheritance},
  Journal        = {ACM Computing Surveys},
  Volume         = {28},
  Number         = {3},
  Pages          = {438-479},
  doi            = {http://doi.acm.org/10.1145/243439.243441},
  keywords       = {olit inheritance},
  month          = sep,
  year           = 1996
}

@InProceedings{Meyr86b,
  Author         = {Norman Meyrowitz},
  Title          = {Intermedia: The Architecture and Construction of an
                   Object-Oriented Hypermedia System and Applications
                   Framework},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {186-201},
  keywords       = {olit-appl intermedia hypertext oopsla86 oobib(sys)},
  month          = nov,
  year           = 1986
}

@Article{Leth05a,
  Author         = {Timothy C. Lethbridge and Susan Elliot Sim and Janice
                   Singer},
  Title          = {Studying Software Engineers: Data Collection
                   Techniques for Software Field Studies},
  Journal        = {Empirical Software Engineering, Springer Science and
                   Business Media, Inc., The Netherlands},
  Volume         = {10},
  Number         = {3},
  Pages          = {311-341},
  keywords       = {developers},
  month          = jul,
  year           = 2005
}

@Book{Snyd03a,
  Author         = {Carolyn Snyder},
  Title          = {Paper Prototyping},
  Publisher      = {Morgan Kaufmann},
  isbn           = {1558608702},
  keywords       = {book scglib},
  year           = 2003
}

@InProceedings{Free94a,
  Author         = {S.M.G. Freeman and M.S. Manasse},
  Title          = {Adding Digital Video to an Object-Oriented User
                   Interface Toolkit},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {493-512},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Book{Kort94a,
  Author         = {Henry F. Korth and Abraham Silberschatz},
  Title          = {Database System Concepts},
  Publisher      = {McGraw Hill},
  isbn           = {0-07-100804-7},
  keywords       = {dblit binder(shelf) scglib},
  year           = 1994
}

@InProceedings{Arev05c,
  Author         = {Gabriela Ar{\'e}valo and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Lessons Learned in Applying Formal Concept Analysis},
  BookTitle      = {Proceedings of 3rd International Conference on Formal
                   Concept Analysis (ICFCA '05)},
  Volume         = {3403},
  Series         = {LNAI (Lecture Notes in Artificial Intelligence)},
  Pages          = {95-112},
  Publisher      = {Springer Verlag},
  abstract       = { A key difficulty in the maintenance and evolution of
                   complex software systems is to recognize and understand
                   the implicit dependencies that define contracts that
                   must be respected by changes to the software. Formal
                   Concept Analysis is a well-established technique for
                   identifying groups of elements with common sets of
                   properties. We have successfully applied FCA to complex
                   software systems in order to automatically discover a
                   variety of different kinds of implicit, recurring sets
                   of dependencies amongst design artifacts. In this paper
                   we describe our approach, outline three case studies,
                   and draw various lessons from our experiences. In
                   particular, we discuss how our approach is applied
                   iteratively in order to draw the maximum benefit
                   offered by FCA. },
  annote         = {internationalconference},
  cvs            = {ConAnICFCA05LessonsLearned},
  doi            = {http://dx.doi.org/10.1007/b105806},
  keywords       = {scg-pub jb05 recast05 arevalo stefPub},
  location       = {Lens, France},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev05cICFCA05LessonsLearned.pdf},
  year           = 2005
}

@InProceedings{Fish94a,
  Author         = {Kathleen Fisher and Jhon C. Mitchell},
  Title          = {Notes on Typed Object-Oriented Programming},
  BookTitle      = {Proceedings of TACS '94},
  Volume         = {789},
  Series         = {LNCS},
  Pages          = {844-885},
  keywords       = {olit-oopl oobib(oopl) binder},
  year           = 1994
}

@InProceedings{Bota91a,
  Author         = {Rodrigo A. Botafogo and Ben Shneiderman},
  Title          = {Identifying {Aggregates} in {Hypertext} {Structures}},
  BookTitle      = {Proceedings CHI '91 (Conference on Human Factors in
                   Computing Systems)},
  Pages          = {63-74},
  Publisher      = {ACM Press},
  keywords       = {clustering},
  location       = {New Orleans, Louisiana, USA},
  year           = 1991
}

@InProceedings{Wuyt01d,
  Author         = {Roel Wuyts and St\'ephane Ducasse and Gabriela
                   Ar{\'e}valo},
  Title          = {Applying Experiences with Declarative Codifications of
                   Software Architectures on COD},
  BookTitle      = {Ecoop 6th International Workshop on Component-Oriented
                   Programming},
  abstract       = {This position paper presents some preliminary work we
                   made for applying declaractive component oriented
                   design in the context of embedded devices. We quickly
                   describes COMES the model we develop and present how
                   logic rules can be used to describe architectures.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 jb01 component Pecos stefPub
                   arevalo},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01d.pdf},
  year           = 2001
}

@Misc{Maven,
  Title          = {{Maven}},
  Note           = {http://maven.apache.org},
  key            = {Maven},
  keywords       = {testing project management},
  url            = {http://maven.apache.org}
}

@Book{Pier02a,
  Author         = {Benjamin Pierce},
  Title          = {Types and Programming Languages},
  Publisher      = {The MIT Press},
  keywords       = {scglib pl ioom-types},
  url            = {http://www.cis.upenn.edu/~bcpierce/tapl/index.html},
  year           = 2002
}

@InProceedings{Fior98b,
  Author         = {Fabrizio Fioravanti and Paolo Nesi and Sandro Perli},
  Title          = {A Tool for Process and Product Assessment of {C}++
                   Applications},
  BookTitle      = {CSMR '98 Proceedings (Euromicro Conference on Software
                   Maintenance and Reengineering)},
  Publisher      = {IEEE Computer Society},
  year           = 1998
}

@Article{Kram89a,
  Author         = {Jeffrey Kramer and Jeff Magee and K. Ng},
  Title          = {Graphical Configuration Programming},
  Journal        = {IEEE Computer},
  Volume         = {22},
  Number         = {10},
  Pages          = {53-65},
  keywords       = {visprog scripting},
  month          = oct,
  year           = 1989
}

@InCollection{Mart91b,
  Author         = {A. Martelli and P-L. Ianchini},
  Title          = {RobinHOOD (Reuse Objects in {HOOD})},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@Article{Egbe92a,
  Author         = {Parris K. Egbert and William J. Kubitz},
  Title          = {Application Graphics Modeling Support Through Object
                   Orientation},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {84-91},
  keywords       = {olit-oopl ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Mitc85a,
  Author         = {John C. Mitchell and Gordon D. Plotkin},
  Title          = {Abstract Types Have Existential Type},
  BookTitle      = {Proceedings POPL '85},
  Pages          = {37-51},
  Address        = {New Orleans},
  keywords       = {types fpl sol popl85},
  misc           = {Jan. 14-16},
  month          = jan,
  year           = 1985
}

@Book{Duge90a,
  Author         = {Philippe Dugerdil},
  Title          = {Smalltalk-80: Programmation par Objets},
  Publisher      = {Presses Polytechniques et Universitaires Romandes},
  isbn           = {2-88074-182-3},
  keywords       = {oolit-oopl oobib(smalltalk) book scglib},
  year           = 1991
}

@Article{Higu05a,
  Author         = {Colin de la Higuera},
  Title          = {A bibliographical study of grammatical inference.},
  Journal        = {Pattern Recognition},
  Volume         = {38},
  Number         = {9},
  Pages          = {1332-1348},
  bibsource      = {DBLP, http://dblp.uni-trier.de},
  ee             = {http://dx.doi.org/10.1016/j.patcog.2005.01.003},
  year           = 2005
}

@PhdThesis{Atki90a,
  Author         = {Colin Atkinson},
  Title          = {An Object-Oriented Language for Software Reuse and
                   Distribution},
  School         = {University of London},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl dragoon binder(shelf)},
  month          = feb,
  year           = 1990
}

@Book{Wolf02a,
  Author         = {Stephen Wolfram},
  Title          = {A New Kind of Science},
  Publisher      = {Wolfram Media Inc.},
  keywords       = {scglib},
  year           = 2002
}

@InProceedings{Lenc99a,
  Author         = {Raimondas Lencevicius and Urs H{\"o}lzle and Ambuj
                   Kumar Singh},
  Title          = {Dynamic Query-Based Debugging},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {135-160},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Program errors are hard to find because of the
                   cause-effect gap between the time when an error occurs
                   and the time when the error becomes apparent to the
                   programmer. Although debugging techniques such as condi
                   tional and data breakpoints help to find error causes
                   in simple cases, they fail to effectively bridge the
                   cause-effect gap in many situations. Dynamic query-
                   based debuggers offer programmers an effective tool
                   that provides instant error alert by continuously
                   checking inter-object relationships while the debugged
                   program is running. To speed up dynamic query
                   evaluation, our debugger (implemented in portable
                   {Java}) uses a combination of program instrumentation,
                   load-time code generation, query optimization, and
                   incre mental reevaluation. Experiments and a query cost
                   model show that selection queries are efficient in most
                   cases, while more costly join queries are practical
                   when query evaluations are infrequent or query domains
                   are small.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@TechReport{Tsic91c,
  Author         = {Dennis Tsichritzis and Simon Gibbs},
  Title          = {Virtual Museums and Virtual Realities},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {A version of this paper will appear in Proc. of the
                   Intl. Conf. on Hypermedia and Interactivity in Muse
                   ums, Pittsburgh, 1991.},
  abstract       = {The notion of virtual museum is discussed and related
                   to various developments in user-interface, software,
                   and communications technology. A prototype
                   implementation, intended to explore the integration of
                   interactive 3d graphics with video imagery is
                   described.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {157-164},
  year           = 1991
}

@TechReport{Gibb91b,
  Author         = {Simon Gibbs and Laurent Dami and Dennis Tsichritzis},
  Title          = {An Object-Oriented Framework for Multimedia
                   Composition and Synchronisation},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {A version of this paper appeared in the Eurographics
                   Multimedia Workshop, Stockholm, 1991.},
  abstract       = {Composition and synchronisation are discussed within
                   an object-oriented framework for programming multimedia
                   applications. The framework is based on a conceptual
                   model of inter-connectable multimedia components and
                   can be used to construct complex multimedia
                   applications involving audio, video and graphics.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {133-143},
  year           = 1991
}

@Article{Rigg96a,
  Author         = {Roger Riggs and Jim Waldo and Ann Wollrath and Krishna
                   Bharat},
  Title          = {Pickling State in the {Java} System},
  Journal        = {Computing Systems},
  Volume         = {9},
  Number         = {4},
  Pages          = {291-312},
  url            = {http://citeseer.nj.nec.com/riggs96pickling.html},
  year           = 1996
}

@Proceedings{Paep93a,
  Title          = {Proceedings of {OOPSLA} '93},
  Editor         = {Andreas Paepcke},
  Publisher      = {ACM SIGPLAN Notices},
  isbn           = {0-201-58895-1},
  keywords       = {olit survey special issue oopsla93 oobib(gen) book
                   scglib},
  year           = 1993
}

@InProceedings{Raja05a,
  Author         = {Hridesh Rajan and Kevin J. Sullivan},
  Title          = {Classpects: Unifying Aspects- and Object-Oriented
                   Language Design},
  BookTitle      = {Proceedings International Conference on Software
                   Engineering (ICSE 2005)},
  Pages          = {59--68},
  keywords       = {aspect c\#},
  year           = 2005
}

@InProceedings{Cook90a,
  Author         = {William Cook and Walter Hill and Peter Canning},
  Title          = {Inheritance is not Subtyping},
  BookTitle      = {Proceedings POPL '90},
  Address        = {San Francisco},
  keywords       = {olit-inheritance popl90 ioom-types},
  misc           = {Jan 17-19},
  month          = jan,
  year           = 1990
}

@Article{Wegn86a,
  Author         = {Peter Wegner},
  Title          = {Classification in Object-Oriented Systems},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {173-182},
  keywords       = {olit concepts oopws86 oobib(gen)},
  month          = oct,
  year           = 1986
}

@Article{Pier94b,
  Author         = {Benjamin C. Pierce and David N. Turner},
  Title          = {Simple Type-Theoretic Foundations for Object-Oriented
                   Programming},
  Journal        = {Journal of Functional Programming},
  Volume         = {4},
  Number         = {2},
  Pages          = {207-247},
  keywords       = {types olit binder},
  month          = apr,
  url            = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/oop.ps.Z},
  year           = 1994
}

@InProceedings{Lino99a,
  Author         = {Panagiotis K. Linos and Stephen R. Schach},
  Title          = {Comprehending Multilanguage and Multiparadigm Software},
  BookTitle      = {Proceedings of the short papers of ICSM '99},
  Pages          = {25-28},
  month          = aug,
  year           = 1999
}

@Article{Corb89a,
  Author         = {Thomas A. Corbi},
  Title          = {Program Understanding: Challenge for the 1990's},
  Journal        = {IBM Systems Journal},
  Volume         = {28},
  Number         = {2},
  Pages          = {294-306},
  keywords       = {oorp},
  publisher      = {IBM},
  year           = 1989
}

@InProceedings{Deur01a,
  Author         = {Deursen, {Arie van} and Leon Moonen and Bergh, {Alex
                   van den} and Gerard Kok},
  Title          = {Refactoring Test Code},
  BookTitle      = {Proceedings of the 2nd International Conference on
                   Extreme Programming and Flexible Processes (XP2001)},
  Editor         = {M. Marchesi},
  Pages          = {92-95},
  Publisher      = {University of Cagliari},
  keywords       = {testing},
  year           = 2001
}

@Article{Bruc86a,
  Author         = {Kim B. Bruce and Peter Wegner},
  Title          = {An Algebraic Model of Subtypes in Object-Oriented
                   Languages},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {163-172},
  keywords       = {types olit oopws86},
  month          = oct,
  year           = 1986
}

@Article{Woo86a,
  Author         = {Carson Woo and Frederick H. Lochovsky},
  Title          = {Supporting Distributed Office Problem Solving in
                   Organizations},
  Journal        = {ACM TOOIS},
  Volume         = {4},
  Number         = {3},
  Pages          = {185-204},
  keywords       = {olit ois},
  month          = jul,
  year           = 1986
}

@Article{Kim90b,
  Author         = {Won Kim and Jorge F. Garza and Nat Ballou and Darrell
                   Woelk},
  Title          = {Architecture of the {ORION} Next-generation Database
                   System},
  Journal        = {IEEE Transactions on Knowledge and Data Engineering},
  Volume         = {2},
  Number         = {1},
  Pages          = {109-124},
  keywords       = {olit-oodb (smc)},
  year           = 1990
}

@MastersThesis{Bala99c,
  Author         = {Magdalena Balazinska},
  Title          = {Reconception de Syst\`emes Orient\'es-Objet Bas\'ee
                   sur L'Analyse des Clones},
  School         = {\`Ecole Polytechnique de Montr\'eal},
  month          = nov,
  year           = 1999
}

@Article{Mens96a,
  Author         = {Tom Mens and Marc van Limberghen},
  Title          = {Encapsulation and Composition as Orthogonal Operators
                   on Mixins: {A} Solution to Multiple Inheritance
                   Problems},
  Journal        = {Object Oriented Systems},
  Volume         = {3},
  Number         = {1},
  Pages          = {1-30},
  keywords       = {olit-inheritance mixims oobib(inh) binder},
  year           = 1996
}

@InProceedings{Robb05a,
  Author         = {Romain Robbes and Michele Lanza},
  Title          = {Versioning Systems for Evolution Research},
  BookTitle      = {Proceedings of IWPSE 2005 (8th International Workshop
                   on Principles of Software Evolution)},
  Pages          = {155-164},
  Publisher      = {IEEE Computer Society},
  keywords       = {evolution lanza},
  year           = 2005
}

@Misc{SUnit,
  Author         = {Kent Beck},
  Title          = {Simple {Smalltalk} Testing: With Patterns},
  Note           = {\url{www.xprogramming.com/testfram.htm}},
  url            = {http://www.xprogramming.com/testfram.htm}
}

@InProceedings{Lin98a,
  Author         = {Cross II, James H. and T. Dean Hendrix and Larry A.
                   Barowsky and Karl S. Mathias},
  Title          = {Scalable Visualizations to Support Reverse
                   Engineering: A Framework for Evaluation},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {201-210},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Tant04b,
  Author         = {{\'E}ric Tanter and Jacques Noy\'e},
  Title          = {Motivation and Requirements for a Versatile {AOP}
                   Kernel},
  BookTitle      = {1st European Interactive Workshop on Aspects in
                   Software (EIWAS 2004)},
  Address        = {Berlin, Germany},
  month          = sep,
  year           = 2004
}

@InProceedings{Bjoe88a,
  Author         = {Anders Bj{\"o}rnerstedt and Stefan Britts},
  Title          = {{AVANCE}: An Object Management System},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {206-221},
  keywords       = {olit-oopl opal avance oopsla88},
  month          = nov,
  year           = 1988
}

@Proceedings{Mazu97a,
  Title          = {Concurrency Theory},
  Editor         = {Antoni Mazurkiewicz and Jozef Winkowski},
  Volume         = {1234},
  Series         = {LNCS},
  Address        = {Warsaw, Poland},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the 8th International, CONCUR '97},
  isbn           = {3-540-63141-0},
  keywords       = {concur97 scglib},
  month          = jul,
  year           = 1997
}

@Article{Fabr03a,
  Author         = {Johan Fabry and Tom Mens},
  Title          = {Language-Independent Detection of Object-Oriented
                   Design Patterns},
  Journal        = {Elsevier Computer Languages, Systems and Structures},
  Volume         = {30},
  Number         = {1-2},
  Pages          = {21-33},
  year           = 2004
}

@Article{Choi90a,
  Author         = {Song C. Choi and Walt Scacchi},
  Title          = {Extracting and {Restructuring} the {Design} of {Large}
                   {Systems}},
  Journal        = {IEEE Software},
  Pages          = {66-71},
  keywords       = {clustering},
  month          = jan,
  year           = 1990
}

@InProceedings{Mock00a,
  Author         = {Audris Mockus and Lawrence Votta},
  Title          = {Identifying reasons for software change using historic
                   databases},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM 2000)},
  Pages          = {120--130},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  location       = {Los Alamitos CA},
  mon            = oct,
  year           = 2000
}

@MastersThesis{Vire96a,
  Author         = {Pierre Viret},
  Title          = {Viewing {C}++ Objects as Communicating Processes},
  School         = {Laboratoire de T\'el\'einformatique, Ecole
                   Polytechnique F\'ed\'erale de Lausanne (EPFL), CH},
  Type           = {Master's thesis},
  keywords       = {skip-pdf skip-abstract snf-none scg-pub skipdoi oobib
                   toBeChecked Pict concurrency jb96 scg-msc},
  month          = mar,
  year           = 1996
}

@TechReport{Prec00a,
  Author         = {Lutz Prechelt and Guido Malpohl and Michael Philippsen},
  Title          = {{JPlag}: Finding Plagiarism Among a Set of Programs},
  Institution    = {Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r
                   Informatik},
  Number         = {2000-1},
  keywords       = {plagiarism},
  month          = mar,
  url            = {http://wwwipd.ira.uka.de/~prechelt/Biblio/},
  year           = 2000
}

@InProceedings{Bert94b,
  Author         = {Elisa Bertino and Giovanna Guerrini and Danilo Montesi},
  Title          = {Deductive Object Databases},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {213-235},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Toku99b,
  Author         = {Lance Tokuda and Don Batory},
  Title          = {Evolving Object-Oriented Designs with Refactorings},
  BookTitle      = {Proceedings of Automated Software Engineering},
  year           = 1999
}

@Article{Parn76a,
  Author         = {D. L. Parnas},
  Title          = {On the Design and Development of Program Families},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {2},
  Number         = {1},
  Pages          = {1-9},
  keywords       = {product-line architecture},
  month          = mar,
  year           = 1976
}

@InCollection{Nori81a,
  Author         = {K.V. Nori and U. Ammann and K. Jensen and H.H. Nageli
                   and Ch. Jacobi},
  Title          = {Pascal-{P} Implementation Notes},
  BookTitle      = {Pascal --- The Language and its Implementation},
  Publisher      = {John Wiley \& Sons, Ltd.},
  Editor         = {D.W. Barron},
  Pages          = {125-170},
  keywords       = {plang pascal p-code},
  year           = 1981
}

@InProceedings{Schm95a,
  Author         = {Doug Schmidt and Paul Stephenson},
  Title          = {Experience Using Design Patterns to Evolve
                   Communication Software Across Diverse {OS} Platforms},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {399-423},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc binder},
  month          = aug,
  url            = {http://www.cs.wustl.edu/~schmidt/ECOOP-95.ps.gz},
  year           = 1995
}

@TechReport{Hens91c,
  Author         = {Andreas Hense},
  Title          = {Type Inference for {O}'Small},
  Institution    = {FB 14, Universit{\"a}t des Saarlandes},
  Type           = {Report},
  Number         = {A06/91},
  keywords       = {olit-types binder},
  month          = oct,
  year           = 1991
}

@Book{Seth89a,
  Author         = {Ravi Sethi},
  Title          = {Programming Languages: Concepts and Constructs},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-10365-6},
  keywords       = {pl-lit book scglib},
  year           = 1989
}

@InProceedings{Lanz03a,
  Author         = {Michele Lanza},
  Title          = {CodeCrawler --- Lessons Learned in Building a Software
                   Visualization Tool},
  BookTitle      = {Proceedings of CSMR 2003},
  Pages          = {409-418},
  Publisher      = {IEEE Press},
  abstract       = {Software visualization tools face many challenges in
                   terms of their implementation, including scalability,
                   usability, adaptability, and durability. Such tools,
                   like many other research tools, tend to have a short
                   life cycle and are vulnerble to software evolution
                   processes because of the complex problem domain and the
                   constantly changing requirements which are dictated by
                   research goals. In this paper we discuss the
                   implementation of the software visualization tool
                   CodeCrawler according to five criteria, namely the
                   overall architecture, the internal architecture, the
                   visualization engine, the metamodel and the interactive
                   facilities. This discussion generates implementation
                   recommendations and design guidelines that hold for our
                   tool and the class of tools its stands for. We then
                   also extract common design guidelines and
                   recommendations that apply for other software
                   visualization and general reverse engineering tools as
                   well, and hope that these insights can be used
                   fruitfully by other researchers in this field.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2003.1192450},
  keywords       = {recast03 scg-pub jb03 moose-pub},
  misc           = {acceptance rate: 40/118 = 34\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz03aLessonsLearned.pdf},
  year           = 2003
}

@Article{Hick05a,
  Author         = {Michael Hicks and Scott Nettles},
  Title          = {Dynamic software updating},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {27},
  Number         = {6},
  Pages          = {1049--1096},
  doi            = {http://doi.acm.org/10.1145/1108970.1108971},
  month          = {nov},
  year           = 2005
}

@Book{Tath03a,
  Author         = {Eric Tatham},
  Title          = {Smalltalk bytes book},
  Publisher      = {Mixed Reality Publication},
  keywords       = {scglib},
  year           = 2003
}

@Misc{Form,
  Title          = {Formulator, an extensible framework that eases the
                   creation and validation of web forms for {Zope}},
  Note           = {http://www.infrae.com/download/Formulator},
  key            = {Formulator},
  keywords       = {zope web server},
  url            = {http://www.infrae.com/download/Formulator}
}

@Book{Chan97a,
  Author         = {Patrick Chan and Rosanna Lee},
  Title          = {The {Java} Class Libraries},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63458--9},
  keywords       = {olit oopl java},
  year           = 1996
}

@InProceedings{Gall05a,
  Author         = {Keith Gallagher and Andrew Hatch and Malcolm Munro},
  Title          = {A Framework for Software Architecture Visualization
                   Assessment},
  BookTitle      = {VISSOFT},
  Pages          = {76-81},
  Publisher      = {IEEE CS},
  month          = sep,
  year           = 2005
}

@InProceedings{Hirs02a,
  Author         = {Tom Hirschowitz and Xavier Leroy},
  Title          = {Mixin Modules in a call-by-value setting},
  BookTitle      = {Proceedings of the European Symposium on Programming},
  Pages          = {6-20},
  month          = apr,
  url            = {http://citeseer.nj.nec.com/hirschowitz02mixin.htm},
  year           = 2002
}

@InProceedings{Cive93a,
  Author         = {Franco Civello},
  Title          = {Roles for composite objects in object-oriented
                   analysis and design},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {376-393},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Gold05a,
  Author         = {Simon Goldsmith and Robert O'Callahan and Alex Aiken},
  Title          = {Relational Queries over Program Traces},
  BookTitle      = {Proceedings of Object-Oriented Programming, Systems,
                   Languages, and Applications (OOPSLA'05)},
  Pages          = {385-402},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  year           = 2005
}

@Article{Ishi91a,
  Author         = {Yutaka Ishikawa},
  Title          = {{Reflection} {Facilities} and {Realistic}
                   {Programming}},
  Journal        = {SIGPLAN Notices},
  Volume         = {26},
  Number         = {8},
  Pages          = {101-110},
  month          = aug,
  year           = 1991
}

@PhdThesis{Kons93c,
  Author         = {Dimitri Konstantas},
  Title          = {Cell: {A} Framework for a Strongly Distributed Object
                   Based System},
  School         = {Dept. of Computer Science, University of Geneva},
  Type           = {Ph.{D}. Thesis},
  abstract       = {Two of the most important problems that open
                   distributed systems face in large heterogeneous
                   networks are the scalability of the underlying
                   mechanisms and the interoperation of the different
                   applications. In this thesis we introduce the Cell, a
                   framework for the design of a scalable Strongly
                   Distributed Object Based System that supports a high
                   level of interoperation between the different
                   applications. The basic element in the Cell framework
                   is a cell which is composed of membrane and a nucleus.
                   The membrane encapsulates the nucleus and provides
                   support for all communication with the external world
                   while the nucleus manages all local resources. A high
                   level interoperation between the applications of the
                   different cells is achieved with the support by the
                   membrane of Object Oriented Interoperability. A
                   prototype implementation of a cell demonstrates the
                   ideas and concepts of the Cell framework and Object
                   Oriented Interoperability.},
  keywords       = {olit hybrid osg-phd},
  number         = {no. 2598)},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/ThesisKonstantas.pdf},
  year           = 1993
}

@InProceedings{McAf96a,
  Author         = {Jeff McAffer},
  Title          = {Engineering the Meta Level},
  BookTitle      = {Proceedings of the 1st International Conference on
                   Metalevel Architectures and Reflection (Reflection 96)},
  Editor         = {G. Kiczales},
  Address        = {San Francisco, USA},
  month          = apr,
  year           = 1996
}

@Unpublished{Mull95a,
  Author         = {Hausi M{\"u}ller and Kenny Wong and Scott R. Tilley},
  Title          = {Dimensions of Software Architecture for Program
                   Understanding},
  Note           = {University of Victoria \& Carnegie Mellon University},
  keywords       = {software architecture binder},
  type           = {Draft},
  year           = 1995
}

@InCollection{Pear91a,
  Author         = {Barak A. Pearlmutter and Kevin J. Lang},
  Title          = {The Implementation of Oaklisp},
  BookTitle      = {Topics in Advanced Language Implementation},
  Publisher      = {The MIT Press},
  Editor         = {Peter Lee},
  Address        = {Cambridge, MASS},
  keywords       = {olit-oopl oaklisp lisp (smc)},
  year           = 1991
}

@Article{Mura89a,
  Author         = {Makoto Murata and Koji Kusumoto},
  Title          = {Daemon: {Another} {Way} of {Invoking} {Methods}},
  Journal        = {JOOP},
  Volume         = {2},
  Number         = {2},
  Pages          = {8-12},
  month          = jul,
  year           = 1989
}

@Book{Dupr98a,
  Author         = {Lyn Dupre},
  Title          = {Bugs in Writing},
  Publisher      = {Addison Wesley},
  isbn           = {020137921X},
  keywords       = {scglib},
  year           = 1998
}

@InProceedings{Nobl00a,
  Author         = {James Noble},
  Title          = {Iterators and Encapsulation},
  BookTitle      = {Proceedings of TOOLS '00},
  Pages          = {431ff},
  month          = jun,
  year           = 2000
}

@InProceedings{Pauw99a,
  Author         = {De Pauw, Wim and Gary Sevitsky},
  Title          = {Visualizing Reference Patterns for Solving Memory
                   Leaks in {Java}},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {116-134},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@TechReport{Fugi90b,
  Author         = {Mariagrazia Fugini and Stefano Faustle},
  Title          = {Similarity Queries for Class Retrieval from a Software
                   Information Base},
  Institution    = {Politecnico di Milano},
  Type           = {ITHACA report},
  Number         = {ITHACA.POLIMI.90.E3.7},
  keywords       = {olit-ithaca recast},
  month          = dec,
  year           = 1990
}

@Misc{Nord95a,
  Author         = {Else K. Nordhagen},
  Title          = {An Object-Oriented Calculus},
  Note           = {Working Draft},
  keywords       = {olit oc binder},
  year           = 1995
}

@InProceedings{Ross96a,
  Author         = {Jonathan G. Rossie and Daniel Friedman and Mitchell
                   Wand},
  Title          = {Modeling Subobject-Based Inheritance},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {248-274},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{McLe81a,
  Author         = {I.A. McLeod},
  Title          = {A Data Base Management System for Document Retrieval
                   Applications},
  Journal        = {Information Systems},
  Volume         = {6},
  Number         = {2},
  Pages          = {131-137},
  keywords       = {misc documents},
  year           = 1981
}

@InProceedings{Amad91a,
  Author         = {Roberto M. Amadio and Luca Cardelli},
  Title          = {Subtyping Recursive Types},
  BookTitle      = {Proceedings POPL '91},
  Pages          = {104-118},
  keywords       = {types popl91 binder},
  year           = 1991
}

@Misc{Exept95,
  author         = {Claus Gittinger},
  Title          = {{Smalltalk/X} {Programmers} {Reference} {Manual} -
                   {Smalltalk} {Performance} {Myths} and {Facts}},
  Note           = {\\ \url{http://live.exept.de/doc/online/english/programming/STspeed.html}},
  key            = {java jsr invoke dynamic},
  url            = {http://live.exept.de/doc/online/english/programming/STspeed.html}
}

@Book{Klim96a,
  Author         = {Edward J. Klimas and Suzanne Skublics and David A.
                   Thomas},
  Title          = {Smalltalk with Style},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-165549-3},
  keywords       = {smalltalk scglib book},
  year           = 1996
}

@Article{Chap01a,
  Author         = {Ned Chapin and Joanne E. Hale and Khaled Md. Khan and
                   Juan F. Ramil and Wui-Gee Than},
  Title          = {Types of software evolution and software maintenance},
  Journal        = {Journal of software maintenance and evolution},
  Volume         = 13,
  Pages          = {3-30},
  year           = 2001
}

@InProceedings{Fere94a,
  Author         = {Szabolcs Ferenczi},
  Title          = {{MONADS}-{DP}: Outline of an Object-Oriented
                   Concurrent Programming Model for Multiprocessor Systems},
  BookTitle      = {Proceedings of the 2nd Austrian-Hungarian Workshop on
                   Transputer Applications},
  Editor         = {Szabolcs Ferenczi and Peter Kacsuk},
  Series         = {KFKI-1995-2/M,N Reports},
  Pages          = {206-217},
  Address        = {Budapest, Hungary},
  keywords       = {olit-obc distributed-processes concurrency inheritance
                   binder},
  misc           = {Sept 29-Oct 1},
  month          = sep,
  url            = {http://www.kfki.hu/~ferenczi/AH-WS-MonDP.html},
  year           = 1994
}

@Article{Hern88a,
  Author         = {Herndon, Jr., Robert M. and Valdis A. Berzins},
  Title          = {The Realizable Benefits of a Language Prototyping
                   Language},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-14},
  Number         = {6},
  Pages          = {803-809},
  keywords       = {patterns compiler generator kodiyak binder(patterns)},
  month          = jun,
  year           = 1988
}

@InProceedings{Cham91a,
  Author         = {Dennis de Champeaux},
  Title          = {Object-Oriented Analysis and Top-Down Software
                   Development},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {360-376},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Article{Bowe82a,
  Author         = {K. A. Bowen and R. A. Kowalski},
  Title          = {Amalgamating language and metalanguage in logic
                   programming},
  Journal        = {Logic programming, volume 16 of APIC studies in data
                   processing},
  Pages          = {153-172},
  editor         = {K. L. Clark and S.-A. Tarnlund},
  publisher      = {Academic Press},
  year           = 1982
}

@Book{Hunt00a,
  Author         = {Andrew Hunt and David Thomas},
  Title          = {The Pragmatic Programmer},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-61622-X},
  keywords       = {scglib},
  year           = 2000
}

@Book{Form99a,
  Author         = {Ira R. Forman and Scott Danforth},
  Title          = {Putting Metaclasses to Work: A New Dimension in
                   Object-Oriented Programming},
  Publisher      = {Addison-Wesley},
  year           = 1999
}

@InProceedings{Lisk99a,
  Author         = {Barbara Liskov and Miguel Castro and Liuba Shrira and
                   Atul Adya},
  Title          = {Providing Persistent Objects in Distributed Systems},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {230-257},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {THOR is a persistent object store that provides a
                   powerful programming model. THOR ensures that
                   persistent objects are accessed only by calling their
                   methods and it supports atomic transactions. The result
                   is a system that allows applications to share objects
                   safely across both space and time. The paper describes
                   how the THOR implementation is able to support this
                   pow-erful model and yet achieve good performance, even
                   in a wide-area, large-scale distributed environment. It
                   describes the techniques used in THOR to meet the
                   challenge of providing good performance in spite of the
                   need to manage very large numbers of very small
                   objects. In addition, the paper puts the performance of
                   THOR in perspective by showing that it substantially
                   outperforms a system based on memory mapped files, even
                   though that system provides much less functionality
                   than THOR.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Bass01a,
  Author         = {Sarita Bassil and Rudolf K. Keller},
  Title          = {Software Visualization Tools: Survey and Analysis},
  BookTitle      = {Proceedings IWPC 2001},
  Pages          = {7-17},
  year           = 2001
}

@Article{Swar82a,
  Author         = {W. Swartout and R. Balzer},
  Title          = {On the Inevitable Intertwining of Specification and
                   Implementation},
  Journal        = {CACM},
  Volume         = {25},
  Pages          = {438-440},
  keywords       = {misc},
  year           = 1982
}

@Book{Clev94a,
  Author         = {William S. Cleveland},
  Title          = {The Elements of Graphing Data},
  Publisher      = {Hobart Press},
  keywords       = {scglib},
  year           = 1994
}

@InProceedings{Serr99a,
  Author         = {Manuel Serrano},
  Title          = {Wide classes},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {391-415},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper introduces the concepts of wide classes and
                   widening as extensions to the object model of
                   class-based languages such as {Java} and Smalltalk.
                   Widening allows an object to be temporarily widened,
                   that is transformed into an instance of a subclass, a
                   wide class, and, later on, to be shrunk, that is
                   reshaped to its original class. Wide classes share the
                   main properties of plain classes: they have a name, a
                   superclass, they may be instantiated, they have an
                   associated class predicate and an associated type that
                   may be used to override function definitions. Widening
                   is also useful to implement transient data storage for
                   long-lasting computations. In particular, it helps
                   reducing software data retention. This phenomenon
                   arises when the actual data structures used in a
                   program fail to reflect time-dependent properties of
                   values and can cause excessive memory consumption
                   during the execution. Wide classes may be implemented
                   for any dynamically-typed class-based programming
                   language with very few modifications to the existing
                   runtime system. We describe the simple and efficient
                   implementation strategy used in the Bigloo runtime
                   system. Keywords: language implementation, dynamic
                   inheritance, dynamic type checking, instance
                   modification.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  url            = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1628/16280391.pdf},
  year           = 1999
}

@PhdThesis{Riva04a,
  Author         = {Claudio Riva},
  Title          = {View-based Software Architecture Reconstruction},
  School         = {Technical University of Vienna},
  keywords       = {design-recovery},
  url            = {http://www.clody.org/research/riva-dissertation-final-double.pdf},
  year           = 2004
}

@Article{Duca05b,
  Author         = {St\'ephane Ducasse and Michele Lanza},
  Title          = {The Class Blueprint: Visually Supporting the
                   Understanding of Classes},
  Journal        = {Transactions on Software Engineering (TSE)},
  Volume         = {31},
  Number         = {1},
  Pages          = {75-90},
  abstract       = {Understanding source code is an important task in the
                   maintenance of software systems. Legacy systems are not
                   only limited to procedural languages, but are also
                   written in object-oriented languages. In such a
                   context, understanding classes is a key activity as
                   they are the cornerstone of the object-oriented
                   paradigm and the primary abstraction from which
                   applications are built. Such an understanding is
                   however difficult to obtain because of reasons such as
                   the presence of late binding and inheritance. A first
                   level of class understanding consists of the
                   understanding of its overall structure, the control
                   flow among its methods, and the accesses on its
                   attributes. We propose a novel visualization of classes
                   called class blueprint that is based on a semantically
                   enriched visualization of the internal structure of
                   classes. This visualization allows a software engineer
                   to build a first mental model of a class that he
                   validates via opportunistic code-reading. Furthermore,
                   we have identified visual patterns that represent
                   recurrent situations and as such convey additional
                   information to the viewer. The contributions of this
                   article are the class blueprint, a novel visualization
                   of the internal structure of classes, the
                   identification of visual patterns, and the definition
                   of a vocabulary based on these visual patterns. We have
                   performed several case studies of which one is
                   presented in depth, and validated the usefulness of the
                   approach in a controlled experiment.},
  annote         = {internationaljournal},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/TSE.2005.14},
  keywords       = {hasler07 jb05 scg-pub stefPub recast05 moose-pub},
  misc           = {SCI impact factor 1.967},
  month          = jan,
  publisher      = {IEEE Computer Society},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05bTSEClassBlueprint.pdf},
  year           = 2005
}

@PhdThesis{Perr91a,
  Author         = {Nigel Perry},
  Title          = {The Implementation of Practical Functional Programming
                   Languages},
  School         = {Imperial College},
  Type           = {Ph.{D}. Thesis},
  Address        = {London},
  keywords       = {fpl hope binder (shelf)},
  year           = 1991
}

@InProceedings{Acke93a,
  Author         = {Philipp Ackermann},
  Title          = {Object-Oriented Modelling of Time Synchonisation in a
                   Multimedia Application Framework},
  BookTitle      = {Proceedings of AES '93 95th Convention},
  Pages          = {1-11},
  Publisher      = {The Audio Engineering Society},
  keywords       = {olit binder},
  month          = oct,
  year           = 1993
}

@Article{Fole86b,
  Author         = {James D. Foley and C.F. McMath},
  Title          = {Dynamic Process Visualization},
  Journal        = {IEEE Computer Graphics and Applications},
  Volume         = {6},
  Number         = {2},
  Pages          = {16-25},
  keywords       = {visprog},
  month          = mar,
  year           = 1986
}

@Article{Godi95a,
  Author         = {Robert Godin and Guy Mineau and Rokia Missaoui and
                   Marc St-Germain and Najib Faraj},
  Title          = {Applying {Concept} {Formation} {Methods} to {Software}
                   {Reuse}},
  Journal        = {International Journal of Knowledge Engineering and
                   Software Engineering},
  Volume         = 5,
  Number         = 1,
  Pages          = {119-142},
  keywords       = {fca},
  year           = 1995
}

@Article{Wong95a,
  Author         = {Kenny Wong and Scott R. Tilley and Hausi A. M{\"u}ller
                   and Margaret-Anne D. Storey},
  Title          = {Structural Redocumentation: A Case Study},
  Journal        = {IEEE Software},
  Volume         = {12},
  Number         = {1},
  Pages          = {46-54},
  keywords       = {oorp},
  month          = jan,
  publisher      = {IEEE},
  year           = 1995
}

@InProceedings{Roun05a,
  Author         = {David Roundy},
  Title          = {Darcs: Distributed Version Management in Haskell},
  BookTitle      = {Haskell '05: Proceedings of the 2005 ACM SIGPLAN
                   workshop on Haskell},
  Pages          = {1--4},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1088348.1088349},
  isbn           = {1-59593-071-X},
  location       = {Tallinn, Estonia},
  year           = 2005
}

@Book{Gunt94a,
  Author         = {Carl A. Gunter and John C. Mitchell},
  Title          = {Theoretical Aspects of Object-Oriented Programming},
  Publisher      = {The MIT Press},
  isbn           = {0-262-07155-X},
  keywords       = {olit types oobib(gen) book scglib},
  year           = 1994
}

@Article{Henn85b,
  Author         = {Matthew Hennessy},
  Title          = {Acceptance Trees},
  Journal        = {Journal of the ACM},
  Volume         = {32},
  Number         = {4},
  Pages          = {896-928},
  keywords       = {pcalc equivalence ccs binder(ccs)},
  month          = jan,
  year           = 1985
}

@Article{Nora06a,
  Author         = {Bounour Nora and Ghoul Said and Atil Fadila},
  Title          = {A Comparative Classification of Aspect Mining
                   Approaches},
  Journal        = {Journal of Computer Science},
  Volume         = {4},
  Number         = {2},
  Pages          = {322-325},
  issn           = {1549-3636},
  publisher      = {2005 Science Publications},
  year           = 2006
}

@InProceedings{Wigg97a,
  Author         = {Theo Wiggerts},
  Title          = {Using Clustering Algorithms in Legacy Systems
                   Remodularization},
  BookTitle      = {Proceedings of WCRE '97 (4th Working Conference on
                   Reverse Engineering)},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {33-43},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  year           = 1997
}

@InCollection{Mins95a,
  Author         = {Naftaly Minsky and Jerrold Leichter},
  Title          = {Law-Governed Linda as a Coordination Model},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = 924,
  Series         = {LNCS},
  Pages          = {125-146},
  abstract       = {Linda is a very high level communication model which
                   allows processes to communicate without knowing each
                   other's identities and without having to arrange for a
                   definite rendezvous. This high level of abstraction
                   would make Linda particularly suitable for use as a
                   coordination model for open systems, if it were not for
                   the fact that the Linda communication is very unsafe.
                   We propose to remove this deficiency of Linda by means
                   of the concept of law-governed architecture previously
                   applied to centralized and message passing systems. We
                   define a model for Law-Governed Linda (LGL)
                   communication, and we demonstrate its efficacy by means
                   of several illustrative examples.},
  keywords       = {olit OBM94-08},
  url            = {http://www.cs.rutgers.edu/~minsky/public-papers/linda-paper.ps},
  year           = 1995
}

@InCollection{Lee93a,
  Author         = {Sai Peck Lee and Colette Rolland},
  Title          = {Integration of the Tool({AWB}) Supporting the {O}*
                   Method in the {PCTE}-Based Software Engineering
                   Environment,},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {408-423},
  abstract       = {Most existing object-oriented analysis and design
                   tools supporting various methods are stand-alone and
                   are not agreed on a common standard. This results in
                   the issues of tool integration in software engineering
                   environments. Our main aim in this paper is to
                   illustrate the integration of the analysis tool named
                   Analyst WorkBench(AWB) supporting the O*
                   object-oriented method in the PCTE Emeraude-based
                   software engineering environment. The integration is
                   achieved through data sharing and the reuse of types.
                   The O* method and the AWB have been developed within
                   the framework of the ESPRIT II project named Business
                   Class.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Bier03a,
  Author         = {G. Bierman and M. Hicks and P. Sewell and G. Stoyle},
  Title          = {Formalizing dynamic software updating},
  BookTitle      = {Proc. 2nd International Workshop on Unanticipated
                   Software Evolution (USE 2003)},
  year           = 2003
}

@InCollection{Risi00a,
  Author         = {Linda Rising},
  Title          = {Customer Interaction Patterns},
  BookTitle      = {Pattern Languages of Program Design 4},
  Publisher      = {Addison Wesley},
  Editor         = {Neil Harrison and Brian Foote and Hans Rohnert},
  Pages          = {585-609},
  keywords       = {oorp},
  year           = 2000
}

@MastersThesis{Allw06a,
  Author         = {Tristan Allwood},
  Title          = {{Fleece}, Pluggable Type Checking for Dynamic
                   Programming Languages},
  School         = {Imperial College of Science, Technology and Medicine,
                   University of London},
  month          = jun,
  url            = {http://wwwhomes.doc.ic.ac.uk/~tora/previous/project/Report.pdf},
  year           = 2006
}

@InCollection{Kenn82a,
  Author         = {J. Kennaway and M. Sleep},
  Title          = {Expressions as Processes},
  BookTitle      = {LISP and Functional Programming},
  Publisher      = {ACM},
  Pages          = {21-28},
  keywords       = {pcalc mobility (uwe)},
  year           = 1982
}

@TechReport{Mey92b,
  Author         = {Vicki de Mey and Oscar Nierstrasz and Serge Renfer and
                   Roberto Bellinzona and Mariagrazia Fugini and Panos
                   Constantopoulos and Martin D{\"o}rr and Maria
                   Theodoridou},
  Title          = {{RECAST}/Vista/{SIB} Integration},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA.CUI-POLIMI-FORTH.92.Vista.Recast.SIB.#1},
  keywords       = {skip-abstract skip-pdf skipdoi olit-ithaca osg vista},
  month          = dec,
  year           = 1992
}

@InProceedings{Dugg01b,
  Author         = {Dominic Duggan},
  Title          = {Type-Based Hot Swapping of Running Modules},
  BookTitle      = {Intl. Conf. on Functional Programming},
  Pages          = {62--73},
  year           = 2001
}

@InProceedings{Merl02a,
  Author         = {E. Merlo and M. Dagenais and P. Bachand and J. S.
                   Sormani and G. Antoniol},
  Title          = {Investigating Large Software System Evolution: the
                   Linux Kernel},
  BookTitle      = {Proc. Computer Software and Applications Conference
                   (COMPSAC)},
  year           = 2002
}

@TechReport{Hens93a,
  Author         = {Andreas Hense and Gert Smolka},
  Title          = {Principle Types for Object-Oriented Languages},
  Institution    = {FB 14, Universit{\"a}t des Saarlandes},
  Type           = {Report},
  Number         = {A02/93},
  keywords       = {olit-types binder (shelf)},
  month          = jun,
  year           = 1993
}

@Misc{CCM,
  Title          = {{Corba Components Package, Corba Components and
                   Scripting}},
  Note           = {http://www.omg.org/technology/corba/corba3releaseinfo.htm},
  key            = {CCM},
  url            = {http://www.omg.org/technology/corba/corba3releaseinfo.htm}
}

@Article{Mayr95b,
  Author         = {Anneliese von Mayrhauser and A. Marie Vans},
  Title          = {Program Comprehension During Software Maintenance and
                   Evolution},
  Journal        = {IEEE Computer},
  Volume         = 28,
  Number         = 8,
  Pages          = {44-55},
  year           = 1995
}

@Book{Gusf97a,
  Author         = {Dan Gusfield},
  Title          = {Algorithms on Strings, Trees, and Sequences},
  Publisher      = {Cambridge University Press},
  keywords       = {scglib},
  year           = 1997
}

@InProceedings{Arfi94a,
  Author         = {A. Arfi and Robert Godin and Hafedh Mili and Guy W.
                   Mineau and Rokia Missaoui},
  Title          = {Generating the Interface Hierarchy of a Class Library},
  BookTitle      = {Colloquium on Object Orientation in Databases and
                   Software Engineering},
  Pages          = {42-57},
  year           = 1994
}

@TechReport{Jouv89a,
  Author         = {Pierre Jouvelot and David K. Gifford},
  Title          = {Communication Effects for Message-Based Concurrency},
  Institution    = {MIT},
  Type           = {MIT/LCS/TM-386},
  keywords       = {olit-obc obc fx-87 concurrency binder},
  month          = feb,
  year           = 1989
}

@InProceedings{Stra93a,
  Author         = {Paul S. Strauss},
  Title          = {{IRIS} Inventor, {A} 3D Graphics Toolkit},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {192-200},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Deme03c,
  Author         = {Wolfgang De Meuter, Theo D'hondt, Jessie Dedecker},
  Title          = {Pic\% Intersecting classes and prototypes},
  BookTitle      = {Andrei Ershov Fifth International Conference on
                   Perspectives of System Informatics, Siberia, Russia},
  keywords       = {prototype},
  year           = 2003
}

@InProceedings{Ritc93a,
  Author         = {Herbert Ritch and Harry M. Sneed},
  Title          = {Reverse Engineering Programs via Dynamic Analysis},
  BookTitle      = {Proceedings of WCRE '93},
  Pages          = {192-201},
  Organization   = {IEEE},
  month          = may,
  year           = 1993
}

@InProceedings{Jeze96b,
  Author         = {Jean-Marc J\'ez\'equel and Jean-Lin Pacherie},
  Title          = {Parallel Operators},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {275-294},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@TechReport{Hert01a,
  Author         = {Caroline Hertel},
  Title          = {Informatikprojekt Ideenb\"orse Post},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Hert01a.pdf},
  year           = 2001
}

@PhdThesis{Beri97a,
  Author         = {Dorothea Beringer},
  Title          = {Modelling Global Behaviour with Scenarios in
                   Object-Oriented Analysis},
  School         = {EPFL, Lausanne},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit},
  number         = {No. 1655},
  year           = 1997
}

@InProceedings{Wise92a,
  Author         = {Michael J. Wise},
  Title          = {Detection of Similarities in Student Programs:
                   {YAP}'ing may be preferable to Plague'ing},
  BookTitle      = {Twenty-Third SIGSCE Technical Symposium},
  Pages          = {268-271},
  location       = {Kansas City, USA},
  year           = 1992
}

@TechReport{Acke94a,
  Author         = {Philipp Ackermann},
  Title          = {Direct Manipulation of Temporal Structures in a
                   Multimedia Application Framework},
  Institution    = {University of Zurich Multimedia Laboratory},
  Type           = {Technical Report},
  Number         = {94-07/e},
  keywords       = {olit binder},
  month          = mar,
  year           = 1994
}

@InProceedings{Holt00a,
  Author         = {Richard C. Holt and Andreas Winter and Andy Sch\"urr},
  Title          = {{GXL}: Towards a Standard Exchange Format},
  BookTitle      = {Proceedings WCRE '00},
  month          = nov,
  year           = 2000
}

@Article{Holz05a,
  Author         = {Andreas Holzinger},
  Title          = {Usability engineering methods for software developers},
  Journal        = {Commun. ACM},
  Volume         = {48},
  Number         = {1},
  Pages          = {71--74},
  address        = {New York, NY, USA},
  date-added     = {2006-09-11 10:07:03 +0200},
  date-modified  = {2006-09-11 10:07:58 +0200},
  doi            = {http://doi.acm.org/10.1145/1039539.1039541},
  issn           = {0001-0782},
  keywords       = {usability},
  publisher      = {ACM Press},
  year           = 2005
}

@Article{Petr95a,
  Author         = {Marian Petre},
  Title          = {Why looking isn't always seeing: Readership skills and
                   graphical programming},
  Journal        = {Communications of the ACM},
  Volume         = {38},
  Number         = {6},
  Pages          = {33-44},
  month          = jun,
  year           = 1995
}

@InProceedings{Gure87a,
  Author         = {Yuri Gurevich and James M. Morris},
  Title          = {Algebraic Operational Semantics and Modula-2},
  BookTitle      = {1st Workshop on Computer Science Logic, CSL '87},
  Editor         = {E. B{\"o}rger and H. Kleine B{\"u}ning and M.M.
                   Richter},
  Volume         = {329},
  Series         = {LNCS},
  Pages          = {81-101},
  Address        = {Karlsruhe},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency semantics modula binder(conc)},
  month          = oct,
  year           = 1987
}

@Article{Will83a,
  Author         = {Geoff Williams},
  Title          = {The Lisa Computer System},
  Journal        = {Byte},
  Volume         = {8},
  Number         = {2},
  Pages          = {33-50},
  keywords       = {olit-appl lisa smalltalk},
  month          = feb,
  year           = 1983
}

@Article{Ferr99a,
  Author         = {Paolo Ferragina and Roberto Grossi},
  Title          = {The String {B}-tree: A New Data Structure for String
                   Search in External Memory and its Applications},
  Journal        = {Journal of the ACM},
  Volume         = {46},
  Number         = {2},
  Pages          = {236-280},
  url            = {citeseer.ist.psu.edu/ferragina98string.html},
  year           = 1999
}

@Proceedings{Garl97a,
  Title          = {Coordination Languages and Models},
  Editor         = {David Garlan and Daniel Le M\'etayer},
  Volume         = 1282,
  Series         = {LNCS},
  Address        = {Berlin, Germany},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the Second International Conference,
                   COORDINATION '97},
  isbn           = {3-540-63383-9},
  keywords       = {coordination coord97 scglib},
  month          = sep,
  year           = 1997
}

@Book{Mowb97a,
  Author         = {Thomas J. Mowbray and Raphael C. Malveau},
  Title          = {Corba Design Patterns},
  Publisher      = {Wiley Computer Publishing},
  isbn           = {0-471-15882-8},
  keywords       = {olit-obcl corba scglib},
  year           = 1997
}

@Book{Koen07a,
  Author         = {Dierk K\"onig},
  Title          = {Groovy in action},
  Publisher      = {Manning},
  isbn           = {1-932394-85-2},
  keywords       = {scglib},
  year           = 2007
}

@PhdThesis{Holl92c,
  Author         = {Joseph E. Hollingsworth},
  Title          = {Software Component Design-for-Reuse: A Language
                   Independent Discipline Applied to Ada},
  School         = {Dept. of Computer \& Information Science, The Ohio
                   State University, Columbus, OH},
  keywords       = {olit-reuse binder},
  url            = {http://www.cis.ohio-state.edu/rsrg/},
  year           = 1992
}

@TechReport{Tant05a,
  Author         = {{\'E}ric Tanter and Kris Gybels and Marcus Denker and
                   Alexandre Bergel},
  Title          = {Context-aware aspects},
  Institution    = {University of Chile},
  Number         = {TR/DCC-2005-12},
  Note           = {published to SC'06},
  year           = 2005
}

@InProceedings{Gira97a,
  Author         = {Jean-Francois Girard and Rainer Koschke},
  Title          = {Finding Components in a Hierarchy of Modules: a Step
                   towards Architectural Understanding},
  BookTitle      = {ICSM},
  Publisher      = {IEEE Press},
  abstract       = {This paper presents a method to view a system as a
                   hierarchy of modules according to information hiding
                   concepts and to identify architectural component
                   candidates in this hierarchy. The result of the method
                   eases the understanding of a system's underlying
                   software architecture. A prototype tool implementing
                   this method was applied to three systems written in C
                   (each over 30 Kloc). For one of these systems, an
                   author of the system created an architectural
                   description. The components generated by our method
                   correspond to those of this architectural description
                   in almost all cases. For the other two systems, most of
                   the components resulting from the method correspond to
                   meaningful system abstractions. },
  keywords       = {architectural components recovery, reverse
                   engineering, program understanding, dominance tree,
                   abstract data type and abstract state encapsulation
                   extraction},
  year           = 1997
}

@InProceedings{Lars88b,
  Author         = {Kim G. Larsen and Bent Thomsen},
  Title          = {A Modal Process Logic},
  BookTitle      = {Proceedings 3d Annual Symposium on Logic in Computer
                   Science},
  Address        = {Edinburgh},
  keywords       = {pcalc equivalence ccs logic binder},
  year           = 1988
}

@TechReport{Jung91a,
  Author         = {Ralf Jungclaus and Gunter Saake and Thorsten Hartmann
                   and Cristina Sernadas},
  Title          = {Object-Oriented Specification of Information Systems:
                   The {TROLL} Language},
  Institution    = {Technical University of Braunschweig},
  Type           = {Version 0.01, Report},
  Number         = {91-04},
  keywords       = {olit-oopl troll binder (shelf)},
  month          = dec,
  year           = 1991
}

@MastersThesis{Hull85a,
  Author         = {S.J. Hull},
  Title          = {A Study of User Interface Management Systems},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis, CSRI Technical Note},
  keywords       = {uilit uims},
  month          = jan,
  year           = 1985
}

@TechReport{Tsic90b,
  Author         = {Dennis Tsichritzis and Simon Gibbs},
  Title          = {From Custom-Made to Pr\^et-\`a-Porter Software},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {We discuss the different aspects of software
                   development and the different lines of activities that
                   a software company may pursue. The choice of
                   alternatives and the positioning of a software company
                   is very critical to its eventual success. We propose
                   some positive steps for giving companies a better
                   chance to succeed in the fiercely competitive
                   international software market.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg om90},
  month          = jul,
  pages          = {367-376},
  year           = 1990
}

@Article{Nier05f,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Serge
                   Demeyer},
  Title          = {Objektorientierte Re-Engineering-Muster: ein
                   \"{Uberblick}},
  Journal        = {ObjektSpektrum},
  Volume         = {2005},
  Number         = {6},
  Pages          = {46-51},
  Note           = {German translation of ``Object-oriented Reengineering
                   Patterns --- an Overview'' (GPCE 05)},
  abstract       = { Erfolgreiche Softwaresysteme m\"ussen so konzipiert
                   sein, dass sie sich weiterentwickeln k\"onnen --
                   ansonsten gehen sie ein. Obwohl objektorientierte
                   Softwaresysteme auf eine lange Lebensda\"ur
                   ausgerichtet sind, veralten sie \"uber die Jahre
                   genauso wie jedes andere Legacy-Softwaresystem. Um die
                   weiteren Entwicklungskosten niedrig zu halten, m\"ussen
                   daher Investitionen im Bereich \ Re-Engineering
                   get\"atigt werden. Softwaresysteme und der
                   Gesch\"aftskontext, in dem sie eingesetzt werden,
                   unterscheiden sich in vielen Punkten -- dennoch
                   \"ahneln sich Techniken, sie zu verstehen, zu
                   analysieren und zu transformieren. Folglich lassen sich
                   verschiedene Re-Engineering-Muster identifizieren, die
                   bew\"ahrte Vorgehensweisen beim Reverse- und
                   Re-Engineering objektorientierter Legacy-Systeme
                   beinhalten. Dieser Artikel stellt einen kleinen
                   Ausschnitt aus einer gr\"on Sammlung dieser Muster vor,
                   die auf der mehrj\"ahrigen Erfahrung mit
                   objektorientierten Legacy-Systemen basieren. Dar\"uber
                   hinaus werden Hinweise gegeben, wie einige dieser
                   Muster durch geeignete Werkzeuge unterst\"utzt werden
                   k\"onnen. },
  annote         = {invited},
  keywords       = {stefPub recast06 scg-pub skipdoi jb06},
  url            = {http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&AID=1713&TABLE=sd_article
                   http://www.sigs.de/publications/os/2005/06/demeyer_nierstrasz_OS_06_05.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05fOORM.pdf},
  year           = 2005
}

@InProceedings{Mull05a,
  Author         = {Muller, Pierre-Alain and Fleurey, Franck and
                   J\'ez\'equel, Jean-Marc},
  Title          = {Weaving Executability into Object-Oriented
                   Meta-Languages},
  BookTitle      = {Proceedings of {MODELS/UML}'2005},
  Editor         = {L. Briand, S. Kent},
  Volume         = {3713},
  Series         = {LNCS},
  Pages          = {264-278},
  Address        = {Montego Bay, Jamaica},
  Publisher      = {Springer},
  abstract       = {Nowadays, object-oriented meta-languages such as MOF
                   (Meta- Object Facility) are increasingly used to
                   specify domain-specific languages in the model-driven
                   engineering community. However, these meta-languages
                   focus on structural specifications and have no built-in
                   support for specifications of operational semantics. In
                   this paper we explore the idea of using aspectoriented
                   modeling to add precise action specifications with
                   static type checking and genericity at the meta level,
                   and examine related issues and possible solutions. We
                   believe that such a combination would bring significant
                   benefits to the community, such as the specification,
                   simulation and testing of operational semantics of
                   metamodels. We present requirements for such
                   statically-typed meta-languages and rationales for the
                   aforementioned benefits.},
  month          = oct,
  url            = {http://www.irisa.fr/triskell/publis/2005/Muller05a.pdf},
  year           = 2005
}

@InProceedings{Mada89a,
  Author         = {Peter W. Madany and Roy H. Campbell and Vincent F.
                   Russo and Douglas E. Leyens},
  Title          = {A Class Hierarchy for Building Stream-Oriented File
                   Systems},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {311-328},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Cazz04a,
  Author         = {Walter Cazzola},
  Title          = {SmartReflection: Efficient Introspection in Java},
  Journal        = {Journal of Object Technology},
  Volume         = {3},
  Number         = {11},
  institution    = {ETH Z\"urich},
  keywords       = {dynamic analysis},
  month          = aug,
  year           = 2004
}

@Article{Grav00a,
  Author         = {T. L. Graves and A. F. Karr and J. S. Marron and H.
                   Siy},
  Title          = {Predicting Fault Incidence Using Software Change
                   History},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {26},
  Number         = {2},
  keywords       = {evolution},
  year           = 2000
}

@InProceedings{Mule94a,
  Author         = {Philippe Mulet and Marco Jacques},
  Title          = {De la parent\'e entre les environnements de {MIT}
                   {Scheme} et les prototypes de {Self}},
  BookTitle      = {Langages et {Mod}\`ele \`a {Objets}},
  Pages          = {167-181},
  Address        = {Grenoble},
  month          = oct,
  year           = 1994
}

@InProceedings{Alma89a,
  Author         = {Jay Almarode},
  Title          = {Rule-Based Delegation for Prototypes},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {363-370},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Hail90a,
  Author         = {Brent Hailpern and Harold Ossher},
  Title          = {Extending Objects to Support Multiple Interfaces and
                   Access Control},
  Journal        = {IEEE Transactions on Software Enginnering},
  Volume         = {16},
  Number         = {11},
  Pages          = {1247-1257},
  keywords       = {olit oobib(gen) binder},
  month          = nov,
  year           = 1990
}

@InProceedings{Svet01a,
  Author         = {Davor Svetinovic and Michael Godfrey},
  Title          = {A Lightweight Architecture Recovery Process},
  BookTitle      = {Proceedings Eight Working Conference on Reverse
                   Engineering (WCRE'01)},
  month          = oct,
  year           = 2001
}

@InCollection{Casa95a,
  Author         = {Eduardo Casais},
  Title          = {Managing Class Evolution in Object-Oriented Systems},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {201-244},
  abstract       = {Software components developed with an object-oriented
                   language undergo considerable reprogramming before they
                   become reusable for a wide range of applications or
                   domains. Tools and methodologies are therefore needed
                   to cope with the complexity of designing, updating and
                   reorganizing class collections. We present a typology
                   of techniques for controlling change in object-oriented
                   systems, illustrate their functionality with selected
                   examples and discuss their advantages and limitations.},
  keywords       = {olit osg OOSC08},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@InProceedings{Marc04a,
  Author         = {Andrian Marcus and Andrey Sergeyev and Vaclav Rajlich
                   and Jonathan Maletic},
  Title          = {An Information Retrieval Approach to Concept Location
                   in Source Code},
  BookTitle      = {Proceedings of the 11th Working Conference on Reverse
                   Engineering (WCRE 2004)},
  Pages          = {214--223},
  keywords       = {lsi},
  month          = nov,
  year           = 2004
}

@Article{Pinz05c,
  Author         = {Martin Pinzger and Harald Gall and Michael Fischer},
  Title          = {Towards an Integrated View on Architecture and its
                   Evolution},
  Journal        = {Electronic Notes in Theoretical Computer Science},
  Volume         = {127},
  Number         = {3},
  Pages          = {183-196},
  year           = 2005
}

@InProceedings{Marc05b,
  Author         = {Marcus, Andrian and Rajlich, V\'aclav and Buchta,
                   Joseph and Petrenko, Maksym and Sergeyev, Andrey},
  Title          = {Static Techniques for Concept Location in
                   Object-Oriented Code},
  BookTitle      = {Proceedings of the 13th International Workshop on
                   Program Comprehension (IWPC'05)},
  year           = 2005
}

@InProceedings{Fium87d,
  Author         = {Eugene Fiume and Dennis Tsichritzis},
  Title          = {Dynamic Multimedia Objects},
  BookTitle      = {Workshop for Multimedia Objects},
  Address        = {Taormina, Sicily},
  keywords       = {olit-oopl multimedia scripts osg aoe88},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@TechReport{Lesk75a,
  Author         = {M.E. Lesk and E. Schmidt},
  Title          = {Lex --- {A} Lexical Analyzer Generator},
  Institution    = {Bell Laboratories},
  Type           = {Computer Science Technical Report},
  Number         = {\#39},
  Address        = {Murray Hill, NJ},
  keywords       = {misc unix lex},
  year           = 1975
}

@Book{Han00a,
  Author         = {Jiawei Han and Micheline Kamber},
  Title          = {Data Mining: Concept and Techniques},
  Publisher      = {Morgan Kaufmann},
  keywords       = {clustering},
  year           = 2000
}

@InProceedings{Pasq88a,
  Author         = {Jacques Pasquier-Boltuck and Ed Grossman and G\'erald
                   Collaud},
  Title          = {Prototyping an Interactive Electronic Book System
                   Using an Object-Oriented Approach},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Series         = {LNCS 322},
  Pages          = {177-190},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@TechReport{Meye93d,
  Author         = {Scott Meyers and Carolyn K. Duby and Steven P. Reiss},
  Title          = {Constraining the Structure and Style of
                   Object-Oriented Programs},
  Institution    = {Department of Computer Science, Brown University},
  Number         = {CS-93-12},
  Address        = {Box 1910, Providence, RI 02912},
  month          = apr,
  year           = 1993
}

@Article{Hare90a,
  Author         = {D. Harel and H. Lachover and A. Naamad and Amir Pnueli
                   and M. Politi and R. Sherman and A. Shtull-Trauring and
                   M. Trakhtenbrot},
  Title          = {{STATEMATE}: {A} Working Environment for the
                   Development of Complex Reactive Systems},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-16},
  Number         = {4},
  Pages          = {403-414},
  keywords       = {visprog higraphs statecharts statemate},
  month          = apr,
  year           = 1990
}

@Article{Talc93a,
  Author         = {Talcott, Carolyn L.},
  Title          = {A Theory of Binding Structures and Applications to
                   Rewriting},
  Journal        = tcs,
  Volume         = 112,
  cltnote        = {short version in: Second International Conference on
                   Algebraic Methodology and Software Technology, AMAST91,
                   LNCS ???, 1991},
  ftpsource      = {steam.stanford.edu:pub/MT/91amast-tcs.ps.Z},
  keywords       = {contract-types},
  url            = {http://steam.stanford.edu/MT/91amast-tcs.ps.Z},
  year           = 1993
}

@Book{Kauf90a,
  Author         = {L. Kaufman and P. J. Rousseeuw},
  Title          = {Finding Groups in Data: An Introduction to Cluster
                   Analysis},
  Publisher      = {John Wiley \& Sons Inc.},
  Series         = {Wiley Series in Probability and Mathematical
                   Statistics},
  Address        = {New York},
  keywords       = {clustering},
  year           = 1990
}

@InProceedings{Pier86a,
  Author         = {Kurt W. Piersol},
  Title          = {Object Oriented Spreadsheets: The Analytic Spreadsheet
                   Package},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {385-390},
  keywords       = {olit-appl asp smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@Misc{Tant01b,
  Author         = {{\'E}ric Tanter and Jose Piquer},
  Title          = {Managing References upon Object Migration: Applying
                   Separation of Concerns},
  Note           = {In: Proceedings of the XXI International Conference of
                   the Chilean Computer Science Society (SCCC 2001)},
  month          = {jan},
  year           = 2001
}

@Article{Arac06a,
  Author         = {Ivica Aracic and Vaidas Gasiunas and Mira Mezini and
                   Klaus Ostermann},
  Title          = {An Overview of {CaesarJ}},
  Journal        = {Transactions on Aspect-Oriented Software Development},
  Volume         = {3880},
  Pages          = {135 - 173},
  publisher      = {Springer},
  year           = 2006
}

@Article{Grou81a,
  Author         = {{The Xerox Learning Research Group}},
  Title          = {The {Smalltalk}-80 System},
  Journal        = {Byte},
  Volume         = {6},
  Number         = {8},
  Pages          = {36-48},
  institution    = {The Xerox Learning Research Group},
  keywords       = {olit-oopl smalltalk binder},
  month          = aug,
  year           = 1981
}

@InProceedings{Barr87a,
  Author         = {Brian M. Barry and John R. Altoft and Dave A. Thomas
                   and Mike Wilson},
  Title          = {Using Objects To Design and Build Radar {ESM} Systems},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {192-201},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Jung93a,
  Author         = {R. Jungclaus and T. Hartmann and G. Saake},
  Title          = {Relationships between Dynamic Object},
  BookTitle      = {Proceedings of the second European-Japanese Seminar,
                   Information Modelling and Knowledge Bases IV: Concepts,
                   Methods and Systems},
  Pages          = {425-438},
  Address        = {Amsterdam},
  Publisher      = {IOS Press},
  year           = 1993
}

@InProceedings{Doda92a,
  Author         = {Mahesh Dodani and Chung-Shin Tsai},
  Title          = {{ACTS}: {A} Type System for Object-Oriented
                   Programming Based on Abstract and Concrete Classes},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {309-328},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@Article{Duca01a,
  Author         = {St\'ephane Ducasse and Michele Lanza},
  Title          = {Towards a Methodology for the Understanding of
                   Object-Oriented Systems},
  Journal        = {Technique et science informatiques},
  Volume         = {20},
  Number         = {4},
  Pages          = {539-566},
  abstract       = { The reverse engineering of object-oriented legacy
                   systems presents a number of problems typically
                   encountered in large-scale legacy systems: the lack of
                   overview and the need to focus on interesting parts. To
                   help in reverse engineering large object-oriented
                   legacy systems, we proposed a hybrid approach combining
                   the immediate appeal of visualisations with the
                   scalability of metrics. However, our approach lacked of
                   a methodology that guides the reverse engineer. In this
                   paper we present a first methodology that we developed
                   from our industrial experiments.},
  annote         = {nationaljournal},
  keywords       = {scg-pub skipdoi jb01 snf02 stePub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca01aTowardsAMethod.pdf},
  year           = 2001
}

@InProceedings{John93c,
  Author         = {J. Howard Johnson},
  Title          = {Identifying Redundancy in Source Code using
                   Fingerprints},
  BookTitle      = {Proceedings of CASCON 93},
  Pages          = {171-183},
  keywords       = {clones},
  year           = 1993
}

@Article{Aher98a,
  Author         = {F.J. Aherne and N.A. Thacker and Peter Rockett},
  Title          = {The Bhattacharyya Metric as an Absolute Similarity
                   Measure for Frequency Coded Data},
  Journal        = {Kybernetika},
  Volume         = {34},
  Number         = {4},
  Pages          = {363--368},
  abstract       = {This paper highlights advantageous properties of the
                   Bhattacharyya metric over the chi-squared statistic for
                   comparing frequency distributed data. The original
                   interpretation of the Bhattacharyya metric as a
                   geometric similarity measure is reviewed and it is
                   pointed out that this derivation is independent of the
                   use of the Bhattacharyya measure as an upper bound on
                   the probability of misclassification in a two-class
                   problem. The affinity between the Bhattacharyya and
                   Matusita measures is described and we suggest use of
                   the Bhattacharyya measure for comparing histogram data.
                   We explain how the chi-squared statistic compensates
                   for the implicit assumption of a Euclidean distance
                   measure being the shortest path between two points in
                   high dimensional space. By using the square-root
                   transformation the Bhattacharyya metric requires no
                   such standardization and by its multiplicative nature
                   has no singularity problems unlike those caused by the
                   denominator of the chi-squared statistic with zero
                   count-data.},
  publisher      = {TIA, Prague},
  year           = 1998
}

@Article{Olth89a,
  Author         = {Walther Olthoff and James Kempf},
  Title          = {An Algebraic Specification of Method Combination for
                   the Common Lisp Object System},
  Journal        = {Lisp and Symbolic Computation},
  Volume         = {2},
  Number         = {2},
  Pages          = {115-152},
  month          = jun,
  year           = 1989
}

@InProceedings{Chib03,
  Author         = {S. Chiba and M. Nishizawa},
  Title          = {An Easy-to-Use Toolkit for Efficient {Java} Bytecode
                   Translators},
  BookTitle      = {Proceedings of GPCE'03},
  Volume         = {2830},
  Series         = {LNCS},
  Pages          = {364-376},
  year           = 2003
}

@Book{Souz99a,
  Author         = {Desmond F. D'Souza and Alan Cameron Wills},
  Title          = {Objects, Components and Frameworks with {UML}: The
                   Catalysis Approach},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-31012-0},
  keywords       = {olit uml scglib oorp},
  year           = 1999
}

@Book{Gosl95a,
  Author         = {James Gosling and H. McGilton},
  Title          = {The {Java} Language Environment},
  Publisher      = {Sun Microsystems Computer Company},
  keywords       = {olit oopl java},
  month          = may,
  year           = 1995
}

@Article{Snyd91a,
  Author         = {Alan Snyder},
  Title          = {How to Get Your Paper Accepted at {OOPSLA}},
  Journal        = {ACM OOPS Messenger},
  Volume         = {2},
  Number         = {1},
  Pages          = {2-7},
  keywords       = {olit},
  month          = jan,
  year           = 1991
}

@Book{Cott95a,
  Author         = {Sean Cottter and Mike Potel},
  Title          = {Inside Taligent Technology},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-40970-4},
  keywords       = {olit-reuse scglib},
  year           = 1995
}

@InProceedings{Nyst04,
  Author         = {Nathaniel Nystrom and Stephen Chong and Andrew C.
                   Myers},
  Title          = {Scalable extensibility via nested inheritance},
  BookTitle      = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN
                   Conference on Object-oriented programming, systems,
                   languages, and applications},
  Pages          = {99-115},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028976.1028986},
  isbn           = {1-58113-831-9},
  location       = {Vancouver, BC, Canada},
  year           = 2004
}

@Unpublished{Glau91a,
  Author         = {J. Glauert and Lone Leth and Bent Thomsen},
  Title          = {A New Translation of Functions as Processes},
  Note           = {University of East Anglia},
  keywords       = {pcalc ccs binder},
  misc           = {Sept. 30},
  month          = sep,
  type           = {Draft},
  year           = 1991
}

@Article{Tsic85d,
  Author         = {Dennis Tsichritzis},
  Title          = {Object Species},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {2-7},
  keywords       = {olit-appl knos knowrep},
  month          = dec,
  year           = 1985
}

@Article{Whal90a,
  Author         = {G. Whale},
  Title          = {Identification of Program Similarity in Large
                   Populations},
  Journal        = {The Computer Journal},
  Volume         = {33},
  Number         = {2},
  Pages          = {140-146},
  year           = 1990
}

@Article{ACM94h,
  Author         = {{ACM}},
  Title          = {Securing Cyberspace},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {11},
  institution    = {ACM},
  keywords       = {scglib},
  month          = nov,
  year           = 1994
}

@InCollection{Stei89a,
  Author         = {L. A. Stein and H. Lieberman and D. Ungar},
  Title          = {A Shared View of Sharing: The Treaty of Orlando},
  BookTitle      = {Object-Oriented Concepts, DataBases, and Applications},
  Publisher      = {ACM Press, Addison Wesley},
  Pages          = {31-48},
  keywords       = {ioom-prototype},
  year           = 1989
}

@InProceedings{Gree07a,
  Author         = {Orla Greevy and Tudor G\^irba and St\'ephane Ducasse},
  Title          = {How Developers Develop Features},
  BookTitle      = {Proceedings of 11th European Conference on Software
                   Maintenance and Reengineering (CSMR 2007)},
  Pages          = {256--274},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Software developers are constantly required to modify
                   and adapt features of an application in response to
                   changing requirements. The problem is that just by
                   reading the source code, it is difficult to determine
                   how classes and methods contribute to the runtime
                   behavior of features. Moreover, dependencies between
                   system features are not obvious, consequently software
                   maintenance operations often result in unintended side
                   effects. To tackle these problems, we propose a compact
                   feature-driven approach (i.e, summarized trace
                   information) based on dynamic analysis to characterize
                   features and computational units of an application. We
                   extract execution traces to achieve an explicit mapping
                   between features and classes using two complementary
                   perspectives. We apply our approach to two case studies
                   and we report our findings.},
  annote         = {internationalconference},
  cvs            = {TraceScraperCSMR2007},
  keywords       = {scg-pub greevy jb07 stefPub Feature recast
                   Feature-Traces Dynamic Analysis Evolution moose-pub
                   girba},
  year           = 2007
}

@InProceedings{Sche88a,
  Author         = {Marcel Schelvis and Eddy Bledoeg},
  Title          = {The Implementation of a Distributed {Smalltalk}},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {212-232},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Book{IEEE91a,
  Author         = {Anne Geraci and Freny Katki and Louise McMonegal and
                   Bennett Meyer and Hugh Porteous},
  Title          = {IEEE Standard Computer Dictionary: A Compilation of
                   IEEE Standard Computer Glossaries},
  Publisher      = {IEEE},
  isbn           = {1559370793},
  year           = 1991
}

@InProceedings{Zell99a,
  Author         = {Andreas Zeller},
  Title          = {Yesterday, my program worked. Today, it does not. Why?},
  BookTitle      = {ESEC/FSE-7: Proceedings of the 7th European software
                   engineering conference held jointly with the 7th ACM
                   SIGSOFT international symposium on Foundations of
                   software engineering},
  Pages          = {253--267},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  doi            = {http://doi.acm.org/10.1145/318773.318946},
  isbn           = {3-540-66538-2},
  location       = {Toulouse, France},
  year           = 1999
}

@PhdThesis{Reyn98a,
  Author         = {Jeffrey C. Reynar},
  Title          = {Topic Segmentation: Algorithms and Applications},
  School         = {University of Pennsylvania},
  keywords       = {dotplot},
  year           = 1998
}

@Article{Fiut99a,
  Author         = {R. Fiutem and G. Antoniol and P. Tonella and E. Merlo},
  Title          = {ART: an Architectural Reverse Engineering Environment},
  Journal        = {Journal of Software Maintenance: Research and Practice},
  Volume         = 11,
  Number         = 5,
  Pages          = {339-364},
  doi            = {http://dx.doi.org/10.1002/(SICI)1096-908X(199909/10)11:5<339::AID-SMR196>3.3.CO;2-9},
  issn           = {1040-550X},
  publisher      = {Wiley},
  year           = 1999
}

@TechReport{Neme00a,
  Author         = {Bernhard Nemec},
  Title          = {Evolution 200},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Neme00a.pdf},
  year           = 2000
}

@MastersThesis{Wark03a,
  Author         = {Elmar Warken},
  Title          = {Mehrfache Delegatioin in Lava (in German)},
  School         = {CS Dept. III, University of Bonn, Germany},
  Type           = {Diploma thesis},
  month          = feb,
  year           = 2003
}

@Book{Cast97a,
  Author         = {Giuseppe Castagna},
  Title          = {Object-Oriented Programming A Unified Foundation},
  Publisher      = {Birkhaeuser},
  keywords       = {scglib},
  year           = 1997
}

@InCollection{Chik92a,
  Author         = {Elliot J. Chikofsky and James H. Cross II},
  Title          = {Reverse Engineering and Design Recovery: A Taxonomy},
  BookTitle      = {Software Reengineering},
  Publisher      = {IEEE Computer Society Press},
  Editor         = {Robert S. Arnold},
  Pages          = {54-58},
  keywords       = {reeng reveng oorp},
  year           = 1992
}

@InProceedings{Mari98a,
  Author         = {Radu Marinescu},
  Title          = {Using Object-Oriented Metrics for Automatic Design
                   Flaws in Large Scale Systems},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Pages          = {252-253},
  Publisher      = {Springer-Verlag},
  year           = 1998
}

@InProceedings{Brow91a,
  Author         = {Marc H. Brown},
  Title          = {ZEUS: A System for Algorithm Animation and Multi-view
                   Editing},
  BookTitle      = {Proceedings of the 1991 IEEE Workshop on Visual
                   Languages},
  Pages          = {4-9},
  month          = oct,
  year           = 1991
}

@InProceedings{Milo98a,
  Author         = {D. Milojicic and M. Breugst and I. Busse and J.
                   Campbell and S. Covaci and B. Friedman and K. Kosaka
                   and D. Lange and K. Ono and M. Oshima and C. Tham and
                   S. Virdhagriswaran and J. White},
  Title          = {{MASIF}, The {OMG} Mobile Agent System
                   Interoperability Facility},
  BookTitle      = {Proceedings of Mobile Agents '98},
  keywords       = {olit agents},
  year           = 1998
}

@MastersThesis{Vauc03a,
  Author         = {Sebastien Vauclair},
  Title          = {Extensible {Java} Profiler},
  School         = {Ecole Polytechnique F\'ed\'erale de Lausanne},
  Type           = {Master's Thesis},
  Note           = {http://ejp.sourceforge.net},
  year           = 2003
}

@Article{Denk06a,
  Author         = {Marcus Denker and St\'ephane Ducasse and {\'E}ric
                   Tanter},
  Title          = {Runtime Bytecode Transformation for {Smalltalk}},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {32},
  Number         = {2-3},
  Pages          = {125-139},
  abstract       = {Transforming programs to alter their semantics is of
                   wide interest, for purposes as diverse as off-the-shelf
                   component adaptation, optimization, trace generation,
                   and experimentation with new language features. The
                   current wave of interest in advanced technologies for
                   better separation of concerns, such as aspect-oriented
                   programming, is a solid testimony of this fact.
                   Strangely enough, almost all proposals are formulated
                   in the context of {Java}, in which tool providers
                   encounter severe restrictions due to the rigidity of
                   the environment. This paper present ByteSurgeon, a
                   library to transform binary code in Smalltalk.
                   ByteSurgeon takes full advantage of the flexibility of
                   the Squeak environment to enable bytecode
                   transformation at runtime, thereby allowing dynamic,
                   on-the-fly modification of applications. ByteSurgeon
                   operates on bytecode in order to cope with situations
                   where the source code is not available, while providing
                   appropriate high-level abstractions so that users do
                   not need to program at the bytecode level. We
                   illustrate the use of ByteSurgeon via the
                   implementation of method wrappers and a simple MOP, and
                   report on its efficiency.},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1016/j.cl.2005.10.002},
  keywords       = {scg-pub stefPub jb06 snf-actsc snf06},
  misc           = {SCI impact factor 0.467 (2005)},
  month          = jul,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Denk06aRuntimeByteCodeESUGJournal.pdf},
  year           = 2006
}

@InProceedings{Maru87a,
  Author         = {Takeo Maruichi and Tetsuya Uchiki and Mario Tokoro},
  Title          = {Behavioral Simulation Based on Knowledge Objects},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {213-222},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc paradise simulation ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Horw90a,
  Author         = {Susan Horwitz},
  Title          = {Identifying the semantic and textual differences
                   between two versions of a program},
  BookTitle      = {Proceedings of the {ACM} {SIGPLAN} '90 Conference on
                   Programming Language Design and Implementation},
  Volume         = {25},
  Pages          = {234-245},
  Address        = {White Plains, NY},
  journal        = {SIGPLAN Notices},
  month          = jun,
  url            = {citeseer.ist.psu.edu/horwitz90identifying.html},
  year           = 1990
}

@InProceedings{DAmb07b,
  Author         = {Marco D'Ambros and Michele Lanza and Martin Pinzger},
  Title          = {``A Bug's Life'' - Visualizing a Bug Database},
  BookTitle      = {Proceedings of VISSOFT 2007 (4th IEEE International
                   Workshop on Visualizing Software For Understanding and
                   Analysis)},
  Pages          = {to be published},
  mon            = jun,
  year           = 2007
}

@Article{Li93a,
  Author         = {Li, W. and Henry, S.},
  Title          = {Object Oriented Metrics that predict maintainability},
  Journal        = {Journal of System Software},
  Volume         = {23},
  Number         = {2},
  Pages          = {111-122},
  keywords       = {olit metrics},
  year           = 1993
}

@InProceedings{Gall95b,
  Author         = {Harald Gall and Ren\'e; Kl\"osch and Roland Mittermeir},
  Title          = {Object-Oriented Re-Architecturing},
  BookTitle      = {Proceedings of the 5th European Software Engineering
                   Conference},
  Pages          = {499--519},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-60406-5},
  year           = 1995
}

@Book{Lisc96a,
  Author         = {Ray Lischner},
  Title          = {Secrets of Delphi 2},
  Publisher      = {Waite Group Press},
  keywords       = {delphi},
  year           = 1996
}

@InProceedings{Arev02b,
  Author         = {Gabriela Ar{\'e}valo and Tom Mens},
  Title          = {Analysing Object Oriented Framework Reuse using
                   Concept Analysis},
  BookTitle      = {Advances in Object-oriented Information Systems: OOIS
                   2002 Workshops},
  Editor         = {Jean-Michel Bruel and Zohra Bellahsene},
  Pages          = {53-63},
  Publisher      = {Springer Verlag},
  abstract       = {This paper proposes to use the formal technique of
                   Concept Analysis to analyse how methods and classes in
                   an object-oriented inheritance hierarchy are coupled by
                   means of the inheritance and interfaces relationships.
                   Especially for large and complex inheritance
                   hierarchies, we believe that a formal analysis of how
                   behaviour is reused can provide insight in how the
                   hierarchy was built and the different relationships
                   among the classes. To perform this analysis, we use
                   behavioural information provided by the self sends and
                   super sends made in each class of the hierarchy. The
                   proposed technique allows us to identify weak spots in
                   the inheritance hierarchy that may be improved, and to
                   serve as guidelines for extending or customising an
                   object-oriented application framework. As a first step,
                   this paper reports on an initial experiment with the
                   Magnitude hierarchy in the Smalltalk programming
                   language.},
  keywords       = {snf02 scg-pub skipdoi jb02 arevalo},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev02bOOIS02FrameworkReuse.pdf},
  year           = 2002
}

@Misc{Clar04a,
  Author         = {Tony Clark and Andy Evans and Paul Sammut and James
                   Willans},
  Title          = {Applied Metamodelling: A foundation for Language
                   Driven Development},
  url            = {http://albini.xactium.com},
  year           = 2004
}

@Book{Budd98a,
  Author         = {Timothy Budd},
  Title          = {Understanding Object-Oriented Programming with {Java}},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-30881-9},
  keywords       = {olit-oopl java},
  year           = 1998
}

@InProceedings{Simo98a,
  Author         = {Anthony Simons and A.J.H. Simons and I.M. Graham},
  Title          = {37 Things That Don't Work in Object Modelling with
                   {UML}},
  BookTitle      = {Proc. 2nd. ECOOP Workshop on Precise Behavioural
                   Semantics},
  Editor         = {H. Kilov and B. Rumpe},
  keywords       = {olit},
  url            = {http://www.dcs.shef.ac.uk/~ajhs/abstracts.html#uml},
  year           = 1998
}

@InProceedings{Monk92a,
  Author         = {Simon R. Monk and Ian Sommerville},
  Title          = {A Model for Versioning of Classes in Object-oriented
                   Databases},
  BookTitle      = {10th British National Conference on Databases},
  Editor         = {P.M.D. Gray and R.J. Lucas},
  Pages          = {42-58},
  Address        = {Aberdeen},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oodb versions schema evolution (smc)},
  year           = 1992
}

@InProceedings{Male95b,
  Author         = {J. Malenfant},
  Title          = {On the Semantic Diversity of Delegation-Based
                   Programming Languages},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {215-230},
  Address        = {Austin},
  Organization   = {ACM},
  month          = oct,
  year           = 1995
}

@Book{Louk86a,
  Editor         = {Mike Loukides},
  Title          = {Unix in a Nutshell System},
  Publisher      = {O'Reilly \& Associates, Inc},
  Edition        = {V},
  isbn           = {1-56592-001-5},
  keywords       = {pl book latex scglib},
  year           = 1986
}

@InCollection{Papa98b,
  Author         = {Papadopoulos, George A. and Arbab, Farhad},
  Title          = {{Coordination Models and Languages}},
  BookTitle      = {The Engineering of Large Systems},
  Publisher      = {Academic Press},
  Volume         = {46},
  Series         = {Advances in Computers},
  keywords       = {coordination linda manifold survey},
  month          = aug,
  url            = {http://www.cwi.nl/ftp/manifold/AICbook.ps.Z},
  year           = 1998
}

@Book{Szyp02a,
  Author         = {Clemens A. Szyperski},
  Title          = {Component Software -- Beyond Object-Oriented
                   Programming},
  Publisher      = {Addison Wesley},
  Edition        = {Second Edition},
  isbn           = {0-201-74572-0},
  keywords       = {components scglib},
  year           = 2002
}

@InProceedings{Alle94c,
  Author         = {Robert Allen and David Garlan},
  Title          = {Formalizing Architectural Connection},
  BookTitle      = {Proceedings ICSE '94},
  keywords       = {olit visprog composition architecture binder},
  month          = may,
  year           = 1994
}

@TechReport{Deme96c,
  Author         = {Wolfgang De Meuter and Tom Mens and Patrick Steyaert},
  Title          = {Agora: Reintroducing Safety in Prototype-based
                   Languages},
  Institution    = {Programming Technology Lab, Vrije Universiteit Brussel},
  year           = 1996
}

@InCollection{Brow96a,
  Author         = {Alan W. Brown and Kurt C. Wallnau},
  Title          = {Enginnering of Component-Based Systems},
  BookTitle      = {Component-Based Software Engineering},
  Publisher      = {IEEE Press},
  Editor         = {Alan W. Brown},
  Pages          = {7-15},
  keywords       = {composition},
  year           = 1997
}

@Misc{Nord95b,
  Author         = {Else K. Nordhagen},
  Title          = {Equal observable behaviour in Object-oriented Systems},
  Note           = {Working Draft},
  keywords       = {olit oc binder 114},
  year           = 1995
}

@InProceedings{Kosk96a,
  Author         = {Kai Koskimies and H. M{\"o}ssenb{\"o}ck},
  Title          = {Scene: Using Scenario Diagrams and Active Test for
                   Illustrating Object-Oriented Programs},
  BookTitle      = {Proceedings of ICSE-18},
  Pages          = {366-375},
  Publisher      = {IEEE},
  month          = mar,
  year           = 1996
}

@TechReport{Arap92a,
  Author         = {Costas Arapis},
  Title          = {Object Behavior Composition: {A} Temporal Logic Based
                   Approach},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {A critical aspect of object-oriented design
                   methodologies is what has been called the behavioral
                   composition of objects. That is, how to reuse, combine
                   and coordinate the functionality of existing objects
                   when developing new objects. This paper presents an
                   approach emphasizing the specification of temporal
                   aspects of behavioral composition. Using propositional
                   temporal logic as the underlying formalism of our
                   approach, we show how to verify the consistency of
                   specifications and how to monitor adherence to the
                   specifications during run time.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg of92},
  month          = jul,
  pages          = {79-107},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/tr92arapis.pdf},
  year           = 1992
}

@InProceedings{Dony92a,
  Author         = {Christophe Dony and Jacques Malenfant and Pierre
                   Cointe},
  Title          = {Prototype-Based Languages: From a New Taxonomy to
                   Constructive Proposals and Their Validation},
  BookTitle      = {Proceedings OOPSLA '92},
  Pages          = {201-217},
  keywords       = {ioom-prototype},
  month          = oct,
  year           = 1992
}

@InProceedings{Duca04e,
  Author         = {St\'ephane Ducasse and Adrian Lienhard and Lukas
                   Renggli},
  Title          = {Seaside --- a Multiple Control Flow Web Application
                   Framework},
  BookTitle      = {Proceedings of 12th International Smalltalk Conference
                   (ISC'04)},
  Pages          = {231-257},
  abstract       = {Developing web applications is difficult since (1) the
                   client-server relationship is asymmetric: the server
                   cannot update clients but only responds to client
                   requests and (2) the navigation facilities of web
                   browsers lead to a situation where servers cannot
                   control the state of the clients. Page-centric web
                   application frameworks fail to offer adequate solutions
                   to model control flow at a high-level of abstraction.
                   Developers have to work manually around the
                   shortcomings of the HTTP protocol. Some approaches
                   offer better abstractions by composing an application
                   out of components, however they still fail to offer
                   modeling control flow at a high level.
                   Continuation-based approaches solve this problem by
                   providing the facilities to model a control flow over
                   several pages with one piece of code. However combining
                   multiple flows inside the same page is difficult. This
                   article presents Seaside. Seaside is a framework which
                   combines an objectoriented approach with a
                   continuation-based one. A Seaside application is built
                   out of components (i.e., objects) and the logic of the
                   application benefits from the continuation-based
                   program flow infrastructure. Seaside offers a unique
                   way to have multiple control flows on a page, one for
                   each component. This enables the developer to write
                   components that are highly reusable and that can be
                   used to compose complex web applications with higher
                   quality in less time.},
  annote         = {internationalconference},
  cvs            = {seaside},
  keywords       = {scg-pub skipdoi jb05 snf05 stefPub},
  misc           = {Also Technical Report IAM-04-008},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca04eSeaside.pdf
                   http://www.iam.unibe.ch/publikationen/techreports/2004/iam-04-008},
  year           = 2004
}

@InProceedings{Gabe92a,
  Author         = {Bent Gabelgaard},
  Title          = {Using Object-Oriented Programming Techniques for
                   Implementing {ISDN} Supplementary Services},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {213-232},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@TechReport{Mey90a,
  Author         = {Vicki de Mey},
  Title          = {Vista Implementation},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA report},
  Number         = {CUI.90.E.4.#1},
  keywords       = {olit-ithaca vista scripting},
  month          = dec,
  year           = 1990
}

@Manual{Knig07,
  Title          = {SCons User Guide 0.97},
  Author         = {Steven Knight},
  url            = http://www.scons.org/doc/0.97/html/scons-user/book1.html,
  year           = 2007
}

@InCollection{Tsic89c,
  Author         = {Dennis Tsichritzis and Oscar Nierstrasz},
  Title          = {Directions in Object-Oriented Research},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {523-536},
  Address        = {Reading, Mass.},
  abstract       = {Identifies several more traditional research
                   directions dealing with object oriented languages and
                   systems, and several more exotic research directions
                   concerning evolving active objects.},
  keywords       = {olit-oopl skipdoi survey osg aoe88 oocda89},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Tsic89cDirections.pdf},
  year           = 1989
}

@InProceedings{Art05a,
  Author         = {John Arthur and Shiva Azadegan},
  Title          = {Spring Framework for Rapid Open Source J2EE Web
                   Application Development: A Case Study.},
  BookTitle      = {SNPD},
  Pages          = {90-95},
  Publisher      = {IEEE Computer Society},
  year           = 2005
}

@Book{Riel96a,
  Author         = {Arthur Riel},
  Title          = {Object-Oriented Design Heuristics},
  Publisher      = {Addison Wesley},
  Address        = {Boston MA},
  keywords       = {scglib oorp},
  pages          = {400},
  year           = 1996
}

@Book{Lieb96a,
  Author         = {Karl J. Lieberherr},
  Title          = {Adaptative Object-Oriented Software: The Demeter
                   Method},
  Publisher      = {PWS Publishing},
  isbn           = {053494602-X},
  keywords       = {olit-reuse scglib},
  year           = 1996
}

@Article{Simo94a,
  Author         = {A.J.H. Simons and L.E. Kwang},
  Title          = {An Optimizing delivery System for Object-Oriented
                   Software},
  Journal        = {Object-Oriented Systems},
  Volume         = {1},
  Number         = {1},
  Pages          = {21-44},
  keywords       = {olit binder},
  month          = dec,
  publisher      = {Chapman \& Hall},
  year           = 1994
}

@Article{Hutc91a,
  Author         = {Norman C. Hutchinson and Larry L. Peterson},
  Title          = {The X-Kernel: An Architecture for Implementing Network
                   Protocols},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {17},
  Number         = {1},
  Pages          = {64--76},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/32.67579},
  issn           = {0098-5589},
  publisher      = {IEEE Press},
  year           = 1991
}

@Book{LaLo90a,
  Author         = {Wilf LaLonde and John Pugh},
  Title          = {Inside {Smalltalk}: Volume 1},
  Publisher      = {Prentice Hall},
  isbn           = {0-13-468414-1},
  keywords       = {olit-smalltalk oobib(smalltalk) book scglib},
  year           = 1990
}

@Book{Ferb95a,
  Author         = {Jacques Ferber},
  Title          = {Les Syst\`emes Multiagents: Vers une Intelligence
                   Collective},
  Publisher      = {InterEditions},
  keywords       = {agents dai},
  year           = 1995
}

@InProceedings{Ueda02b,
  Author         = {Yasushi Ueda and Toshihiro Kamiya and Shinji Kusumoto
                   and Katsuro Inoue},
  Title          = {Gemini: Maintenance Support Environment Based on Code
                   Clone Analysis},
  BookTitle      = {Proc. of the 8th IEEE Symposium on Software Metrics
                   (METRICS2002)},
  Pages          = {67-76},
  Address        = {Ottawa, Canada},
  keywords       = {clones dotplot},
  month          = jun,
  year           = 2002
}

@MastersThesis{Minj04a,
  Author         = {Florian Minjat},
  Title          = {Vers une mod\'elisation transverse et modulaire des
                   collaborations par couplage des traits et des
                   classboxes},
  School         = {Ecole des mines de Nantes},
  Type           = {{DEA}},
  abstract       = {Dans le domaine de la conception de langages, la
                   r\'{e}utilisation et la factorisation du code sont deux
                   enjeux majeurs. Dans le but de r\'{e}pondre \`{a} ces
                   questions, de tr\`{e}s nombreuses solutions ont
                   \'{e}t\'{e} propos\'{e}es, avec plus ou moins de
                   succ\`{e}s. Mais aucune na r\'{e}pondu de mani\`{e}re
                   parfaite au probl\`{e}me qui reste ouvert. Le concept
                   de collaboration est ainsi tr\`{e}s int\'{e}ressant
                   pour la r\'{e}utilisation de fonctionnalit\'{e}s
                   transverses, mais aucun mod\`{e}le de ce concept ne
                   permet de rendre compte des probl\`{e}mes induits. Dans
                   ce rapport nous introduisons un mod\`{e}le original de
                   collaboration bas\'{e} sur les concepts de Traits et de
                   Classboxes, d\'{e}velopp\'{e}s par le Software
                   Composition Group de luniversit\'{e} de Bern, que nous
                   illustrons au travers de deux exemples. Apr\`{e}s
                   \'{e}valuation, il sav\`{e}re que ce mod\`{e}le
                   r\'{e}pond de mani\`{e}re simple et explicite aux
                   probl\'{e}matiques des collaborations.},
  keywords       = {scg-msc traits classboxes jb05 snf04},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Minj04a.pdf},
  year           = 2004
}

@TechReport{John91a,
  Author         = {Ralph E. Johnson and Vincent F. Russo},
  Title          = {Reusing Object-Oriented Designs},
  Institution    = {UIUC DCS},
  Number         = {91-1696},
  keywords       = {olit-reuse frameworks binder},
  month          = may,
  url            = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/reusable-oo-design.ps},
  year           = 1991
}

@Book{Norm93a,
  Author         = {Donald A. Norman},
  Title          = {Things that Make Us Smart},
  Publisher      = {Perseus Books},
  isbn           = {0-201-62695-0},
  keywords       = {scglib},
  year           = 1993
}

@TechReport{Bohn94a,
  Author         = {Henrik Bohnenkamp},
  Title          = {{CLOWN}: Concurrent Language with Objects and
                   Wait-by-Necessity},
  Institution    = {Friedrich-Alexander-Universit{\"a}t
                   Erlangen-N{\"u}rnberg},
  Type           = {thesis},
  keywords       = {olit-obcl obib(obcp) specification verification binder},
  month          = feb,
  year           = 1994
}

@Book{Camp96a,
  Author         = {Mary Campione and Hathy Walrath},
  Title          = {The {Java} Tutorial: {O}.{O} Programming for the
                   Internet},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63454-6},
  keywords       = {olit oopl java scglib},
  year           = 1996
}

@PhdThesis{Yosh90a,
  Author         = {Kaoru Yoshida},
  Title          = {A'{UM} --- {A} Stream-Based Concurrent Object-Oriented
                   Programming Language},
  School         = {Keio University},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl a'um binder(shelf)},
  month          = mar,
  year           = 1990
}

@Article{Bern96a,
  Author         = {Philip A. Bernstein},
  Title          = {Repositories, Objects, and PC Tools -- How
                   Repositories Will Develop in the Personal Computer
                   Market},
  Journal        = {Database Programming and Design},
  keywords       = {olit repository abb},
  month          = dec,
  year           = 1996
}

@InCollection{Mose93a,
  Author         = {Simon Moser and Robert Siegenthaler},
  Title          = {Sind phasenstrukturierte Projekte notwendig?},
  BookTitle      = {OUTPUT Sonderausgabe "Objektorientierte Systeme"},
  Publisher      = {?},
  keywords       = {olit},
  month          = nov,
  year           = 1993
}

@Book{Meyer90a,
  Author         = {Bertrand Meyer},
  Title          = {Conception et Programmation par Objets},
  Publisher      = {Intereditions},
  year           = 1990
}

@Misc{Bruc98a,
  Author         = {Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce},
  Title          = {Comparing Object Encodings},
  Note           = {Submitted for Publication},
  keywords       = {object model encoding tacs97 binder (shelf)},
  month          = aug,
  url            = {ftp://ftp.cs.williams.edu/pub/kim/comp.ps},
  year           = 1998
}

@TechReport{XML98a,
  Author         = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen},
  Title          = {Extensible {Markup} {Language} ({XML}) 1.0 --- W3C
                   Recommendation 10-February-1998},
  Institution    = {World Wide Web Consortium},
  Number         = {REC-xml-19980210},
  month          = feb,
  year           = 1998
}

@InProceedings{Wuyt01c,
  Author         = {Roel Wuyts and St\'ephane Ducasse},
  Title          = {Composition Languages for Black-Box Components},
  BookTitle      = {First OOPSLA Workshop on Language Mechanisms for
                   Programming Software Components},
  abstract       = {Supporting reuse of existing pieces of code is one of
                   the main goals of software engineering. In the name of
                   reuse, module-based programming languages came to be,
                   only to be surpassed by object-oriented technology.
                   With the same motivation component-based solutions are
                   overtaking object-oriented solutions. However, the
                   delegation-only focus of component-based programming
                   risks of resulting in the same problems that
                   modular-based approaches ran into. To counter this, we
                   claim that one of th e important problems that should
                   be addressed by component languages is the composition
                   of components. More specifically, we see component
                   languages where components are black-box abstractions,
                   and with (one or more) composition languages to glue
                   them tog ether. As an example we show a functional
                   (Piccola) and a logic (QSoul) composition approach.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 jb01 component piccola Pecos
                   stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01c.pdf},
  year           = 2001
}

@Book{Tuft01a,
  Author         = {Edward R. Tufte},
  Title          = {The Visual Display of Quantitative Information},
  Publisher      = {Graphics Press},
  Edition        = {2nd},
  keywords       = {scglib},
  year           = 2001
}

@Article{Fere95a,
  Author         = {Szabolcs Ferenczi},
  Title          = {Guarded Methods vs. Inheritance Anomaly: Inheritance
                   Anomaly Solved by Nested Guarded Method Calls},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {30},
  Number         = {2},
  Pages          = {49-58},
  keywords       = {olit-obc concurrency inheritance binder},
  month          = feb,
  url            = {http://www.kfki.hu/~ferenczi/InhAnom.html},
  year           = 1995
}

@InProceedings{Godi93a,
  Author         = {Robert Godin and Hafedh Mili},
  Title          = {Building and {Maintaining} {Analysis}-{Level} {Class}
                   {Hierarchies} using {Galois} {Lattices}},
  BookTitle      = {Proceedings OOPSLA '93 (8th Conference on
                   Object-Oriented Programming Systems, Languages, and
                   Applications)},
  Volume         = {28},
  Pages          = {394-410},
  keywords       = {olit oopsla93 fca},
  location       = {Washington, DC, USA},
  month          = oct,
  year           = 1993
}

@InProceedings{Sous99a,
  Author         = {Jo{\~a}n Pedro Sousa and David Garlan},
  Title          = {Formal Modeling of the Enterprise {JavaBeans}
                   Component Integration Framework},
  BookTitle      = {Proceedings of FM '99},
  Volume         = {1709},
  Series         = {LNCS},
  Address        = {Toulouse, France},
  Publisher      = {Springer Verlag},
  month          = sep,
  year           = 1999
}

@InProceedings{Boyl01a,
  Author         = {John Boyland and James Noble and William Retert},
  Title          = {Capabilities for Aliasing: A Generalisation of
                   Uniqueness and Read-Only},
  BookTitle      = {Proceesings ECOOP 2001},
  Editor         = {J\/orgen Lindskov Knudsen},
  Number         = {2072},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {2-27},
  Publisher      = {Springer},
  city           = {Budapest, Hungary},
  month          = jun,
  year           = 2001
}

@Book{Cock02a,
  Author         = {Alistair Cockburn},
  Title          = {Agile Software Development},
  Publisher      = {Addison Wesley},
  isbn           = {0201699699},
  keywords       = {scglib agile},
  year           = 2002
}

@InProceedings{Papa92b,
  Author         = {Michael Papathomas},
  Title          = {A Unifying Framework for Process Calculus Semantics of
                   Concurrent Object-Oriented Languages},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {53-79},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc pcalc osg obc91},
  year           = 1992
}

@InProceedings{Asai97a,
  Author         = {Kenichi Asai and Hidehiko Masuhara and Akinori
                   Yonezawa},
  Title          = {Partial Evaluation of Call-by-Value
                   {$\lambda$}-Calculus with Side-Effects},
  BookTitle      = {Proceedings of the {ACM} {SIGPLAN} Symposium on
                   Partial Evaluation and Semantics-Based Program
                   Manipulation},
  Pages          = {12-21},
  Address        = {Amsterdam, the Netherlands},
  month          = jun,
  year           = 1997
}

@Book{Fran96a,
  Author         = {Nissim Francez and Ira R. Forman},
  Title          = {Interacting Processes},
  Publisher      = {Addison Wesley},
  keywords       = {coordination scglib},
  year           = 1996
}

@TechReport{MOF04a,
  Author         = {{Object} {Management} {Group}},
  Title          = {Meta Object Facility ({MOF}) 2.0 Core Final Adopted
                   Specification},
  Institution    = {{Object} {Management} {Group}},
  keywords       = {olit UML MOF},
  url            = {http://www.omg.org/cgi-bin/doc?ptc/03-10-04},
  year           = 2004
}

@InProceedings{Desm06b,
  Author         = {Brecht Desmet and Jorge Vallejos Vargas and Stijn
                   Mostinckx and Pascal Costanza},
  Title          = {Using Mixin Layers for Context-Aware and
                   Self-Adaptable Systems},
  BookTitle      = {ECOOP 2006 Workshop on Object Technology for Ambient
                   Intelligence and Pervasive Computing (OT4AmI)},
  Address        = {Nantes, France},
  keywords       = {cop-lit},
  month          = jul,
  url            = {http://p-cos.net/documents/vub-prog-tr-06-14.pdf},
  year           = 2006
}

@InProceedings{Jarz03a,
  Author         = {Stan Jarzabek and Li Shubiao},
  Title          = {Eliminating Redundancies with a `Composition with
                   Adaptation' Meta-programming Technique},
  BookTitle      = {Proceedings ESEC-FSE'03, European Software Engineering
                   Conference and ACM SIGSOFT Symposium on the Foundations
                   of Software Engineering},
  Pages          = {237-246},
  Publisher      = {ACM Press},
  month          = sep,
  year           = 2003
}

@InProceedings{Bull06b,
  Author         = {R. Ian Bull},
  Title          = {Integrating dynamic views using model driven
                   development},
  BookTitle      = {CASCON '06: Proceedings of the 2006 conference of the
                   Center for Advanced Studies on Collaborative research},
  Pages          = {17},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1188966.1188989},
  location       = {Toronto, Ontario, Canada},
  year           = 2006
}

@Book{Gabr96a,
  Author         = {Richard P. Gabriel},
  Title          = {Patterns of Software},
  Publisher      = {Oxford University Press},
  keywords       = {scglib},
  url            = {http://www.dreamsongs.com/Books.html
                   http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf},
  year           = 1996
}

@Article{Tsic85f,
  Author         = {Dennis Tsichritzis and Oscar Nierstrasz},
  Title          = {End User Objects},
  Journal        = {B{\"u}roautomation '85 (German Chapter of the ACM,
                   Berichte 25)},
  Pages          = {215-232},
  address        = {Stuttgart},
  annote         = {internationaljournal},
  editor         = {H. Wedekind/K. Kratzer},
  keywords       = {skip-abstract skip-pdf skipdoi olit-obc appl knos
                   hybrid},
  misc           = {Oct. 4},
  month          = oct,
  publisher      = {B.G. Teubner},
  year           = 1985
}

@InProceedings{Krik99b,
  Author         = {Ren\'e Krikhaar and Andr\'e Postma and Alex Sellink
                   and Marc Stroucken and Chris Verhoef},
  Title          = {A Two-Phase Process for Software Architecture
                   Improvement},
  BookTitle      = {Proceedings of International Conference on Software
                   Maintenance (ICSM'99)},
  Pages          = {371},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-0016-1},
  year           = 1999
}

@InProceedings{Wong97a,
  Author         = {W. E. Wong and J. R. Horgan and S. London and H.
                   Agrawal},
  Title          = {A Study of Effective Regression Testing in Practice},
  BookTitle      = {Proceedings of the Eighth International Symposium on
                   Software Reliability Engineering},
  Pages          = {230-238},
  month          = nov,
  year           = 1997
}

@InProceedings{Lanz01a,
  Author         = {Michele Lanza and St\'ephane Ducasse and Lukas Steiger},
  Title          = {Understanding Software Evolution using a Flexible
                   Query Engine},
  BookTitle      = {Proceedings of the Workshop on Formal Foundations of
                   Software Evolution},
  abstract       = {One of the main problems which arises in the field of
                   software evolution is the sheer amount of information
                   to be dealt with. Compared to reverse engineering where
                   the main goal is the main understanding of one single
                   system. In the field of software evolution this
                   information is multiplied by the number of versions of
                   the system one wants to understand. To counter this
                   problem we have come up with a flexible query engine
                   which can perform queries on the different versions of
                   a system. In this paper we give an outlook on our
                   current work in the field of software evolution and
                   focus particularly on the concepts behind the query
                   engine we have built.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 jb01 stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz01aQueryEngine.pdf},
  year           = 2001
}

@InProceedings{Anto01a,
  Author         = {G. Antoniol and G. Casazza and M. {Di Penta} and E.
                   Merlo},
  Title          = {Modeling Clones Evolution Through Time Series},
  BookTitle      = {Proc. of Int. Conference on Software Maintenance
                   (ICSM'01)},
  Pages          = {273-280},
  Address        = {Florence,Italy},
  Publisher      = {IEEE},
  month          = nov,
  year           = 2001
}

@InProceedings{Rich02g,
  Author         = {Debbie Richards and Kathrin B{\"o}ttger and Anne Fure},
  Title          = {Using {RECOCASE} to Compare Use Cases from Multiple
                   Viewpoints},
  BookTitle      = {Proceedings of ACIS '02 (13th Australasian Conference
                   on Information Systems)},
  Address        = {Melbourne, Australia},
  keywords       = {fca},
  month          = dec,
  year           = 2002
}

@InProceedings{Meij96d,
  Author         = {Theo Dirk Meijler},
  Title          = {Formalizing Patterns for Software Understanding and
                   Problem Detection},
  BookTitle      = {FAMOOS workshop},
  Organization   = {Uni-Bern},
  year           = 1996
}

@Misc{Doors,
  Title          = {Telelogic DOORS},
  Note           = {http://www2.telelogic.com/products/doorsers/doors/index.cfm},
  key            = {Doors},
  keywords       = {requirement tracing testing},
  url            = {http://www2.telelogic.com/products/doorsers/doors/index.cfm}
}

@Article{Lave95a,
  Author         = {R. Greg Lavender and Douglas C. Schmidt},
  Title          = {Active Object: an Object Behavioral Pattern for
                   Concurrent Programming},
  Journal        = {Proc.Pattern Languages of Programs,},
  keywords       = {olit-obc design-patterns binder ACE},
  month          = sep,
  url            = {http://www.cs.wustl.edu/~schmidt/Active-Objects.ps.Z},
  year           = 1995
}

@InProceedings{Keog99a,
  Author         = {Eamonn Keogh and M. Pazzani},
  Title          = {Scaling up dynamic time warping to massive datasets},
  BookTitle      = {Proceedings 3rd European Conference on Principles and
                   Practice of Knowledge Discovery in Databases},
  Pages          = {1-11},
  keywords       = {dynamic analysis},
  year           = 1999
}

@Book{Birt73a,
  Author         = {G. Birtwistle and Ole Johan Dahl and B. Myhrtag and
                   Kristen Nygaard},
  Title          = {Simula Begin},
  Publisher      = {Auerbach Press},
  Address        = {Philadelphia},
  keywords       = {olit-oopl simula oobib(oopl)},
  year           = 1973
}

@InCollection{Berg93a,
  Author         = {Paul L. Bergstein and Walter L. H{\"u}rsch},
  Title          = {Maintaining Behavioral Consistency during Schema
                   Evolution,},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {176-193},
  abstract       = {We examine the problem of how to ensure behavioral
                   consistency of an object-oriented system after its
                   schema has been updated. The problem is viewed from the
                   perspective of both the strongly typed and the untyped
                   language model. Solutions are compared in both models
                   using C++ and CLOS as examples.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Golu96,
  Author         = {Gene H. Golub and Charles F. Van Loan},
  Title          = {Matrix computations},
  Publisher      = {The Johns Hopkins University Press},
  Series         = {Johns Hopkins Studies in the Mathematical Sciences},
  Address        = {Baltimore, MD, USA},
  Edition        = {Third},
  isbn           = {0-8018-5413-X, 0-8018-5414-8},
  pages          = {698},
  year           = 1996
}

@InProceedings{Vegd86a,
  Author         = {Steven R. Vegdahl},
  Title          = {Moving Structures between {Smalltalk} Images},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {466-471},
  keywords       = {olit-oopl smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Medv97c,
  Author         = {Nenad Medvidovic and David S. Rosenblum},
  Title          = {Domains of Concern in Software Architectures and
                   Architecture Description Languages},
  BookTitle      = {Proceedings of the 1997 USENIX Conference on
                   Domain-Specific Languages},
  month          = oct,
  year           = 1997
}

@InProceedings{Rumb87a,
  Author         = {James Rumbaugh},
  Title          = {Relations as Semantic Constructs in an Object-Oriented
                   Language},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {466-481},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Duca06b,
  Author         = {St\'ephane Ducasse and Oscar Nierstrasz and Nathanael
                   Sch{\"a}rli and Roel Wuyts and Andrew Black},
  Title          = {Traits: A Mechanism for fine-grained Reuse},
  Journal        = {ACM Transactions on Programming Languages and Systems
                   (TOPLAS)},
  Volume         = {28},
  Number         = {2},
  Pages          = {331-388},
  abstract       = {Inheritance is well-known and accepted as a mechanism
                   for reuse in ob ject-oriented languages. Unfortunately,
                   due to the coarse granularity of inheritance, it may be
                   difficult to decompose an application into an optimal
                   class hierarchy that maximizes software reuse. Existing
                   schemes based on single inheritance, multiple
                   inheritance, or mixins, all pose numerous problems for
                   reuse. To overcome these problems we propose traits,
                   pure units of reuse consisting only of methods. We
                   develop a formal model of traits that establishes how
                   traits can be composed, either to form other traits, or
                   to form classes. We also outline an experimental
                   validation in which we apply traits to refactor a
                   non-trivial application into composable units.},
  annote         = {internationaljournal},
  cvs            = {TraitsTOPLAS2005},
  doi            = {http://doi.acm.org/10.1145/1119479.1119483},
  issn           = {0164-0925},
  keywords       = {scg-pub stefPub snf05 snf06 jb06 toplas traits
                   schaerli toplastraits},
  misc           = {SCI impact factor 1.404 (2005)},
  miscmisc       = {was Duca05z},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca06bTOPLASTraits.pdf},
  year           = 2006
}

@InCollection{Smol95c,
  Author         = {Gert Smolka},
  Title          = {The {Oz} Programming Model},
  BookTitle      = {Computer Science Today},
  Publisher      = {Springer-Verlag},
  Editor         = {Jan van Leeuwen},
  Volume         = 1000,
  Series         = {LNCS},
  Pages          = {324-343},
  Address        = {Berlin},
  keywords       = {oobib(concurrency) binder},
  url            = {http://www.mozart-oz.org/papers/},
  year           = 1995
}

@InProceedings{Kemp91a,
  Author         = {Alfons Kemper and Guido Moerkotte and Hans-Dieter
                   Walter and Andreas Zachmann},
  Title          = {{GOM}: {A} Strongly-Typed Persistent Object Model With
                   Polymorphism},
  BookTitle      = {Proceedings of Datenbanksysteme in B{\"u}ro, Technik
                   u. Wi{\ss}enschaft (BTW)},
  Address        = {Kaiserslautern},
  keywords       = {olit-db gom binder},
  month          = mar,
  year           = 1991
}

@TechReport{XMI98a,
  Author         = {{Object} {Management} {Group}},
  Title          = {{XML} {Metadata} {Interchange} ({XMI})},
  Institution    = {{Object} {Management} {Group}},
  Number         = {ad/98-10-05},
  month          = feb,
  year           = 1998
}

@InProceedings{Girb05c,
  Author         = {Tudor G\^irba and Adrian Kuhn and Mauricio Seeberger
                   and St\'ephane Ducasse},
  Title          = {How Developers Drive Software Evolution},
  BookTitle      = {Proceedings of International Workshop on Principles of
                   Software Evolution (IWPSE 2005)},
  Pages          = {113--122},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {As systems evolve their structure change in ways not
                   expected upfront. As time goes by, the knowledge of the
                   developers becomes more and more critical for the
                   process of understanding the system. That is, when we
                   want to understand a certain issue of the system we ask
                   the knowledgeable developers. Yet, in large systems,
                   not every developer is knowledgeable in all the details
                   of the system. Thus, we would want to know which
                   developer is knowledgeable in the issue at hand. In
                   this paper we make use of the mapping between the
                   changes and the author identifiers (e.g., user names)
                   provided by versioning repositories. We first define a
                   measurement for the notion of code ownership. We use
                   this measurement to define the Ownership Map
                   visualization to understand when and how different
                   developers interacted in which way and in which part of
                   the system. We report the results we obtained on
                   several large systems.},
  annote         = {internationalworkshop},
  cvs            = {ChroniaIWPSE2005},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.21},
  keywords       = {scg-pub evolution visualization stefPub girba recast06
                   jb06 moose-pub},
  location       = {Lisbon, Portugal},
  misc           = {acceptance rate: 13/54 = 24\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb05cOwnershipMap.pdf},
  year           = 2005
}

@InProceedings{Chas92a,
  Author         = {Jeffrey S. Chase and Henry M. Levy and Edward D.
                   Lazowska and Miche Baker-Harvey},
  Title          = {Lightweight Shared Objects in a 64-Bit Operating
                   System},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {397-413},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Erns99a,
  Author         = {Erik Ernst},
  Title          = {Propagating Class and Method Combination},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {67-91},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper presents a mixin based class and method
                   combination mechanism with block structure propagation.
                   Traditionally, mixins can be composed to form new
                   classes, possibly merging the implementations of
                   methods (as in CLOS). In our approach, a class or
                   method combination operation may cause any number of
                   implicit combinations. For example, it is possible to
                   specify separate aspects of a family of classes, and
                   then combine several aspects into a full-fledged class
                   family. The combination expressions would explicitly
                   combine whole-family aspects, and by propagation
                   implicitly combine the aspects for each member of the
                   class family, and again by propagation implicitly
                   compose each method from its aspects. As opposed to
                   CLOS, this is type-checked statically; and as opposed
                   to other systems for advanced class
                   combination/merging/weaving, it is integrated directly
                   in the language, ensuring a clear semantics and a
                   seamless interaction with the type system. Moreover,
                   the basic mechanism used in the combination,
                   linearization, is formalized and generalized compared
                   to previous presentions.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Xie03a,
  Author         = {Tao Xie and David Notkin},
  Title          = {Tool-Assisted Unit Test Selection Based on Operational
                   Violations},
  BookTitle      = {Proceedings of International Conference on Automated
                   Software Engineering (ASE '03)},
  Pages          = {40-48},
  Organization   = {IEEE},
  keywords       = {testing},
  month          = oct,
  year           = 2003
}

@InProceedings{Coll96a,
  Author         = {Jason A. Collins and Jim E. Greer and Sherman X. Huang},
  Title          = {Adaptive Assessment using Granularity Hierarchies and
                   Bayesian Nets},
  BookTitle      = {Proceedings of the Third International Conference on
                   Intelligent Tutoring Systems},
  Pages          = {569-577},
  city           = {Montreal, Canada},
  year           = 1996
}

@InProceedings{Cook89b,
  Author         = {William Cook},
  Title          = {A Proposal for Making Eiffel Type-safe},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {57-70},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {types olit eiffel binder ecoop89proc ioom-types},
  misc           = {July 10-14},
  month          = jul,
  url            = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/tec89.htm
                   http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/ec89/ec890057.pdf},
  year           = 1989
}

@InProceedings{Uust92a,
  Author         = {Tarmo Uustalu},
  Title          = {Combining Object-Oriented and Logic Paradigms: {A}
                   Modal Logic Programming Approach},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {98-113},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Lebl99a,
  Author         = {Herv{\'e} Leblanc and Christoph Dony and Marianne
                   Huchard and Th{\'e}rese Libourel},
  Title          = {An environment for building and maintaining class
                   hierarchies},
  BookTitle      = {ECOOP'99: Workshop ``Object-Oriented Architectural
                   Evolution''},
  Editor         = {A. Moreira and S. Demeyer},
  Series         = {LNCS 1743},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  year           = 1999
}

@InProceedings{OCin99a,
  Author         = {\'O Cinn\'eide, Mel and Paddy Nixon},
  Title          = {A Methodology for the Automated Introduction of Design
                   Patterns},
  BookTitle      = {Proceedings ICSM '99},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {refactoring},
  month          = aug,
  year           = 1999
}

@InProceedings{Fant98a,
  Author         = {Richard Fanta and Vaclav Rajlich},
  Title          = {Reengineering Object-Oriented Code},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance},
  year           = 1998
}

@InProceedings{Mezi02a,
  Author         = {Mira Mezini and Klaus Ostermann},
  Title          = {Integrating Independent Components with On-Demand
                   Remodularization},
  BookTitle      = {Proceedings OOPSLA 2002},
  Pages          = {52-67},
  keywords       = {olit oopsla02},
  month          = nov,
  year           = 2002
}

@TechReport{Casa89a,
  Author         = {Eduardo Casais},
  Title          = {Reorganizing an Object System},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg ood89},
  month          = jul,
  pages          = {161-189},
  year           = 1989
}

@Book{Robi92a,
  Author         = {Peter J. Robinson},
  Title          = {{HOOD}: Hierarchical Object-Oriented Design},
  Publisher      = {Prentice-Hall},
  isbn           = {13-390816-X},
  keywords       = {oobib(gen) book scglib},
  year           = 1992
}

@MastersThesis{Bueh04a,
  Author         = {Thomas B\"uhler},
  Title          = {Detecting and Visualizing Phases in Software Evolution},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Understanding the evolution of an object-oriented
                   systembased on various versions of source code requires
                   analyzing a vast amount of data since an
                   object-oriented system is a complex structure rather
                   than a collection of classes. Our work provides an
                   approach to understand such an evolution by detecting
                   and visualizing phases in the evolution, i.e.,
                   abstractions of time spans where the encapsulated
                   versions all comply with an expression. Our approach is
                   applicable on any level, i.e., not only on system
                   level, but for example also on class level. Our
                   approach furthermore contains a set of measurements on
                   phases that characterize them. Phases help understand
                   an evolution because on the one hand because they
                   enable studying an evolution on a higher level. On the
                   other hand, phases can be detected with multiple
                   expressions at the same time. This results in
                   concurrent phases which enables studying an evolution
                   from different perspectives at the same time.},
  keywords       = {scg-msc recast05 jb05 moose-pub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Bueh04a.pdf},
  year           = 2004
}

@InProceedings{Amer90b,
  Author         = {Pierre America and Frank van der Linden},
  Title          = {A Parallel Object-Oriented Language with Inheritance
                   and Subtyping},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {161-168},
  keywords       = {olit-obcl pool oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Article{Sakk92b,
  Author         = {Markku Sakkinen},
  Title          = {The Darker Side of {C}++ Revisited},
  Journal        = {Structured Programming},
  Volume         = {13},
  Number         = {4},
  Pages          = {155-177},
  keywords       = {olit-inheritance binder},
  publisher      = {Springer International},
  year           = 1992
}

@Misc{JavaIDEApi,
  Title          = {JSR 198: A Standard Extension API for Integrated
                   Development Environments},
  Note           = {\\ \url{http://jcp.org/en/jsr/detail?id=198}},
  key            = {Java IDE API},
  url            = {http://jcp.org/en/jsr/detail?id=198}
}

@InProceedings{Marc04b,
  Author         = {Guillaume Marceau and Gregory H. Cooper and Shriram
                   Krishnamurthi and Steven P. Reiss},
  Title          = {A Dataflow Language for Scriptable Debugging},
  BookTitle      = {Proceedings of the 19th IEEE International Conference
                   on Automated Software Engineering(ASE 2004)},
  year           = 2004
}

@InCollection{Kicz96a,
  Author         = {Gregor Kiczales},
  Title          = {Aspect-Oriented Programming: A Position Paper From the
                   {Xerox} {PARC} Aspect-Oriented Programming Project},
  BookTitle      = {Special Issues in Object-Oriented Programming},
  Publisher      = {Dpunkt Verlag},
  Editor         = {Max Muehlhauser},
  keywords       = {olit},
  year           = 1996
}

@InProceedings{Wing94a,
  Author         = {Jeannette M. Wing},
  Title          = {Decomposing and Recomposing Transactional Concepts},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {111-121},
  Publisher      = {Springer-Verlag},
  abstract       = {Distributed systems are different from concurrent (and
                   parallel) systems because they need to deal with
                   failures, not just concurrency. Transactions are a way
                   of masking the distributed nature of a computation at
                   the programming language level by transforming all
                   failures into aborted transactions. If a communication
                   link goes down or a node crashes, the transaction
                   simply aborts. Users may try again later to rerun their
                   computation, but they are at least guaranteed that the
                   system is left in some consistent state. Transactions
                   are a well-known and fundamental control abstraction
                   that arose out of the database community. They have
                   three properties that distinguish them from normal
                   sequential processes: (1) A transaction is a sequence
                   of operations that is performed atomically
                   ("all-or-nothing"). If it completes successfully, it
                   commits ; otherwise, it aborts ; (2) concurrent
                   transactions are serializable (appear to occur
                   one-at-a-time), supporting the principle of isolation;
                   and (3) effects of committed transactions are
                   persistent (survive failures).},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@TechReport{Amer86a,
  Author         = {Pierre America},
  Title          = {Definition of the programming language {POOL}-{T}},
  Institution    = {Philips Research Laboratories},
  Type           = {Doc. No.},
  Number         = {0091},
  Address        = {Eindhoven, the Netherlands},
  keywords       = {olit-obc pool},
  misc           = {Oct. 6},
  month          = oct,
  year           = 1986
}

@Book{Tsic96a,
  Editor         = {D. Tsichritzis},
  Title          = {Object Applications},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg scglib},
  month          = jul,
  year           = 1996
}

@Book{Good87a,
  Author         = {Danny Goodman},
  Title          = {The Complete HyperCard 2.2 Handbook},
  Publisher      = {iUniverse},
  isbn           = {1583480048},
  year           = 1998
}

@InProceedings{Mont94a,
  Author         = {D. Montesi and R. Torlone},
  Title          = {A Rewriting Technique for Implementing Active Object
                   Systems},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {171-188},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Reis92a,
  Author         = {Martin Reiser},
  Title          = {Programming in Oberon --- Steps beyond Pascal and
                   Modula},
  Publisher      = {ACM Press},
  isbn           = {0-201-56543-9},
  keywords       = {olit-oopl oobib(oopl) book},
  year           = 1992
}

@Book{Fole82a,
  Author         = {James Foley and Andy van Dam},
  Title          = {Fundamentals of Interactive Computer Graphics},
  Publisher      = {Addison Wesley Publishing Company},
  Series         = {The Systems Programming Series},
  Address        = {Reading, Mass.},
  keywords       = {misc graphics},
  year           = 1982
}

@InProceedings{Blac03a,
  Author         = {Andrew P. Black and Nathanael Sch\"arli and St\'ephane
                   Ducasse},
  Title          = {Applying Traits to the {Smalltalk} Collection
                   Hierarchy},
  BookTitle      = {Proceedings of 17th International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA'03)},
  Volume         = {38},
  Pages          = {47-64},
  abstract       = {Traits are a programming language technology that
                   promote the reuse of methods between unrelated classes.
                   This paper reports on a refactoring of the Smalltalk
                   collections classes using traits. The original
                   collection classes contained much duplication of code;
                   traits let us remove all of it. We also found places
                   where the protocols of the collections lacked
                   uniformity; traits allowed us to correct these
                   non-uniformities without code duplication. Traits also
                   make it possible to reuse fragments of collection code
                   outside of the existing hierarchy; for example, they
                   make it easy to convert other collection-like things
                   into true collections. Our refactoring reduced the
                   number of methods in the collection classes by
                   approximately 10 per cent. More importantly,
                   understandability maintainability and reusability of
                   the code were significantly improved.},
  annote         = {internationalconference topconference},
  cvs            = {TraitsRefactoringOOPSLA2003},
  doi            = {http://doi.acm.org/10.1145/949305.949311},
  keywords       = {snf04 scg-pub jb02 scg-traits stefPub schaerli},
  misc           = {acceptance rate: 26/142 = 18\%},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Blac03aTraitsHierarchy.pdf},
  year           = 2003
}

@Article{Mura91a,
  Author         = {Hisashi Natatsuyama and Makoto Murata and Koji
                   Kusumoto},
  Title          = {A new framework for separating user interfaces from
                   application programs},
  Journal        = {S.I.G.C.H.I},
  Volume         = {23},
  Number         = {1},
  Pages          = {88-92},
  month          = jan,
  year           = 1991
}

@InProceedings{Mand03a,
  Author         = {Yitzhak Mandelbaum and David Walker and Robert Harper},
  Title          = {An effective theory of type refinements},
  BookTitle      = {ICFP '03: Proceedings of the eighth ACM SIGPLAN
                   international conference on Functional programming},
  Pages          = {213-225},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/944705.944725},
  isbn           = {1-58113-756-7},
  keywords       = {nonstandard types},
  location       = {Uppsala, Sweden},
  url            = {http://www.cs.princeton.edu/sip/pub/effective-type-refinements03.pdf},
  year           = 2003
}

@Book{Hals77a,
  Author         = {Maurice H. Halstead},
  Title          = {{Elements} of {Software} {Science}},
  Publisher      = {Elsevier North-Holland},
  year           = 1977
}

@InProceedings{Ruep94a,
  Author         = {Andreas R{\"u}ping},
  Title          = {Modules in Object-Oriented Systems},
  BookTitle      = {Proceedings of TOOLS '94},
  Publisher      = {Prentice Hall},
  keywords       = {modules invariant},
  month          = jun,
  year           = 1994
}

@Unpublished{Jons93a,
  Author         = {Dirk Jonscher and Klaus R. Dittrich},
  Title          = {A Formal Security Model based on an Object-Oriented
                   Data Model},
  Note           = {University of Zurich},
  keywords       = {olit-oodb security chassis binder},
  month          = aug,
  type           = {draft manuscript},
  year           = 1993
}

@InProceedings{Berl90a,
  Author         = {Lucy M. Berlin},
  Title          = {When Objects Collide: Experiences with Reusing
                   Multiple Class Hierarchies},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {181-193},
  keywords       = {olit-reuse oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Albi01a,
  Author         = {Herv\'e Albin-Amiot and Pierre Cointe and Yann-Ga\"el
                   Gu\'eh\'eneuc and Narendra Jussien},
  Title          = {Instantiating and Detecting Design Patterns: Putting
                   Bits and Pieces Together},
  BookTitle      = {Proceedings of ASE '01 (16th Conference on Automated
                   Software Engineering)},
  Editor         = {Debra Richardson and Martin Feather and Michael
                   Goedicke},
  Pages          = {166-173},
  Publisher      = {IEEE Computer Society Press},
  month          = nov,
  year           = 2001
}

@InProceedings{Mads02b,
  Author         = {Per Madsen},
  Title          = {Testing By Contract --- Combining Unit Testing and
                   Design by Contract},
  BookTitle      = {The Tenth Nordic Workshop on Programming and Software
                   Development Tools and Techniques},
  Note           = {On-line proceedings:
                   http://www.itu.dk/people/kasper/NWPER2002/},
  url            = {http://www.itu.dk/people/kasper/NWPER2002/},
  year           = 2002
}

@Article{Webb04a,
  Author         = {Diana L. Webber and Hassan Gomaa},
  Title          = {Modeling variability in software product lines with
                   the variation point model},
  Journal        = {Sci. Comput. Program.},
  Volume         = {53},
  Number         = {3},
  Pages          = {305--331},
  address        = {Amsterdam, The Netherlands, The Netherlands},
  doi            = {http://dx.doi.org/10.1016/j.scico.2003.04.004},
  issn           = {0167-6423},
  publisher      = {Elsevier North-Holland, Inc.},
  year           = 2004
}

@Book{Mart02b,
  Author         = {Robert Cecil Martin},
  Title          = {Agile Software Development. Principles, Patterns, and
                   Practices},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-914556-7},
  year           = 2002
}

@Article{Simo02c,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 3: Object Encodings
                   and Recursion},
  Journal        = {Journal of Object Technology},
  Volume         = {1},
  Number         = {4},
  Pages          = {49-57},
  keywords       = {ioom-types},
  misc           = {September-October},
  month          = sep,
  url            = {http://www.jot.fm/issues/issue_2002_09/column4},
  year           = 2002
}

@Article{Mitc06a,
  Author         = {Brian S. Mitchell and Spiro Mancoridis},
  Title          = {On the Automatic Modularization of Software Systems
                   Using the Bunch Tool},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {32},
  Number         = {3},
  Pages          = {193-208},
  year           = 2006
}

@InProceedings{Huer94a,
  Author         = {Walter L. H{\"u}rsch},
  Title          = {Should Superclasses be Abstract?},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {12-31},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Elra02a,
  Author         = {Mohammad El-Ramly and Eleni Stroulia and Paul Sorenson},
  Title          = {Recovering software requirements from system-user
                   interaction traces},
  BookTitle      = {Proceedings ACM International Conference on Software
                   Engineering and Knowledge Engineering},
  Pages          = {447-454},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  year           = 2002
}

@Book{Lee95a,
  Editor         = {Insup Lee and Scott A. Smolka},
  Title          = {Proceedings {CONCUR}'95},
  Publisher      = {Springer-Verlag},
  Volume         = {962},
  Series         = {LNCS},
  Address        = {Philadelphia, PA, USA},
  isbn           = {3-540-60218-6},
  keywords       = {olit concur95 scglib},
  month          = aug,
  year           = 1995
}

@Article{Gira87b,
  Author         = {Jean-Yves Girard},
  Title          = {Linear Logic},
  Journal        = {Theoretical Computer Science},
  Volume         = {50},
  Pages          = {1-102},
  keywords       = {linear-logic binder (shelf)},
  publisher      = {North-Holland},
  year           = 1987
}

@InCollection{Pree95a,
  Author         = {Wolfgang Pree},
  Title          = {Framework Development and Reuse Support},
  BookTitle      = {Visual Object-Oriented Programming},
  Publisher      = {Manning Publishing Co.},
  Editor         = {Margeret M. Burnett and Adele Goldberg and Ted G.
                   Lewis},
  Pages          = {253-268},
  keywords       = {olit-reuse},
  year           = 1995
}

@InProceedings{Henn96a,
  Author         = {Henninger, Scott},
  Title          = {{Supporting the Construction and Evolution of
                   Component Repositories}},
  BookTitle      = {Proceedings ICSE '96},
  Pages          = {279-288},
  Address        = {Berlin, Germany},
  Publisher      = {ACM Press},
  keywords       = {oobib scglib reuse repository abb},
  month          = mar,
  year           = 1996
}

@InProceedings{Wolf92a,
  Author         = {David Wolfram and Joseph A. Goguen},
  Title          = {A Sheaf Semantics for {FOOPS} Expressions},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {81-98},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc concurrency obc91},
  year           = 1992
}

@MastersThesis{Tich97a,
  Author         = {Sander Tichelaar},
  Title          = {A Coordination Component Framework for Open
                   Distributed Systems},
  School         = {University of Groningen, NL --- University of Bern, CH},
  Type           = {Master's Thesis --- Software Composition Group},
  abstract       = {We have investigated software development for open
                   distributed systems in order to make this development
                   easier. Easier in the sense that software parts will be
                   better reusable, more flexible and better maintainable.
                   The hardest part is to address evolution of these
                   systems because not all application requirements can be
                   known in advance. In particular we have investigated
                   the coordination aspects of open distributed systems.
                   Coordination technology addresses the management of
                   interaction of software agents in a distributed or
                   parallel environment and, therefore, typically
                   describes architectural aspects of a system. To reach
                   the goal of easier software development we have applied
                   a component oriented approach: generic coordination
                   solutions are provided as generic architectures with
                   black box components. Applications are constructed
                   using these architectures and composing and
                   parameterizing these generic components. In this way we
                   make the interaction part of a system reusable and
                   flexible. The architecture of the system is also made
                   clearer and therefore easier understandable. A
                   prototype coordination framework and a set of sample
                   applications that are representative for open
                   distributed systems and that use this framework, have
                   been developed in the concurrent object-oriented
                   programming language {Java}. We show that, using our
                   component-oriented approach, we gain reusability,
                   flexibility and provide clear architectures of
                   applications. A major problem, however, concerning the
                   genericity of components, is the application dependent
                   information that may be needed by a coordination
                   solution: the genericity of the solution is strongly
                   dependent on the possibility to separate this
                   information from the generic solution.},
  keywords       = {odp coordination frameworksbinder snf96 scg-pub
                   skipdoi jb-none scg-msc tich-msc scg-coord-old},
  month          = may,
  number         = {Software Composition Group},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Tich97a.pdf},
  year           = 1997
}

@InProceedings{Robb07b,
  Author         = {Romain Robbes and Michele Lanza and Mircea Lungu},
  Title          = {An Approach to Software Evolution Based on Semantic
                   Change},
  BookTitle      = {Proceedings of FASE 2007 (10th International
                   Conference on Fundamental Approaches to Software
                   Engineering)},
  Pages          = {27-41},
  keywords       = {evolution lanza},
  year           = 2007
}

@InProceedings{Fowl94a,
  Author         = {Robert J. Fowler},
  Title          = {Architectural Convergence and the Granularity of
                   Objects in Distributed Systems},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {33-46},
  Publisher      = {Springer-Verlag},
  abstract       = {Recent dramatic speedups in processor speeds have not
                   been matched by comparable reductions in communication
                   latencies, either in MIMD systems designed for parallel
                   computation or in workstation networks. A consequence
                   is that these two classes of concurrent architectures
                   are becoming more alike. This architectural convergence
                   is affecting the software techniques and programming
                   styles used: the distinctions are beginning to fade and
                   all software systems are looking increasingly
                   "distributed." We discuss these architectural trends
                   from the standpoint of providing a single, uniform
                   object-based programming abstraction that accommodates
                   both large and small objects.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InProceedings{LaLo88a,
  Author         = {Wilf R. LaLonde and Mark Van Gulik},
  Title          = {Building a Backtracking Facility in {Smalltalk}
                   Without Kernel Support},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {105-122},
  doi            = {http://doi.acm.org/10.1145/62083.62094},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InCollection{Byeo93a,
  Author         = {Kwang June Byeon and Dennis McLeod},
  Title          = {Towards the Unification of Views and Versions for
                   Object Databases},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {220-236},
  abstract       = {There have been a number of approaches to views and
                   meta-data versioning for object databases. However, the
                   essential similarities between the notions of views and
                   versions have not been adequately explored. This paper
                   introduces the concept of a virtual database to unify
                   these two notions in the object database context. The
                   semantics of virtual databases is presented, and a
                   mechanism for interactively creating and deleting
                   virtual databases and manipulating their schemas and
                   instances is described. The application of the virtual
                   database concept to supporting both views and versions
                   in a unified manner is studied, and its practical
                   utility is examined.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{More99b,
  Author         = {L. Moreau and C. Queinnec and D. Ribbens and M.
                   Serrano},
  Title          = {Recueil de petits Problemes en Scheme},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-66043-7},
  keywords       = {book scglib},
  year           = 1999
}

@InProceedings{Swin85a,
  Author         = {D. Swinehart and P. Zwellweger and R. Hagmann},
  Title          = {The Structure of Cedar},
  BookTitle      = {Proceedings ACM SIGPLAN 85 Symposium on Language
                   Issues in Programming Environments, ACM SIGPLAN Notices},
  Volume         = {20},
  Pages          = {230-244},
  keywords       = {olit cedar},
  month          = jul,
  year           = 1985
}

@MastersThesis{Mall95a,
  Author         = {Willen C. Mallon},
  Title          = {Contraction based proof methods for a
                   delay-insensitive algebra},
  School         = {Rijksuniversiteit Gronigen, NL},
  Type           = {M.Sc. thesis},
  keywords       = {types binder},
  misc           = {29, August},
  month          = aug,
  year           = 1995
}

@InProceedings{Lea97a,
  Author         = {Doug Lea},
  Title          = {Design for Open Systems in {Java}},
  BookTitle      = {Proceedings COORDINATION '97},
  Editor         = {David Garlan and Daniel Le M{\`e}tayer},
  Volume         = 1282,
  Series         = {LNCS},
  Pages          = {32-45},
  Address        = {Berlin, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination97 java},
  month          = sep,
  year           = 1997
}

@InProceedings{Amad96a,
  Author         = {Roberto M. Amadio and Ilaria Castellani and Davide
                   Sangiorgi},
  Title          = {On Bisimulations for the Asynchronous $\pi$-calculus},
  BookTitle      = {Proceedings of CONCUR '96},
  Editor         = {U. Montanari and V. Sassone},
  Volume         = 1119,
  Series         = {LNCS},
  Pages          = {147-162},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc concurrency},
  year           = 1996
}

@Book{Kobi97a,
  Author         = {James G. Kobielus},
  Title          = {Workflow Strategies},
  Publisher      = {IDG Books},
  isbn           = {0-7645-3012-7},
  keywords       = {scglib},
  year           = 1997
}

@Book{Watt91a,
  Author         = {David A. Watt},
  Title          = {Programming Language Syntax and Semantics},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-726274-4},
  keywords       = {pl book scglib},
  year           = 1991
}

@Proceedings{Ciup99b,
  Title          = {Proceedings of the {ECOOP} '99 Workshop on Experiences
                   in Object-Oriented Re-Engineering},
  Editor         = {Oliver Ciupke and St\'ephane Ducasse},
  Address        = {Forschungszentrum Informatik, Haid-und-Neu-Strasse
                   10-14, 76131 Karlsruhe, Germany},
  Note           = {FZI 2-6-6/99},
  annote         = {workshopproceedings},
  keywords       = {skip-pdf stefPub scg-pub skip-abstract skipdoi jb-none},
  month          = jun,
  year           = 1999
}

@InProceedings{Robi02a,
  Author         = {Martin P. Robillard and Gail C. Murphy},
  Title          = {Concern graphs: finding and describing concerns using
                   structural program dependencies},
  BookTitle      = {ICSE'02: Proceedings of the 24th International
                   Conference on Software Engineering},
  Pages          = {406--416},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/581339.581390},
  isbn           = {1-58113-472-X},
  location       = {Orlando, Florida},
  year           = 2002
}

@InProceedings{Horn92a,
  Author         = {Bruce Horn},
  Title          = {Constraint Patterns As a Basis for Object-Oriented
                   Programming},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {218-233},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Fior98a,
  Author         = {Fabrizio Fioravanti and Paolo Nesi and Sandro Perli},
  Title          = {Assessment of System Evolution Through
                   Characterization},
  BookTitle      = {ICSE '98 Proceedings (International Conference on
                   Software Engineering)},
  Publisher      = {IEEE Computer Society},
  year           = 1998
}

@Proceedings{Meyr87a,
  Title          = {Proceedings {OOPSLA} '87},
  Editor         = {Norman Meyrowitz},
  Volume         = {22},
  Address        = {Orlando, Florida},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla87 oobib(gen)},
  month          = dec,
  year           = 1987
}

@Article{Wiec90a,
  Author         = {Charles Wiecha and William Bennet and Stephen Boies
                   and Jhon Gould},
  Title          = {{ITS}: {A} Tool for Rapidly Developing Interactive
                   Applications},
  Journal        = {ACM Transactions on Information Systems},
  Volume         = {8},
  Number         = {3},
  Pages          = {204-236},
  keywords       = {olit binder},
  month          = jul,
  year           = 1990
}

@InProceedings{Preh97a,
  Author         = {Christian Prehofer},
  Title          = {Feature-Oriented Programming: {A} Fresh Look at
                   Objects},
  BookTitle      = {Proceedings ECOOP '97},
  Editor         = {Mehmet Aksit and Satoshi Matsuoka},
  Volume         = 1241,
  Series         = {LNCS},
  Pages          = {419-443},
  Address        = {Jyv{\"a}skyl{\"a}},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-63089-9},
  keywords       = {olit feature binder ecoop97proc},
  month          = jun,
  year           = 1997
}

@Article{Hans73a,
  Author         = {Per Brinch Hansen},
  Title          = {Concurrent Programming Concepts},
  Journal        = {ACM Computing Surveys},
  Volume         = {5},
  Number         = {4},
  Pages          = {223-245},
  keywords       = {concurrency monitors},
  year           = 1973
}

@InProceedings{Hill87a,
  Author         = {Ralph D. Hill},
  Title          = {Event-Response Systems --- {A} Technique for
                   Specifying Multi-Threaded Dialogues},
  BookTitle      = {Proceedings CHI+GI '87},
  Pages          = {241-248},
  keywords       = {visprog uims binder(ui)},
  year           = 1987
}

@InProceedings{Eise02a,
  Author         = {T. Eisenbarth and R. Koschke and G. Vogel},
  Title          = {Static Trace Execution},
  BookTitle      = {9th Working Conference on Reverse Engineering},
  Publisher      = {IEEE},
  keywords       = {trace},
  year           = 2002
}

@TechReport{Lien03a,
  Author         = {Adrian Lienhard},
  Title          = {Mewa: Meta-level Architecture for Generic
                   Web-Application Construction},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Web-applications are very popular, lightweight
                   applications that entirely run in web-browsers over the
                   internet. In today's business, web-applications become
                   more and more complex but they still need to be fast
                   developed, flexible for changes and easy to maintain --
                   conventional techniques often lack these properties.
                   High-level, cleanly layered solutions open promising
                   possibilities to overcome these difficulties. This
                   paper presents a lightweight, object-oriented,
                   metadata-driven approach to build better engineered and
                   easier evolvable and maintainable web-applications.},
  keywords       = {scg-ip jb04 snf04},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Lien03a.pdf},
  year           = 2003
}

@Article{Meye92b,
  Author         = {Bertrand Meyer},
  Title          = {Applying Design by Contract},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {40-52},
  keywords       = {olit-oopl ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Cook01b,
  Author         = {Stephen Cook and H. Ji and Rachel Harrison},
  Title          = {Dynamic and Static Views of Software Evolution},
  BookTitle      = {IEEE ICSM 2001},
  keywords       = {oorp},
  year           = 2001
}

@InProceedings{Reis86a,
  Author         = {S.P. Reiss},
  Title          = {{GARDEN} Tools: Support for Graphical Programming},
  BookTitle      = {Advanced Programming Environments, Proc of an Int
                   Workshop},
  Editor         = {R. Conradi and T.M. Didriksen and D.H. Wanvik},
  Series         = {LNCS 244},
  Pages          = {59-72},
  Address        = {Trondheim},
  Publisher      = {Springer-Verlag},
  keywords       = {visprog},
  month          = jun,
  year           = 1986
}

@PhdThesis{Poni06c,
  Author         = {Mar\'ia Laura Ponisio},
  Title          = {Exploiting Client Usage to Manage Program Modularity},
  School         = {University of Berne},
  Address        = {Berne},
  abstract       = {Over the last thirty years designers have tried to
                   cope with software complexity by organizing system
                   entities into modules, i.e. groups of entities.
                   However, the creation and organization of modules is
                   not straightforward. The criterion with which these
                   modules are built impacts in the maintainability and
                   development of the system. Designers have different
                   interests and personal views of the same system, views
                   that are difficult to communicate and to extract from
                   the code. Poor understanding of this organization
                   increases the complexity of the system e.g. by favoring
                   the addition of duplication and of unexpected rippling
                   effects. This, in turn, lowers the flexibility of the
                   system to changing requirements and leads to a sharp
                   increase in their maintenance cost. To overcome these
                   problems, we present a methodology to manage the
                   locality in object-oriented systems. We develop a model
                   that exploits the contextual information, i.e. the way
                   objects are used by their clients, to understand and
                   improve the organization of classes in the system. With
                   our model we take full advantage of the contextual
                   information of modules to evaluate their cohesion, find
                   misplaced classes, detect hot spots and find the
                   different views that its clients have. In our
                   experimental validation we apply the contextual
                   information to understand, maintain and describe
                   systems. Our methodology is applied successively
                   together with metrics, visualization techniques, and an
                   optimization method named simulated annealing to
                   reverse-engineer object-oriented systems. All in all,
                   we provide a methodology to understand and improve the
                   modularization of object-oriented systems, in an effort
                   towards simplicity.},
  cvs            = {LPonisioPhD},
  keywords       = {scg-pub skipdoi scg-phd jb06 fb06 recast06 moose-pub},
  month          = jun,
  pages          = {113},
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/ponisio-phd.pdf},
  year           = 2006
}

@Misc{DrScheme,
  Title          = {{Dr}{Scheme}},
  Note           = {http://www.drscheme.org/},
  key            = {DrScheme},
  keywords       = {plt scheme}
}

@InProceedings{Duca97b,
  Author         = {St\'ephane Ducasse and Tamar Richner},
  Title          = {Executable Connectors: Towards Reusable Design
                   Elements},
  BookTitle      = {Proceedings of European Software Engineering
                   Conference and Foundations on Software Enggineering
                   (ESEC/FSE'97)},
  Volume         = {1301},
  Series         = {LNCS (Lectures Notes in Computer Science)},
  Pages          = {483-500},
  Publisher      = {Springer-Verlag},
  abstract       = {The decomposition of a software application into
                   components and connectors at the design stage has been
                   promoted as a way to describe and reason about complex
                   software architectures. There is, however, surprisingly
                   little language support for this decomposition at
                   implementation level. Interaction relationships which
                   are identified at design time are lost as they get
                   spread out into the participating entities at
                   implementation. In this paper, we propose first-class
                   connectors in an object-oriented language as a first
                   step towards making software architecture more explicit
                   at implementation level. Our connectors are run-time
                   entities which control the interaction of components
                   and can express a rich repertoire of interaction
                   relationships. We show how connectors can be reused and
                   how they enhance the reuse of components.},
  annote         = {internationalconference topconference},
  doi            = {http://dx.doi.org/10.1007/3-540-63531-9_32},
  keywords       = {olit famoos-papref scglit oobib scg-pub flo snf97 jb97
                   scg-coord-98 stefPub},
  misc           = {acceptance rate: 19/197 = 9\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca97bExecutableConnectors.pdf},
  year           = 1997
}

@Misc{Alag88a,
  Author         = {Suad Alagic},
  Title          = {Object-Oriented Database Programming},
  address        = {New York},
  keywords       = {olit-oodb (smc)},
  series         = {Texts and Monographs in Computer Science},
  year           = 1988
}

@InProceedings{Krone94a,
  Author         = {Maren Krone and Gregor Snelting},
  Title          = {On the {Inference} of {Configuration} {Structures}
                   from {Source} {Code}},
  BookTitle      = {Proceedings of ICSE '94 (16th International Conference
                   on Software Engineering)},
  Pages          = {49-57},
  Publisher      = {IEEE Computer Society / ACM Press},
  keywords       = {fca},
  location       = {Sorrento, Italy},
  year           = 1994
}

@InProceedings{Good81a,
  Author         = {M. Good},
  Title          = {Etude and the Folklore of User Interface Design},
  BookTitle      = {Proceedings of the ACM SIGPLAN SIGOA Symposium on Text
                   Manipulation},
  Address        = {Portland, Oregon},
  keywords       = {uilit etude text},
  misc           = {June 8-10},
  month          = jun,
  year           = 1981
}

@Book{Abma03,
  Author         = {Abmann Uwe},
  Title          = {Invasive Software Composition},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-44385-1},
  keywords       = {scglib},
  year           = 2003
}

@TechReport{Henn91a,
  Author         = {Matthew Hennessy},
  Title          = {A Model for the $pi$ Calculus},
  Institution    = {University of Sussex},
  Type           = {Technical Report},
  Number         = {8/91},
  keywords       = {pcalc mobility (uwe)},
  year           = 1991
}

@Book{Hein01a,
  Editor         = {George T. Heineman and William T. Councill},
  Title          = {Component-Based Software Engineering},
  Publisher      = {Addison Wesley},
  keywords       = {scglib},
  year           = 2001
}

@Unpublished{Beck90b,
  Author         = {Karin Becker and Th\'er\`ese Petitjean and
                   Fran\c{c}ois Bodart},
  Title          = {Incremental Reasoning Process Through Abstraction
                   levels},
  Note           = {Facult\'es Universitaire Notre Dame de la Paix},
  address        = {Namur},
  keywords       = {olit-reuse binder},
  type           = {draft},
  year           = 1990
}

@Article{Medj03a,
  Author         = {Brahim Medjahed and Athman Bouguettaya and Ahmed K.
                   Elmagarmid},
  Title          = {Composing Web services on the Semantic Web},
  Journal        = {The VLDB Journal},
  Volume         = {12},
  Number         = {4},
  Pages          = {333--351},
  address        = {Secaucus, NJ, USA},
  doi            = {http://dx.doi.org/10.1007/s00778-003-0101-5},
  issn           = {1066-8888},
  publisher      = {Springer-Verlag New York, Inc.},
  year           = 2003
}

@InProceedings{Duma92a,
  Author         = {Susan T. Dumais and Jakob Nielsen},
  Title          = {Automating the Assignment of Submitted Manuscripts to
                   Reviewers},
  BookTitle      = {Research and Development in Information Retrieval},
  Pages          = {233-244},
  year           = 1992
}

@Book{Perr88a,
  Author         = {Ronald H. Perrott},
  Title          = {Parallel Programming},
  Publisher      = {Addison Wesley},
  Series         = {International computer science series},
  Address        = {Reading, Mass. Wokingham},
  keywords       = {concurrency},
  year           = 1988
}

@InProceedings{Tann83a,
  Author         = {P.P. Tanner and W.A.S. Buxton},
  Title          = {Some Issues in Future Interface Management System
                   Development},
  BookTitle      = {IFIP WG 5.2, Workshop on User Interface Management},
  Address        = {Seeheim, Federal Republic of Germany},
  keywords       = {uilit},
  month          = nov,
  year           = 1983
}

@InProceedings{Sayy03a,
  Author         = {Jelber Sayyad Shirabad and Timothy C. Lethbridge and
                   Stan Matwin},
  Title          = {Mining the Maintenance History of a Legacy Software
                   System},
  BookTitle      = {International Conference on Software Maintenance (ICSM
                   2003)},
  Pages          = {95-104},
  keywords       = {oorp},
  year           = 2003
}

@Article{Murp97a,
  Author         = {Gail C. Murphy and David Notkin},
  Title          = {Reengineering with Reflexion Models: {A} Case Study},
  Journal        = {IEEE Computer},
  Volume         = {8},
  Pages          = {29-36},
  keywords       = {oorp},
  url            = {http://www.cs.ubc.ca/spider/murphy/},
  year           = 1997
}

@InProceedings{Saff03a,
  Author         = {David Saff and Michael D. Ernst},
  Title          = {Can continuous testing speed software development?},
  BookTitle      = {Fourteenth International Symposium on Software
                   Reliability Engineering ISSRE 2003},
  Organization   = {IEEE},
  keywords       = {continuous testing},
  month          = nov,
  year           = 2003
}

@InProceedings{Lind95a,
  Author         = {Christian Lindig},
  Title          = {Concept-{Based} {Component} {Retrieval}},
  BookTitle      = {Working Notes of the IJCAI-95 Workshop: Formal
                   Approaches to the Reuse of Plans, Proofs, and Programs},
  Editor         = {J. K\"{o}hler and F. Giunchiglia and C. Green and C.
                   Walther},
  Pages          = {21-25},
  keywords       = {fca},
  month          = aug,
  year           = 1995
}

@InProceedings{Krue93a,
  Author         = {Keith Krueger and David Loftesness and Amin Vahdat and
                   Thomas Anderson},
  Title          = {Tools for the Development of Application-Specific
                   Virtual Memory Management},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {48-64},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Foot97a,
  Author         = {Brian Foote and Joseph W. Yoder},
  Title          = {{Big} {Ball} of {Mud}},
  BookTitle      = {Proceedings of PLop '97},
  Note           = {Fourth Conference on Patterns Languages of Programs
                   (PLoP '97/EuroPLoP '97), Technical Report WUCS-97-34
                   (PLoP '97/EuroPLoP '97), September 1997 Department of
                   Computer Science, Washington University},
  annote         = {reengpat},
  year           = 1997
}

@Misc{EclipseJDT,
  Title          = {Eclipse Java Development Tools (JDT) Subproject},
  Note           = {http://www.eclipse.org/jdt/},
  key            = {Eclipse JDT},
  url            = {http://www.eclipse.org/jdt/}
}

@Misc{IoC,
  Title          = {Inversion of Control Containers and the Dependency Injection pattern},
  Note           = {http://martinfowler.com/articles/injection.html},
  Author         = {Martin Fowler},
  key            = {Injection},
  url            = {http://martinfowler.com/articles/injection.html},
  year           = 2004
}

@Misc{PowerfullIdeas,
  Author         = {St\'ephane Ducasse and Alexandre Bergel and
                   Fran\c{c}ois Schnell and Noury Bouraqadi and Serge
                   Stinckwich},
  Title          = {Des idees puissantes dans la classe -- Utilisation de
                   Squeak pour l'amelioration de l'apprentissage des
                   mathematiques et des sciences (traduction de Powerful
                   Ideas in the Classroom)},
  Note           = {French translation of Powerful Ideas in the Classroom
                   by B.J. Allen-Conn and Kim Rose},
  annote         = {notrefereed},
  keywords       = {squeak etoy book powerfull ideas stefPub jb-none}
}

@Book{Baez99b,
  Author         = {Ricardo Baeza-Yates and Berthier Ribeiro-Neto},
  Title          = {Modern Information Retrieval},
  Publisher      = {Addison-Wesley},
  keywords       = {information retrieval},
  url            = {http://sunsite.dcc.uchile.cl/irbook},
  year           = 1999
}

@Book{Garf93a,
  Author         = {Simson L. Garfinkel and Michael K. Mahoney},
  Title          = {NeXTSTEP Programming Step One: Object-Oriented
                   Applications},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-97884-4},
  keywords       = {olit-appl book scglib},
  year           = 1993
}

@Book{Cold99a,
  Author         = {Jens Coldewey and Wolfgang Keller and Klaus Renzel},
  Title          = {Architectural Patterns for Business Information
                   Systems},
  Publisher      = {Publisher Unknown},
  Note           = {To appear},
  keywords       = {olit patterns famoos dbreeng oorp},
  year           = 1999
}

@PhdThesis{Amer89b,
  Author         = {Pierre America and Jaco de Bakker and Jan Rutten},
  Title          = {A Parallel Object-Oriented Language: Design and
                   Semantic Foundations},
  School         = {CWI, Free University of Amsterdam},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl pool semantics},
  year           = 1989
}

@InProceedings{VranyJ,
  Author         = {Jan Vran\'y},
  Title          = {CellStore ­- the Vision of Pure Object Database},
  BookTitle      = {Processings of DATESO 2006},
  Editor         = {},
  Pages          = {32--39},
  year           = 2006
}

@TechReport{Doda94j,
  Author         = {Mahesh Dodani},
  Title          = {A Semantic Framework for Integrating Formal Methods
                   With Object-Oriented ({OO}) Software Engineering
                   Methodologies},
  Institution    = {University of Iowa},
  Type           = {Report},
  keywords       = {obib(gen) binder},
  year           = 1994
}

@InCollection{Bijn95a,
  Author         = {Stijn Bijnens and Wouter Joosen and Pierre Verbaeten},
  Title          = {Sender Initiated and Receiver Initiated Coordination
                   in a Global Object Space},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {14-28},
  abstract       = {This paper features a case study of a complex parallel
                   application (in the area of Molecular Dynamics
                   Simulation) modelled in a concurrent object-oriented
                   language. In this computational model, application
                   objects can exhibit some autonomous behaviour and
                   reside in a global object space. At runtime, this
                   object space can physically be mapped on a distributed
                   memory machine. The case study indicates the pitfalls
                   of pure name-based object interaction. We show that due
                   to the dynamic nature of the interaction schemes
                   between the application objects, coordination
                   primitives are necessary to achieve expressive lucidity
                   within a programming language. As a result, two kinds
                   of semantics exist for coordination in the object
                   space: 1. Sender-initiated coordination by means of
                   pattern-based group communication. 2.
                   Receiver-initiated coordination by means of
                   multi-object synchronisation constraints. A language
                   framework is proposed that enables a programmer to
                   express both kinds of coordination, and a concise
                   implementation based on a meta-level architecture is
                   presented.},
  keywords       = {olit OBM94-18},
  year           = 1995
}

@TechReport{Bake78a,
  Author         = {Henry G. Baker},
  Title          = {Actor Systems for Real Time Computation},
  Institution    = {MIT lab for Computer science},
  Type           = {MIT/LCS/TR197},
  keywords       = {concurrency messages actors real-time casais},
  year           = 1978
}

@TechReport{Jerd96b,
  Author         = {Dean F. Jerding and John T. Stasko},
  Title          = {The Information Mural: Increasing Information
                   Bandwidth in Visualizations},
  Institution    = {Georgia Institute of Technology},
  Number         = {GIT-GVU-96-25},
  keywords       = {oorp},
  month          = oct,
  year           = 1996
}

@Misc{Cock06a,
  Author         = {Alistair Cockburn},
  Title          = {Dos equis driven design},
  Note           = {Retrieved August 25th 2006
                   \url{alistair.cockburn.us/index.php/Dos_equis_driven_design}},
  keywords       = {testing examples},
  url            = {http://alistair.cockburn.us/index.php/Dos_equis_driven_design},
  year           = 2006
}

@InProceedings{MacQ93a,
  Author         = {David B. MacQueen},
  Title          = {Reflections on Standard ML.},
  BookTitle      = {Functional Programming, Concurrency, Simulation and
                   Automated Reasoning},
  Pages          = {32-46},
  Publisher      = {Lecture Notes in Computer Science},
  year           = 1993
}

@InProceedings{Eise05a,
  Author         = {Eisenberg, Andrew and De Volder, Kris},
  Title          = {Dynamic Feature Traces: Finding Features in Unfamiliar
                   code},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM 2004)},
  Pages          = {337--346},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  keywords       = {Feature Feature-Traces DynamicAnalysis},
  location       = {Budapest, Hungary},
  month          = sep,
  year           = 2005
}

@Article{Fitt54a,
  Author         = {Fitts, Paul M.},
  Title          = {The Information Capacity of the Human Motor System in
                   Controlling the Amplitude of Movement.},
  Journal        = {Journal of Experimental Psychology},
  Volume         = {47},
  Number         = {6},
  Pages          = {381--391},
  keywords       = {psychology},
  year           = 1954
}

@TechReport{Gibb90c,
  Author         = {Simon Gibbs and Dennis Tsichritzis},
  Title          = {Software Licensing versus Software Reuse},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Various software pricing mechanisms are considered in
                   the context of large-scale reuse. It is argued that the
                   current practice of software licensing hinders reuse
                   and that a more flexible and lightweight mechanism is
                   needed.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg om90},
  month          = jul,
  pages          = {107-115},
  year           = 1990
}

@Article{Card92a,
  Author         = {Luca Cardelli and Jim Donahue and Lucille Glassman and
                   Mick Jordan and Bill Kalsow and Greg Nelson},
  Title          = {Modula-3 Language Definition},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {27},
  Number         = {8},
  Pages          = {15-42},
  keywords       = {plang modula-3 binder (shelf)},
  month          = aug,
  year           = 1992
}

@Article{Deut76a,
  Author         = {L. Peter Deutsch and Daniel G. Bobrow},
  Title          = {An Efficient, Incremental Garbage Collector},
  Journal        = {CACM},
  Volume         = {19},
  Number         = {9},
  Pages          = {522-526},
  keywords       = {olit memory lisp},
  month          = sep,
  year           = 1976
}

@Article{Gogu95a,
  Author         = {Joseph A. Goguen and Adolfo Socorro},
  Title          = {Module Composition and System Design for the Object
                   Paradigm},
  Journal        = {Journal of Object-Oriented Programming},
  Pages          = {47-55},
  keywords       = {olit-reuse binder},
  month          = feb,
  year           = 1995
}

@Book{Amer91a,
  Editor         = {Pierre America},
  Title          = {Proceeding of {ECOOP}'91 European Conference on
                   Object-Oriented Programming},
  Publisher      = {Springer-Verlag},
  Volume         = 512,
  Series         = {LNCS},
  isbn           = {3-540-54262-0},
  keywords       = {olit-obc ecoop91proc book scglib},
  year           = 1991
}

@Misc{Girb05b,
  Author         = {Tudor G\^irba and Jean-Marie Favre and St\'ephane
                   Ducasse},
  Title          = {Using Meta-Model Transformation to Model Software
                   Evolution},
  Note           = {2nd International Workshop on Meta-Models and Schemas
                   for Reverse Engineering (ATEM 2004)},
  abstract       = {Understanding how software systems evolve is useful
                   from different perspectives: reverse engineering,
                   empirical studies etc.. For an effective understanding
                   we need an explicit meta-model. We introduce Hismo, a
                   meta-model which is centered around the notion of
                   history and we show how we can obtain it from a
                   snapshot meta-model. Based on our experience in
                   developing the Hismo reverse engineering system, we
                   show how we can transform a snapshot meta-model in a
                   history metamodel.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi evolution hismo van moose-pub recast05
                   jointERCIM girba stefPub jb05},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb05bMetaModelTransATEM2004.pdf},
  year           = 2004
}

@InCollection{Mann81b,
  Author         = {Zohar Manna and Amir Pnueli},
  Title          = {Verification of Concurrent Programs: the Temporal
                   Framework},
  BookTitle      = {The Correctness Problem in Computer Science},
  Publisher      = {Academic Press},
  Editor         = {R.S. Boyer and J.S. Moore},
  Pages          = {215-273},
  keywords       = {temporal-logic temporal logic},
  year           = 1981
}

@InProceedings{Unga84a,
  Author         = {David Ungar and R. Blau and P. Foley and D. Samples
                   and David A. Patterson},
  Title          = {Architecture of {SOAR}: {Smalltalk} on a {RISC}},
  BookTitle      = {11th Annual Symposium on Computer Architecture},
  Address        = {Ann Arbor, Michigan},
  keywords       = {olit architecture soar risc smalltalk},
  misc           = {June 4-7},
  month          = jun,
  year           = 1984
}

@InProceedings{Oste00a,
  Author         = {Klaus Ostermann and G\"{u}nter Kniesel},
  Title          = {Independent Extensibility -- an open challenge for
                   AspectJ and Hyper/J},
  BookTitle      = {Proceedings of Aspects and Dimensions of Concern
                   Workshop},
  location       = {Cannes, France},
  year           = 2000
}

@Book{Alpe98a,
  Author         = {Sherman R. Alpert and Kyle Brown and Bobby Woolf},
  Title          = {The Design Patterns {Smalltalk} Companion},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-18462-1},
  keywords       = {smalltalk patterns scglib oorp},
  year           = 1998
}

@InProceedings{Wuyt96a,
  Author         = {Wuyts, Roel},
  Title          = {Class-management using Logical Queries, Application of
                   a Reflective User Interface Builder},
  BookTitle      = {Proceedings of GRONICS '96},
  Editor         = {I. Polak},
  Pages          = {61-67},
  annote         = {internationalconference},
  keywords       = {olit},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt96a.pdf},
  year           = 1996
}

@InProceedings{Smar00a,
  Author         = {Yannis Smaragdakis and Don Batory},
  Title          = {Mixin-Based Programming in {C}++},
  BookTitle      = {2nd Symposium on Generative and Component-Based
                   Software Engineering (GCSE 2000)},
  Address        = {Erfurt, Germany},
  year           = 2000
}

@Book{Bera93a,
  Author         = {Edward V. Berard},
  Title          = {Essays On Object-Oriented Software Engineering},
  Publisher      = {Prentice-Hall},
  Volume         = {1},
  keywords       = {olit binder (shelf)},
  url            = {http://www.toa.com/shnn?searticles},
  year           = 1993
}

@TechReport{Koba92a,
  Author         = {Naoki Kobayashi and Akinori Yonezawa},
  Title          = {Asynchronous Communication Model Based on Linear Logic},
  Institution    = {Dept. of Computer Science, University of Tokyo},
  Type           = {TR},
  Number         = {92-5},
  keywords       = {olit-obc linear-logic binder},
  month          = jul,
  year           = 1992
}

@Misc{Brichau10a,
  Author         = {{Johan Brichau}},
  Title          = {Java{C}Connect},
  note            = {\\ \url{http://www.info.ucl.ac.be/~jbrichau/javaconnect.html}},
  url            = {http://www.info.ucl.ac.be/~jbrichau/javaconnect.html},
  year           = 2010,
  month = aug
}

@InProceedings{Hend97a,
  Author         = {T.D. Hendrix and Cross II, James H. and L.A. Barowski
                   and K.S. Mathias},
  Title          = {{Tool} {Support} for {Reverse} {Engineering}
                   {Multi}-Lingual {Software}},
  BookTitle      = {Proceedings Fourth Working Conference on Reverse
                   Engineering},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {136-1143},
  Publisher      = {IEEE Computer Society},
  year           = 1997
}

@Article{Luna89a,
  Author         = {C. Pii Lunau},
  Title          = {Separation of Hierarchies in Duo-Talk},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {2},
  Number         = {2},
  Pages          = {20-25},
  keywords       = {olit duotalk joop},
  month          = jul,
  year           = 1989
}

@InProceedings{Lung06a,
  Author         = {Mircea Lungu and Michele Lanza and Tudor G\^irba},
  Title          = {Package Patterns for Visual Architecture Recovery},
  BookTitle      = {Proceedings of CSMR 2006 (10th European Conference on
                   Software Maintenance and Reengineering)},
  Pages          = {185--196},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Recovering the architecture is the first step towards
                   reengineering a software system. Many reverse
                   engineering tools use top-down exploration as a way of
                   providing a visual and interactive process for
                   architecture recovery. During the exploration process,
                   the user navigates through various views on the system
                   by choosing from several exploration operations.
                   Although some sequences of these operations lead to
                   views which, from the architectural point of view, are
                   mode relevant than others, current tools do not provide
                   a way of predicting which exploration paths are worth
                   taking and which are not. In this article we propose a
                   set of package patterns which are used for augmenting
                   the exploration process with in formation about the
                   worthiness of the various exploration paths. The
                   patterns are defined based on the internal package
                   structure and on the relationships between the package
                   and the other packages in the system. To validate our
                   approach, we verify the relevance of the proposed
                   patterns for real-world systems by analyzing their
                   frequency of occurrence in six open-source software
                   projects.},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.39},
  keywords       = {scg-pub visualization jb06 fb06 recast06 girba
                   moose-pub norex06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lung06aPackagePatterns.pdf},
  year           = 2006
}

@Proceedings{BYTE86a,
  Title          = {Special issue on Object-Oriented Systems},
  Editor         = {?},
  Volume         = {11},
  journal        = {Byte},
  keywords       = {olit survey special issue},
  month          = aug,
  year           = 1986
}

@InProceedings{Manj02a,
  Author         = {Manjarr\'es, Angeles and Suny\'e, Gerson and Pollet,
                   Damien and Pickin, Simon and J\'ez\'equel, Jean-Marc},
  Title          = {AI Analysis Patterns as UML Meta-model Constructs},
  BookTitle      = {International Conference on Software Engineering and
                   Knowledge Engineering (SEKE)},
  Editor         = {ACM},
  Pages          = {237-238},
  annote         = {internationalconference},
  month          = {jul},
  url            = {http://www.irisa.fr/triskell/publis/2002/Manjarres02a.pdf},
  year           = 2002
}

@InProceedings{Deis06a,
  Author         = {Florian Deissenboeck and Daniel Ratiu},
  Title          = {A Unified Meta-Model for Concept-Based Reverse
                   Engineering},
  BookTitle      = {Proceedings of the 3rd International Workshop on
                   Metamodels, Schemas, Grammars and Ontologies (ATEM'06)},
  annote         = {internationalconference},
  year           = 2006
}

@InProceedings{Birn01a,
  Author         = {Dietrich Birngruber},
  Title          = {CoML: Yet Another, But Simple Component Composition
                   Language},
  BookTitle      = {Workshop on Composition Languages, WCL '01},
  Pages          = {1-13},
  Address        = {Vienna, Austria},
  keywords       = {olit},
  month          = sep,
  url            = {http://www.cs.iastate.edu/~lumpe/WCL2001/},
  year           = 2001
}

@InProceedings{Casa01a,
  Author         = {G. Casazza and G. Antoniol and U. Villano and E. Merlo
                   and M. {Di Penta}},
  Title          = {Identifying Clones in the Linux Kernel},
  BookTitle      = {Proc. Int. Workshop on Source Code Analysis and
                   Manipulation (IWSCAM)},
  Pages          = {90-97},
  Publisher      = {IEEE},
  year           = 2001
}

@InProceedings{Gueh02a,
  Author         = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and R{\'e}mi Douence
                   and Narendra Jussien},
  Title          = {No Java without Caffeine: {A} Tool for Dynamic
                   Analysis of Java Programs},
  BookTitle      = {ASE},
  Pages          = {117},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@Book{Shne80a,
  Author         = {Shneiderman},
  Title          = {Software Psychology: Human Factors in Computer and
                   Information Systems},
  Publisher      = {Winthrop Publishers},
  year           = 1980
}

@Article{Card85c,
  Author         = {Luca Cardelli and Peter Wegner},
  Title          = {On Understanding Types, Data Abstraction, and
                   Polymorphism},
  Journal        = {ACM Computing Surveys},
  Volume         = {17},
  Number         = {4},
  Pages          = {471-522},
  doi            = {http://doi.acm.org/10.1145/6041.6042},
  keywords       = {types olit data abstraction oobib(types) ioom-types},
  month          = dec,
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1985
}

@Book{Zuse90a,
  Author         = {Horst Zuse},
  Title          = {Software Complexity, Measures and Methods},
  Publisher      = {Walter De Gruyter},
  keywords       = {book scglib},
  year           = 1990
}

@InProceedings{Blac02b,
  Author         = {Andrew P. Black},
  Title          = {A Use for Inheritance},
  BookTitle      = {ECOOP 2002: Proceedings of the Inheritance Workshop},
  Editor         = {Andrew P. Black and Erik Ernst and Peter Grogono and
                   Markky Sakkinen},
  Publisher      = {University of Jyv\"askyl\"a},
  month          = jun,
  url            = {http://www.cs.jyu.fi/~sakkinen/inhws/papers/Black.pdf},
  year           = 2002
}

@InProceedings{Zimm07a,
  Author         = {Thomas Zimmermann and Rahul Premraj and Andreas Zeller},
  Title          = {Predicting Defects for Eclipse},
  BookTitle      = {Proceedings of the Third International Workshop on
                   Predictor Models in Software Engineering},
  Address        = {Minneapolis, MN},
  Note           = {To appear},
  abstract       = {We have mapped defects from the bug database of
                   Eclipse (one of the largest open-source projects) to
                   source code locations. The resulting data set lists the
                   number of pre- and post-release defects for every
                   package and file in the Eclipse releases 2.0, 2.1, and
                   3.0. We additionally annotated the data with common
                   complexity metrics. All data is publicly available and
                   can serve as a benchmark for defect prediction models.},
  month          = may,
  year           = 2007
}

@InProceedings{Nier96a,
  Author         = {Oscar Nierstrasz and Jean-Guy Schneider and Markus
                   Lumpe},
  Title          = {Formalizing Composable Software Systems --- {A}
                   Research Agenda},
  BookTitle      = {Proceedings 1st IFIP Workshop on Formal Methods for
                   Open Object-based Distributed Systems FMOODS '96},
  Pages          = {271-282},
  Publisher      = {Chapmann \& Hall},
  abstract       = {Flexibility is achieved in open systems by adopting
                   software architectures that allow software components
                   to be easily plugged in, adapted and exchanged. But
                   open systems are generally con current, distributed and
                   heterogeneous in addition to being adaptable. Ad hoc
                   approaches to specifying component frameworks can lead
                   to unexpected semantic conflicts. We propose, instead,
                   to develop a rigorous foundation for composable
                   software systems by a series of experiments in
                   modelling concurrent and object-based software
                   abstractions as composable, communicating processes.
                   Eventually we hope to identify and realize the most
                   useful compositional idioms as a composition language
                   for open systems specification.},
  annote         = {internationalworkshop},
  keywords       = {olit scg-pub skipdoi snf96 jb96 scg-coord-old fmoods96},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier96aCompositionResearch.pdf},
  year           = 1996
}

@TechReport{Nier05g,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Stefan
                   Reichhart and Nathanael Sch\"arli},
  Title          = {Adding {Traits} to (Statically Typed) Languages},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-05-006},
  Address        = {Universit\"at Bern, Switzerland},
  abstract       = { Traits offer a fine-grained mechanism for composing
                   classes in object-oriented languages from reusable
                   components, while avoiding the fragility problems
                   introduced by multiple inheritance and mixins. Although
                   traits were developed in the context of dynamically
                   typed languages, they would also offer clear benefits
                   for statically typed languages like Java and C\#. This
                   report summarizes the issues raised when integrating
                   traits into such languages. We examine traits in the
                   context of the statically typed languages
                   FeatherweightJava, C\# and C++. },
  cvs            = {TraitsCSharp},
  keywords       = {scg-pub skipdoi scg-rotor traits jb06 snf05 stefPub},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05gTraitsCSharp.pdf},
  year           = 2005
}

@InProceedings{Marc03c,
  Author         = {Andrian Marcus and Louis Feng and Jonathan I. Maletic},
  Title          = {3D Representations for Software Visualization},
  BookTitle      = {Proceedings of the ACM Symposium on Software
                   Visualization},
  Pages          = {27-ff},
  Publisher      = {IEEE},
  keywords       = {visualization},
  year           = 2003
}

@InProceedings{VanE04a,
  Author         = {Robert van Engelen},
  Title          = {Code generation techniques for developing light-weight
                   XML Web services for embedded devices},
  BookTitle      = {SAC '04: Proceedings of the 2004 ACM symposium on
                   Applied computing},
  Pages          = {854--861},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/967900.968075},
  isbn           = {1-58113-812-1},
  location       = {Nicosia, Cyprus},
  year           = 2004
}

@InProceedings{Vinj05a,
  Author         = {Jurgen J. Vinju and James R. Cordy},
  Title          = {How to make a bridge between transformation and
                   analysis technologies?},
  BookTitle      = {Transformation Techniques in Software Engineering},
  Editor         = {James R. Cordy and Ralf L{\"a}mmel and Andreas Winter},
  Volume         = {05161},
  Series         = {Dagstuhl Seminar Proceedings},
  Publisher      = {Internationales Begegnungs- und Forschungszentrum
                   f{\"u}r Informatik (IBFI), Schloss Dagstuhl, Germany},
  year           = 2005
}

@InProceedings{Jans04a,
  Author         = {Svante Janson and Stefano Lonardi and Wojciech
                   Szpankowski},
  Title          = {On Average Sequence Complexity},
  BookTitle      = {Proceedings of the Symposium on Combinatorial Pattern
                   Matching},
  Editor         = {Springer},
  Number         = {3109},
  Series         = {LNCS},
  Address        = {Istanbul, Turkey},
  year           = 2004
}

@MastersThesis{Burk97a,
  Author         = {Benno Burkhardt},
  Title          = {Erweiterung objektorientierter Methoden f{\"u}r den
                   konzeptuellen Datenbankentwurf},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  keywords       = {snf-none scg-pub skip-abstract skipdoi toBeChecked
                   scg-msc jb97},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Burk97a.pdf},
  year           = 1997
}

@TechReport{Ferb83a,
  Author         = {Jacques Ferber},
  Title          = {{MERING}, un langage d'acteurs pour la representation
                   et la manipulation de connaissances},
  Institution    = {Universite de Paris VI},
  Type           = {These de docteur ingenieur},
  keywords       = {olit-obc messages actors},
  month          = dec,
  year           = 1983
}

@Book{Terr91a,
  Author         = {Peter Terrel},
  Title          = {Collins English Dictionary},
  Publisher      = {HarperCollins Publishers},
  isbn           = {0--00-470678-3},
  keywords       = {scglib},
  year           = 1991
}

@InProceedings{Reil97a,
  Author         = {James Reilly and Petri Niska and Luca Deri and Dieter
                   Gantenbein},
  Title          = {Enabling Mobile Network Managers},
  BookTitle      = {6th International WWW Conference},
  Pages          = {(To appear)},
  abstract       = {Network and system maintenance personnel are
                   increasingly mobile. This creates a potential market
                   for a network, system and service management terminal
                   that is highly mobile, which would supplement existing
                   network and system management solutions. This paper
                   presents a generic architectural solution for this
                   problem based on a highly scalable and network-centric
                   approach to development of network management
                   applications. Although the specific focus is on network
                   management solutions, the results are generally
                   applicable to many other types of applications as well.
                   Some details and experiences from an actual
                   implementation are described, using the Nokia 9000
                   Communicator and IBM Webbin' CMIP as the enabling
                   technologies. Areas for future research are also
                   explored.},
  brokenurl      = {http://www.zurich.ibm.com/~lde/MobilePaper/},
  keywords       = {snf-none olit scg-pub skipdoi toBeChecked jb97},
  month          = apr,
  year           = 1997
}

@Article{Niev06a,
  Author         = {J\"urg Nievergelt},
  Title          = {Die {A}ussagekraft von {B}eispielen},
  Journal        = {Informatik Spektrum},
  Volume         = {29},
  Number         = {4},
  Pages          = {281-286},
  year           = 2006
}

@Unpublished{Smol95a,
  Author         = {Gert Smolka},
  Title          = {A Survey of Oz},
  Note           = {German Research Center for Artificial Intelligence
                   (DFKI)},
  keywords       = {oobib(concurrency) olit-obcp binder},
  misc           = {January 24},
  month          = jan,
  type           = {Draft},
  year           = 1995
}

@InProceedings{Tich00m,
  Author         = {Sander Tichelaar and St\'ephane Ducasse and Serge
                   Demeyer},
  Title          = {{FAMIX}: Exchange Experiences with {CDIF} and {XMI}},
  BookTitle      = {Proceedings of the ICSE 2000 Workshop on Standard
                   Exchange Format (WoSEF 2000)},
  abstract       = {In the FAMOOS project we have developed a set of tools
                   for reengineering object-oriented legacy systems. These
                   tools are based on the FAMIX meta model and exchange
                   information using CDIF, an industry standard exchange
                   format. For several reasons XMI, an emerging standard
                   for information exchange, has appealed to us to be used
                   as our interchange format. In this paper we discuss why
                   XMI is interesting for us and what, to our current
                   experience, are the advantages and disadvantages of XMI
                   over CDIF.},
  annote         = {internationalworkshop},
  keywords       = {components scg-pub skipdoi tich-papunr sergedem-papunr
                   snf00 jb00 stefPub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich00mFamixCdifXmi.pdf},
  year           = 2000
}

@InProceedings{Inga86a,
  Author         = {Daniel H.H. Ingalls},
  Title          = {A Simple Technique for Handling Multiple Polymorphism},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = 21,
  Number         = 11,
  Pages          = {347-349},
  keywords       = {types olit polymorphism oopsla86 oorp},
  month          = nov,
  year           = 1986
}

@InProceedings{Gree99b,
  Author         = {Aaron Greenhouse and John Boyland},
  Title          = {An Object-Oriented Effects System},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {205-229},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {An effects systems describes how state may be accessed
                   during the execution of some program component. This
                   information is used to assist reasoning about a
                   program, such as determining whether data dependencies
                   may exist between two computations. We define an
                   effects system for {Java} that preserves the
                   abstraction facilities that make object-oriented
                   programming languages attractive. Specifically, a
                   subclass may extend abstract regions of mutable state
                   inherited from the superclass. The effects system also
                   permits an object's state to contain the state of
                   wholly-owned subsidiary objects. In this paper, we
                   describe a set of annotations for declaring permitted
                   effects in method headers, and show how the actual
                   effects in a method body can be checked against the
                   permitted effects.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Article{AbuG04b,
  Author         = {Nayef Abu-Ghazaleh and Madhusudhan Govindaraju and
                   Michael J. Lewis},
  Title          = {Optimizing Performance of Web Services with
                   Chunk-Overlaying and Pipelined-Send},
  Journal        = {Proceedings of the International Conference on
                   Internet Computing (ICIC)},
  page           = {482--485},
  year           = {June 2004}
}

@Book{Tuck95a,
  Author         = {Allen B. Tucker and Andrew P. Bernat and W. James
                   Bradley and Robert D. Cupper and Greg W. Scragg},
  Title          = {Fundamentals of Computing {I}: Logic, Problem Solving,
                   Programs, and Computers {C}++ Edition},
  Publisher      = {Mc Graw-Hill},
  isbn           = {0-07-065506-5},
  keywords       = {scglib},
  year           = 1995
}

@InProceedings{Sala05a,
  Author         = {Maher Salah and Trip Denton and Spiros Mancoridis and
                   Ali Shokoufandeh and Filippos I. Vokolos},
  Title          = {Scenariographer: A Tool for Reverse Engineering Class
                   Usage Scenarios from Method Invocation Sequences},
  BookTitle      = {Proceedings of ICSM 2005 (21th International
                   Conference on Software Maintenance)},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  month          = sep,
  year           = 2005
}

@InProceedings{Zeng02b,
  Author         = {Matthias Zenger},
  Title          = {Evolving Software with Extensible Modules},
  BookTitle      = {International Workshop on Unanticipated Software
                   Evolution},
  Address        = {Malaga, Spain},
  keywords       = {keris module},
  month          = jun,
  url            = {http://lampwww.epfl.ch/~zenger/research.html},
  year           = 2002
}

@InProceedings{Wett07a,
  Author         = {Richard Wettel and Michele Lanza},
  Title          = {Program Comprehension through Software Habitability},
  BookTitle      = {Proceedings of ICPC 2007 (15th International
                   Conference on Program Comprehension)},
  Pages          = {xxx-xxx},
  Publisher      = {IEEE CS Press},
  keywords       = {sworld},
  year           = 2007
}

@InProceedings{Deme99d,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Sander
                   Tichelaar},
  Title          = {Why Unified is not Universal. {UML} Shortcomings for
                   Coping with Round-trip Engineering},
  BookTitle      = {Proceedings UML '99 (The Second International
                   Conference on The Unified Modeling Language)},
  Editor         = {Bernhard Rumpe},
  Volume         = {1723},
  Series         = {LNCS},
  Pages          = {630-644},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {UML is currently embraced as "the" standard in
                   object-oriented modeling languages, the recent work of
                   OMG on the Meta Object Faci lity (MOF) being the most
                   noteworthy example. We welcome these standardisation
                   efforts, yet warn against the tendency to use UML as
                   the panacea for all exchange standards. In particular,
                   we argue that UML is not sufficient to serve as a
                   tool-interoperability standard for integrating
                   round-trip engineering tools, because one is forced to
                   rely on UML's built-in extension mechanisms to a
                   dequately model the reality in source-code. Meanwhile,
                   our argumentation includes a number of constructive
                   suggestions that we ho pe will influence future
                   releases of the UML and MOF standards.},
  annote         = {internationalconference},
  keywords       = {olit famoos-papref scg-pub skipdoi snf99 jb99 stefPub},
  misc           = {acceptance rate: 44/166 = 26\%, SCI impact 0.515,
                   ranked 39/69},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme99dUML99.pdf},
  year           = 1999
}

@InProceedings{Olth86a,
  Author         = {Walter G. Olthoff},
  Title          = {Augmentation of Object-Oriented Programming by
                   Concepts of Abstract Data Type Theory: The ModPascal
                   Experience},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {429-443},
  keywords       = {olit-oopl modpascal oopsla86},
  month          = nov,
  year           = 1986
}

@TechReport{Ache99b,
  Author         = {Franz Achermann},
  Title          = {Piccola White Paper},
  Institution    = {IAM, University of Bern},
  Type           = {Working Paper},
  keywords       = {scg-wp snf00 scg-coord-99 piccola},
  url            = {http://www.iam.unibe.ch/~scg/Research/Piccola/History/white.pdf},
  year           = 1999
}

@Book{Copl95a,
  Author         = {James O. Coplien and Douglas Schmidt},
  Title          = {Pattern Languages of Program Design},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-60734-4},
  keywords       = {oobib(design-patterns) book scglib},
  year           = 1995
}

@Article{Henn86a,
  Author         = {Matthew Hennessy},
  Title          = {Proving Systolic Systems Correct},
  Journal        = {ACM TOPLAS},
  Volume         = {8},
  Number         = {3},
  Pages          = {344-387},
  keywords       = {concurrency binder},
  month          = jul,
  year           = 1986
}

@InProceedings{Aasa88a,
  Author         = {Annika Aasa and Kent Petersson and Dan Synek},
  Title          = {Concrete Syntax for Data Objects in Functional
                   Languages},
  BookTitle      = {Proceedings of the 1988 ACM Conference on Lisp and
                   Functional Programming},
  Pages          = {96-105},
  Address        = {Snowbird, Utah},
  keywords       = {patterns olit binder(patterns)},
  year           = 1988
}

@Article{Upfa84a,
  Author         = {E. Upfal},
  Title          = {Efficient Schemes for Parallel Communication},
  Journal        = {Journal of the ACM},
  Volume         = {31},
  Number         = {3},
  Pages          = {507-517},
  keywords       = {concurrency},
  month          = jul,
  year           = 1984
}

@Article{Bert91a,
  Author         = {Elisa Bertino and Lorenzo Martino},
  Title          = {Object-Oriented Database Management Systems: Concepts
                   and Issues},
  Journal        = {IEEE Computer},
  Volume         = {24},
  Number         = {4},
  Pages          = {33-48},
  keywords       = {oodb-olit survey (smc)},
  month          = apr,
  year           = 1991
}

@InCollection{Knie02a,
  Author         = {G. Kniesel and J. Noppen and T. Mens and J. Buckley},
  Title          = {The First Workshop on Unanticipated Software Evolution
                   (USE 2002)},
  BookTitle      = {Proceedings of ECOOP 2002 Workshop Reader},
  Publisher      = {Springer Verlag},
  Volume         = {2548},
  Series         = {LNCS},
  year           = 2002
}

@InProceedings{Mugr05b,
  Author         = {Rick Mugridge and Ward Cunningham},
  Title          = {Agile Test Composition},
  BookTitle      = {Extreme Programming and Agile Processes in Software
                   Engineering, 6th International Conference, XP 2005},
  Editor         = {Hubert Baumeister and Michele Marchesi and Mike
                   Holcombe},
  Volume         = {3556},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {137-144},
  Publisher      = {Springer},
  isbn           = {3-540-26277-6},
  year           = 2005
}

@Book{Niel96a,
  Editor         = {Hanne Riis Nielson},
  Title          = {Proceedings {ESOP}'96},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 1058},
  Address        = {Linkoping, Sweden},
  isbn           = {3-540-61055-3},
  keywords       = {olit esop96 scglib},
  month          = apr,
  year           = 1996
}

@Misc{Swing,
  Title          = {Swing API},
  Note           = {http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/package-summary.html},
  key            = {Swing}
}

@InProceedings{Wink92a,
  Author         = {J{\"u}rgen Winkler and George Die{\ss}l},
  Title          = {Object {CHILL} 00 An Object-Oriented Language for
                   Systems Implementaion},
  BookTitle      = {Proceedings 1992 ACM Computer Science Conference},
  Pages          = {139-147},
  Address        = {Kansas City},
  keywords       = {olit-obc object-chill binder},
  misc           = {March 3-5},
  month          = mar,
  year           = 1992
}

@PhdThesis{Trif01a,
  Author         = {Adrian Trifu},
  Title          = {Using Cluster Analysis in the Architecture Recovery of
                   Object-Oriented Systems},
  School         = {Univ. Karlsruhe},
  year           = 2001
}

@Book{Naeg98a,
  Author         = {Hans-Heinrich N\"ageli},
  Title          = {Math\'ematiques discr\`etes},
  Publisher      = {Presses Polytechniques et universitaires romandes},
  keywords       = {scglib},
  year           = 1998
}

@InProceedings{Chib93a,
  Author         = {Shigeru Chiba and Takashi Masuda},
  Title          = {Designing an Extensible Distributed Language with a
                   Meta-Level Architecture},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {483-502},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper presents a methodology for designing
                   extensible languages for distributed computing. As a
                   sample product of this methodology, which is based on a
                   meta-level (or reflective) technique, this paper
                   describes a variant of C++ called Open C++, in which
                   the programmer can alter the implementation of method
                   calls to obtain new language functionalities suitable
                   for the programmer's applications. This paper also
                   presents a framework called Oc, which is used to help
                   obtain various functionalities for distributed
                   computing on top of Open C++. Because the overhead due
                   to the meta level computation is negligible in
                   distributed computing, this methodology is applicable
                   to practical programming.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Hedi88a,
  Author         = {G{\"o}rel Hedin and Boris Magnusson},
  Title          = {The Mj\/olner Environment: Direct Interaction with
                   Abstractions},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {41-54},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@InProceedings{Ciar05a,
  Author         = {Ciaran O'Reilly and David Bustard and Philip Morrow},
  Title          = {The war room command console: shared visualizations
                   for inclusive team coordination},
  BookTitle      = {Proceedings of 2005 ACM Symposium on Software
                   Visualization (Softviz 2005)},
  Pages          = {57-65},
  Address        = {St. Louis, Missouri, USA},
  keywords       = {evolution, visualization},
  month          = may,
  year           = 2005
}

@Book{Gold89a,
  Author         = {Adele Goldberg and Dave Robson},
  Title          = {Smalltalk-80: The Language},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-13688-0},
  keywords       = {book scglib},
  year           = 1989
}

@InProceedings{Deri96a,
  Author         = {Luca Deri},
  Title          = {Network Management for the 90s},
  BookTitle      = {ECOOP '96 Workshop on 'OO Technologies For Network and
                   Service Management' Proceedings},
  abstract       = {The increasing complexity and heterogeneity of modern
                   networks has pushed industry and research towards a
                   single and consistent way of managing networks. The
                   effort to define a single industry-standard API for
                   network management basically failed because it did not
                   address aspects like complexity and ease of
                   programming. Recently, a common approach is to map
                   established network management standards into another
                   object model, often based on the emerging Corba
                   standard. Unfortunately even this approach has shown
                   many drawbacks related primarily to the significant
                   amount of code that has to be linked with the final
                   application and to the many limitations and
                   imperfections of the mapping itself. This paper
                   describes a new approach to inter-domain management
                   that attempts to overcome the limitations of current
                   solutions. The goal is to allow people to write hybrid
                   CMIP and SNMP-based network management applications
                   using a single and simple object model. Relevant
                   characteristics of this approach are that it is light,
                   extensible, object-oriented, language-neutral, built
                   upon software-components, string-syntax based and
                   Internet-ready. This demonstrates that it is feasible
                   to implement simple and light applications for
                   inter-domain management without the need for expensive
                   or complex technologies.},
  brokenurl      = {http://www.zurich.ibm.com/~lde/SimpleNM.ps.Z},
  keywords       = {olit scg-pub skipdoi toBeChecked snf96 jb96},
  month          = jul,
  year           = 1996
}

@InProceedings{Scha03a,
  Author         = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar
                   Nierstrasz and Andrew Black},
  Title          = {Traits: Composable Units of Behavior},
  BookTitle      = {Proceedings of European Conference on Object-Oriented
                   Programming (ECOOP'03)},
  Volume         = {2743},
  Series         = {LNCS},
  Pages          = {248-274},
  Publisher      = {Springer Verlag},
  abstract       = {Despite the undisputed prominence of inheritance as
                   the fundamental reuse mechanism in object-oriented
                   programming languages, the main variants --- single
                   inheritance, multiple inheritance, and mixin
                   inheritance --- all suffer from conceptual and
                   practical problems. In the first part of this paper, we
                   identify and illustrate these problems. We then present
                   traits, a simple compositional model for structuring
                   object-oriented programs. A trait is essentially a
                   group of pure methods that serves as a building block
                   for classes and is a primitive unit of code reuse. In
                   this model, classes are composed from a set of traits
                   by specifying glue code that connects the traits
                   together and accesses the necessary state. We
                   demonstrate how traits overcome the problems arising
                   from the different variants of inheritance, we discuss
                   how traits can be implemented effectively, and we
                   summarize our experience applying traits to refactor an
                   existing class hierarchy.},
  annote         = {internationalconference topconference},
  cvs            = {TraitsECOOP2003},
  doi            = {http://dx.doi.org/10.1007/b11832},
  keywords       = {snf03 scg-pub jb03 scg-traits stefPub schaerli},
  misc           = {acceptance rate: 18/88 = 20\%},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha03aTraits.pdf},
  year           = 2003
}

@Misc{IO,
  Title          = {IO Home Page},
  Note           = {http://www.iolanguage.com/},
  key            = {IO}
}

@InProceedings{Thor87a,
  Author         = {Lars-Erik Thorelli},
  Title          = {Modules and Type Checking in {PL}/{LL}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {268-276},
  keywords       = {types olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Deme99n,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Sander
                   Tichelaar},
  Title          = {A Pattern Language for Reverse Engineering},
  BookTitle      = {Proceedings of the 4th European Conference on Pattern
                   Languages of Programming and Computing, 1999},
  Editor         = {Paul Dyson},
  Address        = {Konstanz, Germany},
  Publisher      = {UVK Universit\"atsverlag Konstanz GmbH},
  abstract       = {This pattern language describes how to reverse
                   engineer an object-oriented software system. Since the
                   only way to achieve a truly reusable object-oriented
                   design is recognised to be iterative development,
                   reverse engineering is indeed an essential facet of any
                   object-oriented development process. The pattern
                   language itself covers the different phases one
                   encounters when reverse engineering a large software
                   system: from being unfamiliar with a software system up
                   untill preparations for actual reengineering. What you
                   read here is a short version of a complete pattern
                   language. We present only five patterns in full detail
                   and include a summary for the remaining patterns.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr scg-pub skipdoi sergedem-papunr
                   tich-papunr snf99 jb99 stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme99nEuroplop99.pdf},
  year           = 1999
}

@TechReport{Lope97a,
  Author         = {C.V.Lopez and Gregor Kiczales},
  Title          = {"{D}: {A} Language Framework for Distributed
                   Programming"},
  Institution    = {Xerox Parc.},
  Type           = {Tech. Rep. TR},
  Number         = {SPL97-010P9710047},
  keywords       = {aspect},
  year           = 1997
}

@Book{Fowl97a,
  Author         = {Martin Fowler},
  Title          = {{UML} Distilled},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-32563-2},
  keywords       = {olit design scglib uml},
  year           = 1997
}

@Article{Mose96a,
  Author         = {Simon Moser and Oscar Nierstrasz},
  Title          = {The Effect of Object-Oriented Frameworks on Developer
                   Productivity},
  Journal        = {IEEE Computer},
  Pages          = {45-51},
  abstract       = {A field study of over thirty projects using Object
                   Technology has shown that the availability (or absence)
                   of reusable frameworks has substantial productivity
                   impacts. This can make it more difficult to reliably
                   estimate the size and cost of such projects early in
                   the software process. The newly proposed System Meter
                   method tackles this problem by distinguishing
                   functionality to be implemented from functionality
                   supported by reusable components. It therefore yields
                   more uniform and predictable productivity measures.
                   Moreover, it can also be applied already after a
                   preliminary analysis phase, in contrast to the more
                   traditional Function Points approach.},
  annote         = {internationaljournal},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/2.536783},
  keywords       = {olit scg-pub snf96 jb96},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mose96aOOMetrics.pdf},
  year           = 1996
}

@PhdThesis{Mori99a,
  Author         = {Jean-Henry Morin},
  Title          = {Commercial Electronic Publishing over Open Networks:
                   {A} Global Approach Based on Mobile Objects (Agents)},
  School         = {University of Geneva},
  Type           = {Ph.{D}. Thesis},
  year           = 1999
}

@Article{Nier92b,
  Author         = {Oscar Nierstrasz and Simon Gibbs and Dennis
                   Tsichritzis},
  Title          = {Component-Oriented Software Development},
  Journal        = {Communications of the ACM},
  Volume         = {35},
  Number         = {9},
  Pages          = {160-165},
  abstract       = {Object-oriented programming techniques promote a new
                   approach to software engineering in which reliable,
                   open applications can be largely constructed, rather
                   than programmed, by reusing "frameworks" of
                   plug-compatible software components. We outline a
                   series of ongoing research projects at the University
                   of Geneva that address component-oriented software
                   development at the levels of languages, tools and
                   frameworks, in particular, (1) the integration of
                   object-oriented language features that support software
                   composition with features concerned with other issues,
                   like obc, (2) application development tools to support
                   composition and reuse, and (3) the development of
                   reusable application frameworks, specifically in the
                   domain of multimedia applications.},
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/130994.131005},
  keywords       = {olit-ithaca osg-ftp of92 ithaca-final},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier92bCOSD.pdf},
  year           = 1992
}

@InProceedings{Ghel91a,
  Author         = {Giorgio Ghelli},
  Title          = {A Static Type System for Message Passing},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {129-145},
  keywords       = {types olit oopsla91},
  month          = nov,
  year           = 1991
}

@Book{Smit95b,
  Author         = {David N. Smith},
  Title          = {{Smalltalk} the Language},
  Publisher      = {Benjamin/Cummings Publishing},
  isbn           = {0-8053-0908-X},
  keywords       = {olit smalltalk scglib},
  year           = 1995
}

@Article{Casn91a,
  Author         = {Stephen M. Casner},
  Title          = {A Task-Analytic Approach to the Automated Design of
                   Graphic Presentations},
  Journal        = {ACM Transactions of Graphics},
  Volume         = {10},
  Number         = {2},
  Pages          = {111-151},
  month          = apr,
  year           = 1991
}

@Article{Deme00m,
  Author         = {Serge Demeyer and Harald Gall},
  Title          = {Workshop on Object-Oriented Re-engineering ({WOOR}'99)},
  Journal        = {Software Engineering Notes},
  Volume         = {25},
  Number         = {1},
  doi            = {http://doi.acm.org/10.1145/340855.340857},
  keywords       = {olit famoos-papunr scg-pub skip-abstract toBeChecked
                   snf99 sergedem-papunr jbxx},
  month          = jan,
  publisher      = {ACM},
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/ESEC99/WOOR99report.html},
  year           = 2000
}

@InProceedings{Leav90a,
  Author         = {Gary T. Leavens and William E. Weihl},
  Title          = {Reasoning about Object-Oriented Programs that Use
                   Subtypes},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {212-223},
  keywords       = {types olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Bolt80a,
  Author         = {R.A. Bolt},
  Title          = {'Put-that-there': Voice and Gestures at the Graphics
                   Interface},
  BookTitle      = {Proceedings SIGGRAPH '80},
  Volume         = {14},
  Pages          = {262-270},
  keywords       = {uilit},
  month          = jul,
  year           = 1980
}

@InProceedings{Gall99a,
  Author         = {Harald Gall and Johannes Weidl},
  Title          = {Object-Model Driven Abstraction-to-Code Mapping},
  BookTitle      = {Proceedings of the 2nd Workshop on Object-Oriented
                   Reengineering (WOOR 1999)},
  Publisher      = {Technical University of Vienna --- Technical Report
                   TUV-1841-99-13},
  keywords       = {oorp},
  year           = 1999
}

@Article{Fros94a,
  Author         = {Stuart Frost},
  Title          = {Modelling for the RDBMS Legacy},
  Journal        = {Object Magazine},
  Pages          = {43-51},
  keywords       = {oorp},
  month          = sep,
  publisher      = {SIGS Publications},
  year           = 1994
}

@Book{Gosl00a,
  Author         = {James Gosling and Bill Joy and Guy Steele and Gilad
                   Bracha},
  Title          = {The {Java} Language Specification, Second Edition},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-31008-2},
  keywords       = {olit oopl java scglib},
  year           = 2000
}

@Article{Bos87a,
  Author         = {Jan van den Bos},
  Title          = {{PCOL} --- {A} Protocol-Constrained Object Language},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {22},
  Number         = {9},
  Pages          = {14-19},
  keywords       = {olit-obcl pcol procol},
  month          = sep,
  year           = 1987
}

@PhdThesis{Unga87,
  Author         = {Ungar, David Michael},
  Title          = {The Design and Evaluation of A High Performance
                   Smalltalk System},
  School         = {EECS Department, University of California, Berkeley},
  abstract       = {The Smalltalk-80 system makes it possible to write
                   programs quickly by providing object-oriented
                   programming, incremental compilation, run-time type
                   checking, use-extensible data types and control
                   structures, and an interactive graphical interface.
                   However, the potential savings in programming effort
                   have been curtailed by poor performance in widely
                   available computers or high processor cost.
                   Smalltalk-80 systems pose tough challenges for
                   implementors: dynamic data typing, a high-level
                   instruction set, frequent and expensive procedure
                   calls, and object-oriented storage management. <p> The
                   dissertation documents two results that run counter to
                   conventional wisdom: that a reduced instruction set
                   computer can offer excellent performance for a system
                   with dynamic data typing such as Smalltalk-80, and that
                   automatic storage reclamation need not be
                   time-consuming.},
  month          = {Feb},
  number         = {UCB/CSD-86-287},
  url            = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1986/5376.html},
  year           = 1986
}

@MastersThesis{Reic07b,
  Author         = {Stefan Reichhart},
  Title          = {Assessing Test Quality --- TestLint},
  School         = {University Bern},
  abstract       = {With the success of agile methodologies, Testing has
                   become a common and important activity in the
                   development of software projects. Large and auto- mated
                   test-suites ensure that the system is behaving as
                   expected. Moreover, tests also offer a live
                   documentation for the code and can be used to under-
                   stand foreign code. However, as the system evolves,
                   tests need to evolve as well to keep up with the
                   system, and as the test suite grows larger, the effort
                   invested into maintaining tests becomes a significant
                   activity. In this context, the quality of tests becomes
                   an important issue, as developers need to assess and
                   understand the tests they have to maintain. While
                   testing have grown to be popular and well supported by
                   today's IDEs, methodologies and tools trying to assess
                   the quality of tests are still poorly or not at all
                   integrated into the testing process. Most important,
                   there has been no attempts yet to concretely measure
                   the quality of a test by detecting design flaws of the
                   test code, so called Test Smells. We contribute to the
                   research of testing methodologies by measuring and
                   assessing the quality of tests. In particular we
                   analyze Test Smells and define a set of criteria to
                   determine test quality. We evaluate our results in a
                   large case-study and present TestLint, an approach to
                   automatically detect Test Smells. We provide a bundle
                   of tools that tightly integrate source-code
                   development, automated testing and quality assessment
                   of tests. },
  keywords       = {scg-msc scg-pub jb07 christo testlint test smells code
                   coverage},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Reic07b.pdf},
  year           = 2007
}

@InProceedings{Jaza99a,
  Author         = {Mehdi Jazayeri and Harald Gall and Claudio Riva},
  Title          = {Visualizing {Software} {Release} {Histories}: The
                   {Use} of {Color} and {Third} {Dimension}},
  BookTitle      = {Proceedings of ICSM '99 (International Conference on
                   Software Maintenance)},
  Pages          = {99-108},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp},
  year           = 1999
}

@Article{Jank88a,
  Author         = {Hugo T. Jankowitz},
  Title          = {Detecting Plagiarism in Student {PASCAL} Programs},
  Journal        = {Computer Journal},
  Volume         = {1},
  Number         = {31},
  Pages          = {1-8},
  keywordsw      = {plagiarism},
  year           = 1988
}

@PhdThesis{Gael06b,
  Author         = {Markus Gaelli},
  Title          = {Modeling Examples to Test and Understand Software},
  School         = {University of Berne},
  abstract       = {One of the oldest techniques to explain abstract
                   concepts is to provide concrete examples. By explaining
                   an abstract concept with a concrete example people make
                   sure that the concept is understood and remembered.
                   Examples in software can be used both to test the
                   software and to illustrate its functionality.
                   Object-oriented programs are built around the concepts
                   of classes, methods and variables, where methods are
                   the atoms of the functionality. But the meta-models of
                   object-oriented languages do not allow developers to
                   associate runnable and composable examples with these
                   concepts and particularly not with methods. Unit tests
                   on the other hand, assure the quality of the units
                   under test and document them. Not being integrated into
                   the language, unit tests are not linked explicitly to
                   their units under test which makes it unnecessarily dif
                   ficult to use them for documenting, typing and
                   debugging software. In addition they are not composable
                   making it hard to develop higher level test scenarios
                   in parallel with higher level objects. In this thesis
                   we analyze unit tests to learn about implicit
                   dependencies among tests and from tests to the methods
                   under test. We develop a technique to partially order
                   unit tests in terms of their covered methods, which
                   reveals possible redundancies due to the lack of
                   composability. We show how partial orders can be used
                   to debug and to comprehend software. We then develop a
                   taxonomy based on several case studies revealing that a
                   high fraction of unit tests already implicitly focuses
                   on single methods. We show that the rest of the tests
                   can be decomposed into commands focusing on single
                   methods. We build a meta-model based on our findings of
                   analyzing test interdependencies which establishes how
                   tests can be explicitly linked to their method under
                   test and how they can be composed to form higher-level
                   test scenarios. We explain how the problems of missing
                   links between tests and units under test are solved
                   using our meta-model. Furthermore, we implemented the
                   meta-model and a first user interface on top of it to
                   give first evidence of how our model supports the
                   developer.},
  cvs            = {MGaelliPhD},
  keywords       = {scg-pub skipdoi scg-phd gaelli jb07 fb06 snf06},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/gaelli-phd.pdf},
  year           = 2006
}

@InProceedings{Okam94a,
  Author         = {Hideaki Okamura and Yutaka Ishikawa},
  Title          = {Object Location Control Using Meta-level Programming},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {299-319},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Book{LaLo91b,
  Author         = {Wilf LaLonde and John Pugh},
  Title          = {Inside {Smalltalk}: Volume 2},
  Publisher      = {Prentice Hall},
  isbn           = {0-13-465964-3},
  keywords       = {olit-smalltalk oobib(smalltalk) book scglib},
  year           = 1991
}

@InProceedings{Bowm98a,
  Author         = {I. T. Bowman and R. C.Holt},
  Title          = {Software Architecture Recovery Using Conway's Law},
  BookTitle      = {Conference of the Centre for Advanced Studies on
                   Collaborative Research (CASCON)},
  Pages          = {23-133},
  year           = 1998
}

@Book{Wayn95a,
  Author         = {Peter Wayner},
  Title          = {Agents Unleashed},
  Publisher      = {AP Profesional},
  isbn           = {0-12-738765-X},
  keywords       = {agents scglib},
  year           = 1995
}

@Article{Lefe94a,
  Author         = {Christophe Lef\`evre and Joh-E. Ikeda},
  Title          = {A fast word search algorithm for the representation of
                   sequence similarity in genomic {DNA}},
  Journal        = {Nucleic Acids Research},
  Volume         = {22},
  Number         = {3},
  Pages          = {404-411},
  keywords       = {dotplot},
  year           = 1994
}

@InProceedings{Pawl05a,
  Author         = {Renaud Pawlak},
  Title          = {Spoon: annotation-driven program transformation ---
                   the AOP case},
  BookTitle      = {AOMD '05: Proceedings of the 1st workshop on Aspect
                   oriented middleware development},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1101560.1101566},
  location       = {Grenoble, France},
  year           = 2005
}

@InProceedings{Xing04c,
  Author         = {Zhenchang Xing and Eleni Stroulia},
  Title          = {Data-mining in Support of Detecting Class Co-evolution},
  BookTitle      = {Proceedings of the 16th International Conference on
                   Software Engineering {\&} Knowledge Engineering (SEKE
                   2004)},
  Pages          = {123--128},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  keywords       = {evolution},
  location       = {Banff, Alberta, Canada},
  mon            = jun,
  year           = 2004
}

@Unpublished{Reng06X,
  Author         = {Lukas Renggli and St\'ephane Ducasse},
  Title          = {Using a Meta-Driven Approach for End-User Customizable
                   Web Applications},
  Note           = {Submitted},
  abstract       = {Developing applications that end-users can customize
                   is a challenge, since end-users are domain experts but
                   still have concrete requirements. In this article we
                   present how we used a meta-driven approach to support
                   the end-user customization of Web applications. We
                   present Magritte, a recursive meta-data meta-model
                   integrated into the Smalltalk reflective meta-model. We
                   describe the lessons learned from using this meta-model
                   to build Web applications.},
  cvs            = {magritte},
  keywords       = {scg-wp},
  month          = mar,
  year           = 2006
}

@Article{Lyng84a,
  Author         = {P. Lyngbaek and Dennis McLeod},
  Title          = {Object Management in Distributed Information Systems},
  Journal        = {ACM TOOIS},
  Volume         = {2},
  Number         = {2},
  Pages          = {96-122},
  keywords       = {olit-db distribution ois},
  year           = 1984
}

@InProceedings{Chib95a,
  Author         = {Shigru Chiba},
  Title          = {A Metaobject Protocol for {C}++},
  BookTitle      = {Proceedings of OOPSLA '95},
  Volume         = {30},
  Series         = {ACM SIGPLAN Notices},
  Pages          = {285-299},
  keywords       = {olit meta oopsla95 oobib},
  month          = oct,
  year           = 1995
}

@Book{Roge67a,
  Author         = {Rogers, Jr., H.},
  Title          = {Theory of Recursive Functions and Effective
                   Computability},
  Publisher      = {McGraw-Hill},
  keywords       = {misc computability},
  year           = 1967
}

@TechReport{Bach05a,
  Author         = {Felix Bachmann and Paul C. Clements},
  Title          = {Variability in Software Product Lines},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {{CMU/SEI-2005-TR-012}},
  year           = 2005
}

@InProceedings{Mcaf95,
  Author         = {McAffer, J.},
  Title          = {Meta-Level Architecture Support for distributed
                   Objects},
  BookTitle      = {Proceesings of the Fourth International Workshop on
                   Object-Orientation in Operating Systems, 1995.},
  Pages          = {232-241},
  year           = 1995
}

@Article{Bobr77a,
  Author         = {Daniel G. Bobrow and T. Winograd},
  Title          = {An Overview of {KRL}, a Knowledge Representation
                   Language},
  Journal        = {Cognitive Science},
  Volume         = {1},
  Number         = {1},
  Pages          = {3-46},
  keywords       = {misc lang krl knowrep},
  year           = 1977
}

@Article{Wall80a,
  Author         = {P.J.L. Wallis},
  Title          = {External Representations of Objects of User-Defined
                   Type},
  Journal        = {ACM TOPLAS},
  Volume         = {2},
  Number         = {2},
  Pages          = {137-152},
  keywords       = {types olit},
  month          = apr,
  year           = 1980
}

@InCollection{Nguy89b,
  Author         = {G.T Nguyen and D. Rieu},
  Title          = {Schema Evolution in Object-oriented Database Systems},
  BookTitle      = {Data and Knowledge Engineering},
  Publisher      = {?},
  Volume         = {4},
  Pages          = {43-67},
  keywords       = {olit-oodb schema evolution (smc)},
  year           = 1989
}

@Misc{Mull05c,
  Author         = {Muller, Pierre-Alain and Fleurey, Franck and Vojtisek,
                   Didier and Drey, Zo\'e and Pollet, Damien and
                   Fondement, Fr\'ed\'eric and Studer, Philippe and
                   J\'ez\'equel, Jean-Marc},
  Title          = {On Executable Meta-Languages applied to Model
                   Transformations},
  HowPublished   = {Model Transformations In Practice Workshop},
  address        = {Montego Bay, Jamaica},
  annote         = {internationalworkshop},
  month          = {oct},
  year           = 2005
}

@Article{Wall99a,
  Author         = {Malcolm Wallace and Colin Runciman},
  Title          = {{Haskell} and {XML}: Generic Combinators or Type-Based
                   Translation?},
  Journal        = {ACM SIG{\-}PLAN Notices},
  Volume         = {34},
  Number         = {9},
  Pages          = {148-159},
  Note           = {Proceedings of {ICFP}'99},
  month          = sep,
  year           = 1999
}

@InProceedings{Emer84a,
  Author         = {Thomas Emerson},
  Title          = {A Discriminant Metric for Module Cohesion},
  BookTitle      = {Proceedings of the 7th International Conference on
                   Software Engineering (ICSE)},
  year           = 1984
}

@InProceedings{Spoo04a,
  Author         = {S. Alexander Spoon and Olin Shivers},
  Title          = {Dynamic Data Polyvariance Using Source-Tagged Classes},
  BookTitle      = {Proceedings of the Dynamic Languages Symposium'05},
  Editor         = {Roel Wuyts},
  Pages          = {35-48},
  Publisher      = {ACM Digital Library},
  year           = 2005
}

@Article{Buxt83a,
  Author         = {W. Buxton and M.R. Lamb and Dave Sherman and K.C.
                   Smith},
  Title          = {Towards a Comprehensive User Interface Management
                   System},
  Journal        = {Computer Graphics},
  Volume         = {17},
  Number         = {3},
  Pages          = {35-42},
  keywords       = {uilit menulay uims},
  month          = jul,
  year           = 1983
}

@Book{Shar96a,
  Author         = {Subhash Sharma},
  Title          = {Applied Multivariate Techniques},
  Publisher      = {John Wiley},
  keywords       = {clustering},
  year           = 1996
}

@Proceedings{Paep92a,
  Title          = {Proceedings {OOPSLA} '92},
  Editor         = {Andreas Paepcke},
  Volume         = {27},
  Address        = {Vancouver, British Columbia},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla92 oobib(gen)},
  month          = oct,
  year           = 1992
}

@Article{Garl95c,
  Author         = {David Garlan and Dewayne Perry},
  Title          = {Introduction to the Special Issue on Software
                   Architecture},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {4},
  month          = {apr},
  year           = 1995
}

@InProceedings{Masu92a,
  Author         = {Hidehiko Masuhara and Satoshi Matsuoka and Takuo
                   Watanabe and Akinori Yonezawa},
  Title          = {Object-Oriented Concurrent Reflective Languages can be
                   Implemented Efficiently},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {127-144},
  keywords       = {olit-obc abcl oopsla92 binder},
  month          = oct,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla92-abclr2.ps.gz},
  year           = 1992
}

@Article{Gogu86b,
  Author         = {Joseph A. Goguen and Jos\'e Meseguer},
  Title          = {Extensions and Foundations of Object-Oriented
                   Programming},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {153-162},
  keywords       = {olit concepts semantics oopws86},
  month          = oct,
  year           = 1986
}

@InCollection{Lanz05b,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {CodeCrawler--An Extensible and Language Independent 2D
                   and 3D Software Visualization Tool},
  BookTitle      = {Tools for Software Maintenance and Reengineering},
  Publisher      = {Franco Angeli},
  Series         = {RCOST / Software Technology Series},
  Pages          = {74-94},
  Address        = {Milano},
  abstract       = {CodeCrawler is an extensible and language independent
                   software visualization tool. It has been validated in
                   several industrial case studies over the past years.
                   CodeCrawler enables the fast exploration of new
                   visualization ideas. It implements and visualizes
                   polymetric views, visualizations of software enriched
                   with information such as software metrics and other
                   source code semantics. It provides a rich set of views
                   that can be customized using a large set of metrics.
                   While CodeCrawler is mainly targeted at visualizing
                   object-oriented software, in its latest implementation
                   it has become a general information visualization tool.},
  annote         = {articlebook},
  isbn           = {88-464-6396-X},
  keywords       = {scg-pub skipdoi stefPub recast05 jb05 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz05bCCBookChapter.pdf},
  year           = 2005
}

@InProceedings{Ande04a,
  Author         = {Jakob R. Andersen and Lars Bak and Steffen Grarup and
                   Kasper V. Lund and Toke Eskildsen and Klaus Marius
                   Hansen and Mads Torgersen},
  Title          = {Design, Implementation, and Evaluation of the
                   Resilient Smalltalk Embedded Platform},
  BookTitle      = {Proceedings of ESUG International Smalltalk Conference
                   2004},
  keywords       = {oovm resilient},
  month          = sep,
  year           = 2004
}

@Book{Booc95a,
  Author         = {Grady Booch and James Rumbaugh},
  Title          = {Unified Method for Object-Oriented Development Version
                   0.8},
  Publisher      = {Rational Software Corporation},
  keywords       = {olit scglib book},
  year           = 1995
}

@TechReport{Nebb99z,
  Author         = {Robb Nebbe},
  Title          = {{FAMIX} {Ada} language plug-in 2.2},
  Institution    = {University of Bern},
  abstract       = {This document defines a language plug-in for FAMIX,
                   the FAMOOS information exchange model. It extends and
                   interprets the FAMIX core model to cover the essential
                   entities from the Ada programming language.},
  keywords       = {scg-pub skipdoi jb-none olit famoos-techrep snf99},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/FAMIX/Plugins/AdaPlugin2.2.html
                   http://www.iam.unibe.ch/~scg/Archive/famoos/FAMIX/Plugins/AdaPlugin2.2.pdf},
  year           = 1999
}

@InProceedings{Manc99a,
  Author         = {Spiros Mancoridis and Brian S. Mitchell and Y. Chen
                   and E. R. Gansner},
  Title          = {Bunch: A {Clustering} {Tool} for the {Recovery} and
                   {Maintenance} of {Software} {System} {Structures}},
  BookTitle      = {Proceedings of ICSM '99 (International Conference on
                   Software Maintenance)},
  Address        = {Oxford, England},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {Automatic Clustering, Reverse Engineering, Software
                   Re-engineering, Optimization Algorithms},
  year           = 1999
}

@Book{Etie92a,
  Editor         = {D.Etiemble and J.C.Syre},
  Title          = {Proceedings {PARLE}'92},
  Publisher      = {Springer-Verlag},
  Volume         = {605},
  Series         = {LNCS},
  Address        = {Paris, France},
  isbn           = {3-540-55599-4},
  keywords       = {olit parle92 scglib},
  month          = jun,
  year           = 1992
}

@InProceedings{Kers05a,
  Author         = {Mik Kersten and Gail C. Murphy},
  Title          = {Mylar: a degree-of-interest model for IDEs},
  BookTitle      = {AOSD '05: Proceedings of the 4th international
                   conference on Aspect-oriented software development},
  Pages          = {159--168},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1052898.1052912},
  isbn           = {1-59593-042-6},
  location       = {Chicago, Illinois},
  year           = 2005
}

@Article{John98b,
  Author         = {David S. Johnson and Mihalis Yannakakis},
  Title          = {On Generating all Maximal Independent Sets},
  Journal        = {Information Processing Letters},
  Volume         = {27},
  Pages          = {119-123},
  year           = 1998
}

@InProceedings{Schi01a,
  Author         = {Bill N. Schilit and Jonathan Trevor and David M.
                   Hilbert and Tzu Khiau Koh},
  Title          = {m-links: An infrastructure for very small internet
                   devices},
  BookTitle      = {MobiCom '01: Proceedings of the 7th annual
                   international conference on Mobile computing and
                   networking},
  Pages          = {122--131},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/381677.381689},
  isbn           = {1-58113-422-3},
  location       = {Rome, Italy},
  year           = 2001
}

@Article{Bal92a,
  Author         = {H.E. Bal and M.F. Kaashoek and A.S. Tanenbaum},
  Title          = {Orca: {A} Language for Parallel Programming of
                   Distributed Systems},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-18},
  Number         = {3},
  Pages          = {190-205},
  keywords       = {olit-obcl orca obcp},
  month          = mar,
  year           = 1992
}

@InProceedings{Dery96a,
  Author         = {Anne-Marie Dery and St\'ephane Ducasse and Mireille
                   Fornarino},
  Title          = {Inhibition et resynchronisation des contr\^oleurs de
                   dialogue},
  BookTitle      = {Actes d'Interfaces Hommes Machine (IHM'96)},
  annote         = {nationalconference},
  keywords       = {stefPub},
  year           = 1996
}

@Article{Myer97a,
  Author         = {Brad A. Myers and Richard G. McDaniel and Robert C.
                   Miller and Alan S. Ferrency and Andrew Faulring and
                   Bruce D. Kyle and Andrew Mickish and Alex Klimovitski
                   and Patrick Doane},
  Title          = {The Amulet Environment: New Models for Effective User
                   Interface Software Development},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {23},
  Number         = {6},
  Pages          = {347-365},
  month          = jun,
  year           = 1997
}

@Article{Code94a,
  Author         = {W. Codenie and K. {de Hondt} and T. D'Hondt and P.
                   Steyaert},
  Title          = {Agora: message passing as a foundation for exploring
                   {OO} language concepts},
  Journal        = {ACM SIG{\-}PLAN Notices},
  Volume         = {29},
  Number         = {12},
  Pages          = {48-57},
  month          = dec,
  year           = 1994
}

@InProceedings{Dick01a,
  Author         = {William Dickinson and David Leon and Andy Podgurski},
  Title          = {Finding failures by cluster analysis of execution
                   profiles},
  BookTitle      = {Proceedings of the 23rd international conference on
                   Software engineering},
  Pages          = {339-348},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1050-7},
  keywords       = {testing},
  location       = {Toronto, Ontario, Canada},
  year           = 2001
}

@InProceedings{Eide01a,
  Author         = {Eric Eide and Alastair Reid and Matthew Flatt and Jay
                   Lepreau},
  Title          = {Aspect Weaving as Component Knitting: Separating
                   Concerns with Knit},
  BookTitle      = {Workshop on Advanced Separation of Concerns in
                   Software Engineering},
  keywords       = {knit aspect},
  url            = {http://www.cs.utah.edu/flux/papers/knit-icse01-wasc-base.html},
  year           = 2002
}

@Proceedings{Baxt97a,
  Title          = {Fourth Working Conference on Reverse Engineering},
  Editor         = {Ira Baxter, Alex Quilici, Chris Verhoef},
  Publisher      = {IEEE},
  keywords       = {scglib},
  year           = 1997
}

@Article{Lalo94b,
  Author         = {Wilf Lalonde and John Pugh},
  Title          = {{Gathering} {Metric} {Information} using {Metalevel}
                   {Facilities}},
  Journal        = {Journal of Object-Oriented Programming},
  Pages          = {33-37},
  month          = mar,
  year           = 1994
}

@InCollection{Doda94f,
  Author         = {Mahesh Dodani and Chung-Shin Tsai and Siu-Pui Tami Lee},
  Title          = {Flexible TYpe Systems for Object-Oriented Programming},
  BookTitle      = {TOOLS '94 14th on Technology of Object-Oriented
                   Languages and Systems},
  Publisher      = {Prentice-Hall},
  Editor         = {E. Ege and B. Meyer and M. Singh},
  Pages          = {124-136},
  keywords       = {obib(gen) olit-oopl binder},
  year           = 1994
}

@Book{Wall00a,
  Author         = {Larry Wall and Tom Christiansen and Jon Orwant},
  Title          = {Programming Perl},
  Publisher      = {O'Reilly \& Associates, Inc.},
  Edition        = {3rd},
  keywords       = {perl scglib},
  year           = 2000
}

@InProceedings{Lafo90a,
  Author         = {Yves Lafont},
  Title          = {Sequent Calculus and Linear Logic},
  BookTitle      = {Lecture Notes for the 2nd European Summer School in
                   Language, Logic and Information},
  Address        = {Leuven},
  keywords       = {linear-logic binder},
  misc           = {July-Aug.},
  month          = jul,
  year           = 1990
}

@InProceedings{Gord97a,
  Author         = {Andrew D. Gordon and Paul D. Hankin and S. B. Lassen},
  Title          = {Compilation and Equivalence of Imperative Objects},
  BookTitle      = {Proceedings FST+TCS '97},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility pisem},
  month          = dec,
  url            = {http://research.microsoft.com/~adg/Publications/details.html},
  year           = 1997
}

@Misc{Kazm96b,
  Author         = {R. Kazman},
  Title          = {Tool support for Architecture Analysis and Design},
  Note           = {Proceedings of Workshop (ISAW-2) joint Sigsoft},
  pages          = {94-97},
  year           = 1996
}

@InProceedings{Boji00b,
  Author         = {Dragan Bojic and Dusan Velasevic},
  Title          = {A Use-Case Driven Method of Architecture Recovery for
                   Program Understanding and Reuse Reengineering},
  BookTitle      = {Conference on Software Maintenance and Reengineering
                   (CSMR)},
  Pages          = {23-33},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2000.827302},
  isbn           = {0-7695-0546-5},
  year           = 2000
}

@InProceedings{Haye91a,
  Author         = {Barry Hayes},
  Title          = {Using Key Object Opportunism to Collect Old Objects},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {33-46},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Dig05a,
  Author         = {Daniel Dig and Ralph Johnson},
  Title          = {The Role of Refactorings in {API} Evolution},
  BookTitle      = {Proceedings of 21st International Conference on
                   Software Maintenance (ICSM 2005)},
  Pages          = {389--398},
  keywords       = {evolution van},
  month          = sep,
  year           = 2005
}

@MastersThesis{Moon84a,
  Author         = {John Mooney},
  Title          = {Oz: An Object-based System for Implementing Office
                   Information Systems},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis},
  keywords       = {olit-oopl oz ois},
  year           = 1984
}

@InProceedings{AbuG04c,
  Author         = {Nayef Abu-Ghazaleh and Michael J. Lewis and
                   Madhusudhan Govindaraju},
  Title          = {Differential Serialization for Optimized SOAP
                   Performance},
  BookTitle      = {HPDC '04: Proceedings of the 13th IEEE International
                   Symposium on High Performance Distributed Computing
                   (HPDC'04)},
  Pages          = {55--64},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/HPDC.2004.8},
  isbn           = {0-7803-2175-4},
  year           = 2004
}

@InCollection{Card93a,
  Author         = {Luca Cardelli and John C. Mitchell},
  Title          = {Operations on Records},
  BookTitle      = {Theoretical Aspects of Object-Oriented Programming.
                   Types, Semantics and Language Design},
  Publisher      = {MIT Press},
  Editor         = {Carl A. Gunter and John C. Mitchell},
  Pages          = {295-350},
  year           = 1993
}

@InCollection{Parr01a,
  Author         = {Joachim Parrow},
  Title          = {An Introduction to the $\pi$-Calculus},
  BookTitle      = {Handbook of Process Algebra},
  Publisher      = {Elsevier},
  Editor         = {Bergstra and Ponse and Smolka},
  Pages          = {479-543},
  year           = 2001
}

@Article{Tino71a,
  Author         = {Tinoco, jun., Ignacio and Olke C. Uhlenbeck and Mark
                   D. Levine},
  Title          = {Estimation of Secondary Structure in Ribonucleic Acids},
  Journal        = {Nature},
  Volume         = {230},
  Pages          = {362-367},
  keywords       = {dotplot},
  month          = apr,
  year           = 1971
}

@Article{IEEE85a,
  Author         = {{IEEE}},
  Title          = {Special Issue on Visual Programming},
  Journal        = {IEEE Computer},
  Volume         = {18},
  Number         = {8},
  institution    = {IEEE},
  keywords       = {visprog ptyping},
  month          = aug,
  year           = 1985
}

@InProceedings{DiLu02a,
  Author         = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di
                   Penta} and Anna Rita Fasolino},
  Title          = {An Approach to Identify Duplicated Web Pages},
  BookTitle      = {Proceedings of the 26th Annual Computer Software and
                   Application Conference},
  Pages          = {481-486},
  Address        = {Oxford, England},
  Publisher      = {IEEE},
  keywords       = {clones},
  month          = aug,
  year           = 2002
}

@InProceedings{Jurg04a,
  Author         = {J\"{u}rgen Bortolazzi},
  Title          = {Challenges in Automotive Software Engineering},
  BookTitle      = {Proceedings of the 2nd Software Engineering for
                   Automotive Systems Workshop (ICSE'04)},
  Note           = {Invited talk},
  year           = 2004
}

@TechReport{Papa89a,
  Author         = {Michael Papathomas},
  Title          = {Concurrency Issues in Object-Oriented Programming
                   Languages},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  abstract       = {The integration of concurrent and object-oriented
                   programming, although promising, presents problems that
                   have not yet been fully explored. In this paper we
                   attempt to identify issues in the design of concurrent
                   object-oriented languages that must be addressed to
                   achieve a satisfactory integration of concurrency in
                   the object-oriented framework. We consider the
                   approaches followed by object-oriented languages for
                   supporting concurrency and identify six categories of
                   concurrent object-oriented languages. Then, we review
                   several concurrent object-oriented languages and
                   examine the interaction of their concurrency features
                   with their object-oriented features and with
                   object-oriented software construction.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc osg-ftp ood89},
  month          = jul,
  pages          = {207-245},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concurrency.pdf},
  year           = 1989
}

@Article{Shin84a,
  Author         = {K.G. Shin and Yut-Fai Lee},
  Title          = {Evaluation of Error Recovery Blocks Used for
                   Cooperating Processes},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = {6},
  Pages          = {692-700},
  keywords       = {olit-obc recovery reliability},
  month          = nov,
  year           = 1984
}

@InProceedings{Bree89b,
  Author         = {D.E. Breen and P.H. Getto and A.A. Apodaca},
  Title          = {Object-Oriented Programming in a Conventional
                   Programming Environment},
  BookTitle      = {Proceedings of 13th Annual International Computer
                   Software and Applications Conference},
  Pages          = {334-343},
  Address        = {Orlando, FL},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {This paper describes a programming methodology that
                   implements many object-oriented features within a
                   conventional programming environment. The methodology
                   was created during the development of a computer
                   animation system, The Clockworks. The methodology
                   supports such object-oriented features as objects with
                   variables and methods, class hierarchies, variable and
                   method inheritance, object instantiation and message
                   passing. The methodology does not employ any special
                   keywords or language extensions; thus removing the need
                   for a preprocessor or compiler. The methodology has
                   been implemented in a C/Unix environment. This allows
                   the environment and any system developed within it to
                   be ported to a wide variety of computers which support
                   Unix. The methodology provides many object-oriented
                   features and associated benefits. It also provides all
                   of the benefits of a C/Unix environment including
                   portability, a rich variety of development tools, and
                   efficiency.},
  keywords       = {olit},
  month          = sep,
  year           = 1989
}

@Article{Deme98m,
  Author         = {Serge Demeyer and Harald Gall},
  Title          = {Workshop on Object-Oriented Re-engineering ({WOOR}'97)},
  Journal        = {Software Engineering Notes},
  Volume         = {23},
  Number         = {1},
  Pages          = {28-29},
  keywords       = {olit famoos-papunr scg-pub skip-abstract skipdoi
                   toBeChecked snf98 sergedem-papunr jb98},
  month          = jan,
  publisher      = {ACM},
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/ESEC97/WOOR97rprt.html},
  year           = 1998
}

@InProceedings{Sahr97a,
  Author         = {Houari A. Sahraoui and Walc\'elio Melo and Hakim
                   Lounis and Francois Dumont},
  Title          = {Applying {Concept} {Formation} {Methods} to {Object}
                   {Identification} in {Procedural} {Code}},
  BookTitle      = {Proceedings of ASE '97 (12th International Conference
                   on Automated Software Engineering)},
  Pages          = {210-218},
  Organization   = {IEEE},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  month          = nov,
  year           = 1997
}

@Article{Gott96a,
  Author         = {Georg Gottlob and Michael Schrefl and Brigitte
                   R{\"o}ck},
  Title          = {Extending Object-Oriented Systems with Roles},
  Journal        = {ACM Transactions on Information Systems},
  Volume         = {14},
  Number         = {3},
  Pages          = {268-296},
  month          = jul,
  year           = 1996
}

@InProceedings{Trac93a,
  Author         = {Will Tracz},
  Title          = {Parameterized Programming in {LILEANNA}},
  BookTitle      = {Proceedings of the {ACM}/{SIGAPP} Symposium on Applied
                   Computing},
  Editor         = {Ed Deaton and K. M. George and Hal Berghel and George
                   Hedrick},
  Pages          = {77-86},
  Address        = {Indianapolis, IN},
  Publisher      = {ACM Press},
  month          = feb,
  year           = 1993
}

@PhdThesis{Meij93a,
  Author         = {Theo Dirk Meijler},
  Title          = {User-level Integration of Data and Operation Resources
                   by means of a Self-descriptive Data Model},
  School         = {Erasmus University Rotterdam},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit composition},
  month          = sep,
  year           = 1993
}

@Article{Klas90b,
  Author         = {Wolfgang Klas and Ehrich J. Neuhold and Michael
                   Schrefl},
  Title          = {Metaclasses in {VODAK} and their Application in
                   Database Integration},
  Journal        = {Arbeitpapiere der GMD},
  Volume         = {?},
  Number         = {462},
  year           = 1990
}

@InCollection{Schn01b,
  Author         = {Jean-Guy Schneider and Markus Lumpe and Oscar
                   Nierstrasz},
  Title          = {Agent Coordination via Scripting Languages},
  BookTitle      = {Coordination of Internet Agents},
  Publisher      = {Springer-Verlag},
  Editor         = {Andrea Omicini and Franco Zambonelli and Matthias
                   Klusch and Robert Tolksdorf},
  Pages          = {153-175},
  abstract       = { In this chapter, it is not our goal to focus on basic
                   coordination models and abstractions of scripting
                   languages alone. We would like to view coordination
                   from a different perspective, set the relation to other
                   approaches which aim at separating independent concerns
                   into deployable entities, in particular to
                   component-based software development, and discuss the
                   influence of scripting on building applications as
                   assemblies of these entities. Furthermore, we would
                   like to stress the fact that scripting languages do not
                   only allow us to coordinate distributed agents, but
                   also to implement the agents themselves as scripts. },
  isbn           = {3-540-41613-7},
  keywords       = {scg-pub skipdoi scripting glue architectures jb01
                   snf02},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Schn01bAgentCoordination.pdf},
  year           = 2001
}

@InProceedings{Lewe98a,
  Author         = {Claus Lewerentz and Frank Simon},
  Title          = {{A} {Product} {Metrics} {Tool} {Integrated} into a
                   {Software} {Development} {Environment}},
  BookTitle      = {Object-Oriented Technology Ecoop '98 Workshop Reader},
  Volume         = {1543},
  Series         = {LNCS},
  Pages          = {256-257},
  year           = 1998
}

@TechReport{Brin86a,
  Author         = {Ed Brinksma and Giuseppe Scollo},
  Title          = {Formal Notions of Implementation and Conformance in
                   {LOTOS}},
  Institution    = {Twente University of technology},
  Type           = {Memorandum},
  Number         = {INF-86-13},
  keywords       = {pcalc equivalence lotos binder},
  month          = dec,
  year           = 1986
}

@InProceedings{Vasa05a,
  Author         = {Rajesh Vasa and Jean-Guy Schneider and Clinton
                   Woodward and Andrew Cain},
  Title          = {Detecting Structural Changes in Object-Oriented
                   Software Systems},
  BookTitle      = {Proceedings of 4th International Symposium on
                   Empirical Software Engineering (ISESE '05)},
  Editor         = {Verner, June and Travassos, Guilherme H.},
  Pages          = {463--470},
  Address        = {Noosa Heads, Australia},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {It is an increasingly accepted fact that software
                   development is a non-linear activity with inherently
                   feedback driven processes. In such a development
                   environment, however, it is important that major
                   structural changes in the design and/or architecture of
                   a software system under development are introduced with
                   care and documented accordingly. In order to give
                   developers appropriate tools that can identify such
                   changes, we need to have a good understanding how
                   software systems evolve over time so that evolutionary
                   anomalies can be automatically detected. In this paper,
                   we present recurring high-level structural and
                   evolutionary patterns that we have observed in a number
                   of public-domain object-oriented software systems and
                   define a simple predictive model that can aid
                   developers in detecting structural changes and, as a
                   consequence, improve the underlying development
                   processes.},
  issn_isbn      = {ISBN 0-7803-9507-7},
  keywords       = {olit selit metrics evolution isese05 cecses-pub},
  location       = {Privat},
  month          = nov,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/isese05.pdf
                   http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=32923&arnumber=1541855&count=50&index=46},
  year           = 2005
}

@InCollection{Weze90a,
  Author         = {C.D. Wezeman},
  Title          = {The {CO}-{OP} Method for Compositional Derivation of
                   Canonical Testers},
  BookTitle      = {Protocol Specification, Testing and Verification, IX},
  Publisher      = {North Holland},
  Editor         = {E. Brinksma and G. Scollo and C.A. Vissers},
  keywords       = {pcalc equivalence lotos},
  year           = 1990
}

@Article{Fuji84a,
  Author         = {L. Fujitani},
  Title          = {Laser Optical Disk: The Coming Revolution in On-Line
                   Storage},
  Journal        = {CACM},
  Volume         = {27},
  Number         = {6},
  Pages          = {546-554},
  keywords       = {misc hardware},
  month          = jun,
  year           = 1984
}

@InProceedings{Male96b,
  Author         = {J. Malenfant and M. Jacques and F.-N. Demers},
  Title          = {A tutorial on behavioral reflection and its
                   implementation},
  BookTitle      = {Proceedings of Reflection},
  Pages          = {1-20},
  url            = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html},
  year           = 1996
}

@TechReport{Yang89a,
  Author         = {Wuu Yang and Susan Horwitz and Thomas Reps},
  Title          = {Detecting Program Components with Equivalent Behaviors},
  Institution    = {University of Wisconsin--Madison},
  Number         = {CS-TR-1989-840},
  url            = {citeseer.ist.psu.edu/yang89detecting.html},
  year           = 1989
}

@Article{Huda92a,
  Author         = {Paul Hudak and Joseph H. Fasel},
  Title          = {A Gentle Introduction to Haskell},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {27},
  Number         = {5},
  Pages          = {T1-T53},
  keywords       = {fpl haskell binder (shelf)},
  month          = may,
  year           = 1992
}

@TechReport{Lasz93a,
  Author         = {Gregor von Laszewski},
  Title          = {A {Collection} of {Graph} {Partitioning} {Algorithms}:
                   {Simulated} {Annealing}, {Simulated} {Tempering},
                   {Kernighan} {Lin}, {Two} {Optimal}, {Graph}
                   {Reduction}, {Bisection}},
  Institution    = {Northeast Parallel Architectures Center, Syracuse
                   University},
  Number         = {SCCS 477},
  Address        = {Syracuse, New York},
  keywords       = {clustering},
  year           = 1993
}

@InProceedings{Meye89a,
  Author         = {Bertrand Meyer},
  Title          = {The New Culture of Software Development: Reflections
                   on the Practice of Object-Oriented Design},
  BookTitle      = {Proceedings TOOLS '89},
  Pages          = {13-23},
  keywords       = {olit tools89},
  month          = nov,
  year           = 1989
}

@Misc{Stin06b,
  Author         = {Serge Stinckwich and Hilaire Fernandes},
  Title          = {Nos premi\`eres classes en Smalltalk},
  annote         = {notrefereed},
  journal        = {Linux Magazine},
  month          = jun,
  number         = 84,
  pages          = {18-23},
  volume         = 1,
  year           = 2006
}

@Article{Mens02d,
  Author         = {Tom Mens},
  Title          = {A State-of-the-art Survey on Software Merging},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {5},
  Pages          = {449-462},
  month          = may,
  year           = 2002
}

@InProceedings{Halb87a,
  Author         = {Daniel C. Halbert and Patrick D. O'Brien},
  Title          = {Using Types and Inheritance in Object-Oriented
                   Languages},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {20-31},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Danf94b,
  Author         = {Scott Danforth and Ira R. Forman},
  Title          = {Derived Metaclass in {SOM}},
  BookTitle      = {Proceedings of TOOLS EUROPE '94},
  Pages          = {63-73},
  year           = 1994
}

@Proceedings{Milo971a,
  Title          = {EDOC '97 Proceedings},
  Editor         = {Zoran Milosevic},
  Publisher      = {IEEE},
  isbn           = {0-8186-8031-8},
  keywords       = {olit scglib edoc97 new-entry},
  year           = 1997
}

@Article{ACM95b,
  Author         = {{ACM}},
  Title          = {Issues and Challenges in {ATM} Networks},
  Journal        = {Communications of the ACM},
  Volume         = {38},
  Number         = {2},
  institution    = {ACM},
  keywords       = {scglib},
  month          = feb,
  year           = 1995
}

@InProceedings{Gsch03a,
  Author         = {Thomas Gschwind and Johann Oberleitner},
  Title          = {Improving Dynamic Data Analysis with Aspect-Oriented
                   Programming},
  BookTitle      = {Proceedings of CSMR 2003},
  Publisher      = {IEEE Press},
  annote         = {internationalconference},
  year           = 2003
}

@InProceedings{Dwye97a,
  Author         = {Matthew B. Dwyer and Virgil Wallentine},
  Title          = {Object-Oriented Coordination Abstractions for Parallel
                   Software},
  BookTitle      = {Proceedings of the International Conference on
                   Parallel and Distributed Processing Techniques and
                   Applications (PDPTA '97)},
  abstract       = {Abstraction is a fundamental concept in software
                   engineering. In this paper, we describe how
                   object-oriented technology can be applied to provide a
                   class of abstractions, called coordination
                   abstractions, that can simplify the construction of
                   parallel software. Coordination abstractions capture
                   communication, synchronization and topological
                   information about parallel computations. Abstractions
                   can be defined that provide support for a surprisingly
                   broad range of parallel applications which share a
                   common underlying coordination structure. We
                   demonstrate this by describing the design and
                   implementation of a coordination abstraction in {Java}
                   and its application to the solution of selected
                   parallel computing problems.},
  keywords       = {coordination},
  month          = jun,
  url            = {http://www.cis.ksu.edu/~dwyer/papers/ooca.ps},
  year           = 1997
}

@MastersThesis{Gael96,
  Author         = {Markus Gaelli},
  Title          = {Integration von {Neuronalen} {Netzen} in
                   {Mathematische} {Prozessmodelle}: Dolphin},
  School         = {Department of Computer Science, FAU-University of
                   Erlangen-N{\"u}rnberg},
  Type           = {diploma thesis},
  keywords       = {artificial neural networks, Smalltalk, iterative roots},
  misc           = {gaelli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael96dolphin.pdf},
  year           = 1996
}

@Misc{ZOPE,
  Title          = {{Zope}},
  Note           = {http://www.zope.org},
  key            = {ZOPE}
}

@Book{Silb97a,
  Author         = {A. Silberschatz and H. Korth and S. Sudarshan},
  Title          = {Database System Concepts},
  Publisher      = {WCB/McGraw-Hill},
  isbn           = {0-07-044756-X},
  keywords       = {databases scglib},
  year           = 1997
}

@InProceedings{Vain06a,
  Author         = {Daniel Vainsencher and Andrew P. Black},
  Title          = {A Pattern Language for Extensible Program
                   Representation},
  BookTitle      = {Proceedings of PLoP 2006},
  year           = 2006
}

@Article{Thom98a,
  Author         = {Rob Thomsett},
  Title          = {The Year 2000 Bug: a Forgotten Lesson},
  Journal        = {IEEE Software},
  Volume         = {15},
  Number         = {4},
  Pages          = {91-93,95},
  keywords       = {oorp},
  month          = jul,
  publisher      = {IEEE},
  year           = 1998
}

@Proceedings{Godi01a,
  Title          = {LMO 2001: L'Objet, logiciel, bases de donnees, reseaux},
  Editor         = {Robert Godin and Isabelle Borne},
  keywords       = {scglib},
  year           = 2001
}

@InProceedings{Roth99a,
  Author         = {Gregg Rothermel and Roland H. Untch and Chengyun Chu
                   and Mary Jean Harrold},
  Title          = {Test Case Prioritization: An Empirical Study},
  BookTitle      = {Proceedings ICSM 1999},
  Pages          = {179-188},
  keywords       = {testing},
  month          = sep,
  year           = 1999
}

@Book{Kueh99b,
  Author         = {Thomas Kuehne},
  Title          = {A Functional Pattern System for Object-Oriented Design},
  Publisher      = {Verlag Dr. Kovac},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{John86a,
  Author         = {Ralph E. Johnson},
  Title          = {Type-Checking {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {315-321},
  keywords       = {olit-oopl smalltalk types oopsla86 oobib(types)},
  month          = nov,
  year           = 1986
}

@Article{Bare83a,
  Author         = {H. Barendregt and M. Coppo and M. Dezani-Ciancaglini},
  Title          = {A filter lambda model and the completeness of type
                   assignment},
  Journal        = {Journal of Symbolic Logic},
  Volume         = {48},
  Number         = {4},
  Pages          = {931-940},
  keywords       = {types intersection (bcp)},
  year           = 1983
}

@InProceedings{Haer92a,
  Author         = {Martin Haertig and Klaus R. Dittrich},
  Title          = {An Object-Oriented Integration Framework for Building
                   Heterogeneous Database Systems},
  BookTitle      = {Proc. of the IFIP DS-5 Conf. on Semantics of
                   Interoperable Database Systems},
  Address        = {Lorne, Australia},
  keywords       = {olit-db zoo/ifi},
  month          = nov,
  year           = 1992
}

@InProceedings{Bake06,
  Author         = {Jason Baker and Antonio Cunei and Chapman Flack and
                   Filip Pizlo and Marek Prochazka and Jan Vitek and
                   Austin Armbuster and Edward Pla and David Holmes},
  Title          = {A Real-time {J}ava Virtual Machine for Avionics},
  BookTitle      = {Proceedings of the 12th IEEE Real-Time and Embedded
                   Technology and Applications Symposium (RTAS 2006)},
  Publisher      = {IEEE Computer Society},
  year           = 2006
}

@Book{Your79b,
  Author         = {E. Yourdon and L. Constantine},
  Title          = {Structured Design: Fundamentals of a Discipline of
                   Computer Programs and System Design},
  Publisher      = {Yourdon Press/Prentice Hall},
  year           = 1979
}

@PhdThesis{Schn99a,
  Author         = {Jean-Guy Schneider},
  Title          = {Components, Scripts, and Glue: {A} conceptual
                   framework for software composition},
  School         = {University of Bern, Institute of Computer Science and
                   Applied Mathematics},
  Type           = {Ph.{D}. Thesis},
  abstract       = {The last decade has shown that object-oriented
                   technology alone is not enough to cope with the rapidly
                   changing requirements of present-day applications.
                   Typically, objectoriented methods do not lead to
                   designs that make a clear separation between
                   computational and compositional aspects.
                   Component-based systems, on the other hand, achieve
                   flexibility by clearly separating the stable parts of
                   systems (i.e. the components) from the specification of
                   their composition. Components are black-box entities
                   that encapsulate services behind well-defined
                   interfaces. The essential point is that components are
                   not used in isolation, but according to a software
                   architecture which determines the interfaces that
                   components may have and the rules governing their
                   composition. A component, therefore, cannot be
                   separated from a component framework. Naturally, it is
                   not enough to have components and frameworks, but one
                   needs a way to plug components together. However, one
                   of the main problems with existing languages and
                   systems is that there is no generally accepted
                   definition of how components can be composed. In this
                   thesis, we argue that the flexibility and adaptability
                   needed for component-based applications to cope with
                   changing requirements can be substantially enhanced if
                   we do not only think in terms of components, but also
                   in terms of architectures, scripts, and glue.
                   Therefore, we present a conceptual framework for
                   componentbased software development incorporating the
                   notions of components and frameworks, software
                   architectures, glue, as well as scripting and
                   coordination, which allows for an algebraic view of
                   software composition. Furthermore, we define the FORM
                   calculus, an offspring of the asynchronous Pi-calculus,
                   as a formal foundation for a composition language that
                   makes the ideas of the conceptual framework concrete.
                   The FORM calculus replaces the tuple communication of
                   the Pi-calculus by the communication of forms (or
                   extensible records). This approach overcomes the
                   problem of position-dependent arguments, since the
                   contents of communications are now independent of
                   positions and, therefore, makes it easier to define
                   flexible and extensible abstractions. We use the FORM
                   calculus to define a (meta-level) framework for
                   concurrent, objectoriented programming and show that
                   common object-oriented programming abstractions such as
                   instance variables and methods, different method
                   dispatch strategies as well as synchronization are most
                   easily modelled when class metaobjects are explicitly
                   reified as first-class entities and when a
                   compositional view of object-oriented abstractions is
                   adopted. Finally, we show that both, polymorphic form
                   extension and restriction are the basic composition
                   mechanisms for forms and illustrate that they are the
                   key concepts for defining extensible and adaptable,
                   hence reusable higher-level compositional abstractions.},
  keywords       = {scg-pub skipdoi scg-phd pil olit pi glue piccola snf99
                   scg-coord-99 jb99 contract-types},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/schneider-phd.pdf},
  year           = 1999
}

@PhdThesis{Nier84a,
  Author         = {Oscar Nierstrasz},
  Title          = {Message Flow Analysis},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {Ph.{D}. Thesis},
  abstract       = {A message management system enables its users to
                   automatically process messages. Procedures associated
                   with a workstation may scan incoming mail, perform some
                   routine processing and possibly forward the mail. The
                   global properties of such systems may be far from
                   obvious when large numbers of procedures are present.
                   We attempt to gain insight into global behaviour by
                   studying "message flow". We do so by partitioning
                   message domains into state-spaces, and analyzing the
                   state transitions effected by procedures. Message flow
                   for messages of a given type can thus be represented by
                   a finite automaton whose states are the message states.
                   The finite automata for the various message types can
                   be "welded together" to form a Petri net that
                   accurately captures both the message flow for
                   individual message types and the coordination by
                   procedures of messages of different types. The model is
                   useful for obtaining a descriptive analysis of
                   behaviour, and for analyzing interesting behaviour such
                   as blocking, deadlock, "message loops" and "procedure
                   loops". In addition we present some techniques useful
                   for detecting message loops and procedure loops at run
                   time.},
  keywords       = {oislit skipdoi mail modeling},
  number         = {CSRI Technical Report #165},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier84aPhD.pdf},
  year           = 1984
}

@Article{Kapp89a,
  Author         = {Gerti Kappel and Oscar Nierstrasz},
  Title          = {Prototyping in einer objektorientierten
                   Entwicklungsumgebung},
  Journal        = {Handbuch der Modernen Datenverarbeitung},
  Volume         = {145},
  Pages          = {116-125},
  abstract       = {Prototyping von Software ist eine Entwurfstechnik, die
                   durch einen zyklischen Entwurfsproze{\ss} und durch die
                   rasche Entwicklung von operationalen Systemen "bessere"
                   Software, im Sinn von zuverl\"assiger und den
                   Anforderungen entsprechend, erzeugen hilft.
                   Objektorientierte Programmierung ist eine
                   Programmiertechnik, die durch die Wiederverwendung
                   bereits existierender Softwareobjekte ausgezeichnet
                   ist. Die wichtigsten Mechanismen in objektorientierten
                   Sprachen zur Wiederverwendung sind die (mehrfache)
                   Vererbung und die Instantiierung von Objektklassen.
                   Dabei zeigt sich, da{\ss} die objektorientierte
                   Programmierung nicht nur verschiedene in der Literatur
                   bekannte Prototypingans\"atze unterst\"utzt, sondern
                   auch da{\ss} Prototyping ein inh\"arentes Konzept im
                   objektorientierten Software Lifecycle darstellt. Welche
                   Werkzeuge und Entwicklungsumgebungen ben\"otigt werden,
                   um einen objektorientierten Prototypingansatz Realit
                   \"at werden zu lassen, wird diskutiert.},
  annote         = {invited},
  keywords       = {olit skipdoi osg ood89},
  month          = jan,
  publisher      = {Forkel-Verlag},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Kapp89aPrototyping.pdf},
  year           = 1989
}

@Book{Leve95a,
  Author         = {Robert Levey},
  Title          = {Reengineering Cobol With Objects},
  Publisher      = {McGraw-Hill},
  keywords       = {scglib},
  year           = 1995
}

@InProceedings{Unga95a,
  Author         = {David Ungar},
  Title          = {Annotating Objects for Transport to Other Worlds},
  BookTitle      = {Proceedings OOPSLA '95},
  Pages          = {73-87},
  keywords       = {ioom-prototype},
  month          = oct,
  year           = 1985
}

@Book{Holm95b,
  Author         = {Jim Holmes},
  Title          = {Object-Oriented Compiler Construction},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-192071-5},
  keywords       = {compiler oobib(gen) book scglib},
  year           = 1995
}

@InProceedings{Brue92a,
  Author         = {Bernd Bruegge and Jim Blythe and Jeffrey Jackson and
                   Jeff Shufelt},
  Title          = {Object-Oriented System Modeling with {OMT}},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {359-376},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@TechReport{Cons92a,
  Author         = {Panos Constantopoulos and Matthias Jarke and John
                   Mylopoulos and Yannis Vassiliou},
  Title          = {The Software Information Base: {A} Server for Reuse},
  Institution    = {Foundation of Research and Technology --- Hellas},
  Type           = {ITHACA report},
  Number         = {FORTH.92.E2.1},
  Address        = {Iraklion, Crete},
  keywords       = {olit-ithaca sib},
  month          = jan,
  year           = 1992
}

@Article{Wild03a,
  Author         = {Norman Wilde and Michelle Buckellew and Henry Page and
                   Vaclav Rajlich and LaTreva Pounds},
  Title          = {A Comparison of Methods for Locating Features in
                   Legacy Software},
  Journal        = {Journal of Systems and Software},
  Volume         = {65},
  Number         = {2},
  Pages          = {105--114},
  address        = {New York, NY, USA},
  doi            = {http://dx.doi.org/10.1016/S0164-1212(02)00052-3},
  issn           = {0164-1212},
  publisher      = {Elsevier Science Inc.},
  year           = 2003
}

@InProceedings{Stey94a,
  Author         = {Patrick Steyaert and Koen De Hondt and Serge Demeyer
                   and Marleen De Molder},
  Title          = {A Layered Approach to Dedicated Application Builders
                   Based on Application Frameworks},
  BookTitle      = {Proceedings of the 1994 International Conference on
                   Object-Oriented Information Systems (OOIS '94)},
  Editor         = {D. Patel and Y. Sun and S. Patel},
  Pages          = {252-265},
  Publisher      = {Springer-Verlag},
  abstract       = {In this paper we investigate what is needed to make
                   user interface builders incrementally refinable. The
                   need for dedicated user interface builders is motivated
                   by drawing a parallel with programming language design
                   and object-oriented application frameworks. We show
                   that reflection techniques borrowed from the
                   programming language community can be successfully
                   applied to make user interface builders incrementally
                   refinable.},
  keywords       = {olit oois94 applflab mop sergedem-papref},
  url            = {http://www.iam.unibe.ch/~demeyer/Stey94a/
                   http://progwww.vub.ac.be/papers/paperquery.html
                   ftp://progftp.vub.ac.be/tech_report/1994/vub-prog-tr-94-06.ps.Z},
  year           = 1994
}

@Article{Parn72a,
  Author         = {David L. Parnas},
  Title          = {A Technique for Software Module Specification with
                   Examples},
  Journal        = {CACM},
  Volume         = {15},
  Number         = {5},
  Pages          = {330-336},
  doi            = {http://doi.acm.org/10.1145/361598.361623},
  keywords       = {olit specification data abstraction},
  month          = may,
  year           = 1972
}

@Article{Beck98a,
  Author         = {Kent Beck and Erich Gamma},
  Title          = {Test Infected: Programmers Love Writing Tests},
  Journal        = {Java Report},
  Volume         = {3},
  Number         = {7},
  Pages          = {51-56},
  keywords       = {olit testing JUnit oorp},
  url            = {http://members.pingnet.ch/gamma/junit.htm},
  year           = 1998
}

@Article{Simo02b,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 2: The
                   Scratch-Built Typechecker},
  Journal        = {Journal of Object Technology},
  Volume         = {1},
  Number         = {2},
  Pages          = {47-54},
  keywords       = {ioom-types},
  misc           = {July-August},
  month          = jul,
  url            = {http://www.jot.fm/issues/issue_2002_07/column4},
  year           = 2002
}

@Article{Nava01a,
  Author         = {Gonzalo Navarro},
  Title          = {A guided tour to approximate string matching},
  Journal        = {ACM Computing Surveys},
  Volume         = {33},
  Number         = {1},
  Pages          = {31-88},
  url            = {citeseer.ist.psu.edu/navarro99guided.html},
  year           = 2001
}

@PhdThesis{Dalz99b,
  Author         = {Silvano Dal-Zilio},
  Title          = {Le calcul bleu: types et objects},
  School         = {Universit{\'e} de Nice --- Sophia Antipolis},
  Type           = {Ph.{D}. Thesis},
  Note           = {In french},
  month          = jul,
  year           = 1999
}

@Article{Klas90a,
  Author         = {Wolfgang Klas and Ehrich J. Neuhold and Michael
                   Schrefl},
  Title          = {Using an Object-Oriented Approach to Model Multimedia
                   Data},
  Journal        = {Computer Communications},
  Volume         = {13},
  Number         = {4},
  Pages          = {204-216},
  Note           = {Most important reference to Klas \& Neuhold},
  month          = may,
  year           = 1990
}

@Book{Wiss90a,
  Author         = {P. Wisskirchen},
  Title          = {Object-Oriented Graphics},
  Publisher      = {Springer-Verlag},
  Address        = {Heidelberg},
  keywords       = {olit graphics},
  year           = 1990
}

@InProceedings{Klei99b,
  Author         = {Mark H. Klein and Rick Kazman and Leonard J. Bass and
                   S. Jeromy Carri{\`e}re and Mario Barbacci and Howard F.
                   Lipson},
  Title          = {Attribute-Based Architecture Styles},
  BookTitle      = {WICSA},
  Pages          = {225-244},
  year           = 1999
}

@Book{Mazz94a,
  Author         = {C. Mazza and J. Fairclough and B. Meltron and D. de
                   Pablo and A. Scheffer and R. Stevens},
  Title          = {Software Engineering Standards},
  Publisher      = {Prentice Hall},
  Address        = {Hertfordshire},
  keywords       = {fca},
  year           = 1994
}

@InProceedings{Sart06a,
  Author         = {Kamran Sartipi and Lingdong Ye and Hossein Safyallah},
  Title          = {Alborz: An Interactive Toolkit to Extract Static and
                   Dynamic Views of a Software System},
  BookTitle      = {Proceedings of the 14th IEEE International Conference
                   on Program Comprehension (ICPC'06)},
  year           = 2006
}

@Article{Stev74a,
  Author         = {W. P. Stevens and G. J. Myers and L. L. Constantine},
  Title          = {Structured Design},
  Journal        = {IBM Systems Journal},
  Volume         = {13},
  Number         = {2},
  Pages          = {115--139},
  year           = 1974
}

@InProceedings{Meta96a,
  Author         = {Daniel Le M{\'e}tayer},
  Title          = {Software architecture styles as graph grammars},
  BookTitle      = {{SIGSOFT}'96: Proceedings of the Fourth {ACM}
                   {SIGSOFT} Symposium on the Foundations of Software
                   Engineering},
  Editor         = {David Garlan},
  Pages          = {15-23},
  Publisher      = {ACM Press},
  year           = 1996
}

@InProceedings{Ivko02a,
  Author         = {Igor Ivkovic and Michael Godfrey},
  Title          = {Architecture Recovery of Dynamically Linked
                   Applications: A Case Study},
  BookTitle      = {In Proceedings of the 10th International Workshop on
                   Program Comprehension 2002 (IWPC 2002)},
  Address        = {Paris, France},
  month          = jun,
  year           = 2002
}

@PhdThesis{Deri97a,
  Author         = {Luca Deri},
  Title          = {A Component-based Architecture for Open, Independently
                   Extensible Distributed Systems},
  School         = {University of Bern},
  Type           = {Ph.{D}. Thesis},
  keywords       = {snf-none olit scg-pub skipdoi skip-abstract
                   toBeChecked scg-phd jb97},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/deri-phd.pdf},
  year           = 1997
}

@Proceedings{Somm93a,
  Title          = {{Proceedings of ESEC '93}},
  Editor         = {Ian Sommerville and Manfred Paul},
  Volume         = {717},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-57209-0},
  keywords       = {esec93 book scglib},
  year           = 1993
}

@Book{Dybv87a,
  Author         = {R. Kent Dybvig},
  Title          = {The {SCHEME} Programming Language},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-791864-X},
  keywords       = {scheme oolit-oopl oobib(oopl) book scglib},
  year           = 1987
}

@PhdThesis{Carl98a,
  Author         = {Magnus Carlsson and Thomas Hallgren},
  Title          = {Fudgets --- Purely Functional Processes with
                   applications to Graphical User Interfaces},
  School         = {Chalmers University of Technology},
  Address        = {G\"oteborg, Sweden},
  year           = 1998
}

@Book{Vine97a,
  Author         = {G\"unther Vinek},
  Title          = {Objektorientierte Softwareentwicklung mit Smalltalk},
  Publisher      = {Springer},
  keywords       = {smalltalk scglib},
  year           = 1997
}

@Article{Conw68a,
  Author         = {Melvin E. Conway},
  Title          = {How do committees invent?},
  Journal        = {Datamation},
  Volume         = {14},
  Number         = {4},
  Pages          = {28-31},
  keywords       = {oorp},
  month          = apr,
  year           = 1968
}

@InProceedings{Kars93a,
  Author         = {Alain Karsenty and Michel Beaudouin-Lafon},
  Title          = {An algorithm for distributed groupware Applications},
  BookTitle      = {Proceeding of ICDCS '93 Intyernational Conference on
                   Distributed Computing Systems},
  Editor         = {IEEE},
  month          = may,
  year           = 1993
}

@Article{Jaas95a,
  Author         = {Ari Jaaski},
  Title          = {Implementing Interactive Applications in {C++}},
  Journal        = {Software Practice and Experience},
  Volume         = {25},
  Number         = {3},
  Pages          = {271-289},
  month          = mar,
  year           = 1995
}

@Book{Klei99a,
  Author         = {Gary Klein},
  Title          = {Sources of Power --- How People Make Decisions},
  Publisher      = {Addison Wesley},
  isbn           = {0-262-61146-5},
  keywords       = {scglib},
  year           = 1999
}

@Article{Beer90b,
  Author         = {Catriel Beeri},
  Title          = {A Formal Approach to Object-Oriented Databases},
  Journal        = {Data and Knowledge Engineering},
  Volume         = {5},
  Pages          = {353-382},
  abstract       = {The paper reports on efforts to develop a formal
                   framework that contains most features found in current
                   object oriented database systems. The framework
                   contains two parts. The first is a structural object
                   model, including concepts such as structured objects,
                   identity, and some form of inheritance. For this model,
                   the paper explains the distinction between values and
                   abstract objects, describes a system as a directed
                   graph, and discusses declarative languages. The second
                   part deals with higher-order concepts, such as classes
                   and functions as data, methods, and inheritance. This
                   part is a sketch, and leaves many issues unresolved.
                   Throughout the paper, the emphasis is on logic-oriented
                   modeling.},
  keywords       = {olit-oodb binder (smc)},
  publisher      = {North-Holland},
  year           = 1990
}

@InProceedings{Brit95a,
  Author         = {F. {Brito e Abreu} and M. Goulao and R. Esteves},
  Title          = {Toward the design quality evaluation of
                   object-oriented software systems},
  BookTitle      = {Proc. 5th Int'l Conf. Software Quality},
  Pages          = {44-57},
  month          = oct,
  year           = 1995
}

@InProceedings{Fusa98a,
  Author         = {P. Fusaro and M. Tortorella and G. Visaggio},
  Title          = {REP --- chaRacterizing and Exploting Process
                   Components: Results of Experimentation},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {20-30},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Flor97a,
  Author         = {Gert Florijn and Marco Meijers and Pieter van Winsen},
  Title          = {Tool Support for Object-Oriented Patterns},
  BookTitle      = {Proceedings ECOOP '97},
  Editor         = {Mehmet Aksit and Satoshi Matsuoka},
  Volume         = 1241,
  Series         = {LNCS},
  Pages          = {472-495},
  Address        = {Jyvaskyla, Finland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop97proc oorp},
  month          = jun,
  year           = 1997
}

@Unpublished{Abad94a,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {A Theory of Primitive Objects: Untyped and First-Order
                   Systems},
  Note           = {Digital Equipment Corporation, Systems Research Center},
  keywords       = {olit binder},
  type           = {Draft},
  year           = 1994
}

@Book{Burn87a,
  Author         = {A. Burns and A.M. Lister and A.J. Wellings},
  Title          = {A Review of Ada Tasking},
  Publisher      = {Springer-Verlag},
  Volume         = {262},
  Series         = {LNCS},
  keywords       = {plang ada},
  year           = 1987
}

@InProceedings{Muel99a,
  Author         = {M{\"u}ller, P. and Poetzsch-Heffter, A.},
  Title          = {Universes: A Type System for Controlling
                   Representation Exposure},
  BookTitle      = {Programming Languages and Fundamentals of Programming},
  Editor         = {Poetzsch-Heffter, A. and Meyer, J.},
  Organization   = {Fernuniversit\"at Hagen},
  year           = 1999
}

@InProceedings{Smit83a,
  Author         = {Reid G. Smith},
  Title          = {Strobe: Support for Structured Object Knowledge
                   Representation},
  BookTitle      = {Proceedings of the Eighth International Joint
                   Conference on Artificial Intelligence},
  Volume         = {2},
  Pages          = {855-858},
  keywords       = {olit-oopl strobe lisp},
  month          = aug,
  year           = 1983
}

@InProceedings{Komo01b,
  Author         = {Raghavan Komondoor and Susan Horwitz},
  Title          = {Using slicing to identify duplication in source code},
  BookTitle      = {Proceedings of the 8th International Symposium on
                   Static Analysis (SAS)},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {clones},
  month          = jul,
  url            = {http://www.cs.wisc.edu/~raghavan/sas01.pdf},
  year           = 2001
}

@InProceedings{DeMi87a,
  Author         = {Linda G. DeMichiel and Richard P. Gabriel},
  Title          = {The {Common} {Lisp} Object System: An Overview},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {151-170},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl clos ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Cost06a,
  Author         = {Pascal Costanza and Robert Hirschfeld and Wolfgang De
                   Meuter},
  Title          = {Efficient Layer Activation for Switching
                   Context-dependent Behavior},
  BookTitle      = {Joint Modular Languages Conference 2006 (JMLC2006)},
  Series         = {LNCS},
  Address        = {Oxford, England},
  Publisher      = {Springer},
  keywords       = {cop-lit},
  month          = sep,
  url            = {http://p-cos.net/documents/context-switch.pdf},
  year           = 2006
}

@Article{Lanz03d,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {Polymetric Views---A Lightweight Visual Approach to
                   Reverse Engineering},
  Journal        = {Transactions on Software Engineering (TSE)},
  Volume         = {29},
  Number         = {9},
  Pages          = {782-795},
  abstract       = {Reverse engineering software systems has become a
                   major concern in software industry because of their
                   sheer size and complexity. This problem needs to be
                   tackled, since the systems in question are of
                   considerable worth to their owners an d maintainers. In
                   this article we present the concept of a polymetric
                   view, a lightweight software visualization technique
                   enriched with software metrics information. Polymetric
                   views help to understand the structure and detect
                   problems of a software syst em in the initial phases of
                   a reverse engineering process. We discuss the benefits
                   and limits of several predefined polymetric views we
                   have implemented in our tool CodeCrawler. Moreover,
                   based on clusters of different polymetric views we have
                   developed a methodology which supports and guides a
                   software engineer in the first phases of a reverse
                   engineering of a large software system. We have refined
                   this methodology by repeatedly applying it on
                   industrial systems, and illustrate it by applying a
                   selection of polymetric views to a case study.},
  annote         = {internationaljournal},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/TSE.2003.1232284},
  keywords       = {scg-pub jb04 recast04 stefPub moose-pub},
  misc           = {SCI impact factor 1.73},
  month          = sep,
  publisher      = {IEEE Computer Society},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz03dTSEPolymetric.pdf},
  year           = 2003
}

@Book{Pres94a,
  Author         = {Roger S. Pressman},
  Title          = {Software Engineering: A Practitioner's Approach},
  Publisher      = {McGraw-Hill},
  isbn           = {0-07-707936-1},
  keywords       = {book scglib oorp},
  year           = 1994
}

@Article{Scha04c,
  Author         = {Nathanael Sch\"arli and Andrew P. Black},
  Title          = {A Browser for Incremental Programming},
  Journal        = {Computer Languages, Systems and Structures},
  Volume         = {30},
  Number         = {1-2},
  Pages          = {79-95},
  abstract       = {Much of the elegance and power of Smalltalk comes from
                   its programming environment and tools. First introduced
                   more than 20 years ago, the Smalltalk browser enables
                   programmers to ``home in'' on particular methods using
                   a hierarchy of manually-defined classifications. By its
                   nature, this classification scheme says a lot about the
                   desired state of the code, but little about the actual
                   state of the code as it is being developed. We have
                   extended the Smalltalk browser with dynamically
                   computed virtual categories that dramatically improve
                   the browser's support for incremental programming. We
                   illustrate these improvements by example, and describe
                   the algorithms used to compute the virtual categories
                   efficiently.},
  cvs            = {TraitsBrowserESUG2003},
  doi            = {http://dx.doi.org/10.1016/j.cl.2003.09.004},
  keywords       = {scg-pub jb04 scg-traits snf04 schaerli},
  misc           = {schaerli},
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha04cBrowser.pdf},
  year           = 2004
}

@InProceedings{Kata01a,
  Author         = {Yoshio Kataoka and Michael D. Ernst and William G.
                   Griswold and David Notkin},
  Title          = {Automated support for program refactoring using
                   invariants},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance, (Florence, Italy)},
  Pages          = {736-743},
  month          = nov,
  year           = 2001
}

@Misc{Cowa00a,
  Author         = {D. Coward},
  Title          = {Java servlet specification version 2.3},
  Note           = {http://java.\-sun.com/products/servlet/},
  year           = 2000
}

@Book{Knut73c,
  Author         = {D.E. Knuth},
  Title          = {Seminumerical Algoritms},
  Publisher      = {Addison Wesley},
  Volume         = {2},
  Series         = {The Art of Computer Programming},
  Address        = {Reading, Mass.},
  isbn           = {0-201-03822-6},
  keywords       = {misc book scglib},
  year           = 1973
}

@Article{Hugh00a,
  Author         = {John Hughes},
  Title          = {Generalising Monads to Arrows},
  Journal        = {Science of Computer Programming},
  Volume         = {37},
  Pages          = {67--111},
  month          = {may},
  year           = 2000
}

@InProceedings{Evan99a,
  Author         = {David Evans and Andrew Twyman},
  Title          = {{Flexible Policy-Directed Code Safety}},
  BookTitle      = {Proceedings of the 1999 IEEE Symposium on Security and
                   Privacy},
  Address        = {Oakland, CA},
  keywords       = {olit security policy wrappers},
  month          = may,
  year           = 1999
}

@InProceedings{Tolk97a,
  Author         = {Robert Tolksdorf},
  Title          = {Berlinda: An Object-Oriented Platform for Implementing
                   Coordination Languages in {Java}.},
  BookTitle      = {Proceedings of COORDINATION '97 (Coordination
                   Languages and Models},
  Volume         = 1282,
  Series         = {LNCS},
  Pages          = {430-433},
  Publisher      = {Springer-Verlag},
  year           = 1997
}

@InProceedings{Yahi96a,
  Author         = {Sihem Amer-Yahia and Lotfi Lakhal and Rosine Cicchetti
                   and Jean Paul Bordat},
  Title          = {i{O2} --- An Algorithmic Method for Building
                   Inheritance Graphs in Object Database Design},
  BookTitle      = {Proceedings of ER'96 (15th International Conference on
                   Conceptual Modeling)},
  Volume         = {1157},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {422-437},
  Publisher      = {Springer-Verlag},
  year           = 1996
}

@InProceedings{Moor01a,
  Author         = {I. Moore},
  Title          = {Jester -- a {JUnit} test tester},
  BookTitle      = {Proceedings of the 2nd International Conference on
                   Extreme Programming and Flexible Processes (XP2001)},
  Editor         = {M. Marchesi},
  Publisher      = {University of Cagliari},
  keywords       = {testing},
  year           = 2001
}

@InProceedings{Bock04a,
  Author         = {Christoph Bockisch and Michael Haupt and Mira Mezini
                   and Klaus Ostermann},
  Title          = {Virtual Machine Support for Dynamic Join Points},
  BookTitle      = {AOSD '04: Proceedings of the 3rd international
                   conference on Aspect-oriented software development},
  Pages          = {83--92},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/976270.976282},
  isbn           = {1-58113-842-3},
  keywords       = {steamloom aspect},
  location       = {Lancaster, UK},
  year           = 2004
}

@Article{Huda96a,
  Author         = {Paul Hudak},
  Title          = {Building domain specic embedded languages},
  Journal        = {ACM Computing Surveys},
  Volume         = {28},
  Number         = {4es},
  month          = dec,
  year           = 1996
}

@TechReport{Hors90a,
  Author         = {Nigel Horspool},
  Title          = {Mode Analysis Techniques for Discovery of Lists in
                   Prolog},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Abstract interpretation is a technique that has been
                   applied to Prolog code for the purposes of mode
                   analysis and determinacy analysis. This paper shows how
                   it may also be used to discover which Prolog objects
                   are lists. One use of such an analysis would be for
                   program verification purposes. A second use would be
                   for optimizing memory allocation, especially if
                   cdr-coding is used to implement lists.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg om90},
  month          = jul,
  pages          = {305-312},
  year           = 1990
}

@Misc{StrongtalkVm,
  Title          = {Strongtalk: A High-Performance Open Source Smalltalk
                   With An Optional Type System},
  Note           = {http://www.strongtalk.org},
  key            = {StrongtalkVm},
  keywords       = {smalltalk strongtalk optional type system},
  url            = {http://www.strongtalk.org}
}

@Book{Pfaf85a,
  Editor         = {G. Pfaff},
  Title          = {User Interface Management Systems},
  Publisher      = {Springer-Verlag},
  Address        = {New York},
  Note           = {Proceedings of the IFIP/EG Workshop on User Interface
                   Management Systems, Seeheim, FRG, Oct. 1983},
  keywords       = {uilit},
  year           = 1985
}

@InProceedings{Duca93b,
  Author         = {St\'ephane Ducasse and Mireille Fornarino},
  Title          = {Protocol for Managing Dependencies between Objects by
                   controlling Generic Function Invocation},
  BookTitle      = {OOPSLA '93 International Workshop on Reflection and
                   Metalevel Architectures in Object-Oriented Programming},
  Organization   = {ACM},
  Note           = {Technical Report, University of Nice-Sophia Antipolis,
                   I3S Lab, RR-94-62},
  annote         = {internationalworkshop},
  keywords       = {stefPub flo},
  year           = 1993
}

@Book{Pins88a,
  Author         = {Lewis J. Pinson and Richard S. Wiener},
  Title          = {An Introduction to Object-Oriented Programming and
                   {Smalltalk}},
  Publisher      = {Addison Wesley},
  keywords       = {olit},
  year           = 1988
}

@InProceedings{Jone98a,
  Author         = {Simon Peyton Jones and Erik Meijer and Daan Leijen},
  Title          = {Scripting {COM} components in Haskell},
  BookTitle      = {Fifth International Conference on Software Reuse},
  Address        = {Victoria, British Columbia},
  keywords       = {reuse scripting COM haskell},
  month          = jun,
  url            = {http://www.dcs.gla.ac.uk/~simonpj/com.ps.gz},
  year           = 1998
}

@Article{Wong03a,
  Author         = {Pak Chung Wong and Kwong Kwok Wong and Harlan Foote
                   and Jim Thomas},
  Title          = {Global Visualization and Alignments of Whole Bacterial
                   Genomes},
  Journal        = {IEEE Transactions On Visualization and Computer
                   Graphics},
  Volume         = {9},
  Number         = {3},
  Pages          = {361-377},
  month          = jul,
  year           = 2003
}

@MastersThesis{Gert97a,
  Author         = {J{\"u}rg Gertsch},
  Title          = {Fruitlets --- a Kind of Mobile Component},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Mobile software entities are becoming increasingly
                   important in the domain of local area networks (LAN)
                   and wide area networks (WAN). Different kinds of mobile
                   entities are a rapidly evolving area of research in the
                   field of World-Wide-Web, distributed and open systems.
                   The first part of this thesis surveys different
                   approaches in order to develop open, flexible and
                   distributed systems. We focus on an approach of
                   stateless mobile software entities. The second part of
                   this thesis introduces the notion "fruitlet" and
                   "run-time framework" and classifies "fruitlet" within
                   other existing mobility meanings and compares them with
                   other concepts related to mobile code. We describe a
                   prototype of a basic software architecture for
                   stateless mobile software entities. The third part
                   shows examples of open, flexible and extendable
                   software applications using the described technology of
                   "fruitlets".},
  keywords       = {snf-none oobib(mobility) binder scg-pub skipdoi
                   toBeChecked scg-msc jb97},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Gert97a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Gert97a.ps.gz
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Gert97a.html},
  year           = 1997
}

@Unpublished{Pinn92a,
  Author         = {G. Michele Pinna and Axel Poign\'e},
  Title          = {On the Nature of Events},
  Note           = {Gesellschaft f{\"u}r Mathematik und Datenverarbeitung},
  keywords       = {olit binder},
  misc           = {March 9},
  month          = mar,
  type           = {Draft},
  year           = 1992
}

@InCollection{Paep93b,
  Author         = {Andreas Paepcke},
  Title          = {User-Level Language Crafting},
  BookTitle      = {Object-Oriented Programming: the CLOS perspective},
  Publisher      = {MIT Press},
  Pages          = {66-99},
  year           = 1993
}

@InProceedings{Rose88a,
  Author         = {John R. Rose},
  Title          = {Fast Dispatch Mechanisms for Stock Hardware},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {27-35},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Andr91a,
  Author         = {Jean-Marc Andreoli and Remo Pareschi},
  Title          = {Communication as Fair Distribution of Knowledge},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {212-229},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Holl00a,
  Author         = {Joseph E. Hollingsworth and Lori Blankenship and Bruce
                   W. Weide},
  Title          = {Experience Report: Using {RESOLVE/C++} for Commercial
                   Software},
  BookTitle      = {SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT
                   International Symposium on Foundations of Software
                   Engineering},
  Pages          = {11-19},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/355045.355048},
  isbn           = {1-58113-205-0},
  location       = {San Diego, California, United States},
  year           = 2000
}

@InProceedings{Nier90b,
  Author         = {Oscar Nierstrasz and Michael Papathomas},
  Title          = {Viewing Objects as Patterns of Communicating Agents},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {38-43},
  abstract       = {Following our own experience developing a concurrent
                   object-oriented language as well of that of other
                   researchers, we have identified several key problems in
                   the design of a obc model compatible with the
                   mechanisms of object-oriented programming. We propose
                   an approach to language design in which an executable
                   notation describing the behaviour of communicating
                   agents is extended by syntactic patterns that
                   encapsulate language constructs. We indicate how
                   various language models can be accommodated, and how
                   mechanisms such as inheritance can be modeled. Finally,
                   we introduce a new notion of types that characterizes
                   concurrent objects in terms of their externally visible
                   behaviour.},
  annote         = {internationalconference},
  doi            = {http://doi.acm.org/10.1145/97945.97952},
  keywords       = {olit-obc semantics abacus oopsla90 ecoop90proc osg-ftp
                   om90},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier90bObjectsAsPatterns.pdf},
  year           = 1990
}

@Book{Brow96b,
  Editor         = {Alan W. Brown},
  Title          = {Component-Based Software Engineering},
  Publisher      = {IEEE Press},
  keywords       = {composition},
  year           = 1997
}

@InProceedings{Eise06a,
  Author         = {Andrew David Eisenberg and Gregor Kiczales},
  Title          = {A Simple Edit-Time Metaobject Protocol},
  BookTitle      = {International Conference on Aspect-Oriented Software
                   Development},
  url            = {http://www.cs.ubc.ca/~ade/research/are-mop-oal06.pdf},
  year           = 2006
}

@InProceedings{Ache00b,
  Author         = {Franz Achermann and Oscar Nierstrasz},
  Title          = {Explicit Namespaces},
  BookTitle      = {Modular Programning Languages, Proceedings of JMLC
                   2000 (Joint Modular Languages Conference)},
  Editor         = {J{\"u}rg Gutknecht and Wolfgang Weck},
  Volume         = 1897,
  Series         = {LNCS},
  Pages          = {77-89},
  Address        = {Z{\"u}rich, Switzerland},
  Publisher      = {Springer-Verlag},
  abstract       = {A namespace is a mapping from labels to values. Most
                   programming languages support different forms of
                   namespaces, such as records, dictionaries, objects,
                   environments, packages and even keyword based
                   parameters. Typically only a few of these notions are
                   first-class, leading to arbitrary restrictions and
                   limited abstraction power in the host language. Piccola
                   is a small language that unifies various notions of
                   namespaces as first-class forms, or extensible,
                   immutable records. By making namespaces explicit,
                   Piccola is easily able to express various abstractions
                   that would normally require more heavyweight
                   techniques, such as language extensions or
                   metaprogramming.},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1007/10722581_8},
  keywords       = {olit scg-pub piccola jb00 snf00 scg-coord-00},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache00bExplicitNamespaces.pdf},
  year           = 2000
}

@Book{Mons99a,
  Author         = {Richard Monson-Haefel},
  Title          = {Enterprise {Java}Beans},
  Publisher      = {O'Reilly},
  keywords       = {olit scglib},
  year           = 1999
}

@Book{Moon83a,
  Author         = {David Moon and Richard M. Stallman and Daniel Weinreb},
  Title          = {Lisp Machine Manual (fifth edition)},
  Publisher      = {MIT AI Lab},
  month          = jan,
  year           = 1983
}

@TechReport{Gold81a,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {An Experimental Description-based Programming
                   Environment: Four Reports},
  Institution    = {Xerox PARC},
  Number         = {CSL 81-3},
  keywords       = {olit-oopl smalltalk pie},
  month          = mar,
  year           = 1981
}

@InProceedings{Born82b,
  Author         = {Alan H. Borning and Daniel H.H. Ingalls},
  Title          = {A Type Declaration and Inference System for
                   {Smalltalk}},
  BookTitle      = {Proceedings POPL '82},
  Address        = {Albuquerque, NM},
  keywords       = {olit-oopl smalltalk inference casais oobib(types)
                   popl82},
  year           = 1982
}

@Manual{ANSI83a,
  Title          = {IEEE Standard Glossary of Software Engineering
                   Terminology},
  Organization   = {ANSI/IEEE Standard 729-1983},
  Address        = {New York},
  year           = 1983
}

@Article{Bans99a,
  Author         = {Jagdish Bansiya and Letha Etzkorn and Carl Davis and
                   Wei Li},
  Title          = {A Class Cohesion Metric for Object-Oriented Designs},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {11},
  Number         = {8},
  Pages          = {47-52},
  month          = jan,
  publisher      = {SIGG Publications},
  year           = 1999
}

@Book{Pier95b,
  Author         = {Benjamin Pierce},
  Title          = {{PICT} User Manual Pict 3.6a},
  Publisher      = {University of Glasgow},
  keywords       = {olit-pcal pict book scglib},
  year           = 1995
}

@InProceedings{Hamo05a,
  Author         = {A. Hamou-Lhadj and E. Braun and D. Amyot and T.
                   Lethbridge},
  Title          = {Recovering Behavioral Design Models from Execution
                   Traces},
  BookTitle      = {Proceedings IEEE European Conference on Software
                   Maintenance and Reengineering (CSMR 2005)},
  Pages          = {112--121},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {Dynamic Analysis},
  location       = {Manchester, United Kingdom},
  year           = 2005
}

@Book{Coad99a,
  Author         = {Peter Coad and Eric Lefebvre and Jeff De Luca},
  Title          = {Java Modeling in Color with UML},
  Publisher      = {Prentice Hall},
  isbn           = {0-13-011510-X},
  keywords       = {java uml scglib},
  year           = 1999
}

@InProceedings{Mari06a,
  Author         = {Cristina Marinescu},
  Title          = {Identification of Design Roles for the Assessment of
                   Design Quality in Enterprise Applications},
  BookTitle      = {Proceedings of International Conference on Program
                   Comprehension (ICPC 2006)},
  Pages          = {169-180},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.27},
  keywords       = {norex06},
  year           = 2006
}

@Book{Abel91a,
  Author         = {Harold Abelson and Gerald Jay Sussman and Julie
                   Sussman},
  Title          = {Structure and interpretation of computer programs},
  Publisher      = {McGraw-Hill},
  Series         = {MIT electrical engineering and computer science series},
  isbn           = {0-262-01077-1},
  keywords       = {scheme book scglib},
  year           = 1991
}

@TechReport{Stro84a,
  Author         = {Bjarne Stroustrup},
  Title          = {Complex Arithmetic in {C}},
  Institution    = {AT\&T Bell Laboratories},
  Type           = {Report},
  Address        = {Murray Hill, New Jersey 07974},
  keywords       = {olit-oopl c++},
  month          = jan,
  year           = 1984
}

@InProceedings{Misi01a,
  Author         = {Vojislav B. Mi\v{s}i\'{c}},
  Title          = {Cohesion is Structural, Coherence is Functional:
                   Different Views, Different Measures},
  BookTitle      = {Proceedings of the Seventh International Software
                   Metrics Symposium ({METRICS}-01)},
  Publisher      = {IEEE},
  year           = 2001
}

@InProceedings{Lucc02b,
  Author         = {Giuseppe A. {Di Lucca} and Massimiliano {Di Penta} and
                   Sara Gradara},
  Title          = {An Approach to Classify Software Maintenance Requests},
  BookTitle      = {Processings of 18th IEEE International Conference on
                   Software Maintenance (ICSM 2002)},
  Pages          = {93--102},
  year           = 2002
}

@InProceedings{Nier02b,
  Author         = {Oscar Nierstrasz},
  Title          = {Software Evolution as the Key to Productivity},
  BookTitle      = {Proceedings Radical Innovations of Software and
                   Systems Engineering in the Future},
  Address        = {Venice, Italy},
  Note           = {preprint},
  abstract       = { Despite the existence of a seemingly continuous
                   stream of new ``silver bullet'' technologies and
                   methods, software productivity remains universally
                   unimpressive. We argue that, as long as industry
                   remains focused on short-term goals, and maintains a
                   technology-centric view of software development, no
                   progress will be made. A clear symptom of this problem
                   is the fact that the metaphors we apply to software
                   development are largely obsolete. Instead of thinking
                   about software as we do about bridges, buildings or
                   hardware components, we should encourage a view of
                   software as a living and evolving entity that is
                   developed and maintained by {\it people}. We begin with
                   some assertions that are intended as food for thought.
                   We continue by reviewing what we consider to be some of
                   the key difficulties with software development today.
                   We conclude with a few recommendations for research
                   into software practices that take evolution into
                   account. },
  annote         = {invited},
  keywords       = {scg-pub skipdoi jb02 snf02 rissef},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier02bEvolution.pdf},
  year           = 2002
}

@InProceedings{Fazz94a,
  Author         = {Michael Fazzolare and Bernhard G. Humm and R. David
                   Ranson},
  Title          = {Object-Oriented Extendibility in Hermes/{ST}, a
                   Transactional Distributed Programming Environment},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {240-261},
  Publisher      = {Springer-Verlag},
  abstract       = {A major aim of transactional distributed programming
                   environments is to facilitate the development of
                   reliable distributed applications by shielding the
                   developer from concerns such as failures. This paper
                   describes the linguistic features of the Hermes/ST
                   object-oriented distributed programming environment
                   that further ease the development of such applications
                   by enhancing the flexibility and extendibility of their
                   implementations. This is achieved through the
                   parameterisation of properties such as permanence,
                   concurrency, transactional semantics and distribution.
                   Parameterisation supports reuse, and enables the notion
                   of incremental development, whereby a simple
                   centralized sequential prototype of the application can
                   be easily validated before being gradually extended to
                   the final efficient reliable distributed application.
                   An example application is included to demonstrate this
                   approach.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InCollection{Coin92a,
  Author         = {Pierre Cointe},
  Title          = {{CLOS} and {Smalltalk}: a comparison},
  BookTitle      = {Object oriented Programming: the {CLOS} Perspective},
  Publisher      = {MIT Press},
  Pages          = {215-250},
  year           = 1992
}

@InCollection{Kim89a,
  Author         = {Won Kim and Nat Ballou and Hong-Tai Chou and Jorge F.
                   Garza and Darrell Woelk},
  Title          = {Features of the Orion Object-oriented Database System},
  BookTitle      = {Object-oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press},
  Editor         = {W Kim and F Lochovsky},
  Pages          = {251-282},
  Address        = {New York},
  keywords       = {olit-oodb (smc)},
  year           = 1989
}

@InCollection{Hall91a,
  Author         = {Pat Hall and Ray Weedon},
  Title          = {Towards and Object Algebra},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@TechReport{Komo02a,
  Author         = {Raghavan Komondoor and Susan Horwitz},
  Title          = {Eliminating Duplication in Source Code via Procedure
                   Extraction},
  Institution    = {UW-Madison Dept. of Computer Sciences},
  Number         = {1461},
  keywords       = {clones},
  month          = dec,
  url            = {http://www.cs.wisc.edu/~raghavan/pldi03-paper.pdf},
  year           = 2002
}

@InCollection{Lorh77a,
  Author         = {Bernard Lorho},
  Title          = {Semantic Attributes Processing in the System {DELTA}},
  BookTitle      = {Methods of Algorithmic Language Implementation},
  Publisher      = {Springer-Verlag},
  Editor         = {A. Ershov and C.H.A. Koster},
  Volume         = {47},
  Series         = {LNCS},
  Pages          = {21-40},
  keywords       = {compiler generator delta patterns},
  year           = 1977
}

@Book{Hess92a,
  Author         = {Wim H. Hesselink},
  Title          = {Programs, recursion and unbounded choice},
  Publisher      = {Cambridge press},
  keywords       = {Semantics},
  year           = 1992
}

@Book{Karl95a,
  Author         = {Even-Andre Karlsson},
  Title          = {Software Reuse {A} Holistic Approach},
  Publisher      = {Jhon Willey Sons},
  isbn           = {0-471-95819-0},
  keywords       = {olit-reuse book scglib},
  year           = 1995
}

@InProceedings{Hass04c,
  Author         = {Hassan and Holt},
  Title          = {Using Development History Sticky Notes to Understand
                   Software Architecture},
  BookTitle      = {International Workshop on Program Comprehension (IWPC)},
  Pages          = {183-193},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WPC.2004.1311060},
  issn           = {1092-8138},
  year           = 2004
}

@TechReport{Sche92a,
  Author         = {Stefan Scherrer},
  Title          = {The {KIDS} Data Model Specification Language},
  Institution    = {Universit{\"a}t Z{\"u}rich},
  Type           = {preliminary report},
  keywords       = {olit-db kids binder (shelf)},
  month          = dec,
  year           = 1992
}

@Misc{FifteenPuzzle,
  Title          = {15 {Puzzle}},
  Note           = {http://en.wikipedia.org/wiki/N-puzzle},
  key            = {FifteenPuzzle},
  keywords       = {puzzles},
  url            = {http://en.wikipedia.org/wiki/N-puzzle}
}

@Book{Burl94a,
  Author         = {Donald K. Burleson},
  Title          = {Managing Distributed Databases},
  Publisher      = {Wiley-QED},
  isbn           = {0-471-08623-1},
  keywords       = {databases distributed scglib},
  year           = 1994
}

@TechReport{Alle92a,
  Author         = {Robert Allen and David Garlan},
  Title          = {Towards Formalized Software Architecture},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-92-163}},
  keywords       = {olit visprog composition architecture binder},
  month          = jul,
  url            = {ftp://reports.adm.cs.cmu.edu/usr/anon/1992/CMU-CS-92-163.ps},
  year           = 1992
}

@Book{Dona76a,
  Author         = {Jim Donahue},
  Title          = {Complementary Definitions of Programming Language
                   Semantics},
  Publisher      = {Springer-Verlag},
  Volume         = {42},
  Series         = {LNCS},
  keywords       = {pl-semantics},
  year           = 1976
}

@InProceedings{Mend96a,
  Author         = {Nabor C. Mendon\c{c}a and Jeff Kramer},
  Title          = {Requirements for an effective architecture recovery
                   framework},
  BookTitle      = {Joint proceedings of the second international software
                   architecture workshop (ISAW-2) and international
                   workshop on multiple perspectives in software
                   development (Viewpoints '96) on SIGSOFT '96 workshops},
  Pages          = {101-105},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/243327.243620},
  isbn           = {0-89791-867-3},
  keywords       = {design-recovery},
  location       = {San Francisco, California, United States},
  year           = 1996
}

@InProceedings{Atta94a,
  Author         = {Giuseppe Attardi and Tito Flagella},
  Title          = {Customising Object Allocation},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {320-343},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Kris96a,
  Author         = {Bent Bruun Kristensen and Daniel C. M. May},
  Title          = {Activities: Abstractions for Collective Behavior},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {472-501},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Laff94a,
  Author         = {C. Laffra and A. Malhotra},
  Title          = {HotWire --- {A} Visual Debugger for {C}++},
  BookTitle      = {Proceedings of USENIX C++ Technical Conference},
  Pages          = {109-122},
  year           = 1994
}

@Book{Gold95a,
  Author         = {Adele Goldberg and Kenneth S. Rubin},
  Title          = {Succeeding With Objects: Decision Frameworks for
                   Project Management},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-62878-3},
  keywords       = {olit frameworks reuse book scglib sclit repository
                   scglib oorp},
  year           = 1995
}

@Misc{Ecke03a,
  Author         = {Bruce Eckel},
  Title          = {{Strong} {Typing} vs. {Strong} {Testing}},
  Note           = {http://www.mindview.net/WebLog/log-0025},
  key            = {Ecke03a},
  keywords       = {dynamic languages static languages testing},
  url            = {http://www.mindview.net/WebLog/log-0025},
  year           = 2003
}

@InProceedings{Atki98a,
  Author         = {David L. Atkins},
  Title          = {Version Sensitive Editing: Change History as a
                   Programming Tool},
  BookTitle      = {System Configuration Management: ECOOP'98 SCM-8
                   Symposium},
  Volume         = {1439},
  Series         = {LNCS},
  Pages          = {146-157},
  Address        = {Brussels, Belgium},
  Publisher      = {Springer Verlag},
  institution    = {Bell Laboratories},
  keywords       = {scglib},
  month          = jul,
  year           = 1998
}

@InProceedings{Will91a,
  Author         = {Alan Wills},
  Title          = {Capsules and Types in Fresco},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {59-76},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Duca95c,
  Author         = {St\'ephane Ducasse},
  Title          = {Inheritance Mechanism Reification by Means of First
                   Class Object},
  BookTitle      = {Proceedings of the International IJCAI'95 Workshop on
                   Reflection and Meta-Level Architectures and their
                   Applications in AI},
  Pages          = {39-49},
  Note           = {RR-95-12},
  annote         = {internationalworkshop},
  institution    = {University of Nice-Sophia Antipolis, Laboratoire I3S},
  keywords       = {flo},
  year           = 1995
}

@Article{Wins87a,
  Author         = {Morton E. Winston and Roger Chaffin and Douglas
                   Herrmann},
  Title          = {A Taxonomy of Part-Whole Relations},
  Journal        = {Cognitive Science},
  Volume         = {11},
  Pages          = {417-444},
  year           = 1987
}

@InProceedings{Duca98c,
  Author         = {St\'ephane Ducasse and Manuel G{\"u}nter},
  Title          = {Coordination of Active Objects by Means of Explicit
                   Connectors},
  BookTitle      = {Proceedings of the DEXA workshops},
  Pages          = {572-577},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Although coordination of multiple activities is a
                   fundamental goal of object-oriented concurrent
                   programming languages, there is only limited support
                   for their specification and abstraction at the language
                   level. This leads to a mismatch between conceptional
                   designs, using high-level abstractions, and the
                   implementation, using the low-level coordination
                   constructs. Often coordination is hard-wired into the
                   components they coordinate, which leads to evolution,
                   maintenance and composibility problems. We propose a
                   model called FLO/C that relies on the notion of
                   connectors. A connector is an entity that enforces the
                   coordination of the entities it coordinates. This model
                   supports a clear separation between the coordinated
                   active objects and their coordination. An active object
                   only defines specific domain information and a
                   connector only defines coordination between a group of
                   active objects (its participants). The coordination is
                   abstractly defined refering to components in terms of
                   the object interface. Coordination and coordinated
                   entities are independant and can evolve separately.
                   Coordination can be composed and replaced easily.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi flo floc olit coordination oobib snf98
                   scg-coord-98 jb98 stefPub},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca98cExplicitConnectors.pdf},
  year           = 1998
}

@InProceedings{Jong00a,
  Author         = {Merijn de Jonge},
  Title          = {A Pretty Printer for Every Occasion},
  BookTitle      = {Workshop Proceedings 2nd International Symposion on
                   Constructing Software Engineering Tools CoSET 2000},
  Pages          = {68-77},
  Publisher      = {IEEE},
  month          = jun,
  year           = 2000
}

@Book{Hend96a,
  Author         = {Brian Henderson-Sellers},
  Title          = {Object-Oriented Metrics: Measures of Complexity},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-239872-9},
  keywords       = {olit scglib},
  year           = 1996
}

@Unpublished{Sang93b,
  Author         = {Davide Sangiorgi},
  Title          = {Locality and True-Concurrency in Calculi for Mobile
                   Processes},
  Note           = {Computer Science Dept., University of Edinburgh},
  keywords       = {pcalc mobility hopi pi ccs binder (shelf)},
  month          = aug,
  type           = {draft manuscript},
  year           = 1993
}

@InCollection{Kapl93a,
  Author         = {Alan Kaplan and Jack C. Wileden},
  Title          = {Name Management and Object Technology for Advanced
                   Software(Invited Paper),},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {371-392},
  abstract       = {Name management is so fundamental to every aspect of
                   computing that it is frequently overlooked or taken for
                   granted. Our research is aimed at developing both
                   \fImodels\fR to improve understanding and
                   \fImechanisms\fR to improve practical application of
                   name management approaches in various computing
                   domains. one domain that seems to have particularly
                   strong connections to name management is object
                   technology for advanced software. Object technology has
                   already proven very useful in our investigation of name
                   management models and mechanisms. We also see great
                   potential for beneficial application of improved name
                   management mechanisms to object technology for advanced
                   software. In this paper, we first outline our overall
                   approach to research on name management and discuss
                   some specific name management concerns arising in
                   object technology for advanced software. We then
                   illustrate the application of object technology in our
                   efforts to construct name management models and
                   mechanisms. Finally we give an example of how enhanced
                   name management mechanisms might be incorporated into a
                   representative instance of object technology for
                   advanced software.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@PhdThesis{Grau98a,
  Author         = {Graudejus, H.},
  Title          = {Implementing a Concept Analysis Tool for Identifying
                   Abstract Data Types in C Code},
  School         = {Univeristy of Kaiserslautern},
  Address        = {Germany},
  keywords       = {fca},
  year           = 1998
}

@TechReport{Jone92a,
  Author         = {Cliff B. Jones},
  Title          = {An Object-Based Design Method for Concurrent Programs},
  Institution    = {University of Manchester},
  Type           = {UMCS-92-12-1},
  abstract       = {The property of a (formal) development method which
                   gives the development process the potential for
                   productivity is compositionality. Interference is what
                   makes it difficult to find compositional development
                   methods for concurrent systems. This paper is intended
                   to contribute to tractable development methods for
                   concurrent programs. In particular it explores ways in
                   which object-based language concepts can be used to
                   provide a compositional development method for
                   concurrent programs. This text summarizes results from
                   three draft papers. It firstly shows how object-based
                   concepts can be used to provide a designer with control
                   over interference and proposes a transformational style
                   of development (for systems with limited interference)
                   in which concurrency is introduced only in the final
                   stages of design. The essential idea here is to show
                   that certain object graphs limit interference.
                   Secondly, the paper shows how a suitable logic can be
                   used to reason about those systems where interference
                   plays an essential role. Here again, concepts are used
                   in the design notation which are taken from
                   object-oriented languages since they offer control of
                   granularity and way of pinpointing interference.
                   Thirdly, the paper outlines the semantics of the design
                   notation mapping its constructs to Milner's $pi$c.},
  keywords       = {olit-obc pobl pcalc mobility binder},
  url            = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-92-12-1.ps.gz},
  year           = 1992
}

@TechReport{Baer99a,
  Author         = {Holger B\"ar},
  Title          = {{FAMIX} {C}++ language plug-in 1.0},
  Institution    = {University of Bern},
  keywords       = {olit famoos-techrep},
  month          = sep,
  year           = 1999
}

@InProceedings{Cook99a,
  Author         = {Stephen Cook and He Ji and Rachel Harrison},
  Title          = {Dynamic and Static Views of Software Evolution},
  BookTitle      = {Proceedings of ICSM 2001},
  Pages          = {592-601},
  Organization   = {IEEE},
  Publisher      = {IEEE Press},
  year           = 1999
}

@Book{Foge01a,
  Author         = {Karl Fogel and Moshe Bar},
  Title          = {Open Source Development with CVS},
  Publisher      = {Coriolis},
  keywords       = {scglib cvs},
  year           = 2001
}

@Misc{RoelTyper,
  Author         = {Roel Wuyts},
  Title          = {{RoelTyper}, a fast type reconstructor for {Smalltalk}},
  Note           = {\url{http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/}},
  key            = {RoelTyper},
  url            = {http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/},
  year           = 2005
}

@Book{Khos95a,
  Author         = {Setrag Khoshafian and Marek Buckiewicz},
  Title          = {Introduction to Groupware, Workflow and Workgroup
                   Computing},
  Publisher      = {John Wiley \& Sons},
  keywords       = {scglib},
  year           = 1995
}

@InProceedings{Kilo93b,
  Author         = {Haim Kilov},
  Title          = {Specifying Joint Behavior of Objects: Formalization
                   and Standardization},
  BookTitle      = {Proceedings of SESS '93 on Sofware Engineering
                   Standards Symposium},
  Pages          = {220-226},
  Publisher      = {IEEE Computer Society},
  keywords       = {oobib(semantics) sess93 binder},
  month          = aug,
  year           = 1993
}

@InProceedings{Gree05b,
  Author         = {Orla Greevy and St\'ephane Ducasse},
  Title          = {Characterizing the Functional Roles of Classes and
                   Methods by Analyzing Feature Traces},
  BookTitle      = {Proceedings of WOOR 2005 (6th International Workshop
                   on Object-Oriented Reengineering)},
  abstract       = { Software developers are often faced with the task of
                   maintaining or extending large and complex
                   applications, with which they are unfamiliar. Typically
                   change requests and bug reports are expressed in terms
                   of system features. Much of the maintenance effort is
                   spent trying to identify which classes and methods
                   provide functionality to individual features. To tackle
                   this problem, we propose an approach based on dynamic
                   analysis that exploits the relationship between
                   features and software entities. Our definition of a
                   feature is a unit of observable behavior of a software
                   system. We apply our approach to a large open source
                   application and identify key classes and methods which
                   provide functionality to individual features.},
  annote         = {internationalworkshop},
  cvs            = {TraceScraperWOOR2005},
  keywords       = {scg-pub skipdoi greevy jb06 MISSINGPAGENUMBERS stefPub
                   Feature Feature-Traces Dynamic Analysis Evolution
                   moose-pub recast05},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05bTraceScraperWOOR2005.pdf},
  year           = 2005
}

@TechReport{Hutc87a,
  Author         = {Norman C. Hutchinson and Rajindra K. Raj and Andrew P.
                   Black and Henry M. Levy and Eric Jul},
  Title          = {The Emerald Programing Lanuage Report},
  Institution    = {Department of Computer Science, University of
                   Washington},
  Type           = {Technical Report},
  Number         = {87-10-07},
  Address        = {Seattle},
  keywords       = {olit-obcl emerald},
  month          = oct,
  year           = 1987
}

@Book{Miln94b,
  Author         = {Robin Milner},
  Title          = {Pi-nets: a graphical form of Pi-calculus},
  Publisher      = {Springer-Verlag},
  Volume         = {LNCS 788},
  Address        = {Proceedings ESOP '94},
  keywords       = {pcalc binder},
  pages          = {26-42},
  year           = 1994
}

@TechReport{CDIF94a,
  Author         = {CDIF Technical Committee},
  Title          = {{CDIF} Framework for Modeling and Extensibility},
  Institution    = {Electronic Industries Association},
  Number         = {EIA/IS-107},
  Note           = {See http://www.cdif.org/},
  month          = jan,
  year           = 1994
}

@InProceedings{Dalz99a,
  Author         = {Silvano Dal Zilio},
  Title          = {Concurrent Objects in the Blue Calculus},
  BookTitle      = {Proc. of JFLA '99},
  Pages          = {189-206},
  keywords       = {pcalc mobility blue calculus pisem},
  month          = feb,
  url            = {http://research.microsoft.com/~sdal/blueobj.htm},
  year           = 1999
}

@InProceedings{Lisk93b,
  Author         = {Barbara Liskov and Jeannette M. Wing},
  Title          = {Specifications and Their Use in Defining Subtypes},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {16-28},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Unpublished{Hond92c,
  Author         = {Kohei Honda},
  Title          = {Two Bisimilarities in $\nu$-calculus},
  Note           = {Keio University},
  keywords       = {pcalc-obc mobility binder},
  misc           = {Oct. 9},
  month          = oct,
  type           = {draft},
  year           = 1992
}

@Book{Brun56a,
  Author         = {Jerome S. Bruner and Jacqueline J. Goodnow and George
                   A. Austin},
  Title          = {A Study of Thinking},
  Publisher      = {John Wiley {\&} Sons},
  Address        = {New York, NY},
  keywords       = {examples categorization},
  year           = 1956
}

@TechReport{McGr01a,
  Author         = {John D. McGregor},
  Title          = {Testing a Software Product Line},
  Institution    = {Carnegie Mellon University},
  keywords       = {test composition traceability product line},
  url            = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr022.pdf},
  year           = 2001
}

@InProceedings{Gibb92a,
  Author         = {Simon Gibbs},
  Title          = {Application Construction and Component Design in an
                   Object-Oriented Multimedia Framework},
  BookTitle      = {Proceedings of the Third International Workshop on
                   Network and Operating System Support for Digital Audio
                   and Video},
  abstract       = {An approach to constructing multimedia applications by
                   connecting groups of high-level components is
                   presented. The components, and their connections, are
                   software abstractions provided by an object-oriented
                   multimedia framework --- a set of related classes that
                   provide basic functionality and composition mechanisms.
                   Several examples of components and a working
                   application constructed using these components are
                   described. We also consider design issues when
                   components are used under a wide range of conditions.},
  keywords       = {olit osg vo93},
  year           = 1992
}

@InProceedings{Giac89a,
  Author         = {Alessandro Giacalone and Prateek Mishra and Sanjiv
                   Prasad},
  Title          = {{FACILE}: {A} Symmetric Integration of Concurrent and
                   Functional Programming},
  BookTitle      = {Proceedings TAPSOFT '89},
  Editor         = {D\'iaz and Orejas},
  Volume         = {351},
  Series         = {LNCS},
  Pages          = {184-209},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency facile tapsoft89 binder},
  year           = 1989
}

@Book{Ng93a,
  Editor         = {K.W. Ng and P. Raghavan and N.V. Balasubramanian and
                   F.Y.L. Chin},
  Title          = {Proceeding of {ISAAC} '93 4th International Symposium
                   on Algorithms and Computation},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 762},
  isbn           = {3-540-57568-5},
  keywords       = {book scglib},
  year           = 1993
}

@InProceedings{Vite97a,
  Author         = {Jan Vitek},
  Title          = {New Paradigms for Distributed Programming},
  BookTitle      = {European Research Seminar in Advanced Distributed
                   Systems},
  Address        = {Zinal, Valais, Switzerland},
  keywords       = {oobin(mobility)},
  month          = mar,
  year           = 1997
}

@Book{Pohl05a,
  Author         = {Klaus Pohl and G\"unter B\"ockle and Frank van der
                   Linden},
  Title          = {Software Product Line Engineering: Foundations,
                   Principles and Techniques},
  Publisher      = {Springer, Berlin Heidelberg New York},
  isbn           = {3-540-24372-0},
  year           = 2005
}

@Book{Futa96a,
  Editor         = {Kokichi Futatsugi and Satoshi Matsuoka},
  Title          = {Object Technologies for Advanced Software},
  Publisher      = {Springer-Verlag},
  Volume         = {1049},
  Series         = {LNCS},
  isbn           = {3-540-60954-7},
  keywords       = {olit isotas96 proceedings scglib},
  year           = 1996
}

@InProceedings{Nier98b,
  Author         = {Oscar Nierstrasz and Sander Tichelaar and Serge
                   Demeyer},
  Title          = {{CDIF} as the Interchange Format between Reengineering
                   Tools},
  BookTitle      = {OOPSLA '98 Workshop on Model Engineering, Methods and
                   Tools Integration with CDIF},
  abstract       = {Tool support is recognised as a key issue in the
                   reengineering of large scale object-oriented systems.
                   However, due to the heterogeneity in today's
                   object-oriented programming languages, it is hard to
                   reuse reengineering tools across legacy systems. This
                   paper proposes a language independent exchange model,
                   so that tools may perform their tasks independent of
                   the underlying programming language. We have adopted
                   CDIF as the basis for the exchange of information,
                   using this model, between the reengineering tool
                   prototypes in the FAMOOS project. The main reasons for
                   adopting CDIF are, that firstly it is an industry
                   standard, and secondly it has a standard plain text
                   encoding which tackles the requirements of convenient
                   querying and human readability. Next to that the CDIF
                   framework supports the extensibility we need to define
                   our model and language plug-ins.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr scg-pub skipdoi sergedem-papunr
                   tich-papunr snf98 jb98},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier98bCDIFasReengFormat.pdf},
  year           = 1998
}

@Article{Biem94a,
  Author         = {J.M. Bieman and L.M.Ott},
  Title          = {Measuring Functional Cohesion},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {20},
  Number         = {8},
  Pages          = {644-658},
  keywords       = {olit-reuse},
  month          = aug,
  year           = 1994
}

@InProceedings{Nagk06a,
  Author         = {Priya Nagpurkar and Chandra Krintz},
  Title          = {Phase-Based Visualization and Analysis of Java
                   Programs},
  BookTitle      = {Elsevier Science of Computer Programming, Special
                   issue on Princples of programming in Java},
  Volume         = {59,Number 1-2},
  Pages          = {131-164},
  keywords       = {dynamic analysis},
  month          = jan,
  year           = 2006
}

@Article{Lero00a,
  Author         = {Xavier Leroy},
  Title          = {A modular module system},
  Journal        = {Journal of Functional Programming},
  Volume         = {10},
  Number         = {3},
  Pages          = {269-303},
  keywords       = {mixin module},
  year           = 2000
}

@Book{Pres99a,
  Author         = {W. Curtis Preston},
  Title          = {Unix Backup and Recovery},
  Publisher      = {O'Reilly},
  keywords       = {book scglib},
  year           = 1999
}

@Book{Chof91a,
  Editor         = {Choffrut, M.Jantzen, C.},
  Title          = {Proceedings {STACS}'91},
  Publisher      = {Springer-Verlag},
  Volume         = {480},
  Series         = {LNCS},
  Address        = {Hamburg, Germany},
  isbn           = {3-540-53709-0},
  keywords       = {olit stacs91 scglib},
  month          = dec,
  year           = 1991
}

@InProceedings{Booc90a,
  Author         = {Grady Booch and Michael Vilot},
  Title          = {The Design of the {C}++ Booch Components},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {1-11},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Laco91a,
  Author         = {Serge Lacourte},
  Title          = {Exceptions in Guide, an Object-Oriented Language for
                   Distributed Applications},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {268-287},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obcl guide ecoop91proc exceptions},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Article{Hedi97a,
  Author         = {G{\"o}rel Hedin},
  Title          = {Attribute Extensions --- a Technique for Enforcing
                   Programming Conventions},
  Journal        = {Nordic Journal of Computing},
  Volume         = {4},
  Number         = {1},
  Pages          = {93-122},
  year           = 1997
}

@InProceedings{Bell93a,
  Author         = {Roberto Bellinzona and Mariagrazia Fugini and Vicki de
                   Mey},
  Title          = {Reuse of Specifications and Designs in a Development
                   Information System},
  BookTitle      = {Proceedings IFIP WG 8.1 Working Conference on
                   Information System Development Process},
  Editor         = {N. Prakash and C. Rolland and B. Pernici},
  Pages          = {79-96},
  Address        = {Como, Italy},
  abstract       = {This paper describes the approach to application
                   specification and design via reuse at the basis of the
                   Development Information System of the ITHACA
                   environment. Requirements and detailed design of a
                   specific application are incrementally composed by
                   aggregating available reusable components stored in the
                   Software Information Base repository. The paper reviews
                   the Development Information System, then focuses on two
                   tools of the system: RECAST (Requirements Composition
                   And Specification Tool) and Visual ADL, which help the
                   developer in selecting reusable artifacts from the
                   Software Base and in composing and tailoring them
                   according to the specific needs of the application. The
                   paper illustrates the composition approach and
                   describes how reuse is supported via meta classes
                   incorporating suggestions for component reuse and
                   tailoring, and for detailed design.},
  keywords       = {olit-ithaca osg vista vo93 recast ithaca-final},
  misc           = {Sept. 1-3},
  month          = sep,
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/ReuseOfSpecsAndDesInADevInfoSys.pdf},
  year           = 1993
}

@Book{Coll95a,
  Author         = {Dave Collins},
  Title          = {Designing Object-Oriented User Interfaces},
  Publisher      = {Benjamin/Cummings Publishing},
  keywords       = {book scglib},
  year           = 1995
}

@Book{Cham93b,
  Author         = {Dennis de Champeaux},
  Title          = {Object-Oriented System Development},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-56355-X},
  keywords       = {olit ood book scglib},
  year           = 1993
}

@InProceedings{Lieb87a,
  Author         = {Henry Lieberman},
  Title          = {Reversible Object-Oriented Interpreters},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {11-19},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Article{Kris85a,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   Birger M{\/o}ller-Pedersen and Kristen Nygaard},
  Title          = {Multi-sequential execution in the {BETA} programming
                   language},
  Journal        = {SIGPLAN Notices},
  Volume         = {20},
  Number         = {4},
  Pages          = {57-70},
  keywords       = {olit-oopl beta},
  month          = apr,
  year           = 1985
}

@InProceedings{Miln92d,
  Author         = {Robin Milner and Davide Sangiorgi},
  Title          = {Barbed Bisimulation},
  BookTitle      = {Proceedings ICALP '92},
  Volume         = 623,
  Series         = {LNCS},
  Pages          = {685-695},
  Address        = {Vienna},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility equivalence ccs icalp92 binder pisem},
  month          = jul,
  url            = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html},
  year           = 1992
}

@Article{Abad91a,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli and Pierre-Louis
                   Curien and Jean-Jacques L\'evy},
  Title          = {Explicit Substitutions},
  Journal        = {Journal of Functional Programming},
  Volume         = 1,
  Number         = 4,
  Pages          = {375-416},
  month          = oct,
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1991
}

@InProceedings{Bosc96a,
  Author         = {Jan Bosch},
  Title          = {Language Support for Design Patterns},
  BookTitle      = {Proceedings of TOOLS '96},
  Pages          = {197-210},
  year           = 1996
}

@InProceedings{Kicz92a,
  Author         = {Gregor Kiczales and John Lamping},
  Title          = {Issues in the Design and Documentation of Class
                   Libraries},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = 27,
  Pages          = {435-451},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Deme99c,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Michele Lanza},
  Title          = {A Hybrid Reverse Engineering Platform Combining
                   Metrics and Program Visualization},
  BookTitle      = {Proceedings of 6th Working Conference on Reverse
                   Engineering (WCRE '99)},
  Editor         = {Francoise Balmas and Mike Blaha and Spencer Rugaber},
  Publisher      = {IEEE Computer Society},
  abstract       = {Surprising as it may seem, many of the early adopters
                   of the object-oriented paradigm already face a number
                   of problems typically encountered in large-scale legacy
                   systems. Consequently, reverse engineering techniques
                   are relevant in an object-oriented context as well.
                   This paper investigates a hybrid approach, combining
                   the immediate appeal of visualisations with the
                   scalability of metrics. We validate such a hybrid
                   approach by showing how CodeCrawler ---the experimental
                   platform we built--- allowed us to understand the
                   program structure of, and identify potential design
                   anomalies in a public domain software system.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.1999.806958},
  keywords       = {olit famoos-papref scg-pub snf99 jb99 oorp stefPub
                   moose-pub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme99cCodeCrawler.pdf},
  year           = 1999
}

@InProceedings{Capr93a,
  Author         = {Bruno Caprile and Paolo Tonella},
  Title          = {Nomen Est Omen: Analyzing the Language of Function
                   Identifiers},
  BookTitle      = {Proceedings of 6th Working Conference on Reverse
                   Engineering (WCRE 1999)},
  Pages          = {112--122},
  Publisher      = {IEEE Computer Society Press},
  year           = 1999
}

@Article{Born81a,
  Author         = {Alan Borning},
  Title          = {The Programming Language Aspects of {ThingLab}, a
                   Constraint-Oriented Simulation Laboratory},
  Journal        = {ACM TOPLAS},
  Volume         = {3},
  Number         = {4},
  Pages          = {353-387},
  keywords       = {olit-appl thinglab smalltalk constraints oobib(sys)},
  month          = oct,
  year           = 1981
}

@Article{Murp06a,
  Author         = {Murphy and Kersten and Findlater},
  Title          = {How are Java software developers using the Eclipse
                   IDE?},
  Journal        = {IEEE Software},
  month          = {jul},
  year           = 2006
}

@InProceedings{Zou03a,
  Author         = {Lijie Zou and Michael Godfrey},
  Title          = {Detecting Merging and Splitting using Origin Analysis},
  BookTitle      = {Proceedings 10th Working Conference on Reverse
                   Engineering (WCRE '03)},
  Pages          = {146--154},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {olit evolution},
  month          = nov,
  url            = {http://plg.uwaterloo.ca/~migod/papers/},
  year           = 2003
}

@InProceedings{Godf01a,
  Author         = {Michael Godfrey and Qiang Tu},
  Title          = {Growth, Evolution, and Structural Change in Open
                   Source Software},
  BookTitle      = {Proceedings of the 4th International Workshop on
                   Principles of Software Evolution (IWPSE '01)},
  Pages          = {103--106},
  Address        = {Vienna, Austria},
  Publisher      = {ACM Press},
  url            = {http://doi.acm.org/10.1145/602461.602482},
  year           = 2001
}

@Book{Haro97a,
  Author         = {Elliote Rusty Harold},
  Title          = {Java Network Programming},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-227-1},
  keywords       = {java network olit-pl scglib},
  year           = 1997
}

@Book{Henn88a,
  Author         = {Matthew Hennessy},
  Title          = {Algebraic Theory of Processes},
  Publisher      = {MIT Press},
  Address        = {Cambridge, Mass.},
  isbn           = {0-262-58093-4},
  keywords       = {pcalc equivalence ccs regular processes book scglib},
  year           = 1988
}

@InProceedings{Lope01a,
  Author         = {Roberto E. Lopez-Herrejon and Don Batory},
  Title          = {A Standard Problem for Evaluating Product-Line
                   Methodologies},
  BookTitle      = {Proceedings GCSE '2001},
  Editor         = {Jan Bosch},
  Volume         = 2186,
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  year           = 2001
}

@TechReport{Doue02a,
  Author         = {R\'{e}mi Douence and Mario S\"{u}dholt},
  Title          = {A model and a tool for Event-based Aspect-Oriented
                   Programming (EAOP)},
  Institution    = {Ecole des Mines de Nantes},
  Type           = {Technical Report},
  keywords       = {aspect},
  month          = dec,
  year           = 2002
}

@InProceedings{Torc02a,
  Author         = {Marco Torchiano},
  Title          = {Documenting Pattern Use in {Java} Programs},
  BookTitle      = {Proceedings of ICSM 2002 (International Conference on
                   Software Maintenance)},
  Pages          = {230-233},
  Organization   = {IEEE Computer Society},
  Publisher      = {IEEE Press},
  year           = 2002
}

@InProceedings{Sull05a,
  Author         = {Kevin J. Sullivan and William G. Griswold and Yuanyuan
                   Song and Yuanfang Cai and Macneil Shonle and Nishit
                   Tewari and Hridesh Rajan},
  Title          = {Information hiding interfaces for aspect-oriented
                   design},
  BookTitle      = {Proceedings of the ESEC/SIGSOFT FSE 2005},
  Pages          = {166--175},
  year           = 2005
}

@Unpublished{Hype87a,
  Author         = {Bill Atkinson},
  Title          = {HyperCard},
  Note           = {Hypercard},
  year           = 1987
}

@InProceedings{Died87a,
  Author         = {Jim Diederich and Jack Milton},
  Title          = {An Object-Oriented Design System Shell},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {61-77},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Birk40a,
  Author         = {Garret Birkhoff},
  Title          = {Lattice {Theory}},
  Journal        = {American Mathematical Society},
  year           = 1940
}

@Misc{Jython,
  Title          = {Jython},
  key            = {jython},
  keywords       = {jython scripting},
  url = {http://www.jython.org},
  note = {\\ \url{www.jython.org}},
  year           = 2011,
  month = feb
}

@Misc{Jythonbook,
  Author         = {Josh Juneau and Jim Baker and Victor Ng 
                    and Leo Soto and Frank Wierzbicki},
  Title          = {Jython {B}ook v1.0 documentation},
  key            = {jythonbook},
  keywords       = {jython scripting},
  url = {http://www.jython.org/jythonbook/en/1.0/},
  note = {\\ \url{http://www.jython.org/jythonbook/en/1.0/}},
  year           = 2010,
  month = mar
}


@Misc{jruby,
  Author         = {{Charles Nutter et. al.}},
  Title          = {J{R}uby {P}roject},
  url            = {http://jruby.org/},
  note            = {\\ \url{http://jruby.org/}},
  year           = 2010,
  month = aug
}



@InProceedings{Mese93a,
  Author         = {Jos\'e Meseguer},
  Title          = {Solving the Inheritance Anomaly in Concurrent
                   Object-Oriented Programming},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {220-246},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {The inheritance anomaly refers to the serious
                   difficulty in combining inheritance and concurrency in
                   a simple and satisfactory way within a concurrent
                   object-oriented language. The problem is closely
                   connected with the need to impose synchronization
                   constraints on the acceptance of a message by an
                   object. In most concurrent object-oriented languages
                   this synchronization is achieved by synchronization
                   code controlling the acceptance of messages by objects.
                   Synchronization code is often hard to inherit and tends
                   to require extensive redefinitions. The solutions that
                   have appeared so far in the literature to alleviate
                   this problem seem to implicitly assume that better,
                   more reusable, mechanisms are needed to create and
                   structure synchronization code. The approach taken in
                   this paper is to consider the inheritance anomaly as a
                   problem caused by the very presence of synchronization
                   code. The goal is then to completely eliminate
                   synchronization code. This is achieved by using
                   order-sorted rewriting logic, an abstract model of
                   concurrent computation that is machine-independent and
                   extremely fine grain, and that can be used directly to
                   program concurrent object-oriented systems. Our
                   proposed solution involves a distinction between two
                   different notions of inheritance, a type-theoretic one
                   called class inheritance, and a notion called module
                   inheritance that supports reuse and modification of
                   code. These two different notions address two different
                   ways in which the inheritance anomaly can appear; for
                   each of them we propose declarative solutions in which
                   no explicit synchronization code is ever used.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Vand91a,
  Author         = {B. Vander Zanden and B.A. Myers and D. Giuse and P.
                   Szeleky},
  Title          = {The importance of Pointer Variables in Constraint
                   Models},
  BookTitle      = {Proceedings of UIST '91},
  Pages          = {155-164},
  year           = 1991
}

@InProceedings{Erbe05a,
  Author         = {Erben and L{\"o}hr},
  Title          = {SAB - The Software Architecture Browser},
  BookTitle      = {International Workshop on Visualizing Software for
                   Understanding and Analysis (VISSOFT)},
  Publisher      = {IEEE CS},
  month          = sep,
  year           = 2005
}

@Article{Doda95a,
  Author         = {Mahesh Dodani},
  Title          = {An Effective Object-Oriented Software Engineering
                   Curriculum},
  Journal        = {OOPS Messenger},
  Volume         = {6},
  Number         = {2},
  keywords       = {oobib(gen) binder},
  month          = apr,
  year           = 1995
}

@InProceedings{Hirs03a,
  Author         = {Robert Hirschfeld},
  Title          = {{AspectS} -- Aspect-Oriented Programming with {Squeak}},
  BookTitle      = {{Objects, Components, Architectures, Services, and
                   Applications for a Networked World}},
  Editor         = {M. Aksit and M. Mezini and R. Unland},
  Number         = 2591,
  Series         = {LNCS},
  Pages          = {216-232},
  Publisher      = {Springer},
  year           = 2003
}

@TechReport{Mens94a,
  Author         = {Tom Mens},
  Title          = {A survey on formal models for {OO}},
  Institution    = {Department of Computer Science, Vrije Universiteit
                   Brussel, Belgium},
  Type           = {Technical Report Technical Report},
  Number         = {vub-tinf-tr-94-03},
  keywords       = {oobib opus binder},
  url            = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-03.ps.Z},
  year           = 1994
}

@InProceedings{Gure89a,
  Author         = {Yuri Gurevich and Lawrence S. Moss},
  Title          = {Algebraic Operational Semantics and Occam},
  BookTitle      = {3rd Workshop on Computer Science Logic, CSL '89},
  Editor         = {E. B{\"o}rger and H. Kleine B{\"u}ning and M.M.
                   Richter},
  Volume         = {440},
  Series         = {LNCS},
  Pages          = {176-192},
  Address        = {Kaiserslautern},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency semantics occam binder(conc)},
  month          = oct,
  year           = 1989
}

@TechReport{Wiil96a,
  Author         = {{Department of Information and Computer Science ---
                   University of California Irvine --- CA 92717-3425}},
  Title          = {Proceedings of the 2nd Workshop on Open Hypermedia
                   Systems -- Hypertext '96},
  Institution    = {Department of Information and Computer Science ---
                   University of California Irvine --- CA 92717-3425},
  Type           = {UCI-ICS Technical Report},
  Number         = {96-10},
  editor         = {Uffe Kock Wiil and Serge Demeyer},
  keywords       = {hypermedia sergedem-wrkproc},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~demeyer/Wiil96a/
                   http://www.daimi.aau.dk/~kock/OHS-HT96/},
  year           = 1996
}

@InCollection{Hens91b,
  Author         = {Andreas Hense},
  Title          = {Wrapper Semantics of an Object Oriented Programming
                   Language with State},
  BookTitle      = {Theoretical Aspects of Computer Software 1991},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS},
  Address        = {Sendai, Japan},
  Note           = {To appear},
  keywords       = {olit-inheritance wrappers patterns tacs91 binder},
  year           = 1991
}

@Book{Kim95c,
  Author         = {Won Kim},
  Title          = {Modern Database Systems},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-59098-0},
  keywords       = {olit-oodb book scglib},
  year           = 1995
}

@InProceedings{Rich97a,
  Author         = {Tamar Richner and Robb Nebbe},
  Title          = {Analyzing Dependencies to Solve Low-Level Problems},
  BookTitle      = {Object-Oriented Technology (ECOOP '97 Workshop Reader)},
  Editor         = {Jan Bosch and Stuart Mitchell},
  Volume         = 1357,
  Series         = {LNCS},
  Pages          = {266-267},
  Publisher      = {Springer-Verlag},
  abstract       = {We have identified two levels of restructuring in the
                   re-engineering of object-oriented legacy systems:
                   high-level restructuring is concerned with improving
                   the overall architecture of the system, whereas
                   low-level restructuring deals with repairing local
                   problems which are symptoms of bad style. We propose to
                   characterize these low-level problems as patterns of
                   dependencies between classes as an aid in detecting and
                   resolving them. In this paper we briefly present
                   low-level problems and give two examples of how these
                   can be characterized as specific dependency patterns.},
  keywords       = {olit famoos-papunr scglit oobib scg-pub skipdoi
                   toBeChecked snf97 jb97},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rich97aLowLevel.pdf},
  year           = 1997
}

@InProceedings{Habe90a,
  Author         = {Sabine Habert and Vadim Abrossimov},
  Title          = {{COOL}: Kernel Support for Object-Oriented
                   Environments},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {269-277},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Lian02a,
  Author         = {Peng Liang and Gabriela Ar{\'e}valo and St\'ephane
                   Ducasse and Michele Lanza and Nathanael Sch{\"a}rli and
                   Roel Wuyts and Oscar Nierstrasz},
  Title          = {Applying RMA for Scheduling Field Device Components},
  BookTitle      = {ECOOP 2002 Workshop Reader},
  abstract       = {PECOS is a collaborative project between industrial
                   and research partners that seeks to enable
                   component-based technology for a class of embedded
                   systems known as "field devices". Results so far
                   include a component model for field devices and a
                   composition language for specifying connections between
                   software components. Here we investigate the
                   application of Rate Monotonic Analysis (RMA) to the
                   problem of generating real-time schedules for
                   compositions of field device components.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi jb02 pecos stefPub arevalo schaerli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lian02aPecosRMA.pdf},
  year           = 2002
}

@InProceedings{Kulb98a,
  Author         = {B. Kulbach and A. Winter and P. Dahm and J. Ebert},
  Title          = {Program Comprehension in Multi-Language Systems},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {135-145},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Manual{IEEE92,
  Title          = {POSIX P1003.4a - Threads Extension for Portable
                   Operating Systems},
  Organization   = {IEEE},
  year           = 1992
}

@InProceedings{Rina02a,
  Author         = {Ran Rinat and Scott Smith},
  Title          = {Modular Internet Programming with Cells},
  BookTitle      = {Proceedings ECOOP 2002},
  Editor         = {Boris Magnusson},
  Volume         = 2374,
  Series         = {LNCS},
  Pages          = {257-280},
  Address        = {Malaga, Spain},
  Publisher      = {Springer Verlag},
  keywords       = {olit ecoop02proc},
  month          = jun,
  url            = {http://www.cs.jhu.edu/labs/pll/cells/papers/ecoop02.ps},
  year           = 2002
}

@Book{Mart00a,
  Author         = {Didier Martin, Mark Birbeck, et al.},
  Title          = {Professional XML},
  Publisher      = {Wrox Press Ltd.},
  keywords       = {XML scglib},
  year           = 2000
}

@InBook{Mose94a,
  Author         = {Simon Moser},
  Title          = {Ein {QS}-System fuer objektorientierte
                   Software-Entwicklung},
  Pages          = {?},
  Publisher      = {SI},
  booktitle      = {INFORMATIK, SVI/FSI, Zuerich},
  keywords       = {snf-none olit toBeChecked jb94missing},
  month          = dec,
  year           = 1994
}

@InProceedings{Szek88a,
  Author         = {Pedro Szekely and Brad Myers},
  Title          = {A User Interface Toolkit Based on Graphical Objects
                   and Constraints},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {36-45},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@PhdThesis{Dam90a,
  Author         = {Mads Dam},
  Title          = {Relevance Logic and Concurrent Composition},
  School         = {Computer Science Dept., University of Edinburgh},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pcalc ccs binder (shelf)},
  month          = sep,
  number         = {report CST-66-90},
  year           = 1990
}

@Article{Faid87a,
  Author         = {J.A.W. Faidhi and S.K. Robinson},
  Title          = {An Empirical Approach for Detecting Program Similarity
                   within a University Programming Environment},
  Journal        = {Computers and Education},
  Volume         = {11},
  Number         = {1},
  Pages          = {11-19},
  year           = 1987
}

@InProceedings{Mats91a,
  Author         = {Satoshi Matsuoka and Takuo Watanabe and Akinori
                   Yonezawa},
  Title          = {Hybrid Group Reflective Architecture for
                   Object-Oriented Concurrent Reflective Programming},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {231-250},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/ecoop91-abclr2.ps.gz},
  year           = 1991
}

@TechReport{Dami91a,
  Author         = {Laurent Dami},
  Title          = {More Functional Reusability in {C}/{C}++/Objective-{C}
                   with Curried Functions},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {Working paper},
  abstract       = {Several mechanisms commonly used in functional
                   programming languages can be beneficial in terms of
                   conciseness and reuse potential in more traditional
                   programming areas, like applications programming or
                   even systems programming. An implementation of
                   functional operators for the C, C++ and Objective-C
                   languages, based on the principle of curried functions,
                   is proposed. Its implications in terms of improved
                   power and additional cost are examined. Examples of
                   parameterized function generators, function
                   compositions and closures are given. A particular
                   section shows how closures of C++/Objective-C objects
                   with their member functions can be done with the
                   currying operator.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg oc91},
  month          = jun,
  pages          = {85-98},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/curry.pdf},
  year           = 1991
}

@PhdThesis{Bour99a,
  Author         = {N. Bouraqadi},
  Title          = {Un MOP Smalltalk pour l'\'etude de la composition et
                   de la compatibilit\'e des m\'etaclasses. Application
                   \`a la programmation par aspects (A Smalltalk MOP for
                   the Study of Metaclass Composition and Compatibility.
                   Application to Aspect-Oriented Programming - In French)},
  School         = {Universit\'e de Nantes},
  Type           = {Th\`ese de Doctorat},
  Address        = {Nantes, France},
  month          = {jul},
  year           = 1999
}

@Book{Abad96a,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {A Theory of Objects},
  Publisher      = {Springer-Verlag},
  isbn           = {0-387-94775-2},
  keywords       = {olit oobib(types) scglib ioom-types},
  year           = 1996
}

@Article{Tsic76a,
  Author         = {Dennis Tsichritzis and Frederick H. Lochovsky},
  Title          = {Hierarchical Database Management: {A} Survey},
  Journal        = {ACM Computing Surveys},
  Volume         = {8},
  Number         = {1},
  Pages          = {105-124},
  keywords       = {dblit},
  month          = mar,
  year           = 1976
}

@Article{Card88a,
  Author         = {Luca Cardelli},
  Title          = {A Semantics of Multiple Inheritance},
  Journal        = {Information and Computation},
  Volume         = {76},
  Pages          = {138-164},
  keywords       = {olit-inheritance semantics binder(oop)},
  year           = 1988
}

@Article{Zhan94a,
  Author         = {Kaizhong Zhang and Dennis Shasha and Jason L. Wang},
  Title          = {Approximate Tree Matching in the Presence of Variable
                   Length Don't Cares},
  Journal        = {Journal of Algorithms},
  Volume         = 16,
  Number         = 1,
  Pages          = {33-66},
  month          = jan,
  year           = 1994
}

@Article{Treis85a,
  Author         = {Anne Treisman},
  Title          = {Preattentive processing in vision},
  Journal        = {Computer Vision, Graphics, and Image Processing},
  Volume         = {31},
  Number         = {2},
  Pages          = {156-177},
  doi            = {http://dx.doi.org/10.1016/S0734-189X(85)80004-9},
  year           = 1985
}

@InProceedings{Girb04d,
  Author         = {Tudor G\^irba and St\'ephane Ducasse and Radu
                   Marinescu and Daniel Ra\c{t}iu},
  Title          = {Identifying Entities That Change Together},
  BookTitle      = {Ninth IEEE Workshop on Empirical Studies of Software
                   Maintenance},
  abstract       = {Software system need to change over time to cope with
                   the new requirements. Furthermore, due to design
                   decisions, the new requirements happen to crosscut the
                   system's structure. Understanding how changes appear in
                   the system can reveal hidden dependencies between
                   different parts of the system. We propose to group
                   entities that change together according to a logical
                   expression that specifies the change condition.
                   Furthermore, we can group entities at different levels
                   of abstraction (i.e., method, class, package). Our
                   approach is based on an explicit history meta model
                   that centers around the notion of history and which
                   enables the definition of historical measurements which
                   summarize the changes. We apply our approach on two
                   large case studies and show how we can identify groups
                   of related entities and detect bad smells.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi evolution van stefPub recast05 girba
                   jb05 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb04dEntitiesChangeTogether.pdf},
  year           = 2004
}

@Book{Jaco99a,
  Author         = {Ivar Jacobson and Grady Booch and James Rumbaugh},
  Title          = {The Unified Software Development Process},
  Publisher      = {Addison Wesley},
  keywords       = {olit-ood book},
  year           = 1999
}

@InProceedings{Xeno00a,
  Author         = {M. Xenos and D. Stavrinoudis and K. Zikouli and D.
                   Christodoulakis},
  Title          = {Object-Oriented Metrics -- a Survey},
  BookTitle      = {Proceedings of FESMA'00},
  year           = 2000
}

@InCollection{Berr98,
  Author         = {G\'{e}rard Berry},
  Title          = {The Foundations of {E}sterel},
  BookTitle      = {Proof, Language and Interaction: Essays in Honour of
                   Robin Milner},
  Publisher      = {MIT Press},
  Editor         = {G. Plotkin and C. Stirling and M. Tofte},
  year           = 1998
}

@Book{Clem02a,
  Author         = {Paul Clements and Linda Northrop},
  Title          = {Software Product Lines: Practices and Patterns},
  Publisher      = {Addison-Wesley},
  Address        = {Boston, MA},
  year           = 2002
}

@Article{Girb06a,
  Author         = {Tudor G\^irba and St\'ephane Ducasse},
  Title          = {Modeling History to Analyze Software Evolution},
  Journal        = {Journal of Software Maintenance: Research and Practice
                   (JSME)},
  Volume         = {18},
  Pages          = {207-236},
  abstract       = {The histories of software systems hold useful
                   information when reasoning about the systems at hand or
                   when reasoning about general laws of software
                   evolution. Over the past 30 years more and more
                   research has been spent on understanding software
                   evolution. However, the approaches developed so far do
                   not rely on an explicit meta-model, and thus, they make
                   it difficult to reuse or compare their results. We
                   argue that there is a need for an explicit meta-model
                   for software evolution analysis. We present a survey of
                   the evolution analyses and deduce a set of requirements
                   that an evolution meta-model should have. We define,
                   Hismo, a meta-model in which history is modeled as an
                   explicit entity. Hismo adds a time layer on top of
                   structural information, and provides a common
                   infrastructure for expressing and combining evolution
                   analyses and structural analyses. We validate the
                   usefulness of our a meta-model by presenting how
                   different analyses are expressed on it.},
  annote         = {internationaljournal},
  keywords       = {hasler07 scg-pub skipdoi recast06 jb06 stefPub
                   moose-pub girba snf-actsc norex06},
  misc           = {SCI impact factor 0.457 (2005)},
  publisher      = {John Wiley and Sons, Ltd.},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb06aHismo.pdf},
  year           = 2006
}

@Article{Ying04a,
  Author         = {Annie Ying and Gail Murphy and Raymond Ng and Mark
                   Chu-Carroll},
  Title          = {Predicting Source Code Changes by Mining Change
                   History},
  Journal        = {Transactions on Software Engineering},
  Volume         = {30},
  Number         = {9},
  Pages          = {573--586},
  year           = 2004
}

@InProceedings{YuSe02a,
  Author         = {Yu-Seung Ma and Yong-Rae Kwon and Jeff Offutt},
  Title          = {Inter-Class Mutation Operators for Java},
  BookTitle      = {Proceedings of the 13th International Symposium on
                   Software Reliability Engineering},
  Pages          = {352-363},
  Organization   = {EEE Computer Society Press},
  Publisher      = {Annapolis MD},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:27:08 +0100},
  month          = {nov},
  year           = 2002
}

@Article{Priet91a,
  Author         = {Prieto-Diaz, Rub{\'e}n},
  Title          = {{Implementing Faceted Classification for Software
                   Reuse}},
  Journal        = {Communications of the ACM},
  Volume         = {34},
  Number         = {5},
  Pages          = {88-97},
  keywords       = {olit-reuse classification repository abb},
  month          = may,
  year           = 1991
}

@Book{Voll91a,
  Author         = {Otto Vollnals},
  Title          = {Dictionary of Computer Science},
  Publisher      = {Grouppo Editoriale Jackson (Milano)},
  isbn           = {88-256-0036-4},
  keywords       = {book scglib},
  year           = 1991
}

@Article{Bato94b,
  Author         = {Don Batory and Vivek Singhal and Jeff Thomas and
                   Sankar Dasari and Bart Geraci and Marty Sirkin},
  Title          = {The {Gen}{Voca} Model of Software-System Generators},
  Journal        = {IEEE Software},
  Pages          = {89-94},
  keywords       = {olit binder genvoca},
  month          = sep,
  year           = 1994
}

@Book{Rijs79a,
  Author         = {C. v. Rijsbergen},
  Title          = {Information Retrieval},
  Publisher      = {Butterworths},
  Address        = {London},
  keywords       = {clustering information retrieval},
  year           = 1979
}

@TechReport{Nier88a,
  Author         = {Oscar Nierstrasz},
  Title          = {Mapping Object Descriptions to Behaviours},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  abstract       = {There is a lack of good formalisms and tools for
                   describing the semantics of object-oriented and
                   concurrent programming languages. We propose a
                   computational model for objects in which {\it events}
                   are synchronous communications between concurrent
                   agents, {\it computations} are partial orderings of
                   events, and {\it behaviours} are the possible event
                   unfoldings in which an agent, or a system of concurrent
                   agents, may participate. Furthermore, we introduce a
                   language called {\it Abacus} for defining executable
                   behaviour expressions, and we speculate how this
                   language may be used as part of a practical system for
                   defining the formal semantics of programming languages.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc skipdoi abacus osg aoe88},
  month          = jun,
  pages          = {106-113},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier88aMappingObjects.pdf},
  year           = 1988
}

@InProceedings{Ara92a,
  Author         = {C. Arapis},
  Title          = {Object Behavior Composition: a Temporal Logic Based
                   Approach},
  BookTitle      = {Proceedings of MFDKBS},
  Volume         = {495},
  Series         = {LNCS},
  Pages          = {308-324},
  year           = 1992
}

@MastersThesis{Hald07a,
  Author         = {Niklaus Haldimann},
  Title          = {{TypePlug} --- Pluggable Type Systems for {Smalltalk}},
  School         = {University of Bern},
  Type           = {Master's thesis},
  abstract       = {Statically and dynamically typed programming languages
                   have complementary strengths. While static typing
                   provides early error detection, optimized execution and
                   machine-checkable documentation, dynamic typing makes a
                   language more expressive, better suited for rapid
                   prototyping and more adaptive to changing requirements.
                   Pluggable type systems strive to combine these
                   strengths by declaring types and type systems to be
                   optional. Supporting multiple coexisting type systems,
                   pluggable type systems open up a language to various
                   kinds of static analyses other than those provided by
                   traditional type systems. We present TypePlug, a
                   framework for pluggable type systems for Smalltalk.
                   TypePlug provides infrastructure to optionally annotate
                   source code with types and to define in a simple way
                   semantics for type systems. It contains a generic type
                   checking algorithm, dealing with issues arising when
                   statically checking a a dynamically typed language. To
                   improve type checking results and the user experience,
                   TypePlug integrates optional type inference. We
                   introduce type systems comparable to traditional
                   class-based type systems and a type system for
                   confinement, proving the validity of our approach.},
  keywords       = {scg-msc scg-pub skipdoi snf07 jb07},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Hald07a.pdf},
  year           = 2007
}

@InProceedings{Caro90b,
  Author         = {Denis Caromel},
  Title          = {Concurrency: An Object-Oriented Approach},
  BookTitle      = {Proceedings TOOLS '90},
  Editor         = {J. B\'ezivin and B. Meyer and J-M. Nerson},
  Pages          = {183-197},
  Publisher      = {Editions Angkor Paris},
  keywords       = {olit-obc tools90 binder},
  month          = jun,
  year           = 1990
}

@InProceedings{Bore92a,
  Author         = {Michele Boreale and Rocco De Nicola},
  Title          = {Testing Equivalences for Mobile Processes},
  BookTitle      = {Proceedings of CONCUR '92},
  Editor         = {W.R. Cleaveland},
  Volume         = {630},
  Series         = {LNCS},
  Pages          = {2-16},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility equivalence concur92 binder},
  year           = 1992
}

@InProceedings{Kuhn05a,
  Author         = {Adrian Kuhn and St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Enriching Reverse Engineering with Semantic Clustering},
  BookTitle      = {Proceedings of 12th Working Conference on Reverse
                   Engineering (WCRE'05)},
  Pages          = {113--122},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Understanding a software system by just analyzing the
                   structure of the system reveals only half of the
                   picture, since the structure tells us only how the code
                   is working but not what the code is about. What the
                   code is about can be found in the semantics of the
                   source code: names of identifiers, comments etc. In
                   this paper, we analyze how these terms are spread over
                   the source artifacts using Latent Semantic Indexing, an
                   information retrieval technique. We use the assumption
                   that parts of the system that use similar terms are
                   related. We cluster artifacts that use similar terms,
                   and we reveal the most relevant terms for the computed
                   clusters. Our approach works at the level of the source
                   code which makes it language independent. Nevertheless,
                   we correlated the semantics with structural information
                   and we applied it at different levels of abstraction
                   (e.g. classes, methods). We applied our approach on
                   three large case studies and we report the results we
                   obtained.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.16},
  keywords       = {scg-pub semantic clustering lsi stefPub girba jb06
                   recast06 hapax moose-pub listic},
  location       = {Pittburgh, PA},
  misc           = {acceptance rate: 21/58 = 36 \%},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Kuhn05aSemanticClustering.pdf},
  year           = 2005
}

@Article{Ache05a,
  Author         = {Franz Achermann and Oscar Nierstrasz},
  Title          = {A Calculus for Reasoning about Software Components},
  Journal        = {Theoretical Computer Science},
  Volume         = {331},
  Number         = {2-3},
  Pages          = {367-396},
  abstract       = {Although the term ``software component'' has become
                   commonplace, there is no universally accepted
                   definition of the term, nor does there exist a common
                   foundation for specifying various kinds of components
                   and their compositions. We propose such a foundation.
                   The Piccola Calculus is a process calculus, based on
                   the asynchronous pi-calculus, extended with explicit
                   namespaces. The calculus is high-level, rather than
                   minimal, and is consequently convenient for expressing
                   and reasoning about software components, and different
                   styles of composition. We motivate and present the
                   calculus, and outline how it is used to specify the
                   semantics of Piccola, a small composition language. We
                   demonstrate how the calculus can be used to simplify
                   compositions by partial evaluation, and we briefly
                   outline some other applications of the calculus to
                   reasoning about compositional styles.},
  annote         = {internationaljournal},
  cvs            = {PiccolaReasoning},
  doi            = {http://dx.doi.org/10.1016/j.tcs.2004.09.022},
  keywords       = {snf04 snf05 scg-pub piccola jb05 context-calculus},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache05aPiccolaReasoning.pdf},
  year           = 2005
}

@InProceedings{Smit05c,
  Author         = {Smith and Munro},
  Title          = {Identifying Structural Features of Java Programs by
                   Analysing the Interaction of Classes at Runtime},
  BookTitle      = {VISSOFT},
  Publisher      = {IEEE CS},
  month          = sep,
  year           = 2005
}

@InProceedings{Capl87a,
  Author         = {Michael Caplinger},
  Title          = {An Information System Based on Distributed Objects},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {126-137},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Agha85a,
  Author         = {Gul Agha},
  Title          = {A Message-Passing Paradigm for Object Management},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {75-82},
  keywords       = {concurrency messages actors},
  month          = dec,
  year           = 1985
}

@InProceedings{Mens05a,
  Author         = {Tom Mens and Michel Wermelinger and St\'ephane Ducasse
                   and Serge Demeyer and Robert Hirschfeld and Mehdi
                   Jazayeri},
  Title          = {Challenges in Software Evolution},
  BookTitle      = {Proceedings of the International Workshop on
                   Principles of Software Evolution (IWPSE 2005)},
  Pages          = {123-131},
  Publisher      = {IEEE Computer Society},
  annote         = {internationalworkshop},
  keywords       = {stefPub scgPub},
  misc           = {acceptance rate: 13/54 = 24\%},
  year           = 2005
}

@TechReport{Cian92a,
  Author         = {Paolo Ciancarini and Keld K. Jensen and Dani
                   Yankelevich},
  Title          = {The Semantics of a Parallel Language based on a Shared
                   Data Space},
  Institution    = {University of Pisa, Computer Science Dept.},
  Type           = {TR-26/92},
  keywords       = {concurrency binder (shelf)},
  month          = aug,
  year           = 1992
}

@InProceedings{Clea93a,
  Author         = {Rance Cleaveland},
  Title          = {{RTSL}: {A} Language for Real-Time Schedulability
                   Analysis},
  BookTitle      = {Proceedings of the Real-Time Systems Symposium},
  Address        = {Raleigh-Durham, North Carolina.},
  Note           = {To appear},
  abstract       = {This paper develops a generalized approach to
                   schedulability analysis that is mathematically founded
                   in a process algebra called RTSL. Within RTSL one may
                   described the functional behavior, timing behavior,
                   timing constraints (or deadlines), and scheduling
                   displine for real-time systems. The formal semantics of
                   RTSL then allows the reachable state space of
                   finite-state systems to be automatically generated and
                   searched for timing exceptions. We provide a
                   generalized schedulability analysis technique to
                   perform this state-based analysis.},
  keywords       = {concurrency},
  month          = dec,
  year           = 1993
}

@InProceedings{Coad01a,
  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},
  BookTitle      = {ESEC '01},
  Editor         = {Volker Gruhn},
  Publisher      = {ACM Press},
  year           = 2001
}

@Booklet{Copl95c,
  Title          = {Advanced {C}++ Programming Styles: Using {C}++ as a
                   Higher-Level Language},
  Author         = {James O. Coplien},
  HowPublished   = {CHOOSE Tutorial},
  keywords       = {olit binder},
  year           = 1995
}

@Article{Bana90a,
  Author         = {Jean-Pierre Ban\^atre and Daniel Le M\'etayer},
  Title          = {The Gamma Model and Its Discipline of Programming},
  Journal        = {Science of Computer programming},
  Volume         = {15},
  Pages          = {55-77},
  keywords       = {concurrency gamma binder},
  publisher      = {North-Holland},
  year           = 1990
}

@PhdThesis{Ande97a,
  Author         = {Egil P. Andersen},
  Title          = {Conceptual Modeling of Objects: a Role Modelling
                   Approach},
  School         = {University of Oslo},
  month          = nov,
  year           = 1997
}

@Article{Alts90a,
  Author         = {Stephen F. Altschul and Warren Gish and Webb Miller
                   and Eugene W. Myers and David J. Lipman},
  Title          = {Basic Local Alignment Search Tool},
  Journal        = {J. Mol. Biol.},
  Volume         = {215},
  Pages          = {403-410},
  keywords       = {dotplot},
  year           = 1990
}

@Book{Seli94a,
  Author         = {Bran Selic and Garth Gullekson and Paul T. Ward},
  Title          = {Real-Time Object-Oriented Modeling},
  Publisher      = {John Wiley \& Sons},
  isbn           = {0-471-59917-4},
  keywords       = {olit-oose room binder},
  year           = 1994
}

@TechReport{Cast89a,
  Author         = {Ilaria Castellani and Guo Qiang Zhang},
  Title          = {Parallel Product of Event Structures},
  Institution    = {INRIA},
  Type           = {Report no.},
  Number         = {1078},
  keywords       = {concurrency binder},
  month          = aug,
  year           = 1989
}

@InProceedings{Simm91a,
  Author         = {Sergui S. Simmel and Ivan Godard},
  Title          = {The Kala Basket: {A} Semantic Primitive Unifying
                   Object Transactions, Access Control, Versions, and
                   Configurations},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {230-246},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@Misc{Boyd93a,
  Author         = {Nik Boyd},
  Title          = {Modules: Encapsulating Behavior in {Smalltalk}},
  HowPublished   = {The {Smalltalk} Report 2(5)},
  month          = feb,
  year           = 1993
}

@Article{Taiv97a,
  Author         = {Antero Taivalsaari},
  Title          = {Classes Versus Prototypes: Some Philosophical and
                   Historical Observations},
  Journal        = {Journal of Object-Oriented Programming (JOOP)},
  Volume         = {10},
  Number         = {7},
  Pages          = {44-50},
  keywords       = {prototype},
  year           = 1997
}

@Book{DeMa86a,
  Author         = {Tom deMarco},
  Title          = {Controlling Software Projects: Management,
                   Measurement, and Estimates},
  Publisher      = {Springer-Verlag},
  isbn           = {0131717111},
  keywords       = {metrics},
  year           = 1986
}

@Misc{JVMPI,
  Title          = {Sun Microsystems, Inc. JVM Profiler Interface (JVMPI).},
  key            = {JVMTI},
  url            = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmpi/}
}

@Book{OCL97a,
  Author         = {Rational Software and Microsoft and Hewlett-Packard
                   and Oracle and Sterling Software and MCI Systemhouse
                   and Unisys and ICON Computing and IntelliCorp and
                   i-Logix and IBM and ObjecTime and Platinum Technology
                   and Ptech and Taskon and Reich Technologies and Softeam},
  Title          = {{Object} {Constraint} {Language} Specification
                   (version 1.1)},
  Publisher      = {Rational Software Corporation},
  keywords       = {olit UML OCL},
  month          = sep,
  year           = 1997
}

@Article{Huda89a,
  Author         = {Paul Hudak},
  Title          = {Conception, Evolution, and Application of Functional
                   Programming Languages},
  Journal        = {ACM Computing Surveys},
  Volume         = {21},
  Number         = {3},
  Pages          = {359-411},
  keywords       = {fpl haskell etc},
  month          = sep,
  year           = 1989
}

@Book{Stro90a,
  Author         = {Bjarne Stroustrup and Magaret A. Ellis},
  Title          = {The Annotated {C}++ Reference Manual},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-51459-1},
  keywords       = {olit-oopl c++ oobib(oopl) book scglib},
  year           = 1990
}

@InProceedings{Stre04a,
  Author         = {Mirko Streckenbach and Gregor Snelting},
  Title          = {Refactoring Class Hierarchies with {KABA}},
  BookTitle      = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN
                   Conference on Object-oriented programming, systems,
                   languages, and applications},
  Pages          = {315-330},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1028976.1029003},
  isbn           = {1-58113-831-9},
  location       = {Vancouver, BC, Canada},
  year           = 2004
}

@Article{Tich85a,
  Author         = {Walter F. Tichy},
  Title          = {{RCS} --- a system for version control},
  Journal        = {Software Practice and Experience},
  Volume         = {15},
  Number         = {7},
  Pages          = {637-654},
  month          = jul,
  year           = 1985
}

@Book{Cook89d,
  Editor         = {Stephen Cook},
  Title          = {Proceeding of {ECOOP}'89 European Conference on
                   Object-Oriented Programming},
  Publisher      = {Cambridge University Press},
  Address        = {Nottingham},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Hofm94a,
  Author         = {Martin Hofmann and Benjamin C. Pierce},
  Title          = {A Unifying Type-Theoretic Framework for Objects},
  Journal        = {Journal of Functional Programming},
  Note           = {To appear},
  keywords       = {types olit binder},
  month          = jan,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/abstroop.ps.gz},
  year           = 1994
}

@InProceedings{Baud06a,
  Author         = {Benoit Baudry and Franck Fleurey and Yves Le Traon},
  Title          = {Improving test suites for efficient fault localization},
  BookTitle      = {ICSE '06: Proceeding of the 28th international
                   conference on Software engineering},
  Pages          = {82-91},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1134285.1134299},
  isbn           = {1-59593-375-1},
  location       = {Shanghai, China},
  year           = 2006
}

@InProceedings{Aksi92b,
  Author         = {Mehmet Aksit and Lodewijk Bergmans and Sinan Vural},
  Title          = {An Object-Oriented Language-Database Integration
                   Model: The Composition-Filters Approach},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {372-395},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl sina ecoop92proc},
  month          = jun,
  year           = 1992
}

@Misc{ContextS,
  Title          = {{ContextS}},
  Note           = {http://www.swa.hpi.uni-potsdam.de/downloads/index.html},
  key            = {ContextS},
  keywords       = {cop-lit},
  url            = {http://www.swa.hpi.uni-potsdam.de/downloads/index.html}
}

@Article{Anto02a,
  Author         = {G. Antoniol and U. Villano and E. Merlo and M. Di
                   Penta},
  Title          = {Analyzing cloning evolution in the Linux kernel},
  Journal        = {Information and Software Technology},
  Volume         = {44},
  Number         = {13},
  Pages          = {755-765},
  keywords       = {clones},
  publisher      = {Elsevier},
  year           = 2002
}

@InProceedings{Spin06a,
  Author         = {Olaf Spinczyk Daniel Lohmann and Wolfgang
                   Schr\"{o}der-Preikschat},
  Title          = {Concern Hierarchies},
  BookTitle      = {Proceedings of the 1st Workshop on Aspect-oriented
                   Product Line Engineering (AOPLE' 06)},
  Address        = {Portland, OR, USA},
  Note           = {In conjunction with GPCE'06},
  year           = 2006
}

@Book{Banc92a,
  Editor         = {Fran\c{c}ois Bancilhon and C. Delobel and Paris
                   Kanellakis},
  Title          = {Building an Object-Oriented Database System: The Story
                   of O2},
  Publisher      = {Morgan-Kaufmann},
  isbn           = {1-55860-169-4},
  keywords       = {olit-oodb o2 (smc) book scglib},
  year           = 1992
}

@TechReport{Mart91a,
  Author         = {Pat Martin and Simon Gibbs},
  Title          = {Software Clearinghouses --- Form and Function},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {Software clearinghouses are repositories of software
                   and software-related information. A software
                   clearinghouse is accessible by members of an associated
                   software community and serves to facilitate the
                   exchange and dissemination of information within the
                   community. This paper describes a variety of both
                   existing and possible clearinghouses and establishes a
                   set of criteria by which these clearinghouses can be
                   evaluated.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {239-254},
  year           = 1991
}

@Unpublished{Gepp92b,
  Author         = {Andreas Geppert},
  Title          = {Specification and Realization of Transaction
                   Management Subsystems in Configurable Database
                   Management Systems},
  Note           = {Universit{\"a}t Z{\"u}rich},
  keywords       = {olit-db binder},
  month          = jul,
  type           = {draft},
  year           = 1992
}

@InProceedings{Shar05a,
  Author         = {Richard Sharp and Atanas Rountev},
  Title          = {Interactive Exploration of UML Sequence Diagrams},
  BookTitle      = {Proceedings of VISSOFT 2005 (3rd IEEE Workshop on
                   Visualizing Software for Understanding and Analysis},
  Pages          = {8-13},
  Publisher      = {IEEE CS Press},
  year           = 2005
}

@InProceedings{Cost03a,
  Author         = {Pascal Costanza},
  Title          = {Dynamically Scoped Functions},
  BookTitle      = {ECOOP 2003 Workshop on Object-oriented Language
                   Engineering for the Post-Java Era},
  Volume         = {38/8},
  Series         = {SIGPLAN Notices},
  Address        = {Darmstadt, Germany},
  Publisher      = {ACM},
  keywords       = {cop-lit},
  month          = jul,
  url            = {http://p-cos.net/documents/dynfun.pdf},
  year           = 2003
}

@InProceedings{Laen88a,
  Author         = {Els Laenens and Dirk Vermeir},
  Title          = {An Overview of {OOPS}+, An Object-Oriented Database
                   Programming Language},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {350-373},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl oops+ oodb ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Book{Baco98a,
  Author         = {Jean Bacon},
  Title          = {Concurrent Systems},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-17767-6},
  keywords       = {concurrence scglib},
  year           = 1998
}

@Misc{Bake99a,
  Author         = {Brenda S. Baker and Kenneth W. Church and Jonathan I.
                   Helfman and Brian W. Kernighan},
  Title          = {Methods and apparatus for detecting and displaying
                   similarities in large data sets},
  HowPublished   = {United States Patent 5,953,006},
  annote         = {Patent Application filed on March 18, 1992},
  month          = sep,
  url            = {http://patft.uspto.gov/netahtml/search-bool.html},
  year           = 1999
}

@Book{Mass05a,
  Author         = {Vincent Massol and Timothy M. O'Brien},
  Title          = {Maven: A developer's Notebook},
  Publisher      = {O'Reilly},
  isbn           = {0-596-00750-7},
  keywords       = {maven},
  year           = 2005
}

@PhdThesis{Reid80a,
  Author         = {B.K. Reid},
  Title          = {Scribe: {A} Document Specification Language and its
                   Compiler},
  School         = {Department of Computer Science, Carnegie-Mellon
                   University},
  Type           = {Ph.{D}. Thesis},
  keywords       = {misc scribe documents},
  year           = 1980
}

@Book{Lewi98a,
  Author         = {John Lewis and William Loftus},
  Title          = {Java Software Solutions},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-57164-1},
  keywords       = {java scglib},
  year           = 1998
}

@Book{Jaco97a,
  Author         = {Ivar Jacobson and Martin Griss and Patrik Jonsson},
  Title          = {Software Reuse},
  Publisher      = {Addison Wesley/ACM Press},
  isbn           = {0-201-92476-5},
  keywords       = {olit-oose oorp},
  year           = 1997
}

@InProceedings{Naff81a,
  Author         = {Najah Naffah},
  Title          = {Editing Multitype Documents},
  BookTitle      = {Proceedings of the International Workshop on Office
                   Information Systems},
  keywords       = {oislit multitype documents},
  month          = oct,
  year           = 1981
}

@Misc{Whisker,
  Author         = {Doug Way},
  Title          = {Whisker: The {O-O} Stacking Browser},
  Note           = {\url{www.mindspring.com/~dway/smalltalk/whisker.html}},
  month          = dec,
  year           = 2005
}

@InCollection{Kell98a,
  Author         = {Wolfgang Keller and Jens Coldewey},
  Title          = {Accessing Relational Databases: {A} Pattern Language},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  Editor         = {Robert Martin and Dirk Riehle and Frank Bushmann},
  Pages          = {313-343},
  keywords       = {olit dbreeng famoos patterns oorp},
  year           = 1998
}

@InProceedings{Bull06a,
  Author         = {R. Ian Bull and Margaret-Anne Storey and Jean-Marie
                   Favre and Marin Litoiu},
  Title          = {An Architecture to Support Model Driven Software
                   Visualization},
  BookTitle      = {International Conference on Program Comprehension},
  Pages          = {100-106},
  Address        = {Athens, Greece},
  Publisher      = {IEEE Computer Society},
  day            = {14--16},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.11},
  url            = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=34208&arnumber=1631112&count=51&index=21},
  year           = 2006
}

@InProceedings{Lump06a,
  Author         = {Markus Lumpe and Jean-Guy Schneider},
  Title          = {{On the Integration of Classboxes into C{\#}}},
  BookTitle      = {Proceedings of the 5th International Symposium on
                   Software Composition (SC 2006)},
  Editor         = {L{\"o}we, Welf and S{\"u}dholt, Mario},
  Pages          = {307--322},
  Address        = {Vienna, Austria},
  Publisher      = {Springer},
  month          = mar,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc06.pdf},
  year           = 2006
}

@InProceedings{Lewi03a,
  Author         = {Bill Lewis and Mireille Ducass\'e},
  Title          = {Using events to debug {Java} programs backwards in
                   time},
  BookTitle      = {OOPSLA Companion 2003},
  Pages          = {96-97},
  year           = 2003
}

@Book{Coin96a,
  Editor         = {Pierre Cointe},
  Title          = {Proceedings {ECOOP}'96},
  Publisher      = {Springer-Verlag},
  Volume         = {1098},
  Series         = {LNCS},
  Address        = {Kaiserslautern, Germany},
  isbn           = {3-540-61439-7},
  keywords       = {olit ecoop96proc scglib},
  month          = jul,
  year           = 1996
}

@InProceedings{Lars89a,
  Author         = {Kim G. Larsen},
  Title          = {Modal Specifications},
  BookTitle      = {Automatic Verification Methods for Finite State
                   Systems: Proceedings},
  Editor         = {Joseph Sifakis},
  Volume         = {407},
  Series         = {LNCS},
  Pages          = {232-246},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs equivalence binder},
  year           = 1989
}

@Article{Aste84a,
  Author         = {Egidio Astesiano and Elena Zucca},
  Title          = {Parametric Channels via Label Expressions in {CCS}},
  Journal        = {Theoretical Computer Science},
  Volume         = {33},
  Pages          = {45-64},
  keywords       = {pcalc mobility (uwe)},
  year           = 1984
}

@MastersThesis{Mari97a,
  Author         = {Radu Marinescu},
  Title          = {The Use of Software Metrics in the Design of
                   Object-Oriented Systems},
  School         = {University Politehnica Timi\c{s}oara --- Fakultat fur
                   Informatik},
  Type           = {Diploma thesis},
  keywords       = {olit},
  month          = oct,
  year           = 1997
}

@Article{Silb84a,
  Author         = {A. Silberschatz},
  Title          = {Cell: {A} Distributed Computing Modularization Concept},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = 2,
  Pages          = {178-185},
  keywords       = {olit-obc distribution},
  month          = mar,
  year           = 1984
}

@Misc{VisualWorks,
  Title          = {{Cincom} {Smalltalk}},
  note           = {\\ \url{http://www.cincomsmalltalk.com/main/products/visualworks/}},
  url            = {http://www.cincomsmalltalk.com/main/products/visualworks/},
  key            = {VisualWorks},
  month          = aug,
  year           = 2010
}

@Article{Feld04a,
  Author         = {Stuart Feldman},
  Title          = {A conversation with Alan Kay.},
  Journal        = {ACM Queue},
  Volume         = {2},
  Number         = {9},
  Pages          = {20-30},
  ee             = {http://doi.acm.org/10.1145/1039511.1039523},
  year           = 2004
}

@InProceedings{Stor97b,
  Author         = {Margaret-Anne D. Storey and Kenny Wong and F. D.
                   Fracchia and Hausi A. M{\"u}ller},
  Title          = {On integrating visualization techniques for effective
                   software exploration},
  BookTitle      = {Proceedings of IEEE Symposium on Information
                   Visualization (InfoVis '97)},
  Pages          = {38-48},
  Publisher      = {IEEE Computer Society},
  year           = 1997
}

@Book{Gord81a,
  Author         = {A. D. Gordon},
  Title          = {Classification: Methods for the Exploratory Analysis
                   of Multivariate Data},
  Publisher      = {Chapman \& Hall Ltd.},
  Address        = {London},
  keywords       = {clustering},
  year           = 1981
}

@Article{Gibb90a,
  Author         = {Simon Gibbs and Dennis Tsichritzis and Eduardo Casais
                   and Oscar Nierstrasz and Xavier Pintado},
  Title          = {Class Management for Software Communities},
  Journal        = {Communications of the ACM},
  Volume         = {33},
  Number         = {9},
  Pages          = {90-103},
  abstract       = {Object-oriented programming is considered in the
                   context of software communities --- groups of designers
                   and developers sharing knowledge and experience. One
                   way of fostering reuse of this experience is by
                   establishing large collections of reusable object
                   classes. Resulting problems include: Class packaging
                   and class organization --- how can classes and their
                   methods be represented to simplify reuse. Class
                   selection and exploration --- what query and browsing
                   facilities are needed by developers in order to
                   facilitate software reuse. Class evolution --- how may
                   the class hierarchy be reorganized as a result of
                   changes introduced by developers. These issues are
                   illustrated by examining prototype tools and systems
                   intended to aid object-oriented programming.},
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/83880.84525},
  keywords       = {olit-reuse osg-ftp om90},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Gibb90aClassManagement.pdf},
  year           = 1990
}

@Article{Budi96a,
  Author         = {F.J. Budinsky and M.A. Finnie and J.M Vlissides and
                   P.S. Yu},
  Title          = {Automatic code generation from design patterns},
  Journal        = {IBM Systems Journal},
  Volume         = {35},
  Number         = {2},
  year           = 1996
}

@InProceedings{Hage90a,
  Author         = {P.J.W ten Hagen},
  Title          = {Critique of the Seeheim model},
  BookTitle      = {Proceedings of the workshop: User Interface Management
                   and Design},
  Pages          = {3-6},
  Publisher      = {Springer-Verlag},
  year           = 1990
}

@TechReport{Schm92a,
  Author         = {Douglas C. Schmidt},
  Title          = {{ICP} {SAP}: {A} Family of {O}.{O}. Interfaces for
                   Local and Remote Interprocesses Comunnication},
  Institution    = {Comp. Science Department, Washington University},
  Type           = {Technical Report},
  keywords       = {olit reuse pattern binder},
  url            = {http://www.cs.wustl.edu/~schmidt/IPC_SAP-92.ps.Z},
  year           = 1992
}

@Book{Sann94a,
  Editor         = {Donald Sannella},
  Title          = {Proceedings of {ESOP} '94 5th European Conference on
                   Programming Languages and Systems},
  Publisher      = {Springer-Verlag},
  Volume         = {788},
  Series         = {LNCS},
  isbn           = {3-540-57880-3},
  keywords       = {esop94 book scglib},
  year           = 1994
}

@Article{Bour03a,
  Author         = {N. Bouraqadi},
  Title          = {Safe Metaclass Composition Using Mixin-Based
                   Inheritance},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {30},
  Number         = {1-2},
  Pages          = {49-61},
  month          = apr,
  publisher      = {Elsevier},
  year           = 2004
}

@TechReport{Kuch06,
  Author         = {Andrew M. Kuchling},
  Title          = {What's New in {Python} 2.5},
  Institution    = {Python Software Foundation},
  url            = http://docs.python.org/whatsnew/whatsnew25.html,
  year           = 2007
}

@TechReport{Papa91b,
  Author         = {Michael Papathomas},
  Title          = {A Unifying Framework for Process Calculus Semantics of
                   Concurrent Object-Based Languages and Features},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {Working paper},
  abstract       = {A framework for the semantic description of concurrent
                   object-oriented languages based on CCS is outlined. We
                   discuss how the essential object-oriented features,
                   such as encapsulation, object identity, classes,
                   inheritance and obc are captured. Then, the proposed
                   framework is used for defining the semantics of
                   significantly different versions of a toy language
                   which supports the above features. The ease with which
                   the different versions of this language are
                   accommodated provides some evidence for the
                   applicability of the framework for a wide range of
                   languages, as well as its usefulness for comparing
                   different language designs and examining the
                   interaction of a rich set of object-oriented features.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc pcalc osg-ftp oc91},
  month          = jun,
  pages          = {205-224},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concSemanticFrame.pdf},
  year           = 1991
}

@InProceedings{Bloo87a,
  Author         = {Toby Bloom and Stanley B. Zdonik},
  Title          = {Issues in the Design of Object-Oriented Database
                   Programming Languages},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = 22,
  Number         = 12,
  Pages          = {441-451},
  keywords       = {olit-db oopsla87 oobib(oodb)},
  month          = dec,
  year           = 1987
}

@InProceedings{Gibs97a,
  Author         = {Paul Gibson},
  Title          = {Feature Requirements Models: Understanding
                   Interactions},
  BookTitle      = {Feature Interactions in Telecommunication Networks},
  Pages          = {46--60},
  Publisher      = {IOS Press},
  year           = 1997
}

@Book{Nord90a,
  Author         = {B. Nordstr{\"o}m and K. Petersson and J. M. Smith},
  Title          = {Programming in Martin-L{\"o}fs Type Theory, An
                   Introduction},
  Publisher      = {Clarendon Press},
  Address        = {Oxford},
  keywords       = {types dependent},
  year           = 1990
}

@Article{Duca07z,
  Author         = {St\'ephane Ducasse and Hilaire Fernandes},
  Title          = {Tests unitaires en Smalltalk},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 94,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = may,
  year           = 2007
}

@TechReport{Hens90a,
  Author         = {Andreas V. Hense},
  Title          = {Denotational Semantics of an Object Oriented
                   Programming Language with Explicit Wrappers},
  Institution    = {FB 14, Universit{\"a}t des Saarlandes},
  Type           = {Report},
  Number         = {A11/90},
  Note           = {submitted for publication},
  keywords       = {olit-inheritance wrappers binder},
  misc           = {Nov. 5},
  month          = nov,
  year           = 1990
}

@Article{Karr92a,
  Author         = {C. Karreman},
  Title          = {A Dotplot Program for the {Atari} {ST}, for the
                   Analysis of {DNA} and Protein Sequences},
  Journal        = {Comput. Appl. Biosci.},
  Volume         = {8},
  Pages          = {75-77},
  keywords       = {dotplot},
  year           = 1992
}

@Book{Inst83a,
  Author         = {{American National Standards Institute, Inc.}},
  Title          = {The Programming Language Ada Reference Manual},
  Publisher      = {Springer-Verlag},
  Volume         = {155},
  Series         = {LNCS},
  institution    = {American National Standards Institute, Inc.},
  keywords       = {plang ada},
  year           = 1983
}

@InProceedings{Cord04a,
  Author         = {James R. Cordy and Thomas R. Dean and Nikita Synytskyy},
  Title          = {Practical Language-Independent Detection of Near-Miss
                   Clones},
  BookTitle      = {Proceedings of the 2004 conference of the Centre for
                   Advanced Studies on Collaborative research (CASCON 04)},
  Pages          = {1-12},
  Address        = {Markham, Ontario, Canada},
  Publisher      = {IBM Press},
  year           = 2004
}

@InProceedings{Quan06a,
  Author         = {Jochen Quante and Rainer Koschke},
  Title          = {Dynamic Obejct Process Graphs},
  BookTitle      = {Proceedings 10th European Conference on Software
                   Maintenance and Reengineering (CSMR 2006)},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  year           = 2006
}

@Article{Bans02a,
  Author         = {Jagdish Bansiya and Carl Davis},
  Title          = {A Hierarchical Model for Object-Oriented Design
                   Quality Assessment},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {1},
  Pages          = {4--17},
  keywords       = {metrics},
  month          = jan,
  year           = 2002
}

@Article{Shaw95a,
  Author         = {M. Shaw and R. DeLine and D. V. Klein and T. L. Ross
                   and D. M. Young and G. Zelesnik},
  Title          = {Abstractions for software and architecture and tools
                   to support them},
  Journal        = {IEEE Transactions on Software Engineering},
  keywords       = {olit},
  month          = apr,
  year           = 1995
}

@Article{Bada86a,
  Author         = {D.Z. Badal},
  Title          = {The Distributed Deadlock Detection Algorithm},
  Journal        = {ACM Transactions on Computer Systems},
  Volume         = {4},
  Number         = {4},
  Pages          = {320-337},
  keywords       = {concurrency distribution deadlock},
  month          = nov,
  year           = 1986
}

@InCollection{Stey96b,
  Author         = {Patrick Steyaert and Koen De Hondt and Serge Demeyer
                   and Niels Boyen},
  Title          = {Reflective User Interface Builders},
  BookTitle      = {Advances in Object-Oriented Metalevel Architectures
                   and Reflection},
  Publisher      = {CRC Press --- Boca Raton --- Florida},
  Editor         = {Chris Zimmerman},
  Pages          = {291-309},
  abstract       = {Current visual application builders and application
                   frameworks do not live up to their expectations of
                   rapid application development or non-programming-expert
                   application development. They fall short when compared
                   to component-oriented development environments in which
                   applications are built with components that have a
                   strong affinity with the problem domain (i.e. being
                   domain-specific). Although the latter environments are
                   very powerful, they are hard to build and, in general,
                   do not allow much variation in the problem domain that
                   is covered. In this paper we show how this apparent
                   conflict between generality and domain specificity can
                   be overcome by considering application building itself
                   as the problem domain. This naturally leads to the
                   notion of a reflective application builder, i.e. an
                   application framework-application builder pair that
                   incorporates all the tools for the visual construction
                   of (domain-specific) application builders.},
  isbn           = {084932663X},
  keywords       = {olit ecoop95proc applflab mop sergedem-papref},
  url            = {http://www.iam.unibe.ch/~demeyer/Stey96b/
                   http://progwww.vub.ac.be/papers/paperquery.html
                   ftp://progftp.vub.ac.be/tech_report/1996/vub-prog-tr-96-02.ps.Z},
  year           = 1996
}

@Article{Deve84a,
  Author         = {J. Devereux and P. H{\"a}berli and O. Smithies},
  Title          = {A Comprehensive Set of Sequence Analysis Programs for
                   the {VAX}},
  Journal        = {Nucleic Acids Research},
  Volume         = {12},
  Pages          = {395-397},
  keywords       = {dotplot},
  year           = 1984
}

@MastersThesis{Arev99a,
  Author         = {Gabriela Ar{\'e}valo},
  Title          = {{G.I.S.} + {Oceans} = {A S}trange {Combination}},
  School         = {University of La Plata},
  Type           = {Diploma {Thesis}},
  Note           = {in Spanish},
  keywords       = {arevalo},
  month          = mar,
  year           = 1999
}

@Article{Doda92c,
  Author         = {M. Dodani and T. Lee and C.S. Tsai},
  Title          = {Integrating Reliable Type Systems Into Object-Oiented
                   Software Development Environments},
  Journal        = {Journal of Theory and Practice of Object-Oriented
                   Systems},
  Volume         = {??},
  Number         = {??},
  Pages          = {??-??},
  keywords       = {obib(gen) binder},
  year           = 1992
}

@InProceedings{Kazm94a,
  Author         = {Rick Kazman and Leonard J. Bass and Mike Webb and
                   Gregory D. Abowd},
  Title          = {{SAAM}: A Method for Analyzing the Properties of
                   Software Architectures},
  BookTitle      = {International Conference on Software Engineering
                   (ICSE)},
  Pages          = {81-90},
  year           = 1994
}

@InProceedings{Leit03a,
  Author         = {Ant\'onio M. Leit{\~{a}}o},
  Title          = {Detection of Redundant Code using {R2D2}},
  BookTitle      = {Proc. Third IEEE International Workshop on Source Code
                   Analysis and Manipulation (SCAM)},
  Pages          = {183-192},
  Publisher      = {IEEE},
  keywords       = {clones},
  month          = sep,
  year           = 2003
}

@Book{Mull95c,
  Author         = {Kevin Mullet and Darrell Sano},
  Title          = {Designing Visual Interfaces},
  Publisher      = {Prentice Hall},
  keywords       = {hci scglib},
  year           = 1995
}

@InProceedings{Riva96a,
  Author         = {Fred Rivard},
  Title          = {{Pour un lien d'instanciation dynamique dans les
                   langages \`a classes}},
  BookTitle      = {JFLA96},
  Publisher      = {INRIA --- collection didactique},
  month          = jan,
  year           = 1996
}

@Article{Well92a,
  Author         = {David L. Wells and Jos\'e A. Blakely and Craig W.
                   Thompson},
  Title          = {Architecture of an Open Object-Oriented Database},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {74-83},
  keywords       = {olit-oopl ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Duca97d,
  Author         = {St\'ephane Ducasse},
  Title          = {R\'eification de Sch\'emas de Conception: Une
                   Exp\'erience},
  BookTitle      = {Actes de Langages et Mod\`eles \`a Objets (LMO'97)},
  Pages          = {95-110},
  annote         = {nationalconference},
  keywords       = {olit famoos-papref scglit oobib scg-pub skipdoi
                   skip-abstract snf97 jb97 stefPub flo},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca97dReificationDP.ps.gz},
  year           = 1997
}

@InProceedings{Stev98a,
  Author         = {Perdita Stevens and Rob Pooley},
  Title          = {System Reengineering Patterns},
  BookTitle      = {Proceedings of FSE-6},
  Publisher      = {ACM-SIGSOFT},
  keywords       = {oorp},
  year           = 1998
}

@Article{Fern06b,
  Author         = {Hilaire Fernandes and Serge Stinckwich},
  Title          = {Environnement de d\'eveloppement Smalltalk},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 85,
  annote         = {notrefereed},
  month          = jul,
  year           = 2006
}

@Article{Doda94i,
  Author         = {Mahesh Dodani},
  Title          = {Formal Methods for Object-Oriented Software
                   Engineering},
  Journal        = {OOPS Messenger},
  Volume         = {5},
  Number         = {2},
  keywords       = {obib(gen) binder},
  month          = apr,
  year           = 1994
}

@InProceedings{Kim05a,
  Author         = {Miryung Kim and Vibha Sazawal and David Notkin and
                   Gail C. Murphy},
  Title          = {An Empirical Study of Code Clone Genealogies},
  BookTitle      = {Proceedings of European Software Engineering
                   Conference (ESEC/FSE 2005)},
  Pages          = {187--196},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1081706.1081737},
  isbn           = {1-59593-014-0},
  keywords       = {evolution clone},
  year           = 2005
}

@InProceedings{Jeze93a,
  Author         = {Jean-Marc J\'ez\'equel},
  Title          = {Transparent Parallelisation Through Reuse: Between a
                   Compiler and a Library Approach},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {384-405},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Software environments for commercially available
                   Distributed Memory Parallel Computers (DMPCs) mainly
                   consist of libraries of routines to handle
                   communications between processes written in sequential
                   languages such as C or Fortran. This approach makes it
                   difficult to program massively parallel systems in both
                   an easy and efficient way. Another approach relies on
                   (semi-)automatic parallelizing compilers but it has its
                   own drawbacks. We propose to tackle this problem at an
                   intermediate level (i.e. between high level
                   parallelizing compilers and raw libraries), using
                   Object Oriented (OO) technologies. We show that
                   existing OO techniques based on the reuse of carefully
                   designed software components can be applied with
                   satisfactory results to the large scale scientific
                   computation field. We propose to use a form of
                   parallelism, known as data parallelism, and to embed it
                   in a pure sequential OOL (Eiffel). We illustrate on
                   several examples how sequential components and
                   frameworks can be modified for parallel execution on
                   DM- PCs to allow for transparent parallelisation of
                   classes using these components and frameworks.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Parn86a,
  Author         = {David L. Parnas and P.C. Clements},
  Title          = {A Rational Design Process: How and Why to Fake It},
  Journal        = {IEEE Transactions on Software Engineering,},
  Volume         = {SE-12:2},
  keywords       = {olit patterns},
  month          = feb,
  year           = 1986
}

@InProceedings{Atki05a,
  Author         = {Colin Atkinson and Thomas Kuehne},
  Title          = {Concepts for Comparing Modeling Tool Architecture},
  BookTitle      = {Proceedings of the UML Conference},
  Number         = {3713},
  Series         = {LNCS},
  Pages          = {19--33},
  year           = 2005
}

@Book{Gare79a,
  Author         = {M.R. Garey and D.S. Johnson},
  Title          = {Computers and Intractability: A Guide to the Theory of
                   {NP}-completeness},
  Publisher      = {Freeman},
  Address        = {San Francisco},
  keywords       = {misc complexity book scglib},
  year           = 1979
}

@Unpublished{Shan92a,
  Author         = {Lujun Shang},
  Title          = {An Object-Oriented Approach to Construct Concurrent
                   Behaviours},
  Note           = {Comp. Sci Dept., Nanjing University, China},
  keywords       = {olit-obcl cluster binder},
  type           = {draft},
  year           = 1992
}

@Misc{Stev98b,
  Title          = {Systems Reengineering Patterns},
  key            = {SRP},
  url            = {http://www.reengineering.ed.ac.uk/}
}

@InProceedings{Henk05a,
  Author         = {Johannes Henkel and Amer Diwan},
  Title          = {{CatchUp}!: capturing and replaying refactorings to
                   support {API} evolution},
  BookTitle      = {Proceedings International Conference on Software
                   Engineering (ICSE 2005)},
  Pages          = {274--283},
  keywords       = {evolution},
  year           = 2005
}

@InProceedings{Cord03a,
  Author         = {James R. Cordy},
  Title          = {Comprehending Reality---Practical Barriers to
                   Industrial Adoption of Software Maintenance Automation},
  BookTitle      = {Proc. 11th Int. Workshop on Program Comprehension
                   (IWPC'03)},
  Pages          = {196-205},
  Address        = {Portland, Oregon, USA},
  Publisher      = {IEEE},
  keywords       = {clones},
  month          = may,
  year           = 2003
}

@Article{Graf86a,
  Author         = {Suzanne Graf and Joseph Sifakis},
  Title          = {A Logic for the Specification and Proof of Regular
                   Controllable Processes of {CCS}},
  Journal        = {Acta Informatica},
  Volume         = {23},
  Number         = {5},
  Pages          = {507-528},
  keywords       = {pcalc equivalence ccs regular processes binder},
  year           = 1986
}

@InProceedings{Huch00b,
  Author         = {Marianne Huchard and Herv{\'e} Leblanc},
  Title          = {Computing {Interfaces} in {JAVA}},
  BookTitle      = {Proceedings of ASE '00 (15th IEEE International
                   Conference onAutomated Software Engineering},
  Pages          = {317-320},
  location       = {Grenoble, France},
  year           = 2000
}

@InProceedings{Conn89a,
  Author         = {R.C.H. Connor and Alan Dearle and Ron Morrison and
                   A.L. Brown},
  Title          = {An Object Addressing Mechanism for Statically Types
                   Languages with Multiple Inheritance},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {279-286},
  keywords       = {types olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Sakk92a,
  Author         = {Markku Sakkinen},
  Title          = {A Critique of the Inheritance Principles of {C}++},
  Journal        = {Computing Systems},
  Volume         = {5},
  Number         = {1},
  Pages          = {69-110},
  keywords       = {olit-inheritance binder},
  year           = 1992
}

@PhdThesis{June90a,
  Author         = {Marc Junet},
  Title          = {S\'emantique des Bases de Don\'ees: Un Mod\`ele et une
                   R\'ealisation},
  School         = {University of Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pl-semantics db cui binder (shelf)},
  year           = 1990
}

@InProceedings{Stor97a,
  Author         = {Margaret-Anne D. Storey and Kenny Wong and Hausi A.
                   M{\"u}ller},
  Title          = {How Do Program Understanding Tools Affect How
                   Programmers Understand Programs?},
  BookTitle      = {Proceedings Fourth Working Conference on Reverse
                   Engineering},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {12-21},
  Publisher      = {IEEE Computer Society},
  year           = 1997
}

@InProceedings{Schm89a,
  Author         = {Claudia Schmittgen and Werner Kluge and Ralf Zimmer},
  Title          = {$\pi$-{RED} --- An Interactive Reduction System Based
                   on a Fully-Fledged $\lambda$-Calculus},
  BookTitle      = {Efficient Execution of Declarative Programs,
                   Proceedings of the ACM ISCA 89 Workshop on
                   Architectural Support for Declarative Programming},
  Editor         = {D. De Groot and P. Biswas},
  keywords       = {fp lambda graph reduction binder},
  year           = 1989
}

@InProceedings{Chen94b,
  Author         = {Jia-L. Chen and D. McLeod and D. O'Leary},
  Title          = {Schema Evolution for Object-Based Accounting Database
                   Systems},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {40-52},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Jaco93a,
  Author         = {Ivar Jacobson},
  Title          = {Is Object Technology Software's Industrial Platform?},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {24-30},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@InProceedings{Dalz00a,
  Author         = {Silvano Dal Zilio},
  Title          = {An Interpretation of Typed Concurrent Objects in the
                   Blue Calculus},
  BookTitle      = {Proc. of IFIP TCS 2000},
  Volume         = {1872},
  Series         = {LNCS},
  Pages          = {409-424},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc mobility blue calculus pisem},
  month          = aug,
  url            = {http://research.microsoft.com/~sdal/interptypcoo.htm},
  year           = 2000
}

@Book{Sieg96a,
  Author         = {Jon Siegel},
  Title          = {{CORBA} Fundamentals and Programming},
  Publisher      = {John Wiley % Sons},
  isbn           = {0-471-12148-7},
  keywords       = {corba scglib},
  year           = 1996
}

@InProceedings{Mill99a,
  Author         = {Todd Millstein and Craig Chambers},
  Title          = {Modular Statically Typed Multimethods},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {279-303},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Multimethods offer several well-known advantages over
                   the single dispatching of conventional object-oriented
                   languages, including a simple solution to the "binary
                   method" problem, cleaner implementations of the
                   "visitor," "strategy," and similar design patterns, and
                   a form of "open objects." However, previous work on
                   statically typed multimethods whose arguments are
                   treated symmetrically has required the whole program to
                   be available in order to perform typechecking. We
                   describe Dubious, a simple core language including
                   first-class generic functions with symmetric
                   multimethods, a classless object model, and modules
                   that can be separately typechecked. We identify two
                   sets of restrictions that ensure modular type safety
                   for Dubious as well as an interesting intermediate
                   point between these two. We have proved each of these
                   modular type systems sound.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Gris01a,
  Author         = {William G. Griswold and Jimmy J. Juan and Yoshikiyo
                   Kato},
  Title          = {Exploiting the Map Metaphor in a Tool for Software
                   Evolution},
  BookTitle      = {Proceedings of the 2001 International Conference on
                   Software Engineering (ICSE 2001)},
  Organization   = {IEEE Computer Society},
  month          = mar,
  year           = 2001
}

@Unpublished{Kici01a,
  Author         = {Emre K{\i}c{\i}man and Laurence Melloul and Armando
                   Fox},
  Title          = {Towards Zero-Code Composition},
  Note           = {Submitted to Hot Topics in Operating Systems (HotOS
                   VIII).},
  year           = 2001
}

@InProceedings{Deur02a,
  Author         = {Deursen, {Arie van} and Leon Moonen},
  Title          = {The Video Store Revisited --- Thoughts on Refactoring
                   and Testing},
  BookTitle      = {Proceedings of the 3nd International Conference on
                   Extreme Programming and Flexible Processes in Software
                   Engineering (XP2002)},
  Editor         = {M. Marchesi and G. Succi},
  month          = may,
  year           = 2002
}

@Article{Webe02a,
  Author         = {Debora Weber-Wulff},
  Title          = {{Schummeln} mit dem {Internet}},
  Journal        = {c't Magazin f\"ur Computertechnik},
  Volume         = {15},
  Number         = {1},
  Pages          = {64-69},
  keywords       = {plagiarism},
  month          = jan,
  url            = {http://www.heise.de/ct/02/01/004/},
  year           = 2002
}

@InProceedings{Niel89a,
  Author         = {Flemming Nielson},
  Title          = {The Typed Lambda-Calculus with First-Class Processes},
  BookTitle      = {Proceedings PARLE '89, Vol II},
  Editor         = {E. Odijk and J-C. Syre},
  Series         = {LNCS 366},
  Pages          = {357-373},
  Address        = {Eindhoven},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc binder(conc)},
  month          = jun,
  year           = 1989
}

@Book{Flan97c,
  Author         = {David Flanagan},
  Title          = {Java in a Nutshell: 2nd Edition},
  Publisher      = {O'Reilly},
  Edition        = {2nd},
  isbn           = {1-56592-262-X},
  keywords       = {olit-oopl java scglib},
  year           = 1997
}

@Article{Rook87a,
  Author         = {Rook, P.},
  Title          = {Controlling Software Projects},
  Journal        = {Software Engineering Journal},
  Volume         = 1,
  Number         = 1,
  Pages          = {7-16},
  keywords       = {fca},
  month          = jan,
  year           = 1996
}

@InProceedings{DHon99a,
  Author         = {D'Hondt, Maja and De Meuter, Wolfgang and Wuyts, Roel},
  Title          = {Using Reflective Programming to Describe Domain
                   Knowledge as an Aspect},
  BookTitle      = {Proceedings of GCSE '99},
  annote         = {internationalconference},
  keywords       = {SOUL},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/DHon99a.pdf},
  year           = 1999
}

@InProceedings{Herz94a,
  Author         = {R. Herzig and M. Gogolla},
  Title          = {An {SQL}-like Query Calculus for Object-Oriented
                   Databases},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {20-39},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Hunt98a,
  Author         = {Jason Hunter},
  Title          = {Java Servlet Programming},
  Publisher      = {O'Reilly \& Associates, Inc},
  keywords       = {java servlet olit},
  url            = {http://www.servlets.com/index.html},
  year           = 1998
}

@InProceedings{Kilo92a,
  Author         = {Haim Kilov},
  Title          = {From {OSI} Systems Management to an Interoperable
                   Object Model: Behavioural Specification of (Generic)
                   Relationships},
  BookTitle      = {Proceedings 3d Telecommunications Information
                   Networking Architecture Workshop (TINA 92)},
  Address        = {Narita, Japan},
  keywords       = {olit binder},
  misc           = {Jan. 21-23},
  month          = jan,
  year           = 1992
}

@InProceedings{Walt89a,
  Author         = {Sandra S. Walther and Richard L. Peskin},
  Title          = {Strategies for Scientific Prototyping in {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {159-168},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Bert95a,
  Author         = {Elisa Bertino and Giovanna Guerrini},
  Title          = {Objects with Multiple Most Specific Classes},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {102-126},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Article{Rich71a,
  Author         = {M. Richards},
  Title          = {The Portability of the {BCPL} Compiler},
  Journal        = {Software --- Practice and Experience},
  Volume         = {1},
  Pages          = {135-146},
  keywords       = {plang bcpl o-code},
  year           = 1971
}

@Book{Weis96c,
  Author         = {Michael Weiss and Andy Jhonson and Joe Kiniry},
  Title          = {Distributed Computing: {Java}, {CORBA}, and {DCE}},
  Publisher      = {Open Software Foundation Version 2.1},
  keywords       = {java olit binder},
  month          = feb,
  year           = 1996
}

@InProceedings{Ohor89a,
  Author         = {Atsushi Ohori and Peter Buneman},
  Title          = {Static Type Inference for Parametric Classes},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {445-456},
  keywords       = {types olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Stro94a,
  Author         = {Bjarne Stroustrup},
  Title          = {The Design and Evolution of {C}++},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-54330-3},
  keywords       = {olit-oopl c++ oobib(oopl) book scglib},
  year           = 1994
}

@TechReport{Sewe99a,
  Author         = {Peter Sewell and Pawel Wojciechowski and Benjamin
                   Pierce},
  Title          = {Location-Independent Communication for Mobile Agents:
                   a Two-Level Architecture},
  Institution    = {University of Cambridge},
  Type           = {technical report},
  keywords       = {pi distribution},
  url            = {http://www.cl.cam.ac.uk/users/pes20/nomadicpict.html},
  year           = 1999
}

@InProceedings{Purc90a,
  Author         = {Jan A. Purchase and Russel L. Winder},
  Title          = {Message Pattern Specifications: {A} New Technique for
                   Handling Errors in Parallel Object Oriented Systems},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {116-125},
  keywords       = {olit-obc oopsla90 ecoop90proc obc binder},
  month          = oct,
  year           = 1990
}

@InProceedings{Sang92a,
  Author         = {Davide Sangiorgi and Robin Milner},
  Title          = {The Problem of "Weak Bisimulation Up To"},
  BookTitle      = {Proceedings of CONCUR '92},
  Editor         = {W.R. Cleaveland},
  Volume         = 630,
  Series         = {LNCS},
  Pages          = {32-46},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence concurrency concur92},
  year           = 1992
}

@Article{Clav01a,
  Author         = {Manuel Clavel and Francisco Dur{\'a}n and Steven Eker
                   and Patrick Lincoln and Narciso Mart{\'\i}-Oliet and
                   Jos{\'e} Meseguer and Jos{\'e} F. Quesada},
  Title          = {{Maude}: Specification and Programming in Rewriting
                   Logic},
  Journal        = {Theoretical Computer Science},
  Note           = {To appear},
  year           = 2001
}

@InProceedings{Andr90b,
  Author         = {Jean-Marc Andreoli and Remo Pareschi},
  Title          = {{LO} and Behold! Concurrent Structured Processes},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {44-56},
  keywords       = {olit-obcl lo oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@TechReport{Prev90a,
  Author         = {Vassili Prevelakis},
  Title          = {Versioning Issues for Hypertext Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Hypertext systems have gained acceptance in a wide
                   range of application domains (e.g. CASE, systems
                   design, outline processors etc.). However, in order to
                   function effectively in these domains, hypertext
                   systems must support versioning. In this paper we will
                   examine the issues involved in providing versioning
                   facilities that not only support but enhance the
                   special features provided by hypertext. We analyse the
                   requirements that should be satisfied by a versioning
                   system and we examine how existing hypertext systems
                   cope with these requirements. We then describe a set of
                   mechanisms that are powerful enough to comply with our
                   requirements. Finally, we present a demonstration
                   system that will be used to evaluate the effectiveness
                   of our versioning mechanisms.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg om90},
  month          = jul,
  pages          = {89-105},
  year           = 1990
}

@TechReport{Mese90a,
  Author         = {Jos\'e Meseguer},
  Title          = {Rewriting as a Unified Model of Concurrency},
  Institution    = {SRI International},
  Type           = {SRI-CSL-90-02R},
  keywords       = {concurrency semantics binder (shelf)},
  month          = jun,
  year           = 1990
}

@Book{Alde84a,
  Author         = {Mark S. Aldenderfer and Roger K. Blashfield},
  Title          = {Cluster Analysis},
  Publisher      = {Sage Publications Inc.},
  Series         = {Sage University Paper Series on Quantitative
                   Applications in the Social Sciences},
  Address        = {Beverly Hills},
  keywords       = {clustering},
  year           = 1984
}

@Manual{Sniff00a,
  Title          = {SNiFF+},
  Organization   = {Wind River},
  url            = {http://www.windriver.com/products/sniff_plus/index.html},
  year           = 2000
}

@InProceedings{Tarr00a,
  Author         = {Peri L. Tarr and Maja D'Hondt and Lodewijk Bergmans
                   and Cristina Videira Lopes},
  Title          = {Workshop on Aspects and Dimensions of Concern:
                   Requirements on, and Challenge Problems for, Advanced
                   Separation of Concerns},
  BookTitle      = {{ECOOP} 2000 Workshops},
  Editor         = {Jacques Malenfant and Sabine Moisan and Ana M. D.
                   Moreira},
  Volume         = {1964},
  Series         = {LNCS},
  Pages          = {203--240},
  Publisher      = {Springer},
  year           = 2000
}

@InProceedings{Dent97a,
  Author         = {Enrico Denti and Antonio Natali and Andrea Omicini},
  Title          = {Programmable Coordination Medium},
  BookTitle      = {Proceedings of COORDINATION '97 (Coordination
                   Languages and Models},
  Editor         = {David Garlan and Daniel Le M{\'e}tayer},
  Volume         = 1282,
  Series         = {LNCS},
  Pages          = {274-288},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination97},
  year           = 1997
}

@InProceedings{Boud89a,
  Author         = {G\'erard Boudol},
  Title          = {Towards a Lambda-Calculus for Concurrent and
                   Communicating Systems},
  BookTitle      = {Proceedings TAPSOFT '89},
  Editor         = {D\'iaz and Orejas},
  Volume         = {351},
  Series         = {LNCS},
  Pages          = {149-161},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc tapsoft89 binder(conc)},
  year           = 1989
}

@TechReport{Brio96b,
  Author         = {Jean-Pierre Briot and Rachid Guerraoui},
  Title          = {A Classification of Various Approaches for
                   Object-Based Parallel and Distributed Programming},
  Institution    = {Ecole Polytechnique Federale de Lausanne \& University
                   of Tokyo},
  Type           = {Technical Report},
  keywords       = {olit-ocl obib-concurrency},
  url            = {http://lsewww.epfl.ch/~rachid/papers/surv96.ps},
  year           = 1996
}

@InCollection{Doda94b,
  Author         = {Mahesh Dodani and Kok Siew Gan},
  Title          = {A Semantic Framework for Understanding the Behavior of
                   Modules and Classes in Programming Languages},
  BookTitle      = {Advances in Modular Languages},
  Publisher      = {University of Ulm (Germany)},
  Editor         = {Peter Schultheses},
  Pages          = {79-92},
  keywords       = {oobib(gen) olit-oopl binder},
  year           = 1994
}

@Book{Li98a,
  Author         = {Liwu Li},
  Title          = {The {Visual}{Age} for {Smalltalk} Primer},
  Publisher      = {Cambridge University Press},
  keywords       = {olit scglib book},
  year           = 1998
}

@InProceedings{Blak87a,
  Author         = {Edwin Blake and Steve Cook},
  Title          = {On Including Part Hierarchies in Object-Oriented
                   Languages, with an Implementation in {Smalltalk}},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {41-50},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Kaps04a,
  Author         = {Cory Kapser and Michael W. Godfrey},
  Title          = {Aiding Comprehension of Cloning Through Categorization},
  BookTitle      = {Proceedings of 2004 International Workshop on Software
                   Evolution (IWPSE-04)},
  Address        = {Kyoto, Japan},
  keywords       = {clones},
  month          = sep,
  url            = {http://plg.uwaterloo.ca/~migod/papers/},
  year           = 2004
}

@InProceedings{Wegn87a,
  Author         = {Peter Wegner},
  Title          = {Dimensions of Object-Based Language Design},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {168-182},
  keywords       = {olit concepts survey oopsla87 oobib(gen) ioom-intro},
  month          = dec,
  year           = 1987
}

@Article{Vand97a,
  Author         = {M. G. J. van den Brand and P. Klint and C. Verhoef},
  Title          = {Reverse engineering and system renovation an annotated
                   bibliography},
  Journal        = {ACM SIGSOFT Software Engineering Notes},
  Volume         = {22},
  Number         = {1},
  Pages          = {57-68},
  doi            = {http://doi.acm.org/10.1145/251759.251849},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1997
}

@InProceedings{Bran95a,
  Author         = {S\/oren Brandt and Ren\'e W. Schmidt},
  Title          = {The Design of a Meta-Level Architecture for the {BETA}
                   Language},
  BookTitle      = {Proceedings of META '95: Workshop on Advances in
                   Metaobject Protocols and Reflection at ECOOP '95},
  keywords       = {olit beta meta mop oobib},
  month          = aug,
  year           = 1995
}

@InProceedings{Halb91a,
  Author         = {N. Halbwachs and P. Caspi and P. Raymond and D. Pilaud},
  Title          = {The Synchronous Data Flow Programming Language LUSTRE},
  BookTitle      = {Proceedings of the IEEE},
  Volume         = {79},
  Number         = {9},
  month          = sep,
  year           = 1991
}

@Book{Mads93a,
  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},
  Address        = {Reading, Mass.},
  isbn           = {0-201-62430-3},
  keywords       = {olit-oopl beta binder (shelf) book},
  year           = 1993
}

@Book{Lako90a,
  Author         = {George Lakoff},
  Title          = {Woman, Fire, And Dangerous Things},
  Publisher      = {University Of Chicago Press},
  isbn           = {0226468046},
  keywords       = {examples},
  year           = 1990
}

@InProceedings{Lang95b,
  Author         = {D.B. Lange and Y. Nakamura},
  Title          = {Program Explorer: {A} Program Visualizer for {C}++},
  BookTitle      = {Proceedings of Usenix Conference on Object-Oriented
                   Technologies},
  Pages          = {39-54},
  year           = 1995
}

@InProceedings{Alme97a,
  Author         = {P. S. Almeida},
  Title          = {Balloon types: Controlling sharing of state in data
                   types},
  BookTitle      = {Proceedings ECOOP '97},
  Series         = {LNCS},
  Pages          = {32-59},
  Publisher      = {Springer Verlag},
  month          = jun,
  year           = 1997
}

@Book{Covi97a,
  Author         = {Michael A. Covington and Donald Nute and Andr\'e
                   Vellino},
  Title          = {Prolog Programming in Depth},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-138645-X},
  keywords       = {prolog scglib},
  year           = 1997
}

@Book{Oust94a,
  Author         = {John K. Ousterhout},
  Title          = {Tcl and the Tk Toolkit},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63337-X},
  keywords       = {tcl tk tcltk scripting},
  url            = {http://cseng.aw.com/bookdetail.qry?ISBN=0-201-63337-X\&ptype=0},
  year           = 1994
}

@InCollection{Gira87a,
  Author         = {Jean-Yves Girard},
  Title          = {Linear Logic and Parallelism},
  BookTitle      = {Mathematical Models for the Semantics of Parallelism},
  Publisher      = {Springer-Verlag},
  Editor         = {M. Zilli},
  Volume         = {280},
  Series         = {LNCS},
  Pages          = {166-182},
  keywords       = {concurrency linear logic binder},
  year           = 1987
}

@InProceedings{Bour94a,
  Author         = {Marc Bourgois and Jean-Marc Andreoli and Remo Pareschi},
  Title          = {Concurrency and Communication: Choices in Implementing
                   the Coordination Language {LO}},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {73-92},
  Publisher      = {Springer-Verlag},
  abstract       = {By means of an illustrative application, we discuss
                   the implementation choices of the rule-based
                   coordination language LO. Distributed applications
                   written in LO manifest two levels of granularity, each
                   with their specific communication paradigm. At the
                   finer level, individual objects are composed into
                   agents and communicate through blackboards. At the
                   coarser level, these agents interact through
                   broadcasts. This dichotomy determines implementation
                   choices: Concurrency among agents naturally maps onto
                   distributed processes (with e.g. RPC), whereas
                   concurrency among objects maps onto threads (in shared
                   memory). These four abstractions (objects, blackboards,
                   agents, and broadcasts) together with LO 's basic
                   computation paradigm (rules) are implemented as a
                   class-based run-time library, thereby enriching
                   classical object-oriented platforms. Finally we stress
                   the fact that the resulting run-time library is poly-
                   morphic: The run-time can manipulate any independently
                   defined appli- cation object, provided its class
                   respects a minimal protocol. Run-time polymorphism has
                   turned out to be the key to composition-based reuse.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@InProceedings{Pete89a,
  Author         = {L. Peterson and N. Hutchinson and S. O'Malley and M.
                   Abbott},
  Title          = {RPC in the x-Kernel: evaluating new design techniques},
  BookTitle      = {SOSP '89: Proceedings of the twelfth ACM symposium on
                   Operating systems principles},
  Pages          = {91--101},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/74850.74860},
  isbn           = {0-89791-338-8},
  year           = 1989
}

@InProceedings{Lieb80a,
  Author         = {Henry Lieberman and Carl Hewitt},
  Title          = {A Session with {T}inker: Interleaving Program Testing
                   with Program Writing},
  BookTitle      = {LISP Conference},
  Pages          = {80-99},
  keywords       = {testing examples},
  year           = 1980
}

@InBook{Daya96a,
  Author         = {Umeshwar Dayal and Alejandro Buchmann and Sharma
                   Chakravarthy},
  Title          = {The HiPAC project},
  Chapter        = {7},
  Pages          = {177-206},
  Publisher      = {Morgan Kaufman Publishers},
  year           = 1996
}

@Book{Carr90a,
  Author         = {Nicholas Carriero and David Gelernter},
  Title          = {How to Write Parallel Programs: a First Course},
  Publisher      = {MIT Press, cop. 1990},
  Address        = {Cambridge},
  isbn           = {0-262-03171-X},
  keywords       = {concurrency linda book scglib},
  year           = 1990
}

@InProceedings{Duen98a,
  Author         = {Due{\~n}as, J. and Lopes de Oliveira, W. and de la
                   Puente, J.},
  Title          = {Architecture Recovery for Software Evolution},
  BookTitle      = {Conference on Software Maintenance and Reengineering
                   (CSMR)},
  Pages          = {113-120},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.1998.10007},
  year           = 1998
}

@InProceedings{Fisc03c,
  Author         = {Michael Fischer and Martin Pinzger and Harald Gall},
  Title          = {Populating a Release History Database from Version
                   Control and Bug Tracking Systems},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM 2003)},
  Pages          = {23-32},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {olit evolution},
  month          = sep,
  year           = 2003
}

@TechReport{Giusa89a,
  Author         = {D. Giuse},
  Title          = {KR: Constraint-based knowledge representation},
  Institution    = {Carnegie Mellon University},
  Number         = {{CMU-CS-89-142}},
  month          = apr,
  year           = 1989
}

@Book{Dema82a,
  Author         = {Tom De Marco},
  Title          = {Controlling Software Projects},
  Publisher      = {Yourdon Press},
  keywords       = {oorp},
  year           = 1982
}

@InProceedings{Bal93a,
  Author         = {Henri E. Bal and M. Frans Kaashoek},
  Title          = {Object Distribution in Orca using Compile-Time and
                   Run-Time Techniques},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {162-177},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Tsic88a,
  Author         = {Dennis Tsichritzis and Oscar Nierstrasz},
  Title          = {Fitting Round Objects into Square Databases},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {283-299},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  abstract       = {Object-oriented systems could use much of the
                   functionality of database systems to manage their
                   objects. Persistence, object identity, storage
                   management, distribution and obc control are some of
                   the things that database systems traditionally handle
                   well. Unfortunately there is a fundamental difference
                   in philosophy between the object-oriented and database
                   approaches, namely that of object independence versus
                   data independence. We discuss the ways in which this
                   difference in outlook manifests itself, and we consider
                   the possibilities for resolving the two views,
                   including the current work on object-oriented
                   databases. We conclude by proposing an approach to
                   co-existence that blurs the boundary between the
                   object-oriented execution environment and the database.},
  annote         = {invited},
  keywords       = {olit-db ecoop88proc osg-ftp skipdoi aoe88 oobib(oodb)},
  misc           = {August 15-17},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Tsic88aRoundSquare.pdf
                   http://link.springer.de/link/service/series/0558/tocs/t0322.htm},
  year           = 1988
}

@InProceedings{Sakk89a,
  Author         = {Markku Sakkinen},
  Title          = {Disciplined Inheritance},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {39-56},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-inheritance scglib ecoop89proc binder},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Stro86c,
  Author         = {Bjarne Stroustrup},
  Title          = {An Overview of {C}++},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {7-18},
  keywords       = {olit-oopl c++ oopws86 oobib(oopl)},
  month          = oct,
  year           = 1986
}

@InProceedings{Lipp92a,
  Author         = {Ernst Lippe and Norbert van Oosterom},
  Title          = {Operation-based merging},
  BookTitle      = {SDE 5: Proceedings of the fifth ACM SIGSOFT symposium
                   on Software development environments},
  Pages          = {78--87},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/142868.143753},
  isbn           = {0-89791-554-2},
  location       = {Tyson's Corner, Virginia, United States},
  year           = 1992
}

@TechReport{Hald05a,
  Author         = {Niklaus Haldimann},
  Title          = {A Sophisticated Programming Environment to Cope with
                   Scoped Changes},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = { A class extension is a technique to evolve software
                   in ways not foreseen when it was created; it's a method
                   defined in a module whose class is defined elsewhere.
                   The classbox model addresses the inherent problems of
                   class extensions: It limits their impact to a
                   well-defined scope. We present the classbox browser, a
                   tool that assists programmers in working with
                   classboxes in the Squeak Smalltalk environment. The
                   browser enables the convenient modification of a class
                   without affecting any of its existing clients. },
  keywords       = {scg-ip classboxes jb06 snf06},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Hald05a.pdf},
  year           = 2005
}

@Book{Budd94a,
  Author         = {Timothy A. Budd},
  Title          = {Classical Data Structures in {C}++},
  Publisher      = {Addison Wesley},
  isbn           = {2-87908-003-7},
  keywords       = {oobib(oopl) book scglib},
  year           = 1994
}

@Book{Mats01a,
  Author         = {Yukihiro Matsumoto},
  Title          = {Ruby in a Nutshell},
  Publisher      = {O'Reilly},
  isbn           = {0596002149},
  keywords       = {scglib},
  year           = 2001
}

@TechReport{Pier92e,
  Author         = {Benjamin C. Pierce},
  Title          = {Intersection Types and Bounded Polymorphism},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {ECS-LFCS-92-200},
  keywords       = {types olit binder},
  month          = mar,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz},
  year           = 1992
}

@InCollection{Strou96,
  Author         = {R. Stroud and Z. Wue},
  Title          = {Using Metaobject Protocols to Satisfy Non-functional
                   Requirements},
  BookTitle      = {Advances in Object-Oriented Metalevel Architectures
                   and Reflection},
  Publisher      = {CRC Press},
  Pages          = {31-52},
  city           = {Boca Raton, Florida},
  year           = 1996
}

@InCollection{Tsic88b,
  Author         = {Dennis Tsichritzis},
  Title          = {Integrated Application Systems: Esprit {I} and {II}},
  BookTitle      = {Active Object Environments},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Editor         = {D. Tsichritzis},
  Pages          = {219-224},
  keywords       = {olit aoe88},
  month          = jun,
  year           = 1988
}

@InCollection{Bloo90a,
  Author         = {Bard Bloom and Albert R. Meyer},
  Title          = {Experimenting with Process Equivalence},
  BookTitle      = {Semantics for Concurrency},
  Publisher      = {Springer-Verlag},
  Editor         = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas},
  Series         = {Workshops in Computing},
  Pages          = {81-95},
  keywords       = {pcalc equivalence ccs binder},
  year           = 1990
}

@TechReport{Deme01y,
  Author         = {Serge Demeyer and Sander Tichelaar and St\'ephane
                   Ducasse},
  Title          = {{FAMIX} 2.1 --- {The} {FAMOOS} {Information}
                   {Exchange} {Model}},
  Institution    = {University of Bern},
  annote         = {report notrefereed},
  keywords       = {olit sergedem-techrep tich-techrep stefPub},
  year           = 2001
}

@Book{Paws02a,
  Author         = {Richard Pawson and Robert Matthews},
  Title          = {Naked Objects},
  Publisher      = {Wiley and Sons},
  isbn           = {0-470-84420-5},
  keywords       = {scglib olit},
  year           = 2002
}

@Book{Cox96a,
  Author         = {Brad J. Cox},
  Title          = {Superdistribution},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-50208-9},
  keywords       = {olit scglib},
  year           = 1996
}

@InProceedings{Sefi96b,
  Author         = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell},
  Title          = {Monitoring Complicance of a Software System with Its
                   High-Level Design Models},
  BookTitle      = {Proceedings ICSE-18},
  Pages          = {387-396},
  month          = mar,
  year           = 1996
}

@InProceedings{Desf00a,
  Author         = {Desfray, P},
  Title          = {UML Profiles versus Metamodeling Extensions. . . an
                   Ongoing Debate},
  BookTitle      = {Uml In The.Com Enterprise: Modeling CORBA, Components,
                   XML/XMI And Metadata Workshop},
  Pages          = {6--9},
  year           = 2000
}

@TechReport{Mey92a,
  Author         = {Vicki de Mey and Betty Junod and Serge Renfer},
  Title          = {Vista Implementation},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA.CUI.92.Vista.#1},
  abstract       = {This paper describes the implementation of a visual
                   scripting tool called Vista. Vista is being developed
                   within the scope of ITHACA, an Esprit II project. Major
                   implementation issues are highlighted, implementation
                   experience is discussed and code examples are included.},
  keywords       = {olit-ithaca osg vista},
  month          = dec,
  year           = 1992
}

@InProceedings{Bown98a,
  Author         = {I. Bowman and R. Holt},
  Title          = {Software Architecture Recovery Using Conway's Law},
  BookTitle      = {Proceedings of the Centre for Advanced Studies
                   Conference, CASCON'98},
  Pages          = {123--133},
  month          = {nov},
  year           = 1998
}

@InProceedings{Flat98b,
  Author         = {Matthew Flatt and Shriram Krishnamurthi and Matthias
                   Felleisen},
  Title          = {Classes and Mixins},
  BookTitle      = {Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium
                   on Principles of Programming Languages},
  Pages          = {171-183},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/268946.268961},
  isbn           = {0-89791-979-3},
  keywords       = {classicjava},
  location       = {San Diego, California, United States},
  url            = {http://www.cs.brown.edu/~sk/Publications/Papers/Published/fkf-classes-mixins/},
  year           = 1998
}

@Book{Bran99,
  Author         = {Stewart Brand},
  Title          = {The Clock of the Long Now},
  Publisher      = {Basic Books},
  isbn           = {0-465-04512-X},
  keywords       = {scglib},
  year           = 1999
}

@InCollection{Pint95b,
  Author         = {Xavier Pintado},
  Title          = {Gluons and the Cooperation between Software Components},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {321-349},
  abstract       = {A major problem in software engineering is how to
                   specify the patterns of interaction among software
                   components so that they can be assembled to perform
                   tasks in a cooperative way. Such cooperative assembly
                   requires that components obey rules ensuring their
                   interaction compatibility. The choice of a specific
                   approach to specifying rules depends on various
                   criteria such as the kind of target environment, the
                   nature of the software components or the kind of
                   programming language. This chapter reviews major
                   efforts to develop and promote standards that address
                   this issue. We present our own approach to the
                   construction of a development framework for software
                   applications that make use of real-time financial
                   information. For this domain, the two main requirements
                   are (1) to facilitate the integration of new components
                   into an existing system, and (2) to allow for the
                   run-time composition of software components.The goal of
                   the development framework is to provide dynamic
                   interconnection capabilities. The basic idea is to
                   standardize and reuse interaction protocols that are
                   encapsulated inside special objects called gluons.
                   These objects mediate the cooperation of software
                   components. We discuss the advantages of the approach,
                   and provide examples of how gluons are used in the
                   financial framework.},
  keywords       = {olit osg OOSC12},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Article{Ferr96a,
  Author         = {Gian-Luigi Ferrari and Ugo Montanari and Paola Quaglia},
  Title          = {A $\pi$-calculus with explicit substitutions},
  Journal        = {Theoretical Computer Science},
  Volume         = {168},
  Number         = {1},
  Pages          = {53-103},
  month          = nov,
  year           = 1996
}

@InProceedings{Neha00a,
  Author         = {Chrystopher L. Nehaniv},
  Title          = {Evolvability in Biology, Artifacts, and Software
                   Systems},
  BookTitle      = {Artificial Life 7 Workshop Proceedings},
  Editor         = {Carlo C. Maley and Eilis Boudreau},
  page           = {17--21},
  url            = {http://homepages.feis.herts.ac.uk/~nehaniv/pubs.html},
  year           = 2000
}

@Article{Mira05a,
  Author         = {Eliot Miranda and David Leibs and Roel Wuyts},
  Title          = {Parcels: a Fast and Feature-Rich Binary Deployment
                   Technology},
  Journal        = {Computer Languages, Systems and Structures},
  Volume         = {31},
  Number         = {3-4},
  Pages          = {165-182},
  abstract       = {While development of a software system is important,
                   it is also very important to have suitable mechanisms
                   for actually deploying code. Current state-of-the-art
                   deployment approaches force the developer to structure
                   the code in such a way that deployment is possible,
                   thereby severely inhibiting reuse and comprehensibility
                   of the system. This paper presents parcels, an atomic
                   deployment mechanism for objects and source code that
                   supports shape changing of classes, method addition,
                   method replacement, and partial loading. The key to
                   making this deployment mechanism feasible and fast is a
                   pickling algorithm that allows the unpickling to be
                   done iteratively instead of with a recursive descent
                   parser. Parcels were developed for VisualWorks
                   Smalltalk, and have been the default deployment
                   mechanism the past years for thousands of customers.},
  annote         = {internationaljournal},
  keywords       = {roelPub},
  misc           = {SCI impact factor 0.467},
  month          = may,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mira05aParcels.pdf},
  year           = 2005
}

@TechReport{Pier97a,
  Author         = {Benjamin C. Pierce and David N. Turner},
  Title          = {Pict: {A} Programming Language based on the
                   Pi-Calculus},
  Institution    = {Computer Science Department, Indiana University},
  Type           = {Technical Report},
  Number         = {CSCI 476},
  keywords       = {pict pi design concurrency},
  month          = mar,
  url            = {http://www.cs.indiana.edu/hyplan/pierce/pierce/ftp/pict-design.ps.gz},
  year           = 1997
}

@InProceedings{Ferr82a,
  Author         = {J.C. Ferrans},
  Title          = {{SEDL} --- {A} Language for Specifying Integrity
                   Constraints on Office Forms},
  BookTitle      = {Proceedings of the First ACM SIGOA Conference},
  Pages          = {123-130},
  keywords       = {oislit constraints sedl forms},
  year           = 1982
}

@Article{Cohe75a,
  Author         = {E. Cohen and D. Jefferson},
  Title          = {Protection in the Hydra Operating System},
  Journal        = {ACM SIGOPS},
  Volume         = {9},
  Number         = {5},
  Pages          = {141-160},
  address        = {Austin, Texas},
  keywords       = {security olit hydra capability},
  month          = nov,
  year           = 1975
}

@Book{Miln89c,
  Author         = {Robin Milner},
  Title          = {Functions as Processes},
  Publisher      = {University of Edinburgh},
  Note           = {Working paper},
  keywords       = {pcalc mobility ccs binder(ccs)},
  month          = jun,
  year           = 1989
}

@TechReport{Wong98a,
  Author         = {Kenny Wong},
  Title          = {The Rigi User's Manual --- Version 5.4.4},
  Institution    = {University of Victoria},
  year           = 1998
}

@InProceedings{Anco01a,
  Author         = {Davide Ancona and Elena Zucca},
  Title          = {True Modules for {Java}-like Languages},
  BookTitle      = {ECOOP 2001},
  Editor         = {J. L. Knudsen},
  Number         = {2072},
  Series         = {LNCS},
  Pages          = {354-380},
  Publisher      = {Springer Verlag},
  keywords       = {ecoop ecoop01 2001 module mixin javamod},
  url            = {ftp://ftp.disi.unige.it/pub/person/AnconaD/ECOOP01.ps.gz},
  year           = 2001
}

@InProceedings{Brun04a,
  Author         = {Magiel Bruntink and Arie van Deursen},
  Title          = {Predicting Class Testability using Object-Oriented
                   Metrics},
  BookTitle      = {Proceedings of the Fourth IEEE International Workshop
                   on Source Code Analysis and Manipulation (SCAM)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {unit tests, testability, tests},
  month          = sep,
  year           = 2004
}

@Manual{Kout96a,
  Title          = {Drawing graphs with dot},
  Author         = {Eleftherios Koutsofios and Stephen C. North},
  Organization   = {AT \& T Bell Laboratories},
  Address        = {Murray Hill, NJ}
}

@InProceedings{Male02b,
  Author         = {Jonathan Maletic and Michael Collard and Andrian
                   Marcus},
  Title          = {Source Code Files as Structured Documents},
  BookTitle      = {Proceedings of the 10th International Workshop on
                   Program Comprehension (IWPC 2002)},
  Pages          = {289-292},
  Publisher      = {IEEE},
  month          = jun,
  year           = 2002
}

@Article{Zloo81a,
  Author         = {M.M. Zloof},
  Title          = {{QBE}/{OBE}: {A} Language for Office and Business
                   Automation},
  Journal        = {IEEE Computer 14},
  Pages          = {13-22},
  keywords       = {oislit qbe sba},
  month          = may,
  year           = 1981
}

@Article{Shar93a,
  Author         = {Robert C. Sharble and Samuel S. Cohen},
  Title          = {The object-oriented brewery: a comparison of two
                   object-oriented development methods},
  Journal        = {SIGSOFT Softw. Eng. Notes},
  Volume         = {18},
  Number         = {2},
  Pages          = {60-73},
  doi            = {http://doi.acm.org/10.1145/159420.155839},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1993
}

@Book{Came96a,
  Author         = {Debra Cameron and Bill Rosenblatt and Eric Raymond},
  Title          = {Learning {GNU} Emacs},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-152-6},
  keywords       = {emacs scglib oorp},
  year           = 1996
}

@TechReport{Brac91a,
  Author         = {Gilad Bracha and Gary Lindstrom},
  Title          = {Modularity Meets Inheritance},
  Institution    = {University of Utah, Dept. Comp. Sci.},
  Type           = {UUCS-91-017},
  keywords       = {olit-inheritance binder},
  misc           = {Oct. 13},
  month          = oct,
  year           = 1991
}

@Article{Simo02a,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 1: Perspectives on
                   Type Compatibility},
  Journal        = {Journal of Object Technology},
  Volume         = {1},
  Number         = {1},
  Pages          = {55-61},
  keywords       = {ioom-types},
  misc           = {May-June},
  month          = may,
  url            = {http://www.jot.fm/issues/issue_2002_05/column5},
  year           = 2002
}

@Book{Pete83a,
  Author         = {James L. Peterson},
  Title          = {Petri Nets Theory and the Modeling of Systems},
  Publisher      = {Prentice-Hall},
  keywords       = {misc nets book},
  year           = 1983
}

@Book{Tuft03a,
  Author         = {Edward R. Tufte},
  Title          = {The Cognitive Style of Powerpoint},
  Publisher      = {Graphics Press},
  keywords       = {scglib book},
  year           = 2003
}

@Article{Weis85a,
  Author         = {S.P. Weiser},
  Title          = {An Object-oriented Protocol for Managing Data},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {41-48},
  abstract       = {Many researchers believe that object-oriented
                   languages are well suited for some of the programming
                   tasks associated with the building of an office
                   information system (OIS). To lend support to this
                   thesis, we shall concentrate our attention on an
                   object-oriented programming environment, named Oz,
                   which has been effectively employed to capture certain
                   aspects of OISs more simply and naturally than with
                   conventional languages. After pointing out some of the
                   limitations of Oz, we introduce additional facilities
                   into it which further enhance its capabilities,
                   especially with respect to the management of office
                   data. },
  keywords       = {olit-oopl oz},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Weis85a.pdf},
  year           = 1985
}

@Book{Duca99x,
  Editor         = {St\'ephane Ducasse and Serge Demeyer},
  Title          = {The {FAMOOS} Object-Oriented Reengineering Handbook},
  Publisher      = {University of Bern},
  annote         = {notrefereed handbook},
  keywords       = {olit scg-pub skip-abstract skipdoi jb-none famoos
                   stePub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca99xFamoosHandBook.pdf},
  year           = 1999
}

@TechReport{Mitc79a,
  Author         = {J.G. Mitchell and W. Maybury and R. Sweet},
  Title          = {Mesa Language Manual, version 5.0},
  Institution    = {Xerox Palo Alto Research Centre},
  Type           = {CSL-79-3},
  keywords       = {olit-oopl mesa monitors},
  month          = apr,
  year           = 1979
}

@Book{Holo07,
  Author         = {Adrian Holovaty and Jacob Kaplan-Moss},
  Title          = {The Django Book},
  Publisher      = {Apress},
  isbn           = {TBD},
  year           = 2007
}

@Article{Bell98a,
  Author         = {Berndt Bellay and Harald Gall},
  Title          = {An Evaluation of Reverse Engineering Tools},
  Journal        = {Journal of Software Maintenance: Research and Practice},
  year           = 1998
}

@InProceedings{Lanz03e,
  Author         = {Michele Lanza},
  Title          = {CodeCrawler -- A Lightweight Software Visualization
                   Tool},
  BookTitle      = {Proceedings of VisSoft 2003 (2nd International
                   Workshop on Visualizing Software for Understanding and
                   Analysis)},
  Pages          = {51-52},
  Publisher      = {IEEE CS Press},
  abstract       = {CodeCrawler is a language independent software visu-
                   alization tool. It is mainly targeted at visualizing
                   object- oriented software, and in its newest
                   implementation it has become a general information
                   visualization tool. It has been validated in several
                   industrial case studies over the past few years. It
                   strongly adheres to lightweight princi- ples:
                   CodeCrawler implements and visualizes polymetric views,
                   lightweight visualizations of software enriched with
                   semantic information such as software metrics and
                   source code information.},
  keywords       = {recast04 scg-pub skipdoi jb04 moose-pub lanza},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz03eVisSoft.pdf},
  year           = 2003
}

@PhdThesis{Arap92b,
  Author         = {Costas Arapis},
  Title          = {Dynamic Evolution of Object Behaviour and Object
                   Cooperation},
  School         = {Dept. of Computer Science, University of Geneva},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit osg-phd binder (shelf)},
  number         = {no. 2529)},
  year           = 1992
}

@Book{Kopk99a,
  Author         = {Helmut Kopka and Patrick W. Daly},
  Title          = {A Guide To Latex},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-39825-7},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Fere01a,
  Author         = {Rudolf Ferenc and Susane E. Sim and Richard C. Holt
                   and Rainer Koschke and Tibor Gyim{\'o}thy},
  Title          = {Towards a Standard Schema for C/C++},
  BookTitle      = {Proceedings Eight Working Conference on Reverse
                   Engineering (WCRE'01)},
  Pages          = {49-58},
  Organization   = {IEEE Computer Society},
  month          = oct,
  year           = 2001
}

@Article{Miln92b,
  Author         = {Robin Milner and Joachim Parrow and David Walker},
  Title          = {A Calculus of Mobile Processes, Part {I}/{II}},
  Journal        = {Information and Computation},
  Volume         = {100},
  Pages          = {1-77},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@TechReport{Hail92a,
  Author         = {Brent Hailpern},
  Title          = {An Architecture for Dynamic Reconfiguration in a
                   Distributed Object-Based Programming Language},
  Institution    = {IBM Research Division},
  Type           = {Report RC},
  Number         = {18269(80129)},
  keywords       = {oilt oobib(obcp) binder},
  year           = 1992
}

@InProceedings{Feat89a,
  Author         = {Martin S. Feather},
  Title          = {Detecting Interference when Merging Specification
                   Evolutions},
  BookTitle      = {Proc. Fifth International Workshop on Software
                   Specification and Design},
  Pages          = {169-176},
  year           = 1989
}

@InProceedings{Hohe96a,
  Author         = {Uwe Hohenstein},
  Title          = {Bridging the Gap between {C}++ and Relational
                   Databases},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {398-420},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Burn97b,
  Author         = {Ilene Burnstein and Katherine Roberson and Floyd Saner
                   and Abdul Mirza and Abdallah Tubaishat},
  Title          = {A Role for Chunking and Fuzzy Reasoning in a Program
                   Comprehension and Debugging Tool},
  BookTitle      = {Proceedings of the 9th International Conference on
                   Tools with Artificial Intelligence (TAI-97)},
  Publisher      = {IEEE Press},
  month          = nov,
  year           = 1997
}

@InProceedings{Wei91a,
  Author         = {Jiawang Wei and Markus Endler},
  Title          = {A Configuration Model for Dynamically Reconfigurable
                   Distributed Systems},
  BookTitle      = {Proc. 24th Hawaii Conference on System Science},
  keywords       = {olit rex scripting binder},
  month          = jan,
  year           = 1991
}

@InCollection{Toft90a,
  Author         = {C. Tofts},
  Title          = {Timed Concurrent Processes},
  BookTitle      = {Semantics for Concurrency},
  Publisher      = {Springer-Verlag},
  Editor         = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas},
  Series         = {Workshops in Computing},
  Pages          = {281-294},
  keywords       = {pcalc ccs},
  year           = 1990
}

@Book{Meye92c,
  Author         = {Scott Meyers},
  Title          = {Effective {C}++},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-56364-9},
  keywords       = {olit-oopl book},
  year           = 1992
}

@TechReport{Quit04a,
  Author         = {Philip J. Quitslund},
  Title          = {Java Traits --- Improving Opportunities for Reuse},
  Institution    = {OGI School of Science \& Engineering},
  Type           = {Technical Report},
  Number         = {CSE-04-005},
  Address        = {Beaverton, Oregon, USA},
  month          = sep,
  year           = 2004
}

@InProceedings{Nebb98m,
  Author         = {Robb Nebbe},
  Title          = {Semantic Structure: a Basis for Software Architecture},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Series         = {LNCS 1543},
  Publisher      = {Springer-Verlag},
  keywords       = {olit famoos-papunr scg-pub skip-abstract skipdoi
                   toBeChecked snf98 jb98},
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/Nebb98m/nebbe_oosa.pdf},
  year           = 1998
}

@Article{Conr98a,
  Author         = {Reidar Conradi and Bernhard Westfechtel},
  Title          = {Version Models for Software Configuration Management},
  Journal        = {ACM Computing Surveys},
  Volume         = {30},
  Number         = {2},
  Pages          = {232-282},
  annote         = {internationaljournal},
  month          = jun,
  publisher      = {ACM CS Press},
  year           = 1998
}

@InProceedings{Chur93a,
  Author         = {Kenneth Ward Church},
  Title          = {Char\_align: A Program for Aligning Parallel Texts at
                   the Character Level},
  BookTitle      = {Proceedings 31st Annual Meeting of the Association for
                   Computational Linguistics},
  Pages          = {1-8},
  Publisher      = {Association for Computational Linguistics},
  keywords       = {dotplot;text alignment},
  month          = jun,
  year           = 1993
}

@Article{Robi85a,
  Author         = {K. Robinson},
  Title          = {Copy-resistant {EPROM} Increases Software Security
                   Against Piracy},
  Journal        = {Computer Systems Equipment Design},
  Pages          = {17-22},
  keywords       = {security hardware},
  month          = mar,
  year           = 1985
}

@Article{Nico84a,
  Author         = {Rocco de Nicola and Matthew Hennessy},
  Title          = {Testing Equivalences for Processes},
  Journal        = {Theoretical Computer Science},
  Volume         = {34},
  Pages          = {83-133},
  keywords       = {pcalc equivalence ccs binder(ccs)},
  publisher      = {North-Holland},
  year           = 1984
}

@InProceedings{Lope94a,
  Author         = {Cristina Videira Lopes and Karl J. Lieberherr},
  Title          = {Abstracting Process-to-Function Relations in
                   Concurrent Object-Oriented Applications},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {81-99},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Pier93b,
  Author         = {Benjamin C. Pierce and Davide Sangiorgi},
  Title          = {Typing and Subtyping for Mobile Processes},
  BookTitle      = {Proceedings 8th {IEEE} Logics in Computer Science},
  Pages          = {376-385},
  Address        = {Montreal, Canada},
  keywords       = {pcalc mobility lics93 binder},
  month          = jun,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pi.ps.gz},
  year           = 1993
}

@Book{Broo95a,
  Author         = {Brooks, Jr., Frederik P.},
  Title          = {The Mythical Man-Month},
  Publisher      = {Addison Wesley Longman},
  Address        = {Reading, Mass.},
  Edition        = {2nd},
  keywords       = {misc book scglib oorp},
  year           = 1995
}

@Article{Henn97a,
  Author         = {Henninger, Scott},
  Title          = {{An Evolutionary Approach to Constructing Effective
                   Software Reuse Repositories}},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {6},
  Number         = {2},
  Pages          = {111-140},
  keywords       = {oobib scglib repository reuse abb tose},
  year           = 1997
}

@Article{Schm76a,
  Author         = {H.A. Schmidt},
  Title          = {On the Efficient Implementation of Conditional
                   Critical Regions and the Construction of Monitors},
  Journal        = {Acta Informatica},
  Volume         = {6},
  Number         = {3},
  Pages          = {227-249},
  keywords       = {concurrency READ},
  year           = 1976
}

@Book{Wind98a,
  Author         = {Russel Winder and Graham Roberts},
  Title          = {Developing {Java} Software},
  Publisher      = {Wiley},
  keywords       = {scglib java},
  year           = 1998
}

@Book{Lamp94b,
  Author         = {Leslie Lamport},
  Title          = {Latex User's Guide and Reference Manual},
  Publisher      = {Addison Wesley},
  Edition        = {2nd},
  isbn           = {0-201-52983-1},
  keywords       = {latex scglib},
  year           = 1994
}

@Article{Aris07a,
  Author         = {Erik Arisholm and Hans Gallis and Tore Dyba and Dag
                   I.K. Sj\/oberg},
  Title          = {Evaluating Pair Programming with Respect to System
                   Complexity and Programmer Expertise},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {33},
  Number         = {2},
  Pages          = {65-86},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/TSE.2007.17},
  issn           = {0098-5589},
  publisher      = {IEEE Computer Society},
  year           = 2007
}

@Article{Meyer90b,
  Author         = {B. Meyer},
  Title          = {Tools for a new culture: Lessons from the design of
                   Eiffel libraries},
  Journal        = {Communications of the ACM},
  Volume         = {33},
  Number         = {9},
  Pages          = {68-88},
  month          = sep,
  year           = 1990
}

@Book{Breu91b,
  Author         = {R. Breu},
  Title          = {Algebraic Specification Techniques in Object Oriented
                   Programming Environments},
  Publisher      = {Springer-Verlag},
  Volume         = {562},
  Series         = {LNCS},
  isbn           = {3-540-54972-2},
  keywords       = {olit scglib},
  year           = 1991
}

@Article{Broo84a,
  Author         = {Stephen D. Brookes and C.A.R. Hoare and Andrew W.
                   Roscoe},
  Title          = {A Theory of Communicating Sequential Processes},
  Journal        = {Journal of the ACM},
  Volume         = {31},
  Number         = {3},
  Pages          = {560-599},
  keywords       = {pcalc equivalence binder(csp)},
  month          = jul,
  year           = 1984
}

@InProceedings{Ryss04b,
  Author         = {Filip van Rysselberghe and Serge Demeyer},
  Title          = {Evaluating Clone detection Techniques from a
                   Refactoring Perspective},
  BookTitle      = {Proc. 19. Intl. Conference on Automated Software
                   Engineering (ASE'04)},
  Organization   = {IEEE},
  month          = sep,
  year           = 2004
}

@InProceedings{Bree89a,
  Author         = {D.E. Breen and P.H. Getto},
  Title          = {Object-Oriented Visualization Tools},
  BookTitle      = {Proceedings of Electronic Imaging '89 East Conference},
  Pages          = {541-545},
  Address        = {Boston},
  keywords       = {olit},
  month          = oct,
  year           = 1989
}

@Book{Wegn87b,
  Editor         = {B. Shriver and P. Wegner},
  Title          = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Address        = {Cambridge, Mass.},
  isbn           = {0-262-19264-0},
  keywords       = {olit research oobib(gen) book scglib},
  year           = 1987
}

@Book{Paul94b,
  Editor         = {Mark C. Paulk and Charles V. Weber and Bill Curtis and
                   Mary Beth Chrissis},
  Title          = {The Capability Maturity Model: Guidelines for
                   Improving the Software Process},
  Publisher      = {Addison Wesley},
  keywords       = {scglib cmm},
  year           = 1994
}

@TechReport{Jaco93c,
  Author         = {Ian Jacobs and Janet Bertot},
  Title          = {Sophtalk Tutorials},
  Institution    = {INRIA},
  Number         = {149},
  month          = feb,
  year           = 1993
}

@Book{Sifa89a,
  Editor         = {Joseph Sifakis},
  Title          = {Automatic Verification Methods for Finite State
                   Systems: Proceedings},
  Publisher      = {Springer-Verlag},
  Volume         = {407},
  Series         = {LNCS},
  isbn           = {3-540-52148-8},
  keywords       = {concurrency regular processes},
  year           = 1989
}

@Book{Tsic92a,
  Editor         = {D. Tsichritzis},
  Title          = {Object Frameworks},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg of92},
  month          = jul,
  year           = 1992
}

@Article{Lyon74a,
  Author         = {Gordon Lyon},
  Title          = {Syntax-directed least-errors analysis for context-free
                   languages: a practical approach},
  Journal        = {Commun. ACM},
  Volume         = {17},
  Number         = {1},
  Pages          = {3--14},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/360767.360771},
  issn           = {0001-0782},
  keywords       = {parsing},
  publisher      = {ACM Press},
  year           = 1974
}

@PhdThesis{Mari02a,
  Author         = {Radu Marinescu},
  Title          = {Measurement and Quality in Object-Oriented Design},
  School         = {Department of Computer Science, Politehnica University
                   of Timi\c{s}oara},
  keywords       = {olit},
  pages          = {155},
  year           = 2002
}

@InProceedings{Lump96a,
  Author         = {Markus Lumpe and Jean-Guy Schneider and Oscar
                   Nierstrasz},
  Title          = {Using Metaobjects to Model Concurrent Objects with
                   {PICT}},
  BookTitle      = {Proceedings of Languages et Mod\`eles \`a Objects},
  Pages          = {1-12},
  Address        = {Leysin},
  abstract       = {We seek to support the development of open,
                   distributed applications from plug-compatible software
                   abstractions. In order to rigorously specify these
                   abstractions, we are elaborating a formal object model
                   for software composition in which objects and related
                   software abstractions are viewed as patterns of
                   communicating processes. The semantic foundation is
                   Milner's pi calculus, and the starting point for our
                   object model is Pierce and Turner's encoding of objects
                   as processes in the experimental Pict programming
                   language. Our experience shows that common
                   object-oriented programming abstractions such as
                   dynamic binding, inheritance, genericity, and class
                   variables are most easily modelled when metaobjects are
                   explicitly reified as first class entities (i.e.,
                   processes). Furthermore, various roles that are
                   typically merged (or confused) in object-oriented
                   languages such as classes, implementations, and
                   metaobjects, each show up as strongly-typed, first
                   class processes},
  annote         = {internationalconference},
  keywords       = {scg-pub skipdoi snf96 lmo96 pict pi olit jb96
                   scg-coord-old},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lump96aMetaobjectsWithPict.pdf},
  year           = 1996
}

@PhdThesis{Mull86a,
  Author         = {Hausi A. M{\"u}ller},
  Title          = {Rigi --- A Model for Software System Construction,
                   Integration, and Evaluation based on Module Interface
                   Specifications},
  School         = {Rice University},
  year           = 1986
}

@InCollection{Brac85a,
  Author         = {Ronald J. Brachman},
  Title          = {On the Epistemological Status of Semantic Networks},
  BookTitle      = {Readings in Knowledge Representation},
  Publisher      = {Morgan Kaufmann Publishers, Inc},
  Editor         = {Ronald J. Brachman and Hector J. Levesque},
  Pages          = {191-215},
  Address        = {California},
  year           = 1985
}

@Book{Stro86b,
  Author         = {Bjarne Stroustrup},
  Title          = {The {C}++ Programming Language},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-53992-6},
  keywords       = {olit-oopl c++ oobib(oopl) book scglib},
  year           = 1986
}

@Article{Zdon85a,
  Author         = {Stanley Zdonik},
  Title          = {Object Management Systems for Design Environments},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {23-30},
  keywords       = {olit-oopl encore},
  month          = dec,
  year           = 1985
}

@InProceedings{Syst99a,
  Author         = {Tarja Syst\"a},
  Title          = {On the relationships between static and dynamic models
                   in reverse engineering Java software},
  BookTitle      = {Working Conference on Reverse Engineering (WCRE99)},
  Pages          = {304-313},
  month          = oct,
  year           = 1999
}

@InProceedings{Robb07c,
  Author         = {Romain Robbes and Michele Lanza},
  Title          = {Characterizing and Understanding Development Sessions},
  BookTitle      = {Proceedings of ICPC 2007 (15th International
                   Conference on Program Comprehension)},
  Pages          = {to be published},
  keywords       = {evolution lanza},
  year           = 2007
}

@Misc{Bana95b,
  Author         = {Guruduth Banavar and Gary Lindstrom},
  Title          = {Compositionally Modular Scheme},
  number         = {UUCS-95-020},
  year           = 1995
}

@InProceedings{Stoe01a,
  Author         = {Christoph Stoermer and Liam O'Brien},
  Title          = {MAP - {M}ining Architectures for Product Line
                   Evaluations},
  BookTitle      = {Working Conference on Software Architecture (WICSA)},
  Pages          = {35--41},
  isbn           = {0-7695-1360-3},
  year           = 2001
}

@Book{Miln89a,
  Author         = {Robin Milner},
  Title          = {Communication and Concurrency},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-115007-3},
  keywords       = {pcalc equivalence ccs book scglib},
  year           = 1989
}

@InProceedings{Hagi94a,
  Author         = {Daniel Hagimont},
  Title          = {Protection in the Guide Object-Oriented Distributed
                   System},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {280-298},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@TechReport{Nier93b,
  Author         = {Oscar Nierstrasz and Dimitri Konstantas and Klaus
                   Dittrich and Dirk Jonscher},
  Title          = {{CHASSIS} --- {A} Platform for Constructing Open
                   Information Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  Note           = {English version of "CHASSIS --- Une Plate-forme pour
                   la Construction de Syst\`emes d'Information Ouverts"},
  abstract       = {Present-day computer-based information systems are
                   increasingly required to be open systems. This means
                   that they must cope with open networks, heterogeneous
                   interoperable hardware and software systems, and, above
                   all, evolving and changing requirements. The CHASSIS
                   project aims to develop a software and methodology
                   framework for (i) the security- and
                   reliability-oriented systematic design and construction
                   of heterogeneous information systems from individual
                   existing and newly developed application software
                   components and database systems, and (ii) their secure
                   and reliable interoperation. In CHASSIS,
                   object-orientation is the key technology for the
                   construction of such a system as its uniform interface
                   is realized by an object-oriented data model and the
                   homogenization layer is realized by object-oriented
                   software. CHASSIS includes object models for database
                   and language integration, software to support system
                   integration, specification methods to support the
                   design process and advanced security mechanisms to
                   provide the resulting information system with a high
                   degree of security. CHASSIS is a joint Swiss project
                   between the University of Zurich, the University of
                   Geneva, and the Asea Brown Boveri Research Centre
                   (Baden).},
  editor         = {D. Tsichritzis},
  keywords       = {olit skipdoi chassis osg-ftp afcet93 vo93},
  month          = jul,
  pages          = {237-247},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier93bChassis.pdf},
  year           = 1993
}

@Article{Eise03a,
  Author         = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon},
  Title          = {Locating Features in Source Code},
  Journal        = {IEEE Computer},
  Volume         = {29},
  Number         = {3},
  Pages          = {210-224},
  keywords       = {program comprehension fca},
  month          = mar,
  year           = 2003
}

@Proceedings{Duca99e,
  Title          = {Proceedings of the {ECOOP}'99 Workshop on Experiences
                   in Object-Oriented Re-Engineering},
  Editor         = {St\'ephane Ducasse and Oliver Ciupke},
  Publisher      = {Forschungszentrum Informatik, Karlsruhe, Germany},
  Note           = {FZI 2-6-6/99},
  annote         = {workshopproceedings},
  keywords       = {skip-pdf scg-pub skip-abstract skipdoi olit
                   famoos-wrkproc oobib snf99 jb99 stefPub},
  month          = jun,
  year           = 1999
}

@InProceedings{Born87b,
  Author         = {Alan Borning and Tim O'Shea},
  Title          = {Deltatalk: An Empirically and Aesthetically Motivated
                   Simplification of the {Smalltalk}-80 Language},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {1-10},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl deltatalk smalltalk ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Hass04b,
  Author         = {Ahmed Hassan and Rick Holt},
  Title          = {Studying The Evolution of Software Systems Using
                   Evolutionary Code Extractors},
  BookTitle      = {IEEE International Workshop on Principles of Software
                   Evolution (IWPSE04)},
  Pages          = {76-81},
  keywords       = {evolution},
  location       = {Kyoto, Japan},
  month          = sep,
  year           = 2004
}

@InProceedings{Nish00a,
  Author         = {Nishizaki, Shin{-}ya},
  Title          = {Programmable Environment Calculus as Theory of Dynamic
                   Software Evolution},
  BookTitle      = {Proceedings ISPSE 2000},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ISPSE.2000.913242},
  keywords       = {pisem contract-types context-calculus},
  year           = 2000
}

@Article{Tsic84a,
  Author         = {Dennis Tsichritzis},
  Title          = {Message Addressing Schemes},
  Journal        = {ACM TOOIS},
  Volume         = {2},
  Number         = {1},
  Pages          = {58-87},
  keywords       = {oislit mail},
  month          = jan,
  year           = 1984
}

@InProceedings{Hoyd93a,
  Author         = {Geir Magne H\/oydalsvik and Guttorm Sindre},
  Title          = {On the purpose of Object-Oriented Analysis},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {240-258},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Kicz01a,
  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      = {Proceeding ECOOP 2001},
  Number         = {2072},
  Series         = {LNCS},
  Pages          = {327-353},
  Publisher      = {Springer Verlag},
  year           = 2001
}

@InProceedings{Nier85c,
  Author         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {An Object-Oriented Environment for {OIS} Applications},
  BookTitle      = {Proceedings, Conference on Very Large Data Bases},
  Pages          = {335-345},
  Address        = {Stockholm},
  abstract       = {Object-oriented programming environments are
                   increasingly needed for programming OIS applications. A
                   prototype object-oriented language has been
                   implemented, and we are refining the language and its
                   implementation. The environment integrates a number of
                   database and operating system concepts, in particular,
                   abstract data types, database constraints, atomic
                   transactions, data persistency, triggering of events,
                   reliability and crash recovery, and a large virtual
                   memory. We outline the object model, discuss a number
                   of implementation issues, and give some examples of
                   objects useful in an OIS application environment.},
  annote         = {internationalconference},
  keywords       = {olit-oopl skipdoi hybrid oz ois knos vldb},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier85cOOEforOIS.pdf},
  year           = 1985
}

@InProceedings{Pate92a,
  Author         = {S. Patel, W. Chu, R. Baxter},
  Title          = {A measure for composite module cohesion},
  BookTitle      = {Proceedings of the 14th International Conference on
                   Software Engineering},
  Pages          = {38-48},
  keywords       = {metrics cohesion},
  year           = 1992
}

@InProceedings{Edwa05a,
  Author         = {Jonathan Edwards},
  Title          = {Subtext: uncovering the simplicity of programming},
  BookTitle      = {Proceedings of the 20th Annual {ACM} {SIGPLAN}
                   Conference on Object-Oriented Programming, Systems,
                   Languages, and Applications, {OOPSLA} 2005, October
                   16-20, 2004, San Diego, {CA}, {USA}},
  Editor         = {Ralph Johnson and Richard P. Gabriel},
  Pages          = {505--518},
  Publisher      = {ACM},
  isbn           = {1-59593-031-0},
  year           = 2005
}

@Book{Reid88a,
  Author         = {Glenn C. Reid},
  Title          = {PostScript Language},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-14396-8},
  keywords       = {scglib},
  year           = 1988
}

@Article{Duca01v,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: Une syntaxe minimaliste},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 34,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@InProceedings{Duwe98a,
  Author         = {Stephan D{\"{u}}wel and Wolfgang Hesse},
  Title          = {Identifying Candidate Objects during System Analysis},
  BookTitle      = {Proceedings of {CAiSE'98/IFIP} 8.1 3rd International
                   Workshop on Evaluation of Modelling Methods in System
                   Analysis and Design ({EMMSAD'98})},
  Address        = {Pisa},
  keywords       = {fca},
  year           = 1998
}

@TechReport{Port96a,
  Author         = {Nicole Portmann},
  Title          = {Datenbank Impfstoffnebenwirkungen},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Ziel des Projekts ist die Erstellung einer Datenbank
                   \"uber Impfstoffnebenwirkungen f\"ur das Institut f\"ur
                   Sozial- und Pr\"aventivmedizin (ISPM) im Auftrag des
                   Bundesamtes f\"ur Gesundheitswesen (BAG). Aufgrund der
                   neuen Verordnung vom 24. 3. 1993 \"uber
                   immunbiologische Erzeugnisse, sind die Hersteller von
                   Impfstoffen k\"unftig verpflichtet Nebenwirkungen ihrer
                   Produkte dem BAG zu melden. Das BAG seinerseits hat die
                   Aufgabe die eingehenden Meldungen von Herstellern,
                   \"Arzten und den anderen Meldestellen zu registrieren
                   und Ausk\"unfte zu erteilen. Insbesondere sollen die
                   Sicherheit von Impfstoffen gew\"ahrleistet werden,
                   Risikopatienten identifiziert werden k\"onnen und
                   allf\"allige Interaktionen mit andern Impfstoffen oder
                   Medikamenten festgestellt werden k\"onnen. Da bis anhin
                   nur allgemeine Arzneimittelnebenwirkungen von der
                   Interkantonalen Kontrollstelle (IKS) registriert
                   wurden, konnte nicht auf ein bereits bestehendes System
                   zur\"uckgegriffen werden. Die Datenbank ist speziell
                   auf die Eigenheiten von Impfstoffen zugeschnitten.},
  keywords       = {scg-ip jb-none},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Port96a.pdf},
  year           = 1996
}

@InProceedings{John88a,
  Author         = {Ralph Johnson},
  Title          = {{TS}: {An} Optimizing Compiler for {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {18-26},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InCollection{Guin88a,
  Author         = {Raymonde Guindon and Bill Curtis},
  Title          = {Control of Cognitive Processes During Software Design:
                   What Tools are Needed?},
  BookTitle      = {CHI '88},
  Publisher      = {ACM},
  keywords       = {binder},
  year           = 1988
}

@MastersThesis{Ther83a,
  Author         = {D.G. Therault},
  Title          = {Issues in the Design and Implementation of Act2},
  School         = {MIT AI Lab},
  Type           = {M.Sc. thesis, TR},
  keywords       = {olit-oopl act2 actors},
  month          = jun,
  number         = {#728},
  year           = 1983
}

@InProceedings{Merk95a,
  Author         = {Dieter Merkl},
  Title          = {Content-Based Software Classification by
                   Self-Organization},
  BookTitle      = {Proceddings of International Conference on Neural
                   Networks (ICNN'95)},
  Volume         = {II},
  Pages          = {1086--1091},
  year           = 1995
}

@InProceedings{Rieg04b,
  Author         = {Matthias Rieger and St\'ephane Ducasse and Michele
                   Lanza},
  Title          = {Insights into System-Wide Code Duplication},
  BookTitle      = {Proceedings of 11th Working Conference on Reverse
                   Engineering (WCRE'04)},
  Pages          = {100--109},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Duplication of code is a common phenomenon in the
                   development and maintenance of large software systems.
                   The detection and removal of duplicated code has become
                   a standard activity during the refactoring phases of a
                   software life-cycle. However, code duplication
                   identification ends to produce large amounts of data
                   making the understanding of the duplication situation
                   as a whole difficult. Reengineers can easily lose sight
                   of the forest for the trees. There is a need to support
                   a qualitative analysis of the duplicated code. In this
                   paper we propose a number of visualzations of
                   duplicated source elements that support reengineers in
                   answering questions, e.g., which parts of the sysem are
                   connected by copied code or which parts of the sysem
                   are copied the most.},
  annote         = {internationalconference},
  cvs            = {DuplocVizPaper},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.25},
  keywords       = {olit scg-pub jb05 recast05 stefPub clones},
  location       = {Delft, The Netherlands},
  misc           = {acceptance rate: 28/78 = 36\%},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg04bWCRE2004ClonesVisualization.pdf},
  year           = 2004
}

@InProceedings{Thom88a,
  Author         = {Dave Thomas and Kent Johnson},
  Title          = {Orwell --- {A} Configuration Management System for
                   Team Programming},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {135-141},
  keywords       = {olit-oopl orwell oopsla88},
  month          = nov,
  year           = 1988
}

@Article{Dijk78a,
  Author         = {Edsgar W. Dijkstra and Leslie Lamport and A.J. Martin
                   and C.S. Scholten and E.F.M. Steffens},
  Title          = {On-the-Fly Garbage Collection: An Exercise in
                   Cooperation},
  Journal        = {CACM},
  Volume         = {21},
  Number         = {11},
  keywords       = {concurrency memory},
  month          = nov,
  year           = 1978
}

@InProceedings{Baeu96a,
  Author         = {Dirk B{\"a}umer and Rolf Knoll and Guido Gryczan and
                   Heinz Z{\"u}llighoven},
  Title          = {Large Scale Object-Oriented Software-Development in a
                   Banking Environment --- An Experience Report},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {73-90},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Shoc82a,
  Author         = {J. Shoch and J. Hupp},
  Title          = {The Worm Programs --- Early Experience with a
                   Distributed Computation},
  Journal        = {CACM},
  Volume         = {25},
  Number         = {3},
  Pages          = {172-180},
  keywords       = {olit-obc distribution worms},
  month          = mar,
  year           = 1982
}

@InBook{Phil04a,
  Author         = {Ilka Philippow and Detlef Streitferdt and Matthias
                   Riebisch},
  Title          = {Design Pattern Recovery in Architectures for
                   Supporting Product Line Development and Application},
  Pages          = {42-57},
  Publisher      = {BoD GmbH},
  booktitle      = {Modeling Variability for Object-Oriented Product Lines},
  year           = 2004
}

@InProceedings{Berg05b,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Classbox/{J}: Controlling the Scope of Change in
                   {Java}},
  BookTitle      = {Proceedings of 20th International Conference on
                   Object-Oriented Programming, Systems, Languages, and
                   Applications (OOPSLA'05)},
  Pages          = {177-189},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  abstract       = {Unanticipated changes to complex software systems can
                   introduce anomalies such as duplicated code, suboptimal
                   inheritance relationships and a proliferation of
                   run-time downcasts. Refactoring to eliminate these
                   anomalies may not be an option, at least in certain
                   stages of software evolution. Classboxes are modules
                   that restrict the visibility of changes to selected
                   clients only, thereby offering more freedom in the way
                   unanticipated changes may be implemented, and thus
                   reducing the need for convoluted design anomalies. In
                   this paper we demonstrate how classboxes can be
                   implemented in statically-typed languages like {Java}.
                   We also present an extended case study of Swing, a
                   {Java} GUI package built on top of AWT, and we document
                   the ensuing anomalies that Swing introduces. We show
                   how Classbox/J, a prototype implementation of
                   classboxes for {Java}, is used to provide a cleaner
                   implementation of Swing using local refinement rather
                   than subclassing.},
  annote         = {internationalconference topconference},
  doi            = {http://doi.acm.org/10.1145/1094811.1094826},
  keywords       = {snf05 stefPub alexPub snf06 jb06 scg-pub},
  misc           = {acceptance rate: 25/142 = 17\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05bclassboxjOOPSLA.pdf},
  year           = 2005
}

@Article{Kosk94a,
  Author         = {Kai Koskimies and H. M{\"o}ssenb{\"o}ck},
  Title          = {Automatic Synthesis of State Machines from Trace
                   Diagrams},
  Journal        = {Software Practice and Experience},
  Volume         = {24},
  Number         = {7},
  Pages          = {643-658},
  month          = jul,
  publisher      = {IEEE},
  year           = 1994
}

@InProceedings{Deur01b,
  Author         = {Deursen, {Arie van}},
  Title          = {Program Comprehension Risks and Opportunities in
                   Extreme Programming},
  BookTitle      = {Working Conference on Reverse Engineering},
  Pages          = {176-},
  keywords       = {Testing Comprehension},
  year           = 2001
}

@InProceedings{Holl92a,
  Author         = {Ian M. Holland},
  Title          = {Specifying Reusable Components Using Contracts},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {287-308},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-reuse ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Blas01a,
  Author         = {Darius Blasband},
  Title          = {Parsing in a hostile world},
  BookTitle      = {Proceedings of the Eight Working Conference on Reverse
                   Engineering (WCRE 2001)},
  Pages          = {291-300},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2001.957834},
  keywords       = {parsing},
  month          = oct,
  year           = 2001
}

@Book{Thom01a,
  Author         = {David Thomas and Andrew Hunt},
  Title          = {Programming Ruby},
  Publisher      = {Addison Wesley},
  keywords       = {scglib ruby},
  year           = 2001
}

@Article{Lamp89a,
  Author         = {Leslie Lamport},
  Title          = {A Simple Approach to Specifying Concurrent Systems},
  Journal        = {CACM},
  Volume         = {32},
  Number         = {1},
  Pages          = {32-45},
  keywords       = {concurrency safety},
  month          = jan,
  year           = 1989
}

@InProceedings{Mott06,
  Author         = {Jean-Marie Mottu and Benoit Baudry and Yves Le Traon},
  Title          = {Mutation Analysis Testing for Model Transformations},
  BookTitle      = {ECMDA-FA},
  Volume         = {4066/2006},
  Pages          = {376-390},
  Address        = {Bilbao, Spain},
  Organization   = {IRISA, Campus Universitaire de Beaulieu},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:36:47 +0100},
  month          = {jul},
  url            = {http://dx.doi.org/10.1007/11787044_28},
  year           = 2006
}

@InProceedings{Will96d,
  Author         = {Rudolf Wille},
  Title          = {Conceptual Structures of Multicontexts},
  BookTitle      = {Conceptual Structures: Knowledge Representation as
                   Interlingua. Proceedings of the 4th International
                   Conference on Conceptual Structures},
  Volume         = {1115},
  Series         = {LNAI},
  Pages          = {23-39},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/36991.html},
  year           = 1996
}

@Book{Baro99a,
  Author         = {Carl Baroudi},
  Title          = {Mastering Cobol},
  Publisher      = {Sybex},
  keywords       = {cobol},
  year           = 1999
}

@Article{Sugi81a,
  Author         = {K. Sugiyama and S. Tagawa and M. Toda},
  Title          = {Methods for Visual Understanding of Hierarchical
                   System Structures},
  Journal        = {IEEE Transactions on Systems, Man and Cybernetics},
  Volume         = {SMC-11},
  Number         = {2},
  month          = feb,
  year           = 1981
}

@InProceedings{Hosk92a,
  Author         = {Antony L. Hosking and J. Eliot B. Moss and Darko
                   Stefanovi\'c},
  Title          = {A Comparative Performance Evaluation of Write Barrier
                   Implementations},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {92-109},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@MastersThesis{Kobe05a,
  Author         = {Markus Kobel},
  Title          = {Parsing by Example},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {We live in a world where we are surrounded with
                   information technology. The software systems around us
                   are countless. All of those systems have been written
                   once and must be maintained today. While a system
                   evolves it becomes difficult to maintain. We use
                   reengineering tools today to simplify maintenance
                   tasks. With the support of such tools we can change the
                   form of software systems in a way that makes them
                   easier to analyze. Before we can use any reengineering
                   tool with a software system we must reverse engineer
                   that system. To reverse engineer a software system
                   means that we need to build a model from the system.
                   This model represents our system in a more abstract way
                   than the source code itself does. The way from the
                   source code to the model is often a problem. If a
                   reengineering tool supports a specific model the
                   maintainers of that tool must provide a parser for
                   every programming language they want to support. Such
                   parsers translate source code written in a particular
                   language into a model. There are so many languages used
                   in systems today that it is not possible to support all
                   of them. Additionally, the languages themselves evolve
                   and so we need parsers for every version and every
                   dialect of a programming language. There are a number
                   of approaches to solve that problem (for example fuzzy
                   parsing). Most of these approaches are not flexible
                   enough for today's needs: We cannot adapt them to
                   another programming language or if we can we need a lot
                   of knowledge about the language and about the whole
                   parsing technique. Depending on the technique that we
                   use we must write a parser or at least a grammar as a
                   basis for a parser generator. In most of the cases this
                   is a difficult and time-consuming task. Our idea is to
                   build an application that generates parsers based on
                   mapping examples. A mapping example is a section in the
                   source code to which we assign an element in our target
                   model. Based on these examples, our application builds
                   grammars and generates a parser. If the parser fails to
                   parse some code our application asks the user to
                   provide more examples. This approach is flexible enough
                   to work with a software system written in an arbitrary
                   programming language. The user does not need to have
                   knowledge about parsing. However, he should be able to
                   recognize the elements in the source code that he wants
                   to map on the elements in the target model. We prove
                   the flexibility of that approach with our reference
                   implementation called CodeSnooper. This application
                   works with any input. As target model we take the FAMIX
                   model that is used by the MOOSE reengineering
                   environment. },
  keywords       = {scg-msc recast05 jb05 moose-pub},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Kobe05a.pdf},
  year           = 2005
}

@InProceedings{Rao94a,
  Author         = {Ramana Rao and Stuart K. Card},
  Title          = {The Table Lens: Merging Graphical Representations in
                   an Interactive Focus+Context Visualization for Tabular
                   Information},
  BookTitle      = {Proceedings CHI 94},
  Pages          = {318-322},
  Publisher      = {ACM},
  institution    = {Xerox Palo Alto Research Center},
  year           = 1994
}

@InProceedings{Stas00a,
  Author         = {John T. Stasko and Eugene Zhang},
  Title          = {Focus+Context Display and Navigation Techniques for
                   Enhancing Radial, Space-Filling Hierarchy
                   Visualizations.},
  BookTitle      = {INFOVIS},
  Pages          = {57-},
  ee             = {http://computer.org/proceedings/infovis/0804/08040057abs.htm},
  year           = 2000
}

@InProceedings{Schl99a,
  Author         = {Judith D. Schlesinger and Alyson A. Reeves},
  Title          = {Educating JACKAL: Clich\'e Library Development and Use},
  BookTitle      = {Proceedings Sixth Working Conference on Reverse
                   Engineering},
  Editor         = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer
                   Rugaber},
  Pages          = {123-133},
  Organization   = {IEEE Computer Society},
  month          = oct,
  year           = 1999
}

@Article{Kung95a,
  Author         = {David Kung and Jerry Gao and Pei Hsia and Yasufumi
                   Toyoshima and Chris Chen and Young-Si Kim and Young-Kee
                   Song},
  Title          = {Developing and Oject-Oriented Software Testing and
                   Maintenance Environment},
  Journal        = {Communications of the ACM},
  Volume         = {38},
  Number         = {10},
  Pages          = {75-86},
  keywords       = {olit testing maintenance iam comacm95},
  month          = oct,
  year           = 1995
}

@InBook{Remy94a,
  Author         = {Didier R{\'e}my},
  Title          = {Typing Record Concatenation for Free},
  Chapter        = 10,
  Pages          = {351-372},
  Publisher      = {MIT Press},
  booktitle      = {Theoretical Aspects Of Object-Oriented Programming.
                   Types, Semantics and Language Design},
  keywords       = {olit-types},
  month          = apr,
  url            = {file://ftp.inria.fr/INRIA/Projects/cristal/Didier.Remy/taoop2.dvi.Z},
  year           = 1994
}

@InProceedings{Lump05a,
  Author         = {Lumpe, Markus and Schneider, Jean-Guy},
  Title          = {Classboxes -- An Experiment in Modeling Compositional
                   Abstractions using Explicit Contexts},
  BookTitle      = {Proceedings of ESEC '05 Workshop on Specification and
                   Verification of Component-Based Systems (SAVCBS '05)},
  Editor         = {Barnett, Mike and Edwards, Steve and Giannakopoulou,
                   Dimitra and Leavens, Gary T. and Sharygina, Natasha},
  Pages          = {47--54},
  Address        = {Lisbon, Portugal},
  abstract       = {The development of flexible and reusable abstractions
                   for software composition has suffered from the inherent
                   problem that reusability and extensibility are hampered
                   by the dependence on position and arity of parameters.
                   In order to address this issue, we have defined
                   lambdaF, a substitution-free variant of the
                   lambdaF-calculus where names are replaced with
                   first-class namespaces and parameter passing is modeled
                   using explicit contexts. We have used lambdaF to define
                   a model for classboxes, a dynamically typed module
                   system for object-oriented languages that provides
                   support for controlling both the visibility and
                   composition of class extensions. This model not only
                   illustrates the expressive power and flexibility of
                   lambdaF as a suitable formal foundation for
                   compositional abstractions, but also assists us in
                   validating and extending the concept of classboxes in a
                   language-neutral way.},
  keywords       = {olit selit forms lambdaF savcbs05},
  month          = sep,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/savcbs05.pdf},
  year           = 2005
}

@Proceedings{Meyr89a,
  Title          = {Proceedings {OOPSLA} '89},
  Editor         = {Norman Meyrowitz},
  Volume         = {24},
  Address        = {New Orleans, Louisiana},
  journal        = {ACM SIGPLAN Notices},
  keywords       = {olit survey special issue oopsla89 oobib(gen)},
  month          = oct,
  year           = 1989
}

@InProceedings{Stro03a,
  Author         = {E. Stroulia, M. El-Ramly, P.Iglinski and P.Sorenson},
  Title          = {User Interface Reverse Engineering In Support of
                   Interface Migration on the Web},
  BookTitle      = {Automated Software Engineering},
  year           = 2003
}

@InProceedings{Jamm05b,
  Author         = {Fran\&\#231;ois Jammes and Antoine Mensch and Harm
                   Smit},
  Title          = {Service-oriented device communications using the
                   devices profile for web services},
  BookTitle      = {MPAC '05: Proceedings of the 3rd international
                   workshop on Middleware for pervasive and ad-hoc
                   computing},
  Pages          = {1--8},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1101480.1101496},
  isbn           = {1-59593-268-2},
  location       = {Grenoble, France},
  year           = 2005
}

@Article{Tone01b,
  Author         = {Paolo Tonella},
  Title          = {Concept Analysis for Module Restructuring},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {27},
  Number         = {4},
  Pages          = {351-363},
  keywords       = {fca},
  month          = apr,
  year           = 2001
}

@TechReport{Gibb89b,
  Author         = {Simon Gibbs and Vassili Prevelakis and Dennis
                   Tsichritzis},
  Title          = {Software Information Systems: {A} Software Community
                   Perspective},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg ood89},
  month          = jul,
  pages          = {41-59},
  year           = 1989
}

@PhdThesis{Levy94a,
  Author         = {Juan Pablo Levy Urquidi},
  Title          = {Groupes Multipartenaires par Projection d'interface},
  School         = {EPFL Laussane},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit scglib},
  number         = {1294},
  year           = 1994
}

@InProceedings{Riva02a,
  Author         = {Claudio Riva and Jordi Vidal Rodriguez},
  Title          = {Combining Static and Dynamic Views for Architecture
                   Reconstruction},
  BookTitle      = {Proceedings of the Conference on Software Maintenance
                   and Reengineering (CSMR'02)},
  Pages          = {47},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@InProceedings{Dao04a,
  Author         = {Michel Dao and Marianne Huchard and Mohamed Rouane
                   Hacene and Cyril Roume andPetko Valtchev},
  Title          = {Improving {Generalization} {Level} in {UML} {Models}
                   {Iterative} {Cross} {Generalization} in {Practice}},
  BookTitle      = {Proceedings of {ICCS} '94 (12th International
                   Conference on Conceptual Structures)},
  Volume         = {3127},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {346-360},
  Publisher      = {Springer-Verlag},
  month          = jul,
  year           = 2004
}

@InProceedings{Toku99a,
  Author         = {Lance Tokuda and Don Batory},
  Title          = {Automating Three Modes of Evolution for
                   Object-Oriented Software Architecture},
  BookTitle      = {Proceedings COOTS '99},
  keywords       = {refactoring},
  month          = may,
  year           = 1999
}

@Misc{Squeak,
  Title          = {Squeak Home Page},
  note           = {\\ \url{http://www.squeak.org/}},
  url           = {http://www.squeak.org/},
  key            = {Squeak},
  month = aug,
  year = 2010,
}

@Book{Pool99a,
  Author         = {Rob Pooley and Perdita Stevens},
  Title          = {Using UML, Software Engineering with Objects and
                   Components},
  Publisher      = {Addison Wesley},
  keywords       = {scglib uml},
  year           = 1999
}

@InProceedings{Amad93a,
  Author         = {Roberto M. Amadio},
  Title          = {On the Reduction of Chocs Bisimulation to
                   $\pi$-calculus Bisimulation},
  BookTitle      = {Proceedings of CONCUR '93},
  Editor         = {E. Best},
  Volume         = {715},
  Series         = {LNCS},
  Pages          = {112-126},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc chocs binder},
  year           = 1993
}

@TechReport{Pier92f,
  Author         = {Benjamin C. Pierce},
  Title          = {OOrientierungstage Exercises and Solutions},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {Course Notes},
  keywords       = {types olit f-omega binder},
  month          = oct,
  year           = 1992
}

@InProceedings{Gibb93a,
  Author         = {Simon Gibbs and Christian Breiteneder and Dennis
                   Tsichritzis},
  Title          = {Audio/Video Databases: An Object-Oriented Approach},
  BookTitle      = {Proceedings of the 9th International Conference on
                   Data Engineering},
  Address        = {Vienna},
  Publisher      = {IEEE Computer Society Press},
  Note           = {To appear},
  abstract       = {The notion of an audio/video, or AV, database is
                   introduced. An AV database is a collection of AV values
                   (digital audio and video data) and AV activities
                   (interconnectable components used to process AV
                   values). Two abstraction mechanisms, temporal
                   composition and flow composition, allow the aggregation
                   of AV values and AV activities respectively. An
                   object-oriented framework, incorporating an AV data
                   model and prescribing AV database/application
                   interaction, is described.},
  keywords       = {olit osg of92},
  year           = 1993
}

@Book{Tsic89b,
  Editor         = {D. Tsichritzis},
  Title          = {Object Oriented Development},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg ood89 book scglib},
  month          = jul,
  year           = 1989
}

@InProceedings{Sarg95a,
  Author         = {John Sargeant and Steve Hooton and Chris Kirkham},
  Title          = {{UFO}: Language Evolution and Consequences of State},
  BookTitle      = {High Performance Functional Computing Proceedings},
  Editor         = {A. P. Wim Bohm and John T. Feo},
  Pages          = {48-62},
  abstract       = {The role of explicit state in parallel programming is
                   a problematic one, especially from the functional
                   programming perspective. In this paper we discuss why
                   we believe explicit state is necessary for
                   general-purpose parallel programming, what features we
                   have adopted to support it, and (tentatively) when it
                   is appropriate to use stateful objects rather than a
                   purely functional representation. To provide some
                   context for the when discussion, we also review some of
                   the pure functional features of UFO, concentrating on
                   those aspects of the language which have evolved since
                   the original version. Finally, we look at how stateful
                   objects can be implemented efficiently. This has many
                   aspects; we focus on one, namely analysis to control
                   thread sizes, and present some preliminary results in
                   this area.},
  keywords       = {olit-oopl ufo binder 118},
  month          = apr,
  url            = {ftp://sisal.llnl.gov/pub/hpfc/papers95.html},
  year           = 1995
}

@PhdThesis{Cook89c,
  Author         = {William R. Cook},
  Title          = {A Denotational Semantics of Inheritance},
  School         = {Department of Computer Science, Brown University,
                   Providence, RI},
  Type           = {Ph.{D}. Thesis},
  keywords       = {scglib ecoop89proc},
  month          = may,
  year           = 1989
}

@InProceedings{DiLu01a,
  Author         = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di
                   Penta} and Anna Rita Fasolino and Pasquale Granato},
  Title          = {Clone Analysis in the Web Era: an Approach to Identify
                   Cloned Web Pages},
  BookTitle      = {Proceedings Seventh IEEE Workshop on Empirical Studies
                   of Software Maintenance},
  Publisher      = {IEEE},
  month          = oct,
  year           = 2001
}

@InProceedings{Neus91a,
  Author         = {Christian Neusius},
  Title          = {Synchronizing Actions},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {118-132},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{DHon00a,
  Author         = {D'Hondt, Theo and De Volder, Kris and Mens, Kim and
                   Wuyts, Roel},
  Title          = {Co-evolution of Object-Oriented Software Design and
                   Implementation},
  BookTitle      = {Proceedings of the international symposium on Software
                   Architectures and Component Technology 2000.},
  annote         = {internationalconference},
  keywords       = {SOUL},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/DHon00a.pdf},
  year           = 2000
}

@Article{Crof85a,
  Author         = {W. Bruce Croft},
  Title          = {Planning the Software Industrial Revolution Task
                   Management for an Intelligent Interface},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {8-13},
  keywords       = {olit-oopl poise},
  month          = dec,
  year           = 1985
}

@InProceedings{Luqi99a,
  Author         = {Luqi and Guo, Jiang},
  Title          = {{Toward Automated Retrieval for a Software Component
                   Repository}},
  BookTitle      = {Proceedings of Sixth IEEE International Conference and
                   Workshop on the Engineering of Computer-Based Systems},
  Pages          = {99-105},
  Publisher      = {IEEE},
  abstract       = {Retrieval methods for software component repository
                   are important for software reuse. Many researchers have
                   done a lot of work in this field in the past fifteen
                   years. This paper discusses the improvement of two
                   different aspects of retrieval methods for software
                   components. One is profile matching, the other is
                   signature matching. We show some experimental results
                   assessing the affect of the improvements.},
  keywords       = {olit repository abb reuse ecbs99},
  location       = {Privat},
  month          = mar,
  url            = {http://www.computer.org/proceedings/ecbs/0028/00280099abs.htm},
  year           = 1999
}

@InProceedings{Kais89a,
  Author         = {Gail E. Kaiser and Stephen S. Popovich and Wenwey
                   Hseush and Shyhtsun Felix Wu},
  Title          = {MELDing Multiple Granularities of Parallelism},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {147-166},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-obcl meld scglib ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Lahi04a,
  Author         = {Philippe Lahire and Gabriela Ar{\'e}valo and
                   Hern{\'a}n Astudillo and Andrew P. Black and Erik Ernst
                   and Marianne Huchard and T. Oplustil and Markku
                   Sakkinen and Petko Valtchev},
  Title          = {MASPEGHI 2004 Mechanisms for Specialization,
                   Generalization and Inheritance},
  BookTitle      = {ECOOP Workshops},
  Pages          = {101-117},
  keywords       = {arevalo},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lahi04aECOOP04MaspeghiWorkshop.pdf},
  year           = 2004
}

@PhdThesis{Aman97a,
  Author         = {Stephan Amann},
  Title          = {Komponentenorientierte Entwicklung von
                   Grafikapplikationen mit {BOOGA}},
  School         = {University Bern},
  Type           = {Ph.{D}. Thesis},
  year           = 1997
}

@Article{Medv06a,
  Author         = {Nenad Medvidovic and Vladimir Jakobac},
  Title          = {Using software evolution to focus architectural
                   recovery},
  Journal        = {Automated Software Engineering},
  Volume         = {13},
  Number         = {2},
  Pages          = {225--256},
  address        = {Hingham, MA, USA},
  doi            = {http://dx.doi.org/10.1007/s10515-006-7737-5},
  issn           = {0928-8910},
  publisher      = {Kluwer Academic Publishers},
  year           = 2006
}

@InProceedings{John96a,
  Author         = {J.~Howard Johnson},
  Title          = {Navigating the Textual Redundancy Web in Legacy Source},
  BookTitle      = {Proceedings of the 1996 conference of the Centre for
                   Advanced Studies on Collaborative Research},
  Organization   = {IBM Centre for Advanced Studies},
  Publisher      = {IBM Press},
  year           = 1996
}

@Article{Bray95a,
  Author         = {Olin Bray and Michael M. Hess},
  Title          = {Reengineering a Configuration Management System},
  Journal        = {IEEE Software},
  Volume         = {12},
  Number         = {1},
  Pages          = {55-63},
  keywords       = {oorp},
  month          = jan,
  publisher      = {IEEE},
  year           = 1995
}

@InCollection{Mull95b,
  Author         = {Hausi A. M\"{u}ller and Kenny Wong and Scott R. Tilley},
  Title          = {Understanding Software Systems Using Reverse
                   Engineering Technology},
  BookTitle      = {Object-Oriented Technology for Database and Software
                   Systems},
  Publisher      = {World Scientific},
  Editor         = {V.S. Alagar and R. Missaoui},
  Pages          = {240-252},
  keywords       = {oorp},
  year           = 1995
}

@InProceedings{Quit03a,
  Author         = {Philip J. Quitslund},
  Title          = {Beyond files: programming with multiple source views.},
  BookTitle      = {OOPSLA Workshop on Eclipse Technology eXchange},
  Pages          = {6-9},
  doi            = {http://doi.acm.org/10.1145/965660.965662},
  year           = 2003
}

@Article{Bach01,
  Author         = {Jonthan Bachrach and Keith Playford},
  Title          = {The {Java Syntactic Extender} ({JSE})},
  Journal        = {Proceedings of OOPSLA '01, ACM SIG{\-}PLAN Notices},
  Volume         = {36},
  Number         = {11},
  Pages          = {31-42},
  issn           = {0362-1340},
  month          = {nov},
  year           = 2001
}

@Book{Yoko90a,
  Author         = {Yasuhiko Yokote},
  Title          = {The Design and Implementation of
                   {Concurrent}{Smalltalk}},
  Publisher      = {World Scientific},
  Volume         = {21},
  Series         = {World Scientific Series in Computer Science},
  keywords       = {smalltalk concurrentsmalltalk scglib},
  year           = 1990
}

@InProceedings{Deko05a,
  Author         = {Steve Dekorte},
  Title          = {Io: a small programming language},
  BookTitle      = {Companion to the 20th Annual {ACM} {SIGPLAN}
                   Conference on Object-Oriented Programming, Systems,
                   Languages, and Applications, {OOPSLA} 2005, October
                   16-20, 2004, San Diego, {CA}, {USA}},
  Editor         = {Ralph Johnson and Richard P. Gabriel},
  Pages          = {166--167},
  Publisher      = {ACM},
  url            = {http://www.iolanguage.com/},
  year           = 2005
}

@InProceedings{Lieb88a,
  Author         = {Karl J. Lieberherr and Ian M. Holland and Arthur Riel},
  Title          = {Object-Oriented Programming: An Objective Sense of
                   Style},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {323-334},
  keywords       = {olit oopsla88 oorp},
  month          = nov,
  year           = 1988
}

@InProceedings{Cham91b,
  Author         = {Craig Chambers and David Ungar},
  Title          = {Making Pure Object-Oriented Languages Practical},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {1-15},
  keywords       = {olit-oopl self oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Andr92b,
  Author         = {Pascal Andr\'e and Jean-Claude Royer},
  Title          = {Optimizing Method Search with Lookup Caches and
                   Incremental Coloring},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {110-126},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Arba02a,
  Author         = {Farhad Arbab and Farhad Mavaddat},
  Title          = {Coordination Through Channel Composition},
  BookTitle      = {Coordination Languages and Models: Proc. Coordination
                   2002},
  Editor         = {F. Arbab and C. Talcott},
  Volume         = {2315},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {21-38},
  Publisher      = {Springer-Verlag},
  city           = {York, UK},
  keywords       = {reo},
  month          = apr,
  year           = 2002
}

@InProceedings{Gall03b,
  Author         = {Keith Gallagher and Lucas Layman},
  Title          = {Are Decomposition Slices Clones?},
  BookTitle      = {Proc. of the 11th International IEEE Workshop on
                   Program Comprehension (IWPC'03)},
  Pages          = {285-286},
  Publisher      = {IEEE},
  keywords       = {codeduplication},
  month          = may,
  year           = 2003
}

@Book{Hump89a,
  Author         = {Watts S. Humphrey},
  Title          = {Managing the Software Process},
  Publisher      = {Addison Wesley},
  Series         = {SEI Series in Software Engineering},
  isbn           = {0-201-18095-2},
  keywords       = {scglib},
  year           = 1989
}

@TechReport{Boeh85a,
  Author         = {Hans Boehm and Alan Demers and Jim Donahue},
  Title          = {A Programmer's Guide to Russell},
  Institution    = {Cornell University},
  Type           = {on-line documentation},
  keywords       = {fpl russell binder},
  year           = 1985
}

@Article{Gibb83a,
  Author         = {Simon Gibbs and Dennis Tsichritzis},
  Title          = {A Data Modelling Approach for Office Information
                   Systems},
  Journal        = {ACM TOOIS},
  Volume         = {1},
  Number         = {3},
  Pages          = {299-319},
  keywords       = {oislit db},
  year           = 1983
}

@InProceedings{Gros02a,
  Author         = {David Grosser and Houari A. Sahraoui and Petko
                   Valtchev},
  Title          = {Predicting software stability using Case-Based
                   Reasoning},
  BookTitle      = {Proceedings of the 17th IEEE International Conference
                   on Automated Software Engienering (ASE '02)},
  Pages          = {295-298},
  doiu           = {http://doi.ieeecs.org/10.1109/ASE.2002.1115033},
  keywords       = {olit},
  year           = 2002
}

@InProceedings{Blah98a,
  Author         = {M. Blaha and D. LaPlant and E. Marvak},
  Title          = {Requirements for Repository Software},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {164-173},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  keywords       = {oorp},
  year           = 1998
}

@TechReport{Mars05a,
  Author         = {Philippe Marschall},
  Title          = {Detecting the Methods under Test in {Java}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Unit tests are a well accepted part of software
                   engineering. JUnit is the de facto standard for unit
                   testing in Java. It collects, organizes and runs tests.
                   Each test focuses on one or several methods. These are
                   called the methods under test. They can be used for a
                   variety of tasks including test navigation, test
                   coverage and test analysis in general. There are no
                   rules for determining on which methods a test focuses.
                   Sometimes it is obvious, but there are cases where we
                   cannot say on which methods a test focuses. Among
                   others we observed two test patterns that look similar
                   but are the inverse of each other. The first consists
                   of an initial setup method and then focuses on one or
                   several methods. The second one invokes the focused
                   method first and then uses accessors to test the side
                   effects. As a result there are no established and
                   foolproof ways to detect the methods under test
                   automatically. In the following we discuss several
                   different, automated ways of detecting the methods
                   under test. Because there are no rules to determine the
                   methods under test, automatically detecting them can
                   never be fully accurate. But we search for different
                   approaches and try to find out how effective they are.
                   First we present several different ways to annotate a
                   test with its methods under test and choose one of them
                   to annotate the tests of some case studies. We also
                   build a tool that allows us to query these methods and
                   their annotations. Afterward we describe ways to
                   automatically detect the methods under test. The first
                   one called NameAnalyzer looks at the names of tests and
                   test cases and uses naming conventions to determine the
                   methods under test. We also parse the source code of a
                   test and try to extract all methods the test directly
                   invokes. Because this results in a lot of false
                   positives we build a heuristic extension to reduce this
                   noise. We run each of these approaches for analysis on
                   some case studies and validate their output against the
                   annotations described in the first section. Finally we
                   discuss these results, judge the approaches by how
                   effective they are in detecting the methods under test,
                   and conclude.},
  keywords       = {snf05 scg-ip jb05},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Mars05a.pdf},
  year           = 2005
}

@Unpublished{Beck90a,
  Author         = {Karin Becker and Fran\c{c}ois Bodart},
  Title          = {Reusable Object-Oriented Specifications for Decision
                   Support Systems},
  Note           = {Facult\'es Universitaire Notre Dame de la Paix},
  address        = {Namur},
  keywords       = {olit-reuse binder},
  type           = {draft},
  year           = 1990
}

@Article{Purv83a,
  Author         = {R. Purvy and J. Farrel and P. Klose},
  Title          = {The Design of Star's Records Processing: Data
                   Processing for the Noncomputer Professional},
  Journal        = {ACM TOOIS},
  Volume         = {1},
  Number         = {1},
  Pages          = {3-24},
  keywords       = {oislit star ui},
  year           = 1983
}

@Article{Cian96b,
  Author         = {Paolo Ciancarini},
  Title          = {Coordination Models and Languages as Software
                   Integrators},
  Journal        = {ACM Computing Surveys},
  Volume         = {28},
  Number         = {2},
  Pages          = {300-302},
  keywords       = {coordination},
  month          = jun,
  year           = 1996
}

@InProceedings{Wirf89a,
  Author         = {Rebecca Wirfs-Brock and Brian Wilkerson},
  Title          = {Object-Oriented Design: {A} Responsibility-Driven
                   Approach},
  BookTitle      = {Proceedings OOPSLA '89},
  Pages          = {71-76},
  Note           = {ACM SIGPLAN Notices, volume 24, number 10},
  keywords       = {olit-ood oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Bezi01a,
  Author         = {Jean B\'ezivin and Olivier Gerb\'e},
  Title          = {Towards a Precise Definition of the {OMG/MDA}
                   Framework},
  BookTitle      = {Proceedings Automated Software Engineering (ASE 2001)},
  Pages          = {273-282},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  keywords       = {metamodeling},
  year           = 2001
}

@Book{Cian94a,
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akiro
                   Yonezawa},
  Title          = {Object-Based Models and Languages for Concurrent
                   Systems, Workshop {ECOOP}'94},
  Publisher      = {Springer-Verlag},
  Volume         = {924},
  Series         = {LNCS},
  doi            = {http://dx.doi.org/10.1007/3-540-59450-7},
  isbn           = {3-540-59450-7},
  keywords       = {olit ecoop94proc scglib},
  year           = 1994
}

@Article{Krue92a,
  Author         = {Krueger, Charles W.},
  Title          = {{Software Reuse}},
  Journal        = {ACM Computing Surveys},
  Volume         = {24},
  Number         = {2},
  Pages          = {131-183},
  keywords       = {oobib scglib repository reuse abb cognitive distance},
  year           = 1992
}

@Article{Deer90a,
  Author         = {Scott C. Deerwester and Susan T. Dumais and Thomas K.
                   Landauer and George W. Furnas and Richard A. Harshman},
  Title          = {Indexing by Latent Semantic Analysis},
  Journal        = {Journal of the American Society of Information Science},
  Volume         = {41},
  Number         = {6},
  Pages          = {391-407},
  url            = {citeseer.ist.psu.edu/deerwester90indexing.html},
  year           = 1990
}

@InProceedings{Wuyt01a,
  Author         = {Roel Wuyts and St\'ephane Ducasse},
  Title          = {Symbiotic Reflection between an Object-Oriented and a
                   Logic Programming Language},
  BookTitle      = {ECOOP 2001 International Workshop on MultiParadigm
                   Programming with Object-Oriented Languages},
  abstract       = {Meta-programming is the act of using one system or
                   language to reason about another one. Reflection
                   describes systems that have access to and change a
                   causally connected representation of themselves, hence
                   leading to self-extensible systems . Up to now, most of
                   the reflective languages have been implemented in the
                   same paradigm. In this paper, we propose
                   \emph{symbiotic reflection} as a way to integrate a
                   meta programming language with the object-oriented
                   language it reasons about and is implemented in. New to
                   this approach is that any element of the implementation
                   language can be reasoned about and acted upon (not only
                   the self representation), and that both languages are
                   of different paradigms. Moreover, every language
                   implementer that is faced with the problem of allowing
                   the base language to access the underlying
                   meta-language has to solve the problem of enabling
                   entity transfer between both worlds. We propose a
                   uniform schema, called upping/downing, to this problem
                   that avoid explicit wrapping or typechecking. We
                   illustrate this with SOUL (the Smalltalk Open
                   Unification Language), a logic programming language in
                   symbiotic reflection with the object-oriented language
                   Smalltalk. We show how SOUL does logic reasoning
                   directly on Smalltalk objects, and how to use this to
                   implement type snooping},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf01 snf02 jb01 component Pecos
                   stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt01a.pdf},
  year           = 2001
}

@Article{Bato97a,
  Author         = {Don Batory and Bart J. Geraci},
  Title          = {{Composition Validation and Subjectivity in
                   {Gen}{Voca} Generators}},
  Journal        = {{IEEE Transactions on Software Engineering (special
                   issue on Software Reuse)}},
  Pages          = {62-87},
  keywords       = {olit genvoca},
  month          = feb,
  url            = {http://www.cs.utexas.edu/users/schwartz/},
  year           = 1997
}

@InProceedings{Low88a,
  Author         = {Colin Low},
  Title          = {A Shared, Persistent Object Store},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {390-410},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@InProceedings{Regh91a,
  Author         = {Stefano Crespi Reghizzi and Guido Galli de Paratesi
                   and Stefano Genolini},
  Title          = {Definition of Reusable Concurrent Software Components},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {148-166},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Bruc93a,
  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},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {29-46},
  keywords       = {olit oopsla93},
  month          = oct,
  url            = {ftp://cs.williams.edu/pub/kim/OOPSLA.dvi},
  year           = 1993
}

@InProceedings{Pint90a,
  Author         = {Xavier Pintado and Dennis Tsichritzis},
  Title          = {Satellite: {A} Visualization and Navigation Tool for
                   Hypermedia},
  BookTitle      = {Proceedings of the ACM Conference on Office
                   Information Systems (COIS), SIGOIS Bulletin},
  Volume         = {11},
  Pages          = {271-280},
  Address        = {Cambridge, Mass.},
  abstract       = {Satellite is a visualization and navigation tool for a
                   hypermedia system. It is based on the concept of
                   affinity between objects; that is, a relationship with
                   an associated intensity. The user is presented with a
                   two dimensional map that provides a view of the
                   hypermedia environment where objects lying close
                   together have a greater affinity than those lying
                   further apart. The system provides different views by
                   allowing modification of the underlying measure of
                   affinity. The system is also able to track dynamically
                   the evolution of the objects' relationships. Based on
                   the affinity concept, we develop new dynamic
                   presentation techniques that do not depend on the
                   explicit display of links between the nodes of the
                   graph. The dynamic layout algorithm that we present at
                   the end of the paper is based on these techniques and
                   it allows for the display of rapidly changing
                   relationships between objects.},
  keywords       = {olit osg},
  misc           = {April 25-27},
  month          = apr,
  year           = 1990
}

@InProceedings{Tsic83b,
  Author         = {Dennis Tsichritzis and Stavros Christodoulakis and
                   Panos Economopoulos and Christos Faloutsos and Allison
                   Lee and Dik Lee and J. Vandenbroek and Carson Woo},
  Title          = {A Multimedia Office Filing System},
  BookTitle      = {Proceedings of the Ninth International Conference on
                   Very Large Data Bases},
  Pages          = {2-7},
  Address        = {Florence, Italy},
  keywords       = {oislit ofs forms},
  year           = 1983
}

@Article{Biem98a,
  Author         = {J.M. Bieman and Byung-Kyoo Kang},
  Title          = {Measuring Design-Level Cohesion},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {24},
  Number         = {2},
  Pages          = {111-124},
  keywords       = {olit-reuse},
  month          = feb,
  year           = 1998
}

@InProceedings{Holt98a,
  Author         = {Richard Holt},
  Title          = {Structural Manipulations of Software Architecture
                   Using Tarski Relational Algebra},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {210-219},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{Ruga98a,
  Author         = {Spencer Rugaber and Jim White},
  Title          = {Restoring a Legacy: Lessons Learned},
  Journal        = {IEEE Software},
  Volume         = {15},
  Number         = {4},
  Pages          = {28-33},
  keywords       = {oorp},
  month          = jul,
  publisher      = {IEEE},
  year           = 1998
}

@InProceedings{Geha91a,
  Author         = {Narain Gehani and H.V. Jagadish},
  Title          = {Ode as an Active Database: Constraints and triggers},
  BookTitle      = {Proceedings of Conference on Very Large Data Bases},
  Pages          = {327-336},
  year           = 1991
}

@Book{Liu96a,
  Author         = {Chamond Liu},
  Title          = {Smalltalk, Objects, and Design},
  Publisher      = {Manning Publications},
  keywords       = {olit scglib},
  year           = 1996
}

@InProceedings{Moss83a,
  Author         = {J. Eliot B. Moss},
  Title          = {Checkpoint and Restart in Distributed Transaction
                   Systems},
  BookTitle      = {Proceedings 3rd Symposium on Reliability in
                   Distributed Software and Database Systems},
  keywords       = {dblit transactions reliability},
  year           = 1983
}

@InProceedings{Chas98a,
  Author         = {M. P. Chase and S.M. Christey and D.R. Harris and A.S.
                   Yeh},
  Title          = {Managing Recovered Function and Structure of Legacy
                   Software Components},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {79-89},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{DeRe76a,
  Author         = {Frank DeRemer and Hans H. Kron},
  Title          = {Programming in the Large Versus Programming in the
                   Small},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {2},
  Number         = {2},
  Pages          = {80-86},
  keywords       = {olit(reuse) binder},
  month          = jun,
  year           = 1976
}

@InCollection{Hedi99a,
  Author         = {G{\"o}rel Hedin and J{\/o}rgen Lindskov Knudsen},
  Title          = {Language Support for Application Framework Design},
  BookTitle      = {Implmenting Application Frameworks: Object-{Oriented}
                   Frameworks at Work},
  Publisher      = {Wiley},
  Editor         = {M. E. Fayad and D.C.Schmidt and R.E. Johnson},
  keywords       = {beta},
  year           = 1999
}

@InProceedings{Dick96a,
  Author         = {Herv{\'e} Dicky and Christoph Dony and Marianne
                   Huchard and Th{\'e}r{\`e}se Libourel},
  Title          = {On {Automatic} {Class} {Insertion} with {Overloading}},
  BookTitle      = {Proceedings of {OOPSLA} '96 (11th ACM SIGPLAN
                   conference on Object-oriented Programming, Systems,
                   Languages, and Applications)},
  Pages          = {251-267},
  Publisher      = {ACM Press},
  location       = {San Jose, California, United States},
  year           = 1996
}

@InProceedings{More94a,
  Author         = {Ana M.D. Moreira and Robert G. Clark},
  Title          = {Combining Object-Oriented Analysis and Formal
                   Description Techniques},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {344-364},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Book{Reen96a,
  Author         = {Trygve Reenskaug},
  Title          = {Working with Objects: The OOram Software Engineering
                   Method},
  Publisher      = {Manning Publications},
  isbn           = {1-884777-10-4},
  keywords       = {obib(gen) scglib sclit oorp},
  url            = {http://heim.ifi.uio.no/~trygver/documents/index.html
                   http://heim.ifi.uio.no/~trygver/documents/book11d.pdf},
  year           = 1996
}

@Article{Jaer03a,
  Author         = {Jaakko J\"arvi and Gary Powell and Andrew Lumsdaine},
  Title          = {The Lambda library: unnamed functions in {C++}},
  Journal        = {Softw. Pract. Exper.},
  Volume         = {33},
  Number         = {3},
  Pages          = {259-291},
  doi            = {http://dx.doi.org/10.1002/spe.504},
  issn           = {0038-0644},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2003
}

@InProceedings{Pank96a,
  Author         = {Raymond R. Panko and Richard P. Halverson Jr},
  Title          = {Spreadsheets on Trial: A Survey of Research on
                   Spreadsheet Risks},
  BookTitle      = {HICSS '96: Proceedings of the 29th Hawaii
                   International Conference on System Sciences (HICSS)
                   Volume 2: Decision Support and Knowledge-Based Systems},
  Pages          = {326},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-8186-7327-3},
  keywords       = {testing},
  year           = 1996
}

@InProceedings{Duca97c,
  Author         = {St\'ephane Ducasse},
  Title          = {Message Passing Abstractions as Elementary Bricks for
                   Design Pattern Implementation},
  BookTitle      = {Object-Oriented Technology (ECOOP '97 Workshop Reader)},
  Editor         = {Jan Bosch and Stuart Mitchell},
  Volume         = 1357,
  Series         = {LNCS},
  Pages          = {96-99},
  Publisher      = {Springer-Verlag},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr scglit oobib flo scg-pub skipdoi
                   skip-pdf skip-abstract toBeChecked snf97 jb97 stefPub},
  month          = jun,
  year           = 1997
}

@Unpublished{Gira92a,
  Author         = {Rosario Girardi and Bertrand Ibrahim},
  Title          = {New Approaches for Reuse Systems},
  Note           = {submitted for publicationCentre Universitaire
                   d'Informatique, University of Geneva},
  keywords       = {olit-reuse binder},
  type           = {draft},
  year           = 1992
}

@Misc{Cifu06a,
  Title          = {Squawk: a {J}ava VM for Wireless Sensor and Actuator
                   Devices},
  Note           = {http://developers.sun.com/learning/javaoneonline/2006/coolstuff/TS-1598.pdf},
  key            = {Squawk}
}

@InProceedings{Orei05a,
  Author         = {Ciaran O'Reilly and David Bustard and Philip Morrow},
  Title          = {The War Room Command Console -- Shared Visualizations
                   for Inclusive Team Coordination},
  BookTitle      = {Proceedings of 2005 ACM Symposium on Software
                   Visualization (Softviz 2005)},
  Pages          = {57--65},
  Address        = {St. Louis, Missouri, USA},
  keywords       = {visualization},
  month          = may,
  year           = 2005
}

@Book{Sigf96a,
  Author         = {Stefan Sigfried},
  Title          = {Understanding Object-Oriented Software Enginnering},
  Publisher      = {IEEE Press},
  isbn           = {0-7803-1095-0},
  keywords       = {olit-gen scglib},
  year           = 1996
}

@InProceedings{Snyd93b,
  Author         = {Alan Snyder},
  Title          = {Open Systems for Software: An Object-Oriented Solution},
  BookTitle      = {ACM OOPS Messenger, Addendum to the Proceedings of
                   OOPSLA 1993},
  Volume         = {5},
  Pages          = {67-68},
  keywords       = {olit odp corba},
  month          = apr,
  year           = 1994
}

@InProceedings{Deut84a,
  Author         = {L. Peter Deutsch and Allan M. Schiffman},
  Title          = {Efficient Implementation of the {Smalltalk}-80 system},
  BookTitle      = {Proceedings POPL '84},
  Address        = {Salt Lake City, Utah},
  keywords       = {olit-oopl smalltalk casais popl84},
  misc           = {Jan. 15-18},
  month          = jan,
  year           = 1984
}

@Article{Lisk83a,
  Author         = {Barbara Liskov and R. Scheifler},
  Title          = {Guardians and Actions: Linguistic Support for Robust,
                   Distributed Programs},
  Journal        = {ACM TOPLAS},
  Volume         = {5},
  Number         = {3},
  Pages          = {381-404},
  keywords       = {olit-oopl argus guardians transactions},
  month          = jul,
  year           = 1983
}

@Article{Nier06a,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Nathanael
                   Sch\"arli},
  Title          = {Flattening {Traits}},
  Journal        = {Journal of Object Technology},
  Volume         = {5},
  Number         = {4},
  Pages          = {129-148},
  abstract       = { Traits are fine-grained components that can be used
                   to compose classes, while avoiding many of the problems
                   of multiple inheritance and mixin-based approaches.
                   Since most implementations of traits have focused on
                   dynamically-typed languages, the question naturally
                   arises, how can one best introduce traits to
                   statically-typed languages, like {Java} and C#? In this
                   paper we argue that the flattening property of traits
                   should be used as a guiding principle for any attempt
                   to add traits to statically-typed languages. This
                   property essentially states that, semantically, traits
                   can be compiled away. We demonstrate how this principle
                   applies to FTJ, a conservative extension to
                   Featherweight {Java}.},
  annote         = {internationaljournal},
  cached         = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier06aFlatteningTraits.pdf},
  cvs            = {TraitFlatteningJOT},
  keywords       = {scg-pub skipdoi scg-rotor traits jb06 fb06 snf05 snf06
                   jot stefPub},
  misc           = {May-June},
  month          = may,
  peer           = {yes},
  url            = {http://www.jot.fm/issues/issue_2006_05/article4
                   http://www.jot.fm/issues/issue_2006_05/article4.pdf},
  year           = 2006
}

@InProceedings{Elli99a,
  Author         = {Susan Elliott Sim and Charles L.A. Clarke and Richard
                   C. Holt and Anthony M. Cox},
  Title          = {Browsing and Searching Software Architectures},
  BookTitle      = {International Conference on Software Maintenant (ICSM)},
  Pages          = {381--391},
  Publisher      = {IEEE CS},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.1999.792636},
  issn           = {1063-6773},
  year           = 1999
}

@InCollection{Nier95a,
  Author         = {Oscar Nierstrasz and Theo Dirk Meijler},
  Title          = {Requirements for a Composition Language},
  BookTitle      = {Object-Based Models and Langages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = 924,
  Series         = {LNCS},
  Pages          = {147-161},
  abstract       = {The key requirement for open systems is that they be
                   flexible, or recomposable. This suggests that they must
                   first of all be composable. Object-oriented techniques
                   help by allowing applications to be viewed as
                   compositions of collaborating objects, but are limited
                   in supporting other kinds of abstractions that may have
                   finer or coarser granularity than objects. A
                   composition language supports the technical
                   requirements of a component-oriented development
                   approach by shifting emphasis from programming and
                   inheritance of classes to specification and composition
                   of components. Objects are viewed as processes, and
                   components are abstractions over the object space. An
                   application is viewed as an explicit composition of
                   software components. By making software architectures
                   explicit and manipulable, we expect to better support
                   application evolution and flexibility. In this position
                   paper we will elaborate our requirements and outline a
                   strategy for the design and implementation of a
                   composition language for the development of open
                   systems.},
  doi            = {http://dx.doi.org/10.1007/3-540-59450-7_9},
  keywords       = {olit scg-pub snf95 racl OBM94-09 jb94 scg-coord-old},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier95aReqtsForaCompLang.pdf},
  year           = 1995
}

@InProceedings{Dave01a,
  Author         = {John Davey and Elizabeth Burd},
  Title          = {Clustering and concept analysis for software evolution},
  BookTitle      = {Proceedings of the 4th international Workshop on
                   Principles of Software Evolution (IWPSE 2001)},
  Pages          = {146-149},
  Address        = {Vienna, Austria},
  keywords       = {evolution clustering},
  year           = 2001
}

@Article{Chil94a,
  Author         = {Chilenski, J. J. and Miller, S. P.},
  Title          = {Applicability of modified condition/decision coverage
                   to software testing},
  Journal        = {Software Engineering Journal},
  Volume         = {9},
  Number         = {5},
  Pages          = {193-200},
  abstract       = {Modified condition/decision coverage is a structural
                   coverage criterion requiring that each condition within
                   a decision is shown by execution to independently and
                   correctly affect the outcome of the decision. This
                   criterion was developed to help meet the need for
                   extensive testing of complex Boolean expressions in
                   safety-critical applications. The paper describes the
                   modified condition/decision coverage criterion, its
                   properties and areas for further work},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  isbn           = {0268-6961},
  keywords       = {program testing; program verification; real-time
                   systems; safety; software reliability; complex Boolean
                   expressions; high integrity software; modified
                   condition/decision coverage; safety-critical
                   applications; software testing; structural coverage
                   criterion; validation; verification},
  year           = 1994
}

@InProceedings{Lisk93a,
  Author         = {Barbara Liskov and Jeannette M. Wing},
  Title          = {A New Definition of the Subtype Relation},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {118-141},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {The use of hierarchy is an important component of
                   object-oriented design. Hierarchy allows the use of
                   type families, in which higher level supertypes capture
                   the behavior that all of their subtypes have in common.
                   For this methodology to be effective, it is necessary
                   to have a clear understanding of how subtypes and
                   supertypes are related. This paper presents a new
                   definition of the subtype relation that ensures that
                   any property proved about supertype objects also holds
                   for subtype objects. It also discusses the
                   ramifications of the definition on the design of type
                   families. (superseded by Lisk93c)},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Misc{Concentration,
  Title          = {Concentration},
  Note           = {http://en.wikipedia.org/wiki/\-Concentration\-\_(game)},
  key            = {Concentration},
  keywords       = {games examples},
  url            = {http://en.wikipedia.org/wiki/Concentration_(game)}
}

@Article{Weye85a,
  Author         = {S.A. Weyer and Alan H. Borning},
  Title          = {A Prototype Electronic Encyclopedia},
  Journal        = {ACM TOOIS},
  Volume         = {3},
  Number         = {1},
  Pages          = {63-88},
  keywords       = {olit-appl hypertext},
  month          = jan,
  year           = 1985
}

@Proceedings{WCRE00a,
  Title          = {Seventh Working Conference on Reverse Engineering},
  Organization   = {IEEE Computer Society},
  keywords       = {scglib},
  year           = 2000
}

@Article{Doda94g,
  Author         = {Mahesh Dodani},
  Title          = {Semantically Rich Object-Oriented Software Engineering
                   Methodologies},
  Journal        = {Report on Object-Oriented Analysis and Design},
  Volume         = {1},
  Number         = {1},
  Pages          = {17-21},
  keywords       = {obib(gen) binder},
  month          = jun,
  publisher      = {SIGS Publications},
  year           = 1994
}

@Book{Bosc00a,
  Author         = {Jan Bosch},
  Title          = {Design and Use of Software Architectures: Adopting and
                   Evolving a Product Line Approach},
  Publisher      = {Pearson Education (Addison-Wesley \& ACM Press)},
  isbn           = {0-201-67494-7},
  month          = may,
  year           = 2000
}

@Article{Curr84a,
  Author         = {G. Curry and R. Ayers},
  Title          = {Experiences with {TRAITS} in the {XEROX} {STAR}
                   Workstation},
  Journal        = {IEEE TOSE},
  Volume         = {10},
  Number         = {5},
  keywords       = {olit-inheritance appl star mesa traits},
  month          = sep,
  year           = 1984
}

@PhdThesis{Stor98a,
  Author         = {Margaret-Anne D. Storey},
  Title          = {A Cognitive Framework for Describing and Evaluating
                   Software Exploration Tools},
  School         = {Simon Fraser University},
  month          = dec,
  year           = 1998
}

@InProceedings{Skar86a,
  Author         = {Andrea H. Skarra and Stanley B. Zdonik},
  Title          = {The Management of Changing Types in an Object-Oriented
                   Database},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {483-495},
  keywords       = {types olit oodb encore oopsla86},
  month          = nov,
  year           = 1986
}

@Book{Mont99a,
  Author         = {Terry Montlick},
  Title          = {The Distributed {Smalltalk} Survival Guide},
  Publisher      = {Sigs},
  isbn           = {0-521-64552-2},
  keywords       = {olit smalltalk scglib new-entry},
  year           = 1999
}

@Article{Ogde94a,
  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 Softw. Eng. Notes},
  Volume         = {19},
  Number         = {4},
  Pages          = {23-28},
  doi            = {http://doi.acm.org/10.1145/190679.190681},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1994
}

@InProceedings{Grau01a,
  Author         = {Paul Graunke and Shriram Krishnamurthi and Van Der
                   Hoeven, Steve and Matthias Felleisen},
  Title          = {Programming the Web with High-Level Programming
                   Languages},
  BookTitle      = {Proceedings of ESOP 2001},
  Volume         = {2028},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {122--136},
  year           = 2001
}

@Article{Gerb77a,
  Author         = {A.J. Gerber},
  Title          = {Process Synchronization by Counter Variables},
  Journal        = {ACM Operating Systems Review},
  Volume         = {11},
  Number         = {4},
  Pages          = {6-17},
  keywords       = {concurrency synchronization binder},
  month          = oct,
  year           = 1977
}

@InCollection{Bobr93a,
  Author         = {D.G. Bobrow and R.P. Gabriel and J.L. White},
  Title          = {{CLOS} in Context --- The Shape of the Design},
  BookTitle      = {Object-Oriented Programming: the CLOS perspective},
  Publisher      = {MIT Press},
  Editor         = {A. Paepcke},
  Pages          = {29-61},
  keywords       = {clos},
  year           = 1993
}

@InCollection{Malh93a,
  Author         = {Jawahar Malhotra},
  Title          = {Dynamic Extensibility in a Statically-compiled
                   Object-oriented Language},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {297-314},
  abstract       = {Statically-typed object-oriented compiled languages,
                   like Simula, Beta, Eiffel, are desirable because of the
                   safety and efficiency of the resulting code.
                   Dynamically-typed, interpreted languages, like
                   Smalltalk, are useful as they provide the possibility
                   of dynamically extending a program. In this paper, we
                   reconcile the safety and efficiency goals of compiled
                   languages with the benefits of interpreted languages by
                   presenting an embeddable interpreter for a compiled
                   language, namely Beta. The interpreter is designed to
                   be embedded into any compiled Beta application, thus
                   enabling it to accept dynamic extensions. This paper
                   examines the Application Programmer's Interface to the
                   interpreter and illustrate some aspects of our
                   implementation.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Blac00a,
  Author         = {Andrew P. Black and Mark P. Jones},
  Title          = {Perspectives On Software},
  BookTitle      = {OOPSLA 2000 Workshop on Advanced Separation of
                   Concerns in Object-oriented Systems},
  year           = 2000
}

@Misc{Benjie,
  Title          = {100 {Dollar} {Laptop}},
  Note           = {http://en.wikipedia.org/wiki/\$100\_laptop},
  key            = {Benjie},
  keywords       = {laptop OLPC},
  url            = {http://en.wikipedia.org/wiki/\$100_laptop}
}

@InProceedings{Perr89a,
  Author         = {Dewayne E. Perry},
  Title          = {The Inscape Environment},
  BookTitle      = {In Proceedings of the 11th ICSE},
  Pages          = {2-12},
  keywords       = {olit interconnection binder},
  year           = 1989
}

@Book{Fowl99a,
  Author         = {Martin Fowler and Kent Beck and John Brant and William
                   Opdyke and Don Roberts},
  Title          = {Refactoring: Improving the Design of Existing Code},
  Publisher      = {Addison Wesley},
  keywords       = {olit patterns famoos refactoring oorp scglib},
  year           = 1999
}

@Book{Flan99b,
  Author         = {David Flanagan},
  Title          = {Java Foundation Classes In {A} Nutshell},
  Publisher      = {O'Reilly},
  keywords       = {scglib olit},
  year           = 1999
}

@InProceedings{Sim03a,
  Author         = {Susan E. Sim and Steve M. Easterbrook and Richard C.
                   Holt},
  Title          = {Using Benchmarking to Advance Research: A Challenge to
                   Software Engineering},
  BookTitle      = {Proceedings, 25th International Conference on Software
                   Engineering (ICSE'03},
  Address        = {Portland, Oregon},
  month          = may,
  year           = 2003
}

@InBook{Rieb04a,
  Author         = {Matthias Riebisch},
  Title          = {Towards a More Precise Definition of Feature Models},
  Pages          = {64-76},
  Publisher      = {BooksOnDemand Publ. Co. Norderstedt},
  booktitle      = {Modelling Variability for Object-Oriented Product
                   lines},
  keywords       = {features architecture},
  year           = 2003
}

@Article{Monr97a,
  Author         = {Robert T. Monroe and Andrew Kompanek and Ralph Melton
                   and David Garlan},
  Title          = {Architectural Styles, Design Patterns, and Objects},
  Journal        = {IEEE Software},
  Pages          = {43-52},
  keywords       = {architecture sa patterns styles olit},
  month          = jan,
  url            = {http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/ObjPatternsArch-ieee.html},
  year           = 1997
}

@InProceedings{Drie95a,
  Author         = {Karel Driesen and Urs H{\"o}lzle and Jan Vitek},
  Title          = {Message Dispatch on Pipelined Processors},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {253-282},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Bind05a,
  Author         = {Walter Binder},
  Title          = {A Portable and Customizable Profiling Framework for
                   {Java} Based on Bytecode Instruction Counting},
  BookTitle      = {Proceedings of The Third Asian Symposium on
                   Programming Languages and Systems (APLAS-2005)},
  Volume         = {3780},
  Series         = {LNCS},
  Pages          = {178-194},
  Address        = {Tsukuba, Japan},
  month          = {nov},
  url            = {http://ropas.snu.ac.kr/2005/aplas/},
  year           = 2005
}

@Article{YuSe04a,
  Author         = {Jeff Offut and Yu-Seung M and Yong-Rae Kwon},
  Title          = {An Experimental Mutation System for Java},
  Journal        = {ACM SIGSOFT Software Engineering Notes, Workshop on
                   Empirical Research in Software Testing},
  Volume         = {29},
  Number         = {5},
  Pages          = {1-4},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:27:08 +0100},
  month          = {sep},
  read           = {Yes},
  year           = 2004
}

@InProceedings{Amer90a,
  Author         = {Pierre America and Jan Rutten},
  Title          = {A Layered Semantics for a Parallel Object-Oriented
                   Language},
  BookTitle      = {Proceedings REX/FOOLS Workshop},
  Address        = {Noordwijkerhout},
  keywords       = {olit-obcl pool binder},
  month          = jun,
  year           = 1990
}

@Article{Frak87a,
  Author         = {William Frakes and Brian Nejmeh},
  Title          = {Software Reuse Through Information Retrieval},
  Journal        = {SIGIR Forum},
  Volume         = {21},
  Number         = {1-2},
  Pages          = {30--36},
  year           = 1987
}

@Article{Basi88,
  Author         = {V. Basili and D. Rombach},
  Title          = {The TAME project: Towards Improvement-Oriented
                   Software Environments},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {14},
  Number         = {6},
  month          = jun,
  year           = 1988
}

@TechReport{Scha02e,
  Author         = {Roland Sch\"afer},
  Title          = {CASYMIR Informatikprojekt},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Scha02e.pdf},
  year           = 2002
}

@InProceedings{Arap91a,
  Author         = {Costas Arapis},
  Title          = {Temporal Specifications of Object Behaviour},
  BookTitle      = {Proceedings Third International Symposium on
                   Mathematical Fundamentals of Database and Knowledge
                   Base Systems},
  Editor         = {B. Thalheim and J. Demetrovics and H-D. Gerhardt},
  Volume         = {495},
  Series         = {LNCS},
  Pages          = {308-324},
  Address        = {Rostock, Germany},
  Publisher      = {Springer-Verlag},
  keywords       = {olit osg},
  month          = may,
  year           = 1991
}

@InCollection{Kozo00,
  Author         = {M. Tatsubori and S. Chiba and M.-O. Killijian and K.
                   Itano},
  Title          = {{OpenJava}: {A} Class-Based Macro System for {Java}},
  BookTitle      = {1st OOPSLA Workshop on Reflection and Software
                   Engineering},
  Publisher      = {Springer Verlag},
  Volume         = {1826},
  Series         = {LNCS},
  Pages          = {117-133},
  year           = 2000
}

@InProceedings{Gogu86a,
  Author         = {Joseph A. Goguen},
  Title          = {One, None, a Hundred Thousand Specification Languages},
  BookTitle      = {Proceedings IFIP '86},
  Publisher      = {North-Holland},
  keywords       = {misc specification binder},
  year           = 1986
}

@Book{Tzu63a,
  Author         = {Sun Tzu},
  Title          = {The Art of War},
  Publisher      = {Oxford University Press},
  keywords       = {oorp},
  year           = 1963
}

@TechReport{Arms97a,
  Author         = {Joe Armstrong},
  Title          = {Design Patterns for Programming Switching Software},
  Institution    = {Ericsson Telecom AB},
  Type           = {Computer Science Laboratory},
  keywords       = {olit patterns binder},
  misc           = {15 January},
  month          = jan,
  year           = 1997
}

@InProceedings{Addo98a,
  Author         = {Rogelio Addobbati and W. Lewis Johnson and Stacy
                   Marsella},
  Title          = {Automatic Generation of Visual Presentations for
                   Software Understanding},
  BookTitle      = {Proceedings of the California Software Symposium},
  year           = 1998
}

@InProceedings{Haup05a,
  Author         = {M. Haupt and M. Mezini and C. Bockisch and T.
                   Dinkelaker and M. Eichberg and M. Krebs},
  Title          = {An Execution Layer for Aspect-Oriented Programming
                   Languages},
  BookTitle      = {Proceedings VEE 2005},
  Publisher      = {ACM Press},
  month          = jun,
  year           = 2005
}

@Article{Repp04a,
  Author         = {Tracy Reppert},
  Title          = {Don\'t just break software. Make software.},
  Journal        = {Better Software},
  keywords       = {testing storytest},
  month          = jul,
  publisher      = {Software Quality Engineering},
  url            = {http://www.industriallogic.com/papers/storytest.pdf},
  year           = 2004
}

@Book{Moll93a,
  Author         = {K.H. Moller and D.J. Paulish},
  Title          = {Software Metrics},
  Publisher      = {IEEE Press + Champman \& Hall},
  isbn           = {0-7803-0444-6},
  keywords       = {book scglib},
  year           = 1993
}

@InProceedings{Page89a,
  Author         = {Page, Jr., Thomas W. and Steven Berson and William
                   Cheng and Richard R. Muntz},
  Title          = {An Object-Oriented Modeling Environment},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {287-296},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Proceedings{REBO91a,
  Title          = {Reuse},
  Editor         = {ESPRIT},
  Publisher      = {ESPRIT},
  booktitle      = {REBOOT '91 Workshop on Reuse},
  keywords       = {olit-reuse scglib},
  month          = sep,
  year           = 1991
}

@Misc{Duca03e,
  Author         = {St\'ephane Ducasse},
  Title          = {{SUnit} Explained},
  abstract       = { SUnit is a minimal yet powerful framework that
                   supports the creation of tests. In this article we
                   start by discussing why we test, then we present an
                   example with SUnit and we go deep into the SUnit
                   implementation. },
  url            = {http://www.iam.unibe.ch/~ducasse/Programmez/OnTheWeb/SUnitEnglish2.pdf}
}

@Article{Fleu04a,
  Author         = {Franck Fleurey and Yves Le Traon and Benoit Baudry},
  Title          = {From Testing to Diagnosis: An Automated Approach},
  Journal        = {ase},
  Volume         = {00},
  Pages          = {306-309},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ASE.2004.10013},
  issn           = {1068-3062},
  publisher      = {IEEE Computer Society},
  year           = 2004
}

@InProceedings{Rodr04a,
  Author         = {Leonardo Rodr{\'{i}}guez and {\'E}ric Tanter and
                   Jacques Noy\'e},
  Title          = {Supporting Dynamic Crosscutting with Partial
                   Behavioral Reflection: a Case Study},
  BookTitle      = {Proceedings of the XXIV International Conference of
                   the Chilean Computer Science Society (SCCC 2004)},
  Address        = {Arica, Chile},
  Publisher      = {IEEE},
  month          = nov,
  year           = 2004
}

@InProceedings{Hoar99a,
  Author         = {C.A.R. Hoare and He Jifing},
  Title          = {A Trace Model for Pointers and Objects},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {1-17},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {Object-oriented programs [Dahl, Goldberg, Meyer] are
                   notoriously prone to the following kinds of error,
                   which could lead to increasingly severe problems in the
                   presence of tasking 1. Following a null pointer 2.
                   Deletion of an accessible object 3. Failure to delete
                   an inaccessible object 4. Interference due to equality
                   of pointers 5. Inhibition of optimisation due to fear
                   of (4) Type disciplines and object classes are a great
                   help in avoiding these errors. Stronger protection may
                   be obtainable with the help of assertions, particularly
                   invariants, which are intended to be true before and
                   after each call of a method that updates the structure
                   of the heap. This note introduces a mathematical model
                   and language for the formulation of assertions about
                   objects and pointers, and sug- gests that a graphical
                   calculus [Curtis, Lowe] may help in reasoning about
                   program correctness. It deals with both
                   garbage-collected heaps and the other kind. The theory
                   is based on a trace model of graphs, using ideas from
                   process algebra; and our development seeks to exploit
                   this analogy as a unifying principle.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Article{Blac87a,
  Author         = {Andrew Black and Norman Hutchinson and Eric Jul and
                   Henry Levy and Larry Carter},
  Title          = {Distribution and Abstract Data Types in Emerald},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-13},
  Number         = {1},
  Pages          = {65-76},
  keywords       = {olit-obcl concurrency emerald distribution binder},
  month          = jan,
  year           = 1987
}

@Book{Chri98a,
  Author         = {Tom Christiansen and Nathan Torkington},
  Title          = {Perl Cookbook},
  Publisher      = {O'Reilly},
  keywords       = {scglib},
  year           = 1998
}

@PhdThesis{Andr02a,
  Author         = {Keith Andrews},
  Title          = {Visualizing Information Structures. Aspects of
                   Information Visualization},
  School         = {Technische Universit\"at Graz},
  Type           = {Professorial Thesis},
  keywords       = {information visualization},
  month          = nov,
  url            = {http://www.iicm.edu/keith},
  year           = 2002
}

@InProceedings{Cheo05a,
  Author         = {Elaine Cheong and Jie Liu},
  Title          = {galsC: A Language for Event-Driven Embedded Systems},
  BookTitle      = {DATE '05: Proceedings of the conference on Design,
                   Automation and Test in Europe},
  Pages          = {1050--1055},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/DATE.2005.165},
  isbn           = {0-7695-2288-2},
  year           = 2005
}

@Unpublished{Hond92f,
  Author         = {Kohei Honda},
  Title          = {Types for Dyadic Interaction},
  Note           = {Keio University},
  keywords       = {pcalc-obc mobility types binder},
  misc           = {Dec. 23},
  month          = dec,
  type           = {draft},
  year           = 1992
}

@InProceedings{Card00a,
  Author         = {Luca Cardelli},
  Title          = {Mobility and Security},
  BookTitle      = {Foundations of Secure Computation},
  Editor         = {Friedrich L. Bauer and Ralf Steinbr\"uggen},
  Series         = {NATO Science Series},
  Pages          = {3-37},
  Publisher      = {IOS Press},
  keywords       = {pcalc mobility ambients pisem},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 2000
}

@Article{Andr96b,
  Author         = {Jean-Marc Andreoli and Steve Freeman and Remo Pareschi},
  Title          = {The Coordination Language Facility: Coordination of
                   Distributed Objects},
  Journal        = {Theory and Practice of Object Systems (TAPOS)},
  Volume         = {2},
  Number         = {2},
  Pages          = {635-667},
  keywords       = {coordination binder},
  publisher      = {Wiley},
  year           = 1996
}

@Article{Li98b,
  Author         = {Wei Li},
  Title          = {Another Metric Suite for Object-Oriented Programming},
  Journal        = {Journal of Systems and Software},
  Volume         = {44},
  Pages          = {155-162},
  year           = 1998
}

@Article{Schu03a,
  Author         = {Peter Schuh},
  Title          = {Recovery, Redemption and {Extreme} {Programming}},
  Journal        = {IEEE Computer},
  Volume         = {18},
  Number         = {6},
  Pages          = {34-41},
  keywords       = {unit testing, xp, scenarios},
  year           = 2001
}

@InProceedings{Male00b,
  Author         = {Jonathan I. Maletic and Andrian Marcus},
  Title          = {Support Software Maintainance Using Latent Semantic
                   Analysis},
  BookTitle      = {Proceedings fo the 4th Anunual IASTED International
                   Conference on Software Engineering and Applications
                   (SEA2000)},
  Pages          = {250--255},
  keywords       = {lsi},
  month          = nov,
  year           = 2000
}

@Book{Wirf95a,
  Editor         = {Rebecca Wirfs-Brock},
  Title          = {Proceedings of {OOPSLA}'95},
  Publisher      = {ACM Press},
  isbn           = {0-201-87810-0},
  keywords       = {olit oopsla95 scglib},
  year           = 1995
}

@InProceedings{Gueh04a,
  Author         = {Gu{\'e}h{\'e}neuc, Yann-Ga\"el and Sahraoui, Houari
                   and Zaidi, Farouk},
  Title          = {Fingerprinting Design Patterns},
  BookTitle      = {Working Conference on Reverse Engineering (WCRE'04)},
  Pages          = {172--181},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  year           = 2004
}

@InProceedings{Kim88b,
  Author         = {W. Kim and H.-T. Chou},
  Title          = {Versions of Schema for Object-oriented Databases},
  BookTitle      = {ACM SIGMOD Int. Conf. Very Large DataBases},
  Editor         = {F. Bancilhon and D.J. DeWitt},
  Pages          = {148-159},
  Address        = {Los Angeles, CA},
  keywords       = {olit-oodb versions (smc)},
  year           = 1988
}

@Article{Gans00a,
  Author         = {Gansner and North},
  Title          = {An Open Graph Visualization System and its
                   Applications to Software Engineering},
  Journal        = {Software Practice Experience.},
  Volume         = 30,
  Number         = 11,
  Pages          = {1203-1233},
  doi            = {http://dx.doi.org/10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.3.CO;2-E},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2000
}

@InProceedings{Fisc03a,
  Author         = {Michael Fischer and Martin Pinzger and Harald Gall},
  Title          = {Analyzing and Relating Bug Report Data for Feature
                   Tracking},
  BookTitle      = {Proceedings IEEE Working Conference on Reverse
                   Engineering (WCRE 2003)},
  Pages          = {90--99},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {olit evolution},
  month          = nov,
  year           = 2003
}

@Book{Gjes88a,
  Editor         = {S. Gjessing and K. Nygaard},
  Title          = {Proceedings of {ECOOP}'88},
  Publisher      = {Springer-Verlag},
  Volume         = {322},
  Series         = {LNCS},
  isbn           = {3-540-50053-7},
  keywords       = {olit ecoop88proc scglib},
  year           = 1988
}

@TechReport{Casa90a,
  Author         = {Eduardo Casais},
  Title          = {Managing Class Evolution in Object-Oriented Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Software components developed with an object-oriented
                   language undergo considerable reprogramming before they
                   become reusable in a wide range of applications or
                   domains. Tools and methodologies are therefore needed
                   to cope with the complexity of designing, updating and
                   reorganizing vast collections of classes. This paper
                   describes several techniques for controlling change in
                   object-oriented systems, illustrates their
                   functionality with selected examples and discusses
                   their advantages and their limitations. As a complement
                   to traditional approaches like version management, we
                   propose new algorithms for automatically restructuring
                   a hierarchy when classes are added to it. These
                   algorithms not only help in handling modifications to
                   libraries of software components, but they also provide
                   useful guidance for detecting and correcting improper
                   class modelling.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg-ftp om90},
  month          = jul,
  pages          = {133-195},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/classEvolution.pdf},
  year           = 1990
}

@Article{Berg85a,
  Author         = {Jan A. Bergstra and J.W. Klop},
  Title          = {Algebra of Communicating Processes with Abstraction},
  Journal        = {Theoretical Computer Science},
  Volume         = {37},
  Number         = {1},
  Pages          = {77-121},
  keywords       = {pcalc acp binder},
  month          = may,
  year           = 1985
}

@Book{Diaz89a,
  Editor         = {J. D\'iaz and F. Orejas},
  Title          = {Proceedings {TAPSOFT}'89: Volume 1},
  Publisher      = {Springer-Verlag},
  Volume         = {351},
  Series         = {LNCS},
  Address        = {Barcelona, Spain},
  isbn           = {3-540-53939-9},
  keywords       = {olit tapsoft89 scglib},
  month          = mar,
  year           = 1989
}

@Article{Cast87a,
  Author         = {Ilaria Castellani},
  Title          = {Bisimulations and Abstraction Homomorphisms},
  Journal        = {Journal of Computer and System Sciences},
  Volume         = {34},
  Number         = {2/3},
  Pages          = {210-235},
  keywords       = {pcalc equivalence binder},
  month          = apr,
  publisher      = {Academic Press},
  year           = 1987
}

@Unpublished{Scha02d,
  Author         = {Nathanael Sch{\"a}rli and Franz Achermann and Oscar
                   Nierstrasz},
  Title          = {Meta-level Language Bridging},
  Note           = {Software Composition Group, University of Bern},
  abstract       = {Scripting and composition languages offer high-level
                   mechanisms to combine and compose services provided by
                   a lower-level host programming language. Inter-language
                   bridging mechanisms are therefore needed to map host
                   language entities and services to abstractions of the
                   scripting language, and vice versa. Many popular
                   languages such as Python, Perl, and Ruby use a bridging
                   approach based on wrappers that must be written or
                   generated in the host language. Other languages like
                   Jython and Kawa adopt a fixed bridging strategy that
                   exploits reflective features provided by the host
                   language. Although both of these approaches are usable,
                   they are cumbersome and low-level. In particular, it
                   can be very difficult to adapt host language services
                   to cooperate seamlessly with abstractions of the
                   scripting language. In this paper we present a
                   lightweight bridging strategy for scripting and
                   composition languages that simplifies the task of
                   adapting host language services to the abstraction
                   level of the scripting language. This strategy uses
                   introspection facilities of the host language to
                   automate the wrapping process, while providing a hook
                   for programmer-defined adaptation of the generated
                   interface. A meta-level bridging layer is responsible
                   for wrapping and unwrapping both host and scripting
                   language entities so they can seamlessly cooperate. The
                   bridging strategy employs partial evaluation of
                   wrapping and unwrapping operations to achieve
                   acceptable performance.},
  cvs            = {PiccolaBridge},
  keywords       = {scg-wp skipdoi piccola schaerli},
  misc           = {schaerli},
  type           = {draft},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Drafts/bridging.pdf},
  year           = 2002
}

@Article{Kosc03a,
  Author         = {Rainer Koschke},
  Title          = {Software visualization in software maintenance,
                   reverse engineering, and re-engineering: a research
                   survey},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice},
  Volume         = {15},
  Number         = {2},
  Pages          = {87-109},
  doi            = {http://dx.doi.org/10.1002/smr.270},
  issn           = {1040-550X},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2003
}

@Book{Hilt99a,
  Author         = {Michael A. Hiltzik},
  Title          = {Dealers of Lightning, Xerox Parc and the Dawn of the
                   Computer Age},
  Publisher      = {Harperbusiness},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Maff94a,
  Author         = {Silvano Maffeis},
  Title          = {A Flexible System Design to Support Object-Groups and
                   Object-Oriented Distributed Programming},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {213-224},
  Publisher      = {Springer-Verlag},
  abstract       = {Under many circumstances, the development of
                   distributed applications greatly benefits from
                   mechanisms like process groups, reliable ordered
                   multicast, and message passing. However, toolkits
                   offering these capabilities are often low-level and
                   therefore difficult to program. To ease the development
                   of distributed applications, in this paper we propose
                   to hide these low-level functions behind
                   object-oriented abstractions such as object-groups,
                   Remote Method Calling , and Smart Proxies. Furthermore,
                   we describe how the Electra toolkit provides such
                   object-oriented abstractions in a portable and highly
                   machine-independent way.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@Article{Grie77a,
  Author         = {David Gries and N. Gehani},
  Title          = {Some Ideas on Data Types in High-Level Languages},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {6},
  Pages          = {414-420},
  keywords       = {types olit iteration},
  month          = jun,
  year           = 1977
}

@Article{Coad92a,
  Author         = {P. Coad},
  Title          = {Object-Oriented Patterns},
  Journal        = {Communications of the ACM},
  Volume         = {35},
  Number         = {9},
  Pages          = {152-159},
  year           = 1992
}

@InProceedings{Lanz02a,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {Understanding Software Evolution Using a Combination
                   of Software Visualization and Software Metrics},
  BookTitle      = {Proceedings of Langages et Mod\`eles \`a Objets
                   (LMO'02)},
  Pages          = {135-149},
  Address        = {Paris},
  Publisher      = {Lavoisier},
  abstract       = {Coping with huge amounts of data is one of the major
                   problems in the context of software evolution. Current
                   approaches reduce this complexity by filtering out
                   irrelevant information. In this paper we propose an
                   approach based on a combination of software
                   visualization and software metrics, as software
                   visualization is apt for complexity reduction and
                   metrics introduce the possibility to qualify evolution.
                   We discuss a simple and effective way to visualize the
                   evolution of software systems which helps to recover
                   the evolution of object oriented software systems. In
                   addition we define a vocabulary that qualifies some
                   specific situations that occurs when considering system
                   evolution. },
  annote         = {nationalconference},
  keywords       = {scg-pub skipdoi jb02 snf02 stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz02aEvolutionMatrix.pdf},
  year           = 2002
}

@InCollection{Atki93a,
  Author         = {Atkinson, M.P. and Sj\/oberg, D.I.K. and Morrison, R.},
  Title          = {Managing Change in Persistent Object Systems(Invited
                   Paper)},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {315-338},
  abstract       = {\fIPersistent\fR object systems are highly-valued
                   technology because they offer an effective foundation
                   for building very long-lived \fIpersistent application
                   systems\fR (PAS). The technology becomes more effective
                   as it offers a more consistently integrated
                   computational context. For it to be feasible to design
                   and construct a PAS it must be possible to
                   incrementally add program and data to the existing
                   collection. For a PAS to endure it must offer
                   flexibility: a capacity to evolve and change. This
                   paper examines the capacity of persistent object
                   systems to accommodate incremental construction and
                   change. Established store based technologies can
                   support incremental construction but methodologies are
                   needed to deploy them effectively. Evolving data
                   description is one motivation for inheritance but
                   inheritance alone is not enough to support change
                   management. The case for supporting incremental change
                   is very persuasive. The challenge is to provide
                   technologies that will facilitate it and methodologies
                   that will organize it. This paper identifies change
                   absorbers as a means of describing how changes should
                   propagate. It is argued that if we systematically
                   develop an adequate repertoire of change absorbers then
                   they will facilitate much better quality change
                   management.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Book{Sole90a,
  Editor         = {Richard Soley},
  Title          = {Object Management Architecture Guide: Revision 3.0},
  Publisher      = {Object Management Group},
  Address        = {Frameington, MA},
  keywords       = {olit omg scglib},
  month          = jun,
  year           = 1995
}

@InProceedings{Pari94a,
  Author         = {F. Parisi-Presicce and A. Pierantonio},
  Title          = {Reusing Object Oriented Design: An Algebraic Approach},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {329-345},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Wien95a,
  Author         = {Richard Weiner},
  Title          = {Software Development using Eiffel},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-100686-X},
  keywords       = {olit-oopl oobib(oopl) eiffel book},
  year           = 1995
}

@Book{Grif98a,
  Author         = {Frank Griffel},
  Title          = {Componentware: Konzepte und Techniken eines
                   Softwareparadigmas},
  Publisher      = {dpunkt-Verlag},
  isbn           = {3-932588-02-9},
  keywords       = {olit component cose glue},
  year           = 1998
}

@Misc{RIFE,
  Title          = {{RIFE}},
  Note           = {https://rife.dev.java.net},
  key            = {RIFE}
}

@TechReport{Tich99z,
  Author         = {Sander Tichelaar},
  Title          = {{FAMIX} {Java} language plug-in 1.0},
  Institution    = {University of Bern},
  abstract       = {This document describes the language plug-in to the
                   FAMIX 2.0 model for the {Java} programming language. It
                   handles interpretation issues concerning {Java} in
                   FAMIX and the extension of the FAMIX model for Jav
                   specific features.},
  keywords       = {scg-pub skipdoi jb-none olit famoos-techrep
                   tich-techrep snf99},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/FAMIX/Plugins/JavaPlugin1.0.html
                   http://www.iam.unibe.ch/~scg/Archive/famoos/FAMIX/Plugins/JavaPlugin1.0.pdf},
  year           = 1999
}

@Book{Chen03a,
  Author         = {Jim X. Chen},
  Title          = {Guide to Graphics Software Tools},
  Publisher      = {Springer},
  keywords       = {scglib newentry},
  year           = 2003
}

@InProceedings{DAmb05a,
  Author         = {Marco D'Ambros and Michele Lanza and Harald Gall},
  Title          = {Fractal Figures: Visualizing Development Effort for
                   CVS Entities},
  BookTitle      = {Proceedings of Vissoft 2005 (3th IEEE International
                   Workshop on Visualizing Software for Understanding)},
  Pages          = {46--51},
  annote         = {internationalworkshop},
  year           = 2005
}

@Article{Andr91d,
  Author         = {Gregory R. Andrews},
  Title          = {Paradigms for Process Interaction in Distributed
                   Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {23},
  Number         = {1},
  Pages          = {49-90},
  keywords       = {concurrency},
  month          = mar,
  year           = 1991
}

@InProceedings{Ders93a,
  Author         = {N. Deshowitz},
  Title          = {Trees, Ordinals and Termination},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {243-250},
  Publisher      = {Springer-Verlag},
  month          = apr,
  year           = 1993
}

@InProceedings{Mart89a,
  Author         = {N. Mart\'i-Oliet and Jos\'e Meseguer},
  Title          = {From Petri Nets to Linear Logic},
  BookTitle      = {Proceedings, Category Theory and Computer Science},
  Editor         = {D. Pitt et al.},
  Volume         = {389},
  Series         = {LNCS},
  Pages          = {313-340},
  Address        = {Manchester},
  Publisher      = {Springer-Verlag},
  keywords       = {linear-logic concurrency},
  month          = sep,
  year           = 1989
}

@InProceedings{Zayo00a,
  Author         = {Iyad Zayour and Timothy C. Lethbridge},
  Title          = {A Cognitive and User Centric Based Approach For
                   Reverse Engineering Tool Design},
  BookTitle      = {Proceedings of the 2000 conference of the Centre for
                   Advanced Studies on Collaborative research},
  keywords       = {reengineering},
  month          = nov,
  year           = 2000
}

@InCollection{Moll91a,
  Author         = {Birger Moller-Pedersen},
  Title          = {Object Orientation and Reuse: The Scandinavian Way},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@Misc{TinyOS,
  Title          = {{TinyOS}: An open-source {OS} for the networked sensor
                   regime},
  Note           = {http://www.tinyos.net},
  key            = {TinyOS},
  keywords       = {sensors embedded systems wireless},
  url            = {http://www.tinyos.net}
}

@Article{Astr76a,
  Author         = {M.M. Astrahan and et al.},
  Title          = {System {R}: Relational Approach to Database Management},
  Journal        = {ACM TODS},
  Volume         = {1},
  Number         = {2},
  Pages          = {97-137},
  keywords       = {dblit},
  month          = jun,
  year           = 1976
}

@InProceedings{Knod06a,
  Author         = {Jens Knodel and Dirk Muthig and Matthias Naab and
                   Mikael Lindvall},
  Title          = {Static Evaluation of Software Architectures},
  BookTitle      = {CSMR'06},
  Pages          = {279-294},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.53},
  issn           = {1052-8725},
  year           = 2006
}

@Article{Basi97a,
  Author         = {Victor Basili},
  Title          = {Evolving and Packaging Reading Technologies},
  Journal        = {Journal Systems and Software},
  Volume         = {38},
  Number         = {1},
  Pages          = {3-12},
  publisher      = {Elsevier Science Inc.},
  year           = 1997
}

@InProceedings{Lung06b,
  Author         = {Mircea Lungu and Michele Lanza},
  Title          = {Softwarenaut: Exploring Hierarchical System
                   Decompositions},
  BookTitle      = {Proceedings of CSMR 2006 (10th European Conference on
                   Software Maintenance and Reengineering)},
  Pages          = {351-354},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.52},
  keywords       = {norex06},
  year           = 2006
}

@InProceedings{Picc01a,
  Author         = {Giacomo Piccinelli and Leonid Mokrushin},
  Title          = {Dynamic e-Service Composition in DySCo},
  BookTitle      = {ICDCSW '01: Proceedings of the 21st International
                   Conference on Distributed Computing Systems},
  Pages          = {88},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1080-9},
  year           = 2001
}

@Book{Moss93a,
  Author         = {Hanspeter M{\"o}ssenb{\"o}ck},
  Title          = {Object-Oriented Programming in Oberon-2},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-56411-X},
  keywords       = {olit-oopl oobib(oopl) book},
  year           = 1993
}

@InProceedings{Lieb98a,
  Author         = {Henry Lieberman and Christoper Fry},
  Title          = {{ZS}tep 95: {A} reversible, animated source code
                   stepper},
  BookTitle      = {Software Visualization --- Programming as a Multimedia
                   Experience},
  Editor         = {John Stasko and John Domingue and Marc H. Brown and
                   Blaine A. Price},
  Pages          = {277--292},
  Address        = {Cambridge, MA-London},
  Publisher      = {The MIT Press},
  year           = 1998
}

@Article{Prog89a,
  Author         = {{Workshop on Object-Based Concurrent Programming}},
  Title          = {Workshop Proceedings},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {24},
  Number         = {4},
  address        = {San Diego, (Sept 26-27, 1988)},
  editor         = {G. Agha and P. Wegner and A. Yonezawa},
  institution    = {Workshop on Object-Based Concurrent Programming},
  keywords       = {olit-obc obcp89 oobib(obcp)},
  month          = apr,
  year           = 1989
}

@Book{Jeff01a,
  Author         = {Ron Jeffries and Ann Anderson and Chet Hendrickson},
  Title          = {Extreme Programming Installed},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-70842-6},
  keywords       = {scglib XP oorp},
  year           = 2001
}

@InProceedings{Berg03b,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Roel Wuyts},
  Title          = {The {Classbox} Module System},
  BookTitle      = {Proceedings of the ECOOP '03 Workshop on
                   Object-oriented Language Engineering for the Post-Java
                   Era},
  abstract       = {Classical module systems support well the modular
                   development of applications but do not offer the
                   ability to add or replace a method in a class that is
                   not defined in that module. On the other hand,
                   languages that support method addition and replacement
                   do not provide a modular view of applications, and
                   their changes have a global impact. The result is a gap
                   between module systems for object-oriented languages on
                   one hand, and the very desirable feature of method
                   addition and replacement on the other hand. To solve
                   these problems we present classboxes, a module system
                   for object-oriented languages that provides method
                   addition and replacement. Moreover, the changes made by
                   a classbox are only visible to that classbox (or
                   classboxes that import it), a feature we call local
                   rebinding. To validate the model, we have implemented
                   it in the Squeak Smalltalk environment, and performed
                   experiments modularising code. },
  annote         = {internationalworkshop},
  keywords       = {snf03 scg-pub skipdoi jb03 stefPub alexandrePub module
                   classbox alexPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg03bClassboxes.pdf},
  year           = 2003
}

@InProceedings{Mish04a,
  Author         = {Gilad Mishne and Maarten de Rijke},
  Title          = {Source Code Retrieval using Conceptual Similarity},
  BookTitle      = {Proceedings RIAO 2004},
  Pages          = {539-554},
  keywords       = {information retrieval},
  url            = {http://remote.science.uva.nl/~mdr/Publications/},
  year           = 2004
}

@Book{Wohl00a,
  Author         = {Claes Wohlin and Per Runeson and Martin H\"osrt and
                   Magnus C. Ohlsson and Bj\"orn Regnell and Anders
                   Wessl\'en},
  Title          = {Experimentation in Software Engineering},
  Publisher      = {Kluwer Academic Publishers},
  isbn           = {0792386825},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{Smit00a,
  Author         = {Raymond Smith and Bogdan Korel},
  Title          = {Slicing Event Traces of Large Software Systems},
  BookTitle      = {AADebug 2000 International Workshop on Automated
                   Debugging},
  Note           = {Demo},
  year           = 2000
}

@InProceedings{Duns00a,
  Author         = {Alastair Dunsmore and Marc Roper and Murray Wood},
  Title          = {Object-Oriented Inspection in the Face of
                   Delocalisation},
  BookTitle      = {Proceedings of ICSE '00 (22nd International Conference
                   on Software Engineering)},
  Pages          = {467-476},
  Publisher      = {ACM Press},
  location       = {Limerick, Ireland},
  year           = 2000
}

@Article{Mill63a,
  Author         = {Joan C. Miller and Clifford J. Maloney},
  Title          = {Systematic mistake analysis of digital computer
                   programs.},
  Journal        = {Commun. ACM},
  Volume         = {6},
  Number         = {2},
  Pages          = {58-63},
  bibsource      = {DBLP, http://dblp.uni-trier.de},
  ee             = {http://doi.acm.org/10.1145/366246.366248},
  year           = 1963
}

@Article{Basi84a,
  Author         = {Victor R. Basili and Barry T. Perricone},
  Title          = {Software errors and complexity: an empirical
                   investigation},
  Journal        = {Communications of the ACM},
  Volume         = {27},
  Number         = {1},
  Pages          = {42--52},
  abstract       = {An analysis of the distributions and relationships
                   derived from the change data collected during
                   development of a medium-scale software project produces
                   some surprising insights into the factors influencing
                   software development. Among these are the tradeoffs
                   between modifying an existing module as opposed to
                   creating a new one, and the relationship between module
                   size and error proneness.},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/69605.2085},
  issn_isbn      = {ISSN 0001-0782},
  month          = jan,
  publisher      = {ACM Press},
  year           = 1984
}

@Article{Nako01b,
  Author         = {P. Nakov and A. Popova and P. Mateev},
  Title          = {Weight functions impact on LSA performance},
  Journal        = {Proceedings of the EuroConference Recent Advances in
                   Natural Language Processing (RANLP 2001)},
  Pages          = {187-193},
  year           = 2001
}

@InProceedings{Brig94a,
  Author         = {Ted L. Briggs and John Werth},
  Title          = {A Specification Language for Object-Oriented Analysis
                   and Design},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {365-385},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InCollection{Gond93a,
  Author         = {Katsuhiko Gondow and Takashi Imaizumi and Yoichi
                   Shinoda and Takuya Katayama},
  Title          = {Change Management and Consistency Maintenance in
                   Software Development Environments Using Object Oriented
                   Attribute Grammars},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {77-94},
  abstract       = {In this paper, we consider describing software
                   development environments (SDEs) using a computational
                   model OOAG (Object Oriented Attribute Grammar), which
                   incorporates functions for managing changes and
                   maintaining consistency. In SDEs, the change management
                   and consistency maintenance are key issues and OOAG is
                   suitable for describing them. Software objects in SDEs
                   have many derived values, and software objects and
                   their derived values have complex relations with each
                   other. Careless human activities often cause
                   inconsistencies among software objects and it usually
                   costs a lot to recover them. OOAG provides declarative
                   descriptions to re-compute automatically derived values
                   based on change propagation and to check relations
                   among software objects, which help recovering
                   activities of programmers. OOAG treats SDEs as
                   aggregated active objects, i.e. tree structures, where
                   software products are distributed. Managing changes of
                   derived values and consistency among software objects
                   are described over tree structures in declarative
                   manner. Attributes associated with nodes are
                   re-computed automatically, if necessary. OOAG is a
                   computational model with the following extensions to
                   standard attribute grammars (AGs): (1) OOAG can change
                   tree structures depending upon their attribute values.
                   (AGs hat have this function are called higher order
                   attribute grammars). (2) OOAG can describe message
                   passing which pastes temporary attributes and their
                   attribution rules to the tree structure. The aim of
                   this paper is to show that our approach of treating
                   SDEs as aggregated objects is natural and OOAG's
                   features are suited for the task of describing change
                   management and consistency control in
                   structure-oriented software development environments.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Miha06a,
  Author         = {Petru Florin Mihancea},
  Title          = {Towards a Client Driven Characterization of Class
                   Hierarchies},
  BookTitle      = {Proceedings of International Conference on Program
                   Comprehension (ICPC 2006)},
  Pages          = {285-294},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.48},
  keywords       = {norex06},
  year           = 2006
}

@Misc{Nutter10a,
  Author         = {{Charles Nutter et. al.}},
  Title          = {J{R}uby {P}roject},
  url            = {http://jruby.org/},
  note            = {\\ \url{http://jruby.org/}},
  year           = 2010,
  month = aug
}

@Article{Jain99a,
  Author         = {A. K. Jain and M. N. Murty and P. J. Flynn},
  Title          = {Data Clustering: a Review},
  Journal        = {ACM Computing Surveys},
  Volume         = {31},
  Number         = {3},
  Pages          = {264-323},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/331499.331504},
  issn           = {0360-0300},
  keywords       = {clustering},
  publisher      = {ACM Press},
  year           = 1999
}

@InProceedings{Lamp94a,
  Author         = {John Lamping and Mart{\'\i}n Abadi},
  Title          = {Methods as Assertions},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {60-80},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Bals93a,
  Author         = {Herman Balsters and Rolf A. de By and Roberto Zicari},
  Title          = {Typed Sets as a Basis for Object-Oriented Database
                   Schemas},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {161-184},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {The object-oriented data model TM is a language that
                   is based on the formal theory of FM, a typed language
                   with object-oriented features such as attributes and
                   methods in the presence of subtyping. The general
                   (typed) set constructs of FM allow one to deal with
                   (database) constraints in TM. The paper describes the
                   theory of FM, and discusses the role that set
                   expressions may play in conceptual database schemas.
                   Special attention is paid to the treatment of
                   constraints, and a three-step specification approach is
                   proposed. This approach results in the formal notion of
                   database universe stated as an FM expression.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Anas04a,
  Author         = {Michalis Anastasopoulos and Dirk Muthig},
  Title          = {An Evaluation of Aspect-Oriented Programming as a
                   Product Line Implementation Technology},
  BookTitle      = {In Proceedings of the 8th International Conference on
                   Software Reuse},
  Volume         = {3107},
  Series         = {LNCS},
  Pages          = {141--156},
  Publisher      = {Springer-Verlag},
  year           = 2004
}

@InProceedings{Snee99a,
  Author         = {Harry M. Sneed},
  Title          = {Risks Involved in Reengineering Projects},
  BookTitle      = {Proceedings of the 6th Working Conference on Reverse
                   Engineering (WCRE)},
  Publisher      = {IEEE},
  keywords       = {oorp},
  year           = 1999
}

@Article{Hutc85a,
  Author         = {David H. Hutchens and Victor R. Basili},
  Title          = {System {Structure} {Analysis}: {Clustering} with
                   {Data} {Bindings}},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {11},
  Number         = {8},
  Pages          = {749-757},
  keywords       = {clustering},
  month          = aug,
  year           = 1985
}

@InProceedings{Ferb89a,
  Author         = {Jacques Ferber},
  Title          = {Computational Reflection in Class-Based
                   Object-Oriented Languages},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {317-326},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@TechReport{Engb86a,
  Author         = {Uffe Engberg and M. Nielsen},
  Title          = {A Calculus of Communicating Systems with Label Passing},
  Institution    = {University of Aarhus},
  Type           = {DAIMI},
  Number         = {PB-208},
  keywords       = {pcalc mobility eccs},
  year           = 1986
}

@TechReport{Hutc01a,
  Author         = {John M. Hutchison},
  Title          = {{JMLS}-- Multi Language System for {Java}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Motivation: Die Firma TeTrade AG f\"ur Informatik in
                   Bern vertreibt ein Produkt namens WMLS oder das Multi
                   Language System for Windows. WMLS bietet die
                   M\"oglichkeit ein Programm auf der Microsoft Win32
                   Plattform zu \"ubersetzen, ohne das Programm zu
                   ver\"andern. Dies bedeutet, dass alle auf dem
                   Bildschirm angezeigten Texte in eine andere Sprache als
                   urspr\"unglich vorgesehen. Zudem hat man mit die
                   M\"oglichkeit Texte aus einem Programm auszulesen, um
                   die \"Ubersetzung zu vereinfachen. Um das
                   Gesch\"aftsbereich der \"Ubersetzungssysteme zu
                   erweitern, wollte die TeTrade die M\"oglichkeit eines
                   WMLS \"ahnlichen Systems er\"ortern, welche aber Java
                   Programme \"ubersetzen k\"onnte. Diesem Projekt wurde
                   der Name JMLS, Multi Language System for Java, gegeben.
                   Ziel dieses Projektes war es ein Prototyp f\"ur JMLS zu
                   erstellen, das alle Hauptprobleme der \"Ubersetzung und
                   der Erfassung von Texten, ohne die \"ubersetzte Java
                   Applikation zu ver\"andern. Die tats\"achliche
                   Implementation eines Produktes JMLS liegt ausserhalb
                   des Rahmens dieses Projekts.},
  keywords       = {scg-ip jb-none},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Hutc01a.pdf},
  year           = 2001
}

@Article{Abad95c,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli},
  Title          = {A theory of primitive objects: Second-order systems},
  Journal        = {Science of Computer Programming},
  Volume         = {25},
  Number         = {2-3},
  Pages          = {81-116},
  keywords       = {olit oobib(types) pisem},
  month          = dec,
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1995
}

@Book{Arno92a,
  Author         = {Robert S. Arnold},
  Title          = {Software Reengineering},
  Publisher      = {IEEE Computer Society Press},
  Address        = {Los Alamitos CA},
  isbn           = {0-8186-3272-0},
  keywords       = {reeng reveng oorp},
  year           = 1992
}

@InProceedings{Bree89e,
  Author         = {D.E. Breen and M.J. Wozny},
  Title          = {Message-Based Choreography for Computer Animation},
  BookTitle      = {State-of-the-art in Computer Animation (Computer
                   Animation '89 Conference Proceedings)},
  Editor         = {N. Magnenat-Thalmann and D. Thalmann},
  Pages          = {69-82},
  Address        = {Tokyo},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper describes three message-based approaches to
                   choreography in computer animation. These approaches
                   may be placed in the following categories, scripted
                   choreography, choreography driven by cost functions,
                   and choreography produced by interactions of autonomous
                   entities. The main concept that all of these forms of
                   choreography share is that they all rely upon the
                   message passing facilities of an object-oriented
                   computer animation system, The Clockworks. There are
                   numerous benefits derived from the message-based
                   approach to computer animation choreography. These
                   include modularity, unrestricted modification of
                   parameters, interactive alteration of messages, access
                   to modeling and graphics tools, and a versatile
                   interpretive language.},
  keywords       = {olit},
  month          = jun,
  year           = 1989
}

@InCollection{Estu94a,
  Author         = {J. Estublier and R. Casallas},
  Title          = {The Adele Configuration Manager},
  BookTitle      = {Trends in Software: Configuration Management},
  Publisher      = {Wiley},
  Editor         = {W. F. Tichy},
  Volume         = {2},
  Pages          = {99-134},
  keywords       = {scm},
  year           = 1994
}

@InProceedings{Meye91b,
  Author         = {Scott Meyers and Steven P. Reiss},
  Title          = {A system for multiparadigm development of software
                   systems},
  BookTitle      = {IWSSD '91: Proceedings of the 6th international
                   workshop on Software specification and design},
  Pages          = {202--209},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-8186-2320-9 (PAPER)},
  location       = {Como, Italy},
  year           = 1991
}

@InProceedings{Jerr89a,
  Author         = {Max E. Jerrell},
  Title          = {Function Minimization and Automatic Differentiation
                   Using {C}++},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {169-174},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Alex87a,
  Author         = {James H. Alexander},
  Title          = {Painless Panes for {Smalltalk} Windows},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {287-294},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Toko86a,
  Author         = {Mario Tokoro and Yutaka Ishikawa},
  Title          = {Concurrent Programming in Orient84/{K}: An
                   Object-Oriented Knowledge Representation Language},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {39-48},
  keywords       = {olit-obcl orient84k knowrep actors oopws86},
  month          = oct,
  year           = 1986
}

@Article{Berr92a,
  Author         = {G\'erard Berry and G\'erard Boudol},
  Title          = {The Chemical Abstract Machine},
  Journal        = {Theoretical Computer Science},
  Volume         = {96},
  Pages          = {217-248},
  keywords       = {pcalc cham tccs binder(conc) popl90 pisem},
  url            = {http://www-sop.inria.fr/meije/personnel/Gerard.Berry/cham.ps},
  year           = 1992
}

@TechReport{Hunt76a,
  Author         = {James Hunt and Douglas McIlroy},
  Title          = {An Algorithm for Differential File Comparison},
  Institution    = {Bell Laboratories},
  Number         = {CSTR 41},
  Address        = {Murray Hill NJ},
  pages          = {9},
  year           = 1976
}

@Article{Fyoc97a,
  Author         = {Daniel E. Fyock},
  Title          = {Using Visualization to Maintain Large Computer Systems},
  Journal        = {IEEE Computer Graphics and Applications},
  Volume         = {17},
  Number         = {14},
  Pages          = {73-75},
  year           = 1997
}

@Book{Zobe04a,
  Author         = {J. Zobel},
  Title          = {Writing for Computer Science},
  Publisher      = {Springer-Verlag},
  Edition        = {Second},
  isbn           = {1-85233-802-4},
  keywords       = {book scglib},
  year           = 2004
}

@Article{Gall87a,
  Author         = {F. Gallo and R. Minot and I. Thomas},
  Title          = {The Object Management System of {PCTE} as a Software
                   Engineering Database Management System},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {22},
  Number         = {1},
  Pages          = {12-15},
  keywords       = {olit seelit pcte},
  month          = jan,
  year           = 1987
}

@InProceedings{Knie99a,
  Author         = {G\"unter Kniesel},
  Title          = {Type-Safe Delegation for Run-Time Component Adaptation},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {351-366},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {The aim of component technology is the replacement of
                   large monolithic applications with sets of smaller
                   software components, whose particular functionality and
                   interoperation can be adapted to users' needs. However,
                   the adaptation mechanisms of component software are
                   still limited. Most proposals concentrate on
                   adaptations that can be achieved either at compile time
                   or at link time. Current support for dynamic component
                   adaptation, i.e. unanticipated, incremental
                   modifications of a component system at run-time, is not
                   sufficient. This paper proposes object-based
                   inheritance (also known as delegation) as a complement
                   to purely forwarding-based object composition. It
                   presents a type-safe integration of delegation into a
                   class-based object model and shows how it overcomes the
                   problems faced by for\-warding-based component
                   interaction, how it supports independent extensibility
                   of components and unanticipated, dynamic component
                   adaptation.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@InProceedings{Samp86a,
  Author         = {A. Dain Samples and David Ungar and Paul Hilfinger},
  Title          = {{SOAR}: {Smalltalk} Without Bytecodes},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {107-118},
  keywords       = {olit architecture soar smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Jaco91a,
  Author         = {Ivar Jacobson and Fredrik Lindstr{\"o}m},
  Title          = {Re-engineering of Old Systems to an Object-Oriented
                   Database},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {340-350},
  keywords       = {olit-db oopsla91},
  month          = nov,
  year           = 1991
}

@TechReport{Pier95d,
  Author         = {Benjamin C. Pierce},
  Title          = {Programming in the Pi-Calculus: An Experiment in
                   Concurrent Language Design},
  Institution    = {Computer Laboratory, University of Cambridge, UK},
  Type           = {Technical Report},
  Note           = {Tutorial Notes for Pict Version 3.6a},
  keywords       = {olit-pcal pict book scglib},
  month          = may,
  url            = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/pict},
  year           = 1995
}

@InProceedings{Lars90a,
  Author         = {Kim G. Larsen and Liu Xinxin},
  Title          = {Compositionality Through an Operational Semantics of
                   Contexts},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Volume         = {443},
  Series         = {LNCS},
  Pages          = {526-539},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs icalp90 binder(ccs)},
  month          = jul,
  year           = 1990
}

@InProceedings{Thom89a,
  Author         = {Bent Thomsen},
  Title          = {A Calculus of Higher Order Communicating Systems},
  BookTitle      = {Proceedings POPL '89},
  Pages          = {143-154},
  Address        = {Austin, Texas},
  keywords       = {pcalc mobility equivalence chocs binder(ccs) popl89},
  misc           = {Jan 11-13},
  month          = jan,
  year           = 1989
}

@Book{Bien93a,
  Author         = {Tim Bienz and Richard Cohn},
  Title          = {Portable Document Format Reference Manual},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-62628-4},
  keywords       = {pdf scglib},
  year           = 1993
}

@TechReport{Scha99b,
  Author         = {Nathanael Sch{\"a}rli},
  Title          = {Kurveninterpolation mit einem finanzmathematischen
                   Modell},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Die Firma Sherpa'x AG (fr\"uher GfAI) erstellt seit
                   mehreren Jahren verschiedene Applikationen, die in
                   Grossbanken f\"ur den Wertschriftenhandel eingesetzt
                   werden. FORUMsystems ist eine dieser Applikationen und
                   dient als Handelsplattform f\"ur B\"orsenh\"andler. Im
                   Rahmen der Produktpalette von FORUMsystems wurde eine
                   finanzmathematische Bibliothek in C++ geschaffen,
                   welche die n\"otigen Bewertungsfunktionen bereitstellt.
                   In der Finanzmathematik werden Kurven verwendet um die
                   aktuellen Marktverh\"altnisse zu modellieren. Sie
                   dienen als Input f\"ur theoretische Bewertungen und
                   nehmen daher eine zentrale Aufgabe in der
                   Entscheidungsunterst\"utzung im Handelsbereich einer
                   Bank ein. In der finanzmathematischen Bibliothek von
                   FORUMsystems stehen Kurven f\"ur die Bewertung zur
                   Verf\"ugung und werden auch f\"ur die Berechnung von
                   theoretischen Kursen verwendet. Die Bestimmung
                   (Interpolation) dieser Kurven erfolgt allerdings
                   ausserhalb dieser Bibliothek, da die entsprechenden
                   Algorithmen in Mathematica entwickelt wurden. Dazu wird
                   ein direkter Link zwischen den FORUM-Clients und dem
                   Mathematica-Kernel verwendet. Ziel dieses Projektes ist
                   nun die Bestimmung der Kurven ebenfalls in die
                   finanzmathematische C++-Bibliothek zu integrieren.
                   Damit w\"are der direkte Link von den einzelnen Clients
                   zum Mathematica-Kernel nicht mehr n\"otig, und es kann
                   mit einem deutlichen Performancegewinn gerechnet
                   werden.},
  keywords       = {scg-ip jb-none schaerli},
  misc           = {schaerli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Scha99b.pdf},
  year           = 1999
}

@Book{Shne98a,
  Author         = {Ben Shneiderman},
  Title          = {Designing the User Interface},
  Publisher      = {Addison Wesley Longman},
  Edition        = {Third},
  keywords       = {scglib},
  year           = 1998
}

@InProceedings{Schn06a,
  Author         = {Jean-Guy Schneider and Rajesh Vasa},
  Title          = {Agile Practices in Software Development -- Experiences
                   from Student Projects},
  BookTitle      = {Proceedings of the 17th Australian Software
                   Engineering Conference (ASWEC 2006)},
  Editor         = {Han, Jun and Staples, Mark},
  Pages          = {401--410},
  Address        = {Sydney, Australia},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {To address the problems of traditional software
                   development methodologies, recent years have seen the
                   introduction of more light-weight or "agile"
                   development processes. These processes are intended to
                   support early and quick production of working code by
                   structuring the development into small release cycles
                   and focus on continual interaction between developers
                   and customers. As these kinds of software development
                   processes are becoming more and more popular in
                   industry, there is a growing demand to expose Software
                   Engineering students to agile development practices.
                   This, however, is not a straightforward task as the
                   corresponding practices cannot be adjusted easily to a
                   learning environment or may even run counter to
                   educational goals. In this paper, we discuss our
                   experiences in introducing agile practices in student
                   software development projects and reflect on both the
                   benefits and drawbacks of agile processes in this
                   setting.},
  issn_isbn      = {ISBN 0-7695-2551-2},
  keywords       = {olit selit agile XP aswec06 education},
  location       = {Privat},
  month          = apr,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/aswec06.pdf
                   http://doi.ieeecomputersociety.org/10.1109/ASWEC.2006.9},
  year           = 2006
}

@InProceedings{Jaza95a,
  Author         = {Mehdi Jazayeri},
  Title          = {Component Programming --- a fresh look at software
                   components},
  BookTitle      = {Proceedings of ESEC 95},
  keywords       = {olit},
  url            = {http://www.infosys.tuwien.ac.at/reports/repository/TUV-1841-95-01.ps},
  year           = 1995
}

@Book{Bakk90a,
  Editor         = {J.W. de Bakker and W.P. de Roever},
  Title          = {Foundations of Object-Oriented Languages},
  Publisher      = {Springer-Verlag},
  Volume         = {489},
  Series         = {LNCS},
  Address        = {Noordwijkerhout, the Netherlands},
  isbn           = {3-540-53931-X},
  keywords       = {olit scglib},
  month          = may,
  year           = 1990
}

@PhdThesis{Simo76a,
  Author         = {Charles Simonyi},
  Title          = {Meta-Programming: A Software Production Method},
  School         = {XEROX PARC},
  month          = dec,
  year           = 1976
}

@InProceedings{John94a,
  Author         = {J. Howard Johnson},
  Title          = {Substring Matching for Clone Detection and Change
                   Tracking},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintence (ICSM 94)},
  Pages          = {120-126},
  keywords       = {clones},
  year           = 1994
}

@Article{Clem95a,
  Author         = {Paul C. Clements},
  Title          = {From Subroutines to Subsystems: Component-Based
                   Software Development},
  Journal        = {American Programmer},
  Volume         = {8},
  Number         = {11},
  keywords       = {composition},
  url            = {http://www.cutter.com},
  year           = 1995
}

@InProceedings{Ade90a,
  Author         = {Martin Ader and Oscar Nierstrasz and Stephen McMahon
                   and Gerhard M{\"u}ller and Anna-Kristin Pr{\"o}frock},
  Title          = {The {ITHACA} Technology: {A} Landscape for
                   Object-Oriented Application Development},
  BookTitle      = {Proceedings, Esprit 1990 Conference},
  Pages          = {31-51},
  Address        = {Dordrecht, NL},
  Publisher      = {Kluwer Academic Publishers},
  abstract       = {The ITHACA environment offers an application support
                   system which incorporates advanced technologies in the
                   fields of object-oriented programming in general and
                   programming languages, database technologies, user
                   interface systems and software development tools in
                   particular. ITHACA provides an integrated and
                   open-ended toolkit which exploits the benefits of
                   object-oriented technologies for promoting reusability,
                   tailorability and integratability, factors which are
                   crucial for ensuring software quality and productivity.
                   Industrial applications from the fields of office
                   automation, public administration, finance/insurance
                   and chemical engineering are developed in parallel and
                   used to evaluate the suitability of the system.},
  annote         = {internationalconference},
  keywords       = {olit-ithaca skipdoi osg cool scripting vista
                   lostSource},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Ader90aITHACA.pdf},
  year           = 1990
}

@InProceedings{OBri05a,
  Author         = {Michael O'Brien and Jim Buckley and Chris Exton},
  Title          = {Empirically Studying Software Practitioners - Bridging
                   the Gap between Theory and Practice},
  BookTitle      = {Proceedings of the 21st IEEE International Conference
                   on Software Maintenance (ICSM 2005)},
  Publisher      = {IEEE Computer Society Press},
  year           = 2005
}

@TechReport{Duca95d,
  Author         = {St\'ephane Ducasse and Mireille Fornarino and
                   Anne-Marie Pinna-Dery},
  Title          = {Control et PAC model},
  Institution    = {University of Nice-Sophia Antipolis, Laboratoire I3S},
  Number         = {RR-95-03},
  annote         = {report notrefereed},
  keywords       = {stefPub flo},
  year           = 1995
}

@Article{Nour99a,
  Author         = {Lhouari Nourine and Olivier Raynaud},
  Title          = {A fast algorithm for building lattices},
  Journal        = {Information Processing Letters},
  Volume         = {71},
  Number         = {5-6},
  Pages          = {199-204},
  publisher      = {Elsevier North-Holland, Inc.},
  year           = 1999
}

@Article{Fent94a,
  Author         = {Norman Fenton and Shari Lawrence Pfleeger and Robert
                   L. Glass},
  Title          = {{Science} and {Substance}: {A} {Challenge} to
                   {Software} {Engineers}},
  Journal        = {IEEE Software},
  Number         = {7},
  Pages          = {86-95},
  month          = jul,
  publisher      = {IEEE Computer Society},
  year           = 1994
}

@InProceedings{Burs80a,
  Author         = {Ron M. Burstall and D.B. MacQueen and D.T. Sannella},
  Title          = {{HOPE}: An Experimental Applicative Language},
  BookTitle      = {Proceedings, 1980 LISP Conference},
  Pages          = {136-143},
  keywords       = {fpl hope},
  month          = aug,
  year           = 1980
}

@Book{VanR96b,
  Author         = {Guido van Rossum},
  Title          = {Python Reference Manual},
  Publisher      = {Stichting Mathematisch Centrum},
  Address        = {Amsterdam},
  keywords       = {python},
  year           = 1996
}

@Book{Lau94a,
  Author         = {Christina Lau},
  Title          = {Object-Oriented Programming Using {SOM} and {DSOM}},
  Publisher      = {Van Nostrand Reinhold},
  isbn           = {0-442-01948-3},
  month          = mar,
  year           = 1994
}

@TechReport{Zimm84a,
  Author         = {H. Zimmermann and M. Guillemont and G. Morisset and J.
                   Banino},
  Title          = {Chorus: {A} Communication and Processing Architecture
                   for Distributed Systems},
  Institution    = {INRIA},
  Type           = {Research report no.},
  Number         = {328},
  Address        = {Rocquencourt},
  keywords       = {olit-obc messages chorus actors binder (shelf)},
  month          = sep,
  year           = 1984
}

@InProceedings{Cian90a,
  Author         = {Paolo Ciancarini},
  Title          = {Coordination Languages for Open System design},
  BookTitle      = {Proceedings of the 1990 International Conference of
                   Computer Languages},
  Pages          = {252-260},
  Address        = {New Orleans},
  keywords       = {concurrency binder},
  misc           = {March 12-15},
  month          = mar,
  year           = 1990
}

@InProceedings{Anco97a,
  Author         = {D. Ancona and E. Zucca},
  Title          = {Overriding Operators in a Mixin-Based Framework},
  BookTitle      = {PLILP '97-9th Intl. Symp. on Programming Languages,
                   Implementations, Logics and Programs},
  Editor         = {H.~Glaser and P.~Hartel and H.~Kuchen},
  Number         = {1292},
  Series         = {lnc},
  Pages          = {47-61},
  Publisher      = {Springer Verlag},
  year           = 1997
}

@InProceedings{Cruz01a,
  Author         = {Juan-Carlos Cruz},
  Title          = {CORODS: A Coordination Programming System for Open
                   Distributed Systems},
  BookTitle      = {Proceedings of LMO 2001},
  Volume         = {7},
  Pages          = {11-26},
  Address        = {Le Croisic, France},
  abstract       = {Open Distributed Systems are the dominating
                   intellectual issue of the research in distributed
                   systems. Figuring out how to build and maintain those
                   systems becomes a central issue in distributed systems
                   research today. Although CORBA seems to provide all the
                   necessary support to the construction of those systems,
                   CORBA provides a very limited support to the evolution
                   of their requirements. The main problem is that the
                   description of the elements from which the systems are
                   built, and the way in which they are composed are mixed
                   into the application code, making systems difficult to
                   understand, modify and customize. A possible solution
                   to this problem goes through the introduction of the
                   so-called coordination models and languages into the
                   CORBA model. We propose in this paper a coordination
                   programming system called CORODS which introduces the
                   CoLaSD coordination model and language into the CORBA
                   model. CoLaSD is a coordination model based on the
                   notion of Coordination Groups, entities that specify,
                   control and enforces the coordination of groups of
                   collaborating active objects.},
  keywords       = {olit scg-pub skipdoi scg coordination jb01},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz01LMO.pdf},
  year           = 2001
}

@InProceedings{Pinz02b,
  Author         = {Martin Pinzger and Harald Gall},
  Title          = {Pattern-Supported Architecture Recovery},
  BookTitle      = {10th International Workshop on Program Comprehension
                   (IWPC'02)},
  Pages          = {53-61},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WPC.2002.1021318},
  keywords       = {design-recovery parsing},
  year           = 2002
}

@InProceedings{Sato93a,
  Author         = {Ichiro Satoh and Mario Tokoro},
  Title          = {A Timed Calculus for Distributed Objects with Clocks},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {326-345},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper proposes a formalism for reasoning about
                   distributed object-oriented computations. The formalism
                   is an extension of Milner's CCS with the notion of
                   local time. It allows to describe and analyze both
                   locally temporal and behavioral properties of
                   distributed objects and interactions among them. We
                   introduce timed bisimulations with respect to local
                   time. These bisimulations equate distributed objects if
                   and only if their behaviors are completely matched and
                   their timings are within a given bound. The
                   bisimulations provide a method to verify distributed
                   objects with temporal uncertainties and real-time
                   objects with non-strict time constraints.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InCollection{Alde91a,
  Author         = {A. Alderson},
  Title          = {Meta-{CASE} Technology},
  BookTitle      = {Software Development Environments and {CASE}
                   Technology},
  Publisher      = {Springer-Verlag},
  Editor         = {A.Endres and H.Weber},
  keywords       = {CASE},
  year           = 1991
}

@MastersThesis{Kueh98a,
  Author         = {Daniel K{\"u}hni},
  Title          = {{APROCO}: {A} Programmable Coordination Medium},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {To keep up with rapidly changing requirements
                   applications are increasingly built out of software
                   components. A new trend is now to give those software
                   components control over their own actions, to turn them
                   into concurrently running software agents. These
                   software agents have to be relatively independent to
                   keep them exchangeable. Although independent, they
                   still need to interact in order to achieve the
                   application's overall goal. This results in the need to
                   coordinate their interactions. A number of coordination
                   models were created to express common coordination
                   solutions. Linda is one of the most prominent
                   representatives of such coordination models. Linda is
                   widely used because it offers simple means to separate
                   coordination code from computational code within a
                   single agent. Linda also offers a high degree of
                   decoupling of agents through its generative
                   communication style. However, Linda offers no direct
                   support for the concentration of the coordination
                   aspects of a whole application in a single location.
                   Furthermore, Linda only offers a set of primitive
                   operations and leaves the user with the task to
                   construct realistic coordination abstractions out of
                   them. Coordination abstractions are often hard-coded
                   into the participant agents' protocols and therefore
                   neither flexible nor reusable. They are typically
                   spread all over the application and it is almost
                   impossible to identify them. It is not easy to
                   encapsulate coordination abstractions because
                   coordination typically affects multiple agents, and in
                   open systems other requirements, such as flexibility
                   and security, must also be dealt with. We propose an
                   open, flexible and extensible architecture for explicit
                   coordination abstractions in open systems, called
                   APROCO. Our solution is based on the insight that
                   separation of concerns (coordination and computation)
                   is a necessary precondition for building reusable
                   parts. The client agents of APROCO communicate through
                   shared data spaces known from Linda using its
                   generative communication style. The coordination
                   between the participating agents is managed through
                   special coordination agents that implement the used
                   coordination abstractions. We present a list of
                   coordination abstractions in open systems and show the
                   applicability of the approach with some examples.},
  keywords       = {scg-pub skipdoi toBeChecked scg-msc jb98 scg-coord-98},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Kueh98a/aproco.html
                   http://www.iam.unibe.ch/~scg/Archive/Diploma/Kueh98a/Kueh98a.pdf},
  year           = 1998
}

@InProceedings{McDi03a,
  Author         = {Sean McDirmid and Wilson C. Hsieh},
  Title          = {Aspect-oriented programming with Jiazzi},
  BookTitle      = {AOSD '03: Proceedings of the 2nd international
                   conference on Aspect-oriented software development},
  Pages          = {70--79},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/643603.643611},
  isbn           = {1-58113-660-9},
  location       = {Boston, Massachusetts},
  year           = 2003
}

@TechReport{Tsic91a,
  Author         = {Dennis Tsichritzis and G. Capriz and Emmanuel de
                   Robien and Simon Gibbs and B. Gaissmaier and Brian
                   Oakley and N. Szyperski and R. Varenne},
  Title          = {{ESSI}: The European Software and Systems Initiative},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {This report was prepared for the Esprit Advisory
                   Board. It constitutes a general advice of the ESPRIT
                   Advisory Board to the Commission of the European
                   Communities and does not describe the precise
                   modalities of implementation.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {323-329},
  year           = 1991
}

@InProceedings{Dugg01a,
  Author         = {Dominic Duggan and Ching-Ching Techaubol},
  Title          = {Modular Mixin-Based Inheritance for Application
                   Frameworks},
  BookTitle      = {Proceedings OOPSLA 2001},
  Pages          = {223-240},
  keywords       = {olit oopsla01},
  month          = oct,
  year           = 2001
}

@Book{Mins95b,
  Author         = {Naftaly Minsky},
  Title          = {Law-Governed Regularities in Object Systems; Part 1:
                   An Abstract Model},
  Publisher      = {Rutgers University, NJ},
  keywords       = {olit},
  month          = mar,
  url            = {http://www.cs.rutgers.edu/~minsky/public-papers/LGA-paper.ps},
  year           = 1995
}

@Misc{Wool95a,
  Author         = {Michael Wooldridge and Nicholas Jennings},
  Title          = {Intelligent Agents},
  keywords       = {agents},
  series         = {LNAI 890},
  year           = 1995
}

@Misc{Gupro,
  Title          = {{GUPRO} Home Page},
  Note           = {http://www.uni-koblenz.de/~ist/gupro.en.html},
  key            = {gupro design-recovery},
  url            = {http://www.uni-koblenz.de/~ist/gupro.en.html}
}

@Article{Sade02a,
  Author         = {Benny Sadeh and St\'ephane Ducasse},
  Title          = {Adding Dynamic Interfaces to {Smalltalk}},
  Journal        = {Journal of Object Technology},
  Volume         = {1},
  Number         = {1},
  abstract       = {The concept of interfaces is central to
                   object-oriented methodologies and is one of the most
                   attractive features of {Java} and COM. Although
                   Smalltalk always had interfaces implicitly, in
                   Smalltalk interfaces are not first-class objects: t hey
                   cannot be conversed with, referred to, or reflected
                   upon. Consequently, Smalltalkers have been deprived of
                   such an important and useful tool. Since a fundamental
                   feature of Smalltalk is that just about everything in
                   the language is an implementation feature, explicit,
                   static interfaces can be added to Smalltalk using
                   Smalltalk itself with ease. However, such an addition
                   would short-change the powerful dynamic aspects of
                   Smalltalk. In this article we present SmallInterfaces;
                   a new ontology of dynamic i nterfaces which makes a
                   powerful use of the dynamic nature of Smalltalk.
                   SmallInterfaces adds interfaces as honorary members to
                   Smalltalk's extensive reflection mechanism, in a manner
                   portable across the many Smalltalk variants},
  annote         = {internationaljournal},
  keywords       = {scg-pub skipdoi jb02 snf02 stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Sade02aDynamicInterfaces.pdf},
  year           = 2002
}

@TechReport{Boud86a,
  Author         = {G\'erard Boudol and Ilaria Castellani},
  Title          = {On the Semantics of Concurrency: Partial Orders and
                   Transition Systems},
  Institution    = {INRIA},
  Type           = {Report no.},
  Number         = {550},
  keywords       = {concurrency binder},
  month          = jul,
  year           = 1986
}

@InProceedings{Ryss04a,
  Author         = {Van Rysselberghe, Filip and Serge Demeyer},
  Title          = {Studying Software Evolution Information By Visualizing
                   the Change History},
  BookTitle      = {Proceedings 20th IEEE International Conference on
                   Software Maintenance (ICSM '04)},
  Pages          = {328--337},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  month          = sep,
  url            = {http://www.win.ua.ac.be/~fvrys/publications/},
  year           = 2004
}

@TechReport{Roet04a,
  Author         = {David R{\"o}thlisberger},
  Title          = {The SmallBB Forum System},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Web-applications are very popular, lightweight
                   applications that entirely run in web-browsers over the
                   internet. In today's business, web-applications become
                   more and more complex but they still need to be fast
                   developed, flexible for changes and easy to maintain --
                   conventional techniques often lack these properties.
                   High-level, cleanly layered solutions open promising
                   possibilities to overcome these difficulties. This
                   paper presents a lightweight, object-oriented,
                   metadata-driven approach to build better engineered and
                   easier evolvable and maintainable web-applications.},
  keywords       = {scg-ip jb05 snf05},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Roth04a.pdf},
  year           = 2004
}

@InProceedings{Kim06a,
  Author         = {Sunghun Kim and Thomas Zimmermann and Miryung Kim and
                   Ahmed Hassan and Audris Mockus and Tudor G\^irba and
                   Martin Pinzger and James Whitehead and Andreas Zeller},
  Title          = {{TA-RE}: An Exchange Language for Mining Software
                   Repositories},
  BookTitle      = {Proceedings Workshop on Mining Software Repositories
                   (MSR 2006)},
  Pages          = {22-25},
  abstract       = {Software repositories have been getting a lot of
                   attention from researchers in recent years. In order to
                   analyze software repositories, it is necessary to first
                   extract raw data from the version control and problem
                   tracking systems. This poses two challenges: (1)
                   extraction requires a non-trivial effort, and (2) the
                   results depend on the heuristics used during
                   extraction. These challenges burden researchers that
                   are new to the community and make it difficult to
                   benchmark software repository mining since it is almost
                   impossible to reproduce experiments done by another
                   team. In this paper we present the TA-RE corpus. TA-RE
                   collects extracted data from software repositories in
                   order to build a collection of projects that will
                   simplify extraction process. Additionally the
                   collection can be used for benchmarking. As the first
                   step we propose an exchange language capable of making
                   sharing and reusing data as simple as possible.},
  keywords       = {evolution girba scg-pub skipdoi jb06 fb06 recast06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Kim06aTARE.pdf},
  year           = 2006
}

@InProceedings{Berr04a,
  Author         = {Daniel Berry},
  Title          = {The Inevitable Pain of Software Development: Why There
                   Is No Silver Bullet},
  BookTitle      = {Radical Innovations of Software and Systems
                   Engineering in the Future},
  Editor         = {M. Wirsing, A. Knapp and S. Balsamo},
  Volume         = {2941},
  Series         = {LNCS},
  Pages          = {50-74},
  Publisher      = {Springer-Verlag},
  keywords       = {rissef},
  url            = {http://se.uwaterloo.ca/~dberry/inevitable.pain.html},
  year           = 2004
}

@InProceedings{Rati06a,
  Author         = {Daniel Ra\c{t}iu and Florian Deissenboeck},
  Title          = {How Programs Represent Reality (and how they don't)},
  BookTitle      = {Proceedings of the 13th Working Conference on Reverse
                   Engineering (WCRE'06)},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  annote         = {internationalconference},
  year           = 2006
}

@Misc{Kurt99z,
  Author         = {N. Kurt},
  Title          = {Using Lisp as a markup language: the {LAML} approach},
  Note           = {European Lisp User Group Meeting},
  year           = 1999
}

@InProceedings{Stir89a,
  Author         = {Colin Stirling and David Walker},
  Title          = {Local Model Checking in the Modal Mu-Calculus},
  BookTitle      = {Proceedings TAPSOFT '89},
  Editor         = {D\'iaz and Orejas},
  Volume         = {351},
  Series         = {LNCS},
  Pages          = {369-383},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc tapsoft89 binder(ccs)},
  year           = 1989
}

@InProceedings{Metz91a,
  Author         = {Igor Metz and Hanspeter Bieri},
  Title          = {A Bintree Representation of Generalized Binary Images},
  BookTitle      = {Proceedings of the 5th Workshop on Geometrical
                   Problems of Image Processing},
  Address        = {Georgenthal},
  misc           = {March 11-15},
  month          = mar,
  year           = 1991
}

@InProceedings{Anto04a,
  Author         = {Giuliano Antoniol and Massimilano {Di Penta}},
  Title          = {An Automatic Approach to Identify Class Evolution
                   Discontinuities},
  BookTitle      = {Proceedings IEEE International Workshop on Principles
                   of Software Evolution (IWPSE 2004)},
  Pages          = {31-40},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  location       = {Kyoto, Japan},
  month          = sep,
  year           = 2004
}

@Book{Coll04a,
  Author         = {Ben Collins-Sussman and Brian W. Fitzpatrick and C.
                   Michael Pilato},
  Title          = {Version Control with Subversion},
  Publisher      = {O'Reilly \& Associates, Inc.},
  isbn           = {0-596-00448-6},
  url            = {http://svnbook.red-bean.com/
                   http://svnbook.red-bean.com/nightly/en/svn-book.pdf},
  year           = 2004
}

@Unpublished{Andr92a,
  Author         = {Jean-Marc Andreoli and Lone Leth and Remo Pareschi and
                   Bent Thomsen},
  Title          = {On the Chemistry of Broadcasting},
  Note           = {ECRC, Munich},
  keywords       = {concurrency binder},
  type           = {draft},
  year           = 1992
}

@Misc{Cass06a,
  Author         = {Damien Cassou and Karsten Kuche},
  Title          = {Dakar Testing},
  HowPublished   = {European Smalltalk User Group Innovation Technology
                   Award},
  Note           = {\url{www.esug.org/data/ESUG2006/esug06\_inno\_aw\_dakartesting.pdf}},
  month          = sep,
  year           = 2006
}

@Article{Chan87a,
  Author         = {Shi-Kuo Chang},
  Title          = {Visual languages: a tutorial and survey},
  Journal        = {IEEE Software},
  Volume         = {4},
  Number         = {1},
  Pages          = {29-39},
  keywords       = {visprog ptyping binder(visprog)},
  month          = jan,
  year           = 1987
}

@Book{Hump95a,
  Author         = {Watts S. Humphrey},
  Title          = {A Discipline for Software Engineering},
  Publisher      = {Addison Wesley},
  Series         = {SEI Series in Software Engineering},
  isbn           = {0-201-54610-8},
  keywords       = {scglib},
  year           = 1995
}

@InCollection{Snyd87a,
  Author         = {Alan Snyder},
  Title          = {Inheritance and the Development of Encapsulated
                   Software Systems},
  BookTitle      = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Pages          = {165-188},
  keywords       = {olit},
  year           = 1987
}

@InProceedings{Garr86a,
  Author         = {L. Nancy Garrett and Karen E. Smith},
  Title          = {Building a Timeline Editor from Prefab Parts: The
                   Architecture of an Object-Oriented Application},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {202-213},
  keywords       = {olit-appl interval time oopsla86},
  month          = nov,
  year           = 1986
}

@Misc{EToyGames,
  Title          = {{Composing} {Simple} {Games} with {ET}oys},
  Note           = {http://www.emergent.de/etoys.html},
  key            = {EToys Games},
  keywords       = {games etoys smalltalk},
  misc           = {gaelli},
  url            = {http://www.emergent.de/etoys.html}
}

@Book{Wech91a,
  Author         = {Wolfgang Wechler},
  Title          = {Universal Algerbra for Computer Scientists},
  Publisher      = {Springer-Verlag},
  Volume         = {25},
  Series         = {EATCS},
  year           = 1991
}

@InProceedings{Mezi98a,
  Author         = {Mira Mezini and Karl Lieberherr},
  Title          = {Adaptive Plug-and-Play Components for Evolutionary
                   Software Development},
  BookTitle      = {Proceedings OOPSLA '98 ACM SIGPLAN Notices},
  Pages          = {97-116},
  keywords       = {olit oopsla98},
  month          = oct,
  year           = 1998
}

@InCollection{Parr02a,
  Author         = {Allen Parrish and Joel Jones and Brandon Dixon},
  Title          = {Extreme Unit Testing: Ordering Test Cases To Maximize
                   Early Testing},
  BookTitle      = {Extreme Programming Perspectives},
  Publisher      = {Addison-Wesley},
  Editor         = {Michele Marchesi and Giancarlo Succi and Don Wells and
                   Laurie Williams},
  Pages          = {123-140},
  keywords       = {Test, Ordering Test Cases, XP, extreme programming},
  year           = 2002
}

@TechReport{Lane90a,
  Author         = {Thomas G. Lane},
  Title          = {A Design Space and Design Rules for User Interface
                   Software Architecture},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {{CMU/SEI-90-TR-22, ESD-90-TR-223}},
  month          = nov,
  year           = 1990
}

@InProceedings{Kohl87a,
  Author         = {E. E. Kohlbecker and M. Wand},
  Title          = {Macro-by-Example: Deriving Syntactic Transformations
                   fron their Specification},
  BookTitle      = {Conference record of the 14th ACM Symposium on
                   Principles of Programming Languages (POPL)},
  Pages          = {77-84},
  year           = 1987
}

@Unpublished{Guen90a,
  Author         = {Andreas G{\"u}ndel},
  Title          = {Compatibility Conditions on Subclasses},
  Note           = {University of Dortmund},
  keywords       = {types binder},
  misc           = {Feb. 28},
  month          = feb,
  type           = {Draft},
  year           = 1990
}

@InProceedings{Cole03a,
  Author         = {Cole, R. and Tilley, T.},
  Title          = {Conceptual Analysis of Software Structure},
  BookTitle      = {Proceedings of Fifteenth International Conference on
                   Software Engineering and Knowledge Engineering, SEKE03},
  Pages          = {726-733},
  Address        = {USA},
  Publisher      = {Knowledge Systems Institute},
  keywords       = {fca},
  month          = jun,
  year           = 2003
}

@InProceedings{Matt97a,
  Author         = {Michael Mattsson and Jan Bosch},
  Title          = {Framework Composition: Problems, Causes and Solutions},
  BookTitle      = {Proceedings of TOOLS USA '97},
  month          = jul,
  year           = 1997
}

@InProceedings{Mart01a,
  Author         = {Ludger Martin},
  Title          = {HotAgent Component Assembly Editor},
  BookTitle      = {Workshop on Composition Languages, WCL '01},
  Pages          = {25-32},
  Address        = {Vienna, Austria},
  keywords       = {olit},
  month          = sep,
  url            = {http://www.cs.iastate.edu/~lumpe/WCL2001/},
  year           = 2001
}

@MastersThesis{Oki83a,
  Author         = {B.M. Oki},
  Title          = {Reliable Object Storage to Support Atomic Actions},
  School         = {MIT Dept EE and CS},
  Type           = {M.Sc. thesis,},
  keywords       = {olit reliability transactions},
  month          = may,
  number         = {MIT/LCS/TR-308},
  year           = 1983
}

@InProceedings{Trav02a,
  Author         = {Martin Traverso and Spiros Mancoridis},
  Title          = {On the Automatic Recovery of Style-Specific
                   Architectural Relations in Software Systems},
  BookTitle      = {Proceedings of ASE 2002 (Conference on Automated
                   Software Engineering},
  Pages          = {331-360},
  year           = 2002
}

@Unpublished{Shan94a,
  Author         = {David L. Shang},
  Title          = {Covariant Deep Subtyping Reconsidered},
  Note           = {Software Systems Research Laboratory, Motorola Inc.},
  keywords       = {olit binder},
  type           = {Draft},
  year           = 1994
}

@InProceedings{Mezi03a,
  Author         = {Mira Mezini and Klaus Ostermann},
  Title          = {Conquering aspects with {Caesar}},
  BookTitle      = {Proceedings of the 2nd international conference on
                   Aspect-oriented software development},
  Pages          = {90-99},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/643603.643613},
  isbn           = {1-58113-660-9},
  location       = {Boston, Massachusetts},
  year           = 2003
}

@Book{Appl93a,
  Author         = {Apple Computer},
  Title          = {AppleScript Language Guide},
  Publisher      = {Addison Wesley},
  Series         = {Apple Technical Library},
  Note           = {book},
  isbn           = {0-201-40735-3},
  keywords       = {scripting applescript apple},
  year           = 1993
}

@Misc{OSGi,
  Title          = {About the {OSGi} Service Platform},
  Note           = {http://www.osgi.org/documents/collateral/TechnicalWhitePaper2005osgi-sp-overview.pdf},
  key            = {osgi}
}

@InProceedings{Bull04a,
  Author         = {R. Ian Bull and Casey Best and Margaret-Anne Storey},
  Title          = {Advanced widgets for Eclipse},
  BookTitle      = {Eclipse '04: Proceedings of the 2004 OOPSLA workshop
                   on eclipse technology eXchange},
  Pages          = {6--11},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1066129.1066131},
  location       = {Vancouver, British Columbia, Canada},
  year           = 2004
}

@TechReport{Gepp93a,
  Author         = {Andreas Geppert and Klaus Dittrich},
  Title          = {The NO2 Data Model},
  Institution    = {Universit{\"a}t Z{\"u}rich},
  Type           = {TR Nr.},
  Number         = {93.09},
  keywords       = {olit-db ithaca binder (shelf)},
  month          = apr,
  year           = 1993
}

@InProceedings{McAf95a,
  Author         = {Jeff McAffer},
  Title          = {Meta-level Programming with CodA},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {190-214},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Misc{DPWS,
  Title          = {Devices Profile for Web Services},
  Note           = {http://schemas.xmlsoap.org/ws/2006/02/devprof/},
  key            = {DPWS},
  url            = {http://schemas.xmlsoap.org/ws/2006/02/devprof/}
}

@Article{Roum02a,
  Author         = {Cyrill Roume},
  Title          = {\'{Evaluation} {Structurelle} de la {Factorisation} et
                   la {G}\'{e}n\'{e}ralisation au sein des
                   {Hi}\'{e}rarchies de {Classes}: Introduction de
                   {M}\'{e}triques},
  Journal        = {L'Objet},
  Volume         = {8},
  Number         = {1-2},
  Pages          = {151-166},
  year           = 2002
}

@Article{Hoar74a,
  Author         = {C.A.R. Hoare},
  Title          = {Monitors: An Operating System Structuring Concept},
  Journal        = {CACM},
  Volume         = {17},
  Number         = {10},
  Pages          = {549-557},
  keywords       = {concurrency monitors binder},
  month          = oct,
  year           = 1974
}

@Article{Perl82a,
  Author         = {Alan J. Perlis},
  Title          = {Epigrams on Programming},
  Journal        = {ACM SIGPLAN Notices},
  Pages          = {7-13},
  keywords       = {misc},
  month          = sep,
  year           = 1982
}

@Article{Gree06b,
  Author         = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Analyzing Software Evolution through Feature Views},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice (JSME)},
  Volume         = {18},
  Number         = {6},
  Pages          = {425-456},
  abstract       = {Features encapsulate the domain knowledge of a
                   software system and thus are valuable sources of
                   information for a reverse engineer. When analyzing the
                   evolution of a system, we need to know how and which
                   features were modified to recover both the change
                   intention and its extent, namely which source artifacts
                   are affected. Typically, the implementation of a
                   feature crosscuts a number of source artifacts. To
                   obtain a mapping between features to the source
                   artifacts, we exercise the features and capture their
                   execution traces. However this results in large traces
                   that are difficult to interpret. To tackle this issue
                   we compact the traces into simple sets of source
                   artifacts that participate in a feature's runtime
                   behavior. We refer to these compacted traces as feature
                   views. Within a feature view, we partition the source
                   artifacts into disjoint sets of characterized software
                   entities. The characterization defines the level of
                   participation of a source entity in the features. We
                   then analyze the features over several versions of a
                   system and we plot their evolution to reveal how and
                   hich features were affected by changes in the code. We
                   show the usefulness of our approach by applying it to a
                   case study where we address the problem of merging
                   parallel development tracks of the same system.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1002/smr.340},
  keywords       = {scg-pub recast07 snf07 jb07 fb06 stefPub girba
                   moose-pub},
  misc           = {SCI impact factor 0.606 (2002-2004)},
  peer           = {yes},
  year           = 2006
}

@Misc{Miln91b,
  Author         = {Robin Milner},
  Title          = {Concurrency and Compositionality},
  Note           = {Workshop at Goslar},
  keywords       = {pcalc mobility (uwe)},
  year           = 1991
}

@Article{Snel00b,
  Author         = {Gregor Snelting and Frank Tip},
  Title          = {Understanding {Class} {Hierarchies} {Using} {Concept}
                   {Analysis}},
  Journal        = {ACM Trans. on Programming Languages and Systems},
  Pages          = {540-582},
  keywords       = {fca},
  month          = may,
  year           = 2000
}

@InProceedings{Godi02a,
  Author         = {Robert Godin and Marianne Huchard and Cyrill Roume and
                   Petko Valtchev},
  Title          = {Inheritance and {Automation}: {Where} {Are} {We}
                   {Now}?},
  BookTitle      = {ECOOP 2002: Proceedings of the Inheritance Workshop},
  Editor         = {Andrew Black and Erik Ernst and Peter Grogono and
                   Markky Sakkinen},
  Pages          = {58-64},
  Publisher      = {University of Jyv\"askyl\"a},
  keywords       = {inheritance fca},
  month          = jun,
  year           = 2002
}

@Book{Crai00a,
  Author         = {Ian Craig},
  Title          = {The Interpretation of Object-Oriented Programming
                   Languages},
  Publisher      = {Springer-Verlag},
  keywords       = {scglib oop},
  year           = 2000
}

@InProceedings{Pauw93a,
  Author         = {De Pauw, Wim and Richard Helm and Doug Kimelman and
                   John Vlissides},
  Title          = {Visualizing the Behavior of Object-Oriented Systems},
  BookTitle      = {Proceedings OOPSLA '93},
  Pages          = {326-337},
  doi            = {http://doi.acm.org/10.1145/165854.165919},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@TechReport{Kons92a,
  Author         = {Dimitri Konstantas},
  Title          = {Hybrid Update},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {In order to improve the usability of the first
                   prototype implementation of the Hybrid language we have
                   introduced a number of changes to both the language and
                   the system. This way features that were vaguely or not
                   at all mentioned in the original language design were
                   added, bugs were corrected and better run time
                   facilities were introduced. The modifications and
                   extensions include the introduction of versioning, type
                   operations, a revised abstract type specification,
                   dynamic loading and more portable run-time support
                   system.},
  editor         = {D. Tsichritzis},
  keywords       = {olit hybrid osg of92},
  month          = jul,
  pages          = {109-118},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridUpdate.pdf},
  year           = 1992
}

@Article{Ghid01a,
  Author         = {Chiara Ghidini and Fausto Giunchiglia},
  Title          = {Local Models Semantics, or contextual reasoning =
                   locality + compatibility},
  Journal        = {Artificial Intelligence},
  Volume         = {127},
  Number         = {2},
  Pages          = {221-259},
  keywords       = {cop-lit},
  month          = apr,
  url            = {http://sra.itc.it/tr/GG97b.pdf},
  year           = 2001
}

@InCollection{Riss91a,
  Author         = {Edwina L. Rissland},
  Title          = {Example-based Reasoning},
  BookTitle      = {Informal Reasoning in Education},
  Publisher      = {Lawrence Erlbaum Associates},
  Pages          = {187-208},
  editors        = {J. F. Voss and D. N. Parkins and J. W. Segal},
  year           = 1991
}

@InProceedings{Apel06a,
  Author         = {Sven Apel and Thomas Leich and Gunter Saake},
  Title          = {Aspectual mixin layers: aspects and features in
                   concert},
  BookTitle      = {ICSE '06: Proceeding of the 28th international
                   conference on Software engineering},
  Pages          = {122--131},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1134285.1134304},
  isbn           = {1-59593-375-1},
  keywords       = {cop-lit},
  location       = {Shanghai, China},
  year           = 2006
}

@InProceedings{Crof88a,
  Author         = {W. Bruce Croft and L.S. Lefkowitz},
  Title          = {Using a Planner to Support Office Work},
  BookTitle      = {Proceedings of the Conference on Office Information
                   Systems},
  Pages          = {55-62},
  Address        = {Palo Alto, CA},
  keywords       = {olit tasks polymer},
  year           = 1988
}

@InProceedings{Jone93c,
  Author         = {C.B. Jones},
  Title          = {Constraining Interference in Object-Based Design
                   Method},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {136-150},
  Publisher      = {Springer-Verlag},
  keywords       = {oobib(gen) tapsoft93},
  month          = apr,
  year           = 1993
}

@Article{Bracha08a,
  Author         = {{Gilad Bracha} and {Peter Ahe} and {Vassili Bykov} and
                   {Yaron Kashai} and {William Maddox} and {Eliot
                   Miranda.}},
  Title          = {The {N}ewspeak {P}rogramming {P}latform},
  url            = {http://bracha.org/newspeak.pdf},
  year           = 2008
}

@Article{Earl70a,
  Author         = {Jay Earley},
  Title          = {An efficient context-free parsing algorithm},
  Journal        = {Commun. ACM},
  Volume         = {13},
  Number         = {2},
  Pages          = {94--102},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/362007.362035},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 1970
}

@InProceedings{Sari04a,
  Author         = {Titos Saridakis},
  Title          = {Managing Unsolicited Events in Component-Based
                   Software},
  BookTitle      = {Workshop on Component Models for Dependable Systems},
  Note           = {To appear},
  month          = aug,
  year           = 2004
}

@InCollection{Beed00a,
  Author         = {Mike Beedle and Martine Devos and Yonat Sharon and Ken
                   Schwaber and Jeff Sutherland},
  Title          = {SCRUM: A Pattern Language for Hyperproductive Software
                   Development},
  BookTitle      = {Pattern Languages of Program Design 4},
  Publisher      = {Addison Wesley},
  Editor         = {Neil Harrison and Brian Foote and Hans Rohnert},
  Pages          = {637-652},
  keywords       = {oorp},
  year           = 2000
}

@InProceedings{Cook92a,
  Author         = {William R. Cook},
  Title          = {Interfaces and {Specifications} for the {Smalltalk}-80
                   {Collection} {Classes}},
  BookTitle      = {Proceedings of OOPSLA '92 (7th Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications)},
  Volume         = {27},
  Pages          = {1-15},
  Publisher      = {ACM Press},
  keywords       = {olit oopsla92},
  location       = {Vancouver, Canada},
  month          = oct,
  year           = 1992
}

@InProceedings{Scha86a,
  Author         = {Craig Schaffert and Topher Cooper and Bruce Bullis and
                   Mike Killian and Carrie Wilpolt},
  Title          = {{An} {Introduction} to {Trellis}/{Owl}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {9-16},
  keywords       = {olit-oopl trellis/owl oopsla86 oobib(oopl)},
  month          = nov,
  year           = 1986
}

@Book{Erdo02a,
  Author         = {Hakan Erdogmus and Oryal Tanir},
  Title          = {Advances in Software Engineering},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 2002
}

@Book{Tsic85c,
  Editor         = {D. Tsichritzis},
  Title          = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Address        = {Heidelberg},
  keywords       = {olit oact85},
  year           = 1985
}

@InProceedings{Tich00b,
  Author         = {Sander Tichelaar and St\'ephane Ducasse and Serge
                   Demeyer and Oscar Nierstrasz},
  Title          = {A Meta-model for Language-Independent Refactoring},
  BookTitle      = {Proceedings of International Symposium on Principles
                   of Software Evolution (ISPSE '00)},
  Pages          = {157-167},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Refactoring --- transforming code while preserving
                   behaviour --- is currently considered a key approach
                   for improving object-oriented software systems.
                   Unfortunately, all of the current refactoring tools
                   depend on language-dependent refactoring engines, which
                   prevents a smooth integration with mainstream
                   development environments. In this paper we investigate
                   the similarities between refactorings for Smalltalk and
                   {Java}, derive a language-independent meta-model and
                   show that it is feasible to build a
                   language-independent refactoring engine on top of this
                   meta-model. Our feasibility study is validated by means
                   of a tool prototype which uses the same engine to
                   refactor both Smalltalk and {Java} code. Using our
                   approach we minimize the language-dependent part of
                   refactoring tools, providing a standard way for
                   programmers and tools to perform refactorings no matter
                   what language they work in.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ISPSE.2000.913233},
  keywords       = {reengineering refactoring FAMIX repositories
                   tich-papref scg-pub jb00 snf01 stePub},
  misc           = {acceptance rate: 22/51 = 43\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich00bRefactoringMetamodel.pdf},
  year           = 2000
}

@TechReport{Duca04d,
  Author         = {St\'ephane Ducasse and Michele Lanza and Laura Ponisio},
  Title          = {A Top-Down Program Comprehension Strategy for Packages},
  Institution    = {University of Berne, Institut of Applied Mathematics
                   and Computer Sciences},
  Type           = {Technical Report},
  Number         = {IAM-04-007},
  abstract       = {Understanding packages is an important activity in the
                   reengineering of large object-oriented systems. The
                   relationships between packages and their contained
                   classes can affect the cost of modifying the system.
                   The main problem of this task is to quickly grasp the
                   structure of a package and how it interacts with the
                   rest of the system. In this paper we present a top-down
                   program comprehension strategy based on polymetric
                   views, radar charts, and software metrics. We
                   illustrate this approach on two applications and show
                   how we can retrieve the important characteristics of
                   packages.},
  annote         = {report notrefereed},
  keywords       = {jb05 scg-pub skipdoi stefPub snf04 recast05 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca04dPackageVisualization.pdf},
  year           = 2004
}

@Unpublished{Merl04a,
  Author         = {Ettore Merlo and Giulio Antoniol and Jens Krinke},
  Title          = {Identifying Similar Code with Metrics and Program
                   Dependence Graphs},
  Note           = {To appear},
  keywords       = {clones}
}

@TechReport{Popo01b,
  Author         = {Andrei Popovici and Thomas Gross and Gustavo Alonso},
  Title          = {Dynamic Homogenous {AOP} with {PROSE}},
  Institution    = {Department of Computer Science, Federal Institute of
                   Technology},
  Type           = {Technical Report},
  Address        = {Zurich},
  month          = aug,
  year           = 2001
}

@InProceedings{Palt94a,
  Author         = {M. Paltrinieri},
  Title          = {Integrating Objects with Constraint-Programming
                   Languages},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {248-265},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@InProceedings{Guer92a,
  Author         = {Rachid Guerraoui and Riccardo Capobianchi and Agnes
                   Lanusse and Pierre Roux},
  Title          = {Nesting Actions through Asynchronous Message Passing:
                   the {ACS} Protocol},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {170-184},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop92proc binder},
  month          = jun,
  year           = 1992
}

@InProceedings{Kosk82a,
  Author         = {K. Koskimies and K-J. R{\"a}ih{\"a} and M. Sarjakoski},
  Title          = {Compiler Construction Using Attribute Grammars},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on
                   Compiler Construction},
  Volume         = {17},
  Pages          = {153-159},
  keywords       = {compiler generator hlp patterns},
  month          = jun,
  year           = 1982
}

@Unpublished{Cuet95b,
  Author         = {A. Cueto and Mahesh Dodani},
  Title          = {Spy: An Object-Oriented Interactive Debugger},
  Note           = {University of Iowa},
  keywords       = {oobib(gen) binder},
  type           = {Draft},
  year           = 1995
}

@PhdThesis{Murp96a,
  Author         = {Gail C. Murphy},
  Title          = {Lightweight Structural Summarization as an Aid to
                   Software Evolution},
  School         = {University of Washington},
  year           = 1996
}

@InProceedings{Brio87a,
  Author         = {Jean-Pierre Briot and Akinori Yonezawa},
  Title          = {Inheritance and Synchronization in Concurrent {OOP}},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {32-40},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Book{Dix04a,
  Author         = {Alan Dix, Janet E. Finlay, Gregory D. Abowd},
  Title          = {Human-Computer Interaction (3rd Edition)},
  Publisher      = {Prentice Hall},
  date-added     = {2006-08-25 10:48:43 +0200},
  date-modified  = {2006-08-25 10:57:09 +0200},
  keywords       = {hci},
  year           = 2004
}

@InProceedings{Deke03b,
  Author         = {Uri Dekel and Yossi Gil},
  Title          = {Revealing Class Structure with Concept Lattices},
  BookTitle      = {WCRE},
  Pages          = {353--362},
  Publisher      = {IEEE Press},
  abstract       = {This paper promotes the use of a mathematical concept
                   lattice based upon the binary relation of accesses
                   between methods and fields as a novel visualization of
                   individual JAVA classes. We demonstrate in a detailed
                   real-life case study that such a lattice is valuable
                   for reverse-engineering purposes, in that it helps
                   reason about the interface and structure of the class
                   and find errors in the absence of source code. Our
                   technique can also serve as a heuristic for automatic
                   feature categorization, enabling it to assist efforts
                   of re-documentation.},
  month          = nov,
  year           = 2003
}

@InProceedings{Gall97a,
  Author         = {Harald Gall and Mehdi Jazayeri and Ren{\'e} Kl{\"o}sch
                   and Georg Trausmuth},
  Title          = {Software Evolution Observations Based on Product
                   Release History},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM'97)},
  Pages          = {160--166},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecs.org/10.1109/ICSM.1997.624242},
  keywords       = {oorp evolution},
  url            = {http://www.infosys.tuwien.ac.at/Cafe/doc/icsm97.pdf},
  year           = 1997
}

@TechReport{Pint93a,
  Author         = {Xavier Pintado},
  Title          = {Advances in Information Visualisation Techniques},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {working paper},
  Note           = {in preparation},
  abstract       = {The availability of affordable fast graphics hardware
                   will have a strong impact on the way people deal with
                   information. Highly interactive interfaces relying on
                   fast 2-dimensional bitmap operations, and fast
                   3-dimensional image synthesis will soon become
                   available. This paper explores some new representation
                   techniques based on fast graphics primitives. The first
                   technique relies on fast a chanel operations to
                   visualize multiple representation layers
                   simultaneously. Each layer being translucent allows to
                   see layers that lay behind it. The second technique is
                   based on fast 3-dimensional image synthesis. The idea
                   is that a virtual camera allows for the visualization
                   of a world. The camera is controlled by a fuzzy
                   controller to which the user can specify its interests
                   with fuzzy logic rules based on linguistic variables.
                   This technique is well suited for the visualisation of
                   real time financial data.},
  keywords       = {olit osg},
  year           = 1993
}

@Book{Huet90a,
  Editor         = {G. Huet},
  Title          = {Logical Foundations of Functional Programming},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {fpl},
  year           = 1990
}

@InProceedings{Nobl99b,
  Author         = {James Noble and David Clarke and John Potter},
  Title          = {Object Ownership for Dynamic Alias Protection},
  BookTitle      = {Proceedings TOOLS '99},
  month          = nov,
  year           = 1999
}

@InProceedings{Drav91a,
  Author         = {Richard P. Draves and Brian N. Bershad and Richard F.
                   Rashid and Randall W. Dean},
  Title          = {Using continuations to implement thread management and
                   communication in operating systems},
  BookTitle      = {SOSP '91: Proceedings of the thirteenth ACM symposium
                   on Operating systems principles},
  Pages          = {122--136},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/121132.121155},
  isbn           = {0-89791-447-3},
  location       = {Pacific Grove, California, United States},
  year           = 1991
}

@Misc{Stor00a,
  Author         = {C. Stork and V. Haldar and M. Franz},
  Title          = {Generic adaptive syntax-directed compression for
                   mobile code},
  text           = {C. H. Stork, V. Haldar, and M. Franz. Generic adaptive
                   syntax-directed compression for mobile code. Technical
                   Report 00-42, Department of Information and Computer
                   Science, University of California, Irvine, Nov. 2000.},
  year           = 2000
}

@Book{Hunt03a,
  Author         = {Andy Hunt and Dave Thomas},
  Title          = {Pragmatic Unit Testing in {Java} with {JUnit}},
  Publisher      = {ThePragmaticProgrammers},
  keywords       = {unit testing, xp},
  year           = 2003
}

@Article{Kang02a,
  Author         = {K.C. Kang and Jaejoon Lee and Patrick Donohoe},
  Title          = {Feature-Oriented Product Line Engineering},
  Journal        = {IEEE Software},
  keywords       = {feature},
  year           = 2002
}

@InProceedings{Buss00a,
  Author         = {L. Bussard},
  Title          = {Towards a pragmatic composition model of corba
                   services based on {AspectJ}},
  BookTitle      = {Workshop on the Aspects and Dimensions of Concerns of
                   ECOOP 2000},
  year           = 2000
}

@InProceedings{Ivko03a,
  Author         = {Ivkovic and Godfrey},
  Title          = {Enhancing Domain-Specific Software Architecture
                   Recovery},
  BookTitle      = {International Workshop on Program Comprehension (IWPC)},
  Pages          = {266-276},
  isbn           = {0-7695-1883-4},
  year           = 2003
}

@InProceedings{Ciup99a,
  Author         = {Oliver Ciupke},
  Title          = {Automatic Detection of Design Problems in
                   Object-Oriented Reengineering},
  BookTitle      = {Proceedings of TOOLS 30 (USA)},
  Pages          = {18-32},
  year           = 1999
}

@Manual{IEEE99a,
  Title          = {{IEEE P1471/D5.0} Information Technology --- Draft
                   Recommended Practice for Architecural Description},
  Organization   = {IEEE Architecture Working Group},
  month          = aug,
  year           = 1999
}

@Misc{Beck01b,
  Title          = {Manifesto for Agile Software Development},
  Note           = {http://agilemanifesto.org},
  key            = {AgileManifesto}
}

@Article{Tsic87c,
  Author         = {Dennis Tsichritzis and Eugene Fiume and Simon Gibbs
                   and Oscar Nierstrasz},
  Title          = {{KNO}s: {KN}owledge Acquisition, Dissemination and
                   Manipulation Objects},
  Journal        = {ACM TOOIS (Transactions on Office Information Systems)},
  Volume         = {5},
  Number         = {1},
  Pages          = {96-112},
  abstract       = {Most object-oriented systems lack two useful
                   facilities: the ability of objects to migrate to new
                   environments, and the ability of objects to acquire new
                   operations dynamically. This paper proposes Knos, an
                   object-oriented environment which supports these
                   actions. Their operations, data structures, and
                   communication mechanisms are discussed. Kno objects
                   "learn" by exporting and importing new or modified
                   operations. The use of such objects as intellectual
                   support tools is outlined. In particular, various
                   applications involving co-operation, negotiation, and
                   apprenticeship among objects are described.},
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/22890.23001},
  keywords       = {olit-appl knos knowrep osg-ftp oat87 oobib(sys)
                   cop-lit},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Tsic87cKnos.pdf},
  year           = 1987
}

@Article{Kazm99a,
  Author         = {Rick Kazman and S. J. Carriere},
  Title          = {Playing detective: Reconstructing software
                   architecture from available evidence.},
  Journal        = {Automated Software Engineering},
  keywords       = {oorp design-recovery},
  month          = apr,
  url            = {http://www.sei.cmu.edu/architecture/ASE.pdf},
  year           = 1999
}

@InProceedings{Lung98a,
  Author         = {Chung-Horng Lung},
  Title          = {Software {Architecture} {Recovery} and {Restructuring}
                   through {Clustering} {Techniques}},
  BookTitle      = {Proceedings of the 3rd International Workshop on
                   Software Architecture},
  Pages          = {101-104},
  Publisher      = {ACM Press},
  keywords       = {clustering},
  location       = {Orlando, Florida, United States},
  year           = 1998
}

@Article{Summ77a,
  Author         = {Phillip D. Summers},
  Title          = {A Methodology for {L}ISP Program Construction from
                   Examples},
  Journal        = {J. ACM},
  Volume         = {24},
  Number         = {1},
  Pages          = {161--175},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/321992.322002},
  issn           = {0004-5411},
  keywords       = {examples tests unit testing},
  publisher      = {ACM Press},
  year           = 1977
}

@Article{Will96a,
  Author         = {Linda Wills and Philip Newcomb},
  Title          = {Reverse Engineering (Special Issue)},
  Journal        = {Automated Software Engineering},
  Volume         = {3},
  Number         = {1-2},
  Pages          = {5-172},
  keywords       = {reveng famoos},
  month          = jun,
  publisher      = {Kluwer Academic Publishers},
  year           = 1996
}

@Book{Nier95b,
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  abstract       = {Object-Oriented Software Composition represents the
                   results of about ten years of collective research by
                   the authors on various aspects of object-oriented
                   technology. The message of the book is that the
                   technology is not merely about ``object-oriented
                   programming,'' but that it provides the key to
                   component-oriented software development. Within this
                   view, one can see applications not only as collections
                   of collaborating and communicating objects, but as
                   compositions of plug-compatible software components.
                   The work presented in this book was carried out either
                   by members of the Object Systems Group at the
                   University of Geneva in Switzerland, or by partners in
                   collaborative research projects.},
  isbn           = {0-13-220674-9},
  keywords       = {olit-obc osg skipdoi scg-pub toBeChecked snf95 book
                   scglib jb94 jb95},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@MastersThesis{Fran99a,
  Author         = {Fredi Frank},
  Title          = {An Associative Documentation Model},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {This diploma work examines the MAINTENANCE OF
                   TECHNICAL DOCUMENTATION within an software engineering
                   process. The characteristics of technical documentation
                   and its behaviour within an dynamic software
                   development environment are important to understand the
                   problems that occur with technical documentation. I
                   explore the factors that influence the development and
                   the resulting quality of the technical docu-mentation.
                   The RELATIONSHIP BETWEEN SOFTWARE SOURCE CODE AND
                   TECHNICAL DOC-UMENTATION is used to coordinate the
                   development of the technical documentation with the
                   software development. The principle to match software
                   entity names with documentation segments defines the
                   relationship between software and documenta-tion. I
                   demonstrate how it works and how it is used for
                   coordination of the software development and the
                   technical documentation development. An analysis of
                   different name representations and documentation
                   segmentation structures shows the influence of the
                   structures on the creation of relations. I explore
                   under which conditions relations are generated that fit
                   best to the relationship between software and
                   documentation that exists in reality. The ASSOCIATIVE
                   DOCUMENTATION MODEL (ADM) builds on the relationship
                   between software and documentation that is determined
                   by matching of software en-tity names within
                   documentation. The ADM focuses on three aspects: It
                   concentrates on the extraction of the names of software
                   entities. ADM uses Famix models that are capable to
                   represent any object-oriented software and detects the
                   software entities to be represented by their names.
                   Additionally, ADM considers structural relationships
                   between the software entities that are given by
                   inheritance, aggregation, invocation and access. The
                   second aspect is the representation of the relationship
                   between software and documentation. Especially the
                   influence of the inner relationship of software
                   en-tities on the relationship between software and
                   documentation is important. The third aspect is to get
                   the detection of the software entity names and the
                   generation of the relationship between software and
                   documentation into a consistent model. It serves as a
                   uniform model of the software-documentation
                   relationship for any application that uses this model.
                   CHANGE IMPACT DETECTION is an sample application of the
                   ADM. It determines changes between two software
                   versions by comparison of the models of these versions.
                   Differences between the models are interpreted as
                   changes. The names of the entities that are affected by
                   the changes are taken as representations of the
                   changes. The ADM relates these change representations
                   to the documentation. This way, impact of the software
                   changes on the documentation is detected over the ADM
                   relations. The func-tionality and usage as well as the
                   power and...},
  keywords       = {scg-pub skipdoi toBeChecked scg-msc jb99},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Fran99a.pdf},
  year           = 1999
}

@InProceedings{Gael04d,
  Author         = {Markus Gaelli},
  Title          = {{PhD}-Symposium: Correlating Unit Tests and Methods
                   under Test},
  BookTitle      = {5th International Conference on Extreme Programming
                   and Agile Processes in Software Engineering (XP 2004)},
  Volume         = {3092},
  Series         = {LNCS},
  Pages          = {317},
  doi            = {10.1007/b98150},
  keywords       = {scg-pub testing jb05 snf04 skip-abstract skipdoi},
  misc           = {gaelli},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael04dCorrelatingUnitTestsAndMethodsUnderTest.pdf},
  year           = 2004
}

@InCollection{Mylo83a,
  Author         = {John Mylopoulos and H. Levesque},
  Title          = {An Overview of Knowledge Representation},
  BookTitle      = {On Conceptual Modelling: Perspectives from Artificial
                   Intelligence, Databases and Programming Languages},
  Publisher      = {Springer-Verlag},
  Editor         = {M. Brodie and J. Mylopoulos},
  Pages          = {3-17},
  Address        = {New York},
  keywords       = {misc ai},
  year           = 1983
}

@Article{Buhr89a,
  Author         = {Raymond J.A. Buhr and Gerald M. Karam and Carol J.
                   Hayes and C. Murray Woodside},
  Title          = {Software {CAD}: {A} Revolutionary Approach},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {15},
  Number         = {3},
  Pages          = {235-249},
  keywords       = {visprog reuse binder(visprog)},
  month          = mar,
  year           = 1989
}

@Article{Lee83a,
  Author         = {D.L. Lee and Frederick H. Lochovsky},
  Title          = {Voice Response Systems},
  Journal        = {ACM Computing Surveys},
  Volume         = {15},
  Number         = {4},
  keywords       = {misc voice},
  month          = dec,
  year           = 1983
}

@InProceedings{Kais87a,
  Author         = {Gail E. Kaiser and David Garlan},
  Title          = {MELDing Data Flow and Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {254-267},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Woma96a,
  Author         = {James P. Womack and Daniel T. Jones},
  Title          = {Lean Thinking},
  Publisher      = {Simon \& Schuster},
  keywords       = {scglib},
  year           = 1996
}

@PhdThesis{Gran99a,
  Author         = {Calum A. McK. Grant},
  Title          = {Software Visualization in Prolog},
  School         = {Queens' College, Cambridge},
  month          = dec,
  year           = 1999
}

@Book{Beck00a,
  Author         = {Kent Beck},
  Title          = {Extreme Programming Explained: Embrace Change},
  Publisher      = {Addison Wesley},
  isbn           = {201616416},
  keywords       = {olit oorp},
  year           = 2000
}

@InProceedings{Oliv99a,
  Author         = {Alexandre Oliva and Luiz Eduardo Buzato},
  Title          = {The Design and Implementation of {Guarana}},
  BookTitle      = {USENIX Conference on Object-Oriented Technologies and
                   Systems (COOTS'99)},
  year           = 1999
}

@InProceedings{Lewi03b,
  Author         = {Bill Lewis},
  Title          = {Debugging Backwards in Time},
  BookTitle      = {Proceedings of the Fifth International Workshop on
                   Automated Debugging (AADEBUG 2003)},
  month          = oct,
  year           = 2003
}

@Article{Danf88a,
  Author         = {S. Danforth and Chris Tomlinson},
  Title          = {Type Theories and Object-Oriented Programming},
  Journal        = {ACM Computing Surveys},
  Volume         = {20},
  Number         = {1},
  Pages          = {29-72},
  keywords       = {types olit oobib(types)},
  month          = mar,
  year           = 1988
}

@InProceedings{Lamp93a,
  Author         = {John Lamping},
  Title          = {Typing the Specialization Interface},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {201-214},
  keywords       = {olit oopsla93 binder},
  month          = oct,
  year           = 1993
}

@Misc{Wheeler,
  Author         = {Wikipedia},
  Title          = {{David} {Wheeler}},
  Note           = {Retrieved August 10th 2006,
                   \url{en.wikipedia.org/wiki/David_Wheeler}},
  key            = {Wheeler},
  keywords       = {wheeler indirection level},
  url            = {http://en.wikipedia.org/wiki/David_Wheeler},
  year           = 2006
}

@PhdThesis{Erns99c,
  Author         = {Erik Ernst},
  Title          = {gbeta -- a Language with Virtual Attributes, Block
                   Structure, and Propagating, Dynamic Inheritance},
  School         = {Department of Computer Science, University of Aarhus,
                   \AA{}rhus, Denmark},
  year           = 1999
}

@Book{Conn95a,
  Author         = {John Connel and Linda Shafer},
  Title          = {Object-Oriented Rapid Prototyping},
  Publisher      = {Yourdon Press Computing Series},
  isbn           = {0-13-629643-2},
  keywords       = {oli-appl scglib},
  year           = 1995
}

@TechReport{Deme94z,
  Author         = {Serge Demeyer},
  Title          = {Virtual Hypertext Based on Paths and Warm Links},
  Institution    = {vub},
  abstract       = {Throughout the last years a huge amount of work has
                   been devoted to the definition of hypertext models.
                   Even more resources have been directed towards the
                   domain of virtual (dynamic/ computational) hypertext,
                   among others motivated by the idea of building open
                   systems. Surprisingly enough, almost nobody stressed
                   the role of the underlying model in such virtual
                   systems. That is precisely the aim of this text: to
                   define a general hypertext model that is able to
                   support the notion of virtuality. Our assertion is that
                   the combination of the ancient concepts 'Paths' and
                   'Warm Links' provide just the extra support needed.
                   Moreover this allows for a model where links are but
                   one of the possible ways to relate nodes. While
                   experimenting with the model, an interesting question
                   arose: do bi-directional links fit into a virtual model
                   ? This paper attempts to answer the question. We chose
                   a constructive approach, because our aim was to create
                   a laboratory where ideas concerning virtual hypertext
                   might be explored. We applied recent viewpoints from
                   the field of software engineering (namely object
                   oriented frameworks and mixins) to assist the iterative
                   design process. In order to show the value of the work,
                   we have implemented two prototype applications. The
                   first is a browser for viewing (Smalltalk) source code
                   which includes query facilities, the second is an
                   electronic agenda. These experiments demonstrate three
                   desired properties of the model: the applicability
                   (considering the differences between the prototypes),
                   the open endedness (since it is able to establish
                   hypertext structures on top of underlying foreign
                   constructions) and the extensibility (while building
                   the applications, we continued to expand the model).},
  keywords       = {olit hypermedia zypher sergedem-techrep},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme94z/
                   http://www.iam.unibe.ch/~demeyer/Deme94z/vrthypt.html
                   http://progwww.vub.ac.be/papers/paperquery.html},
  year           = 1994
}

@Article{Anco02a,
  Author         = {Davide Ancona and Elena Zucca},
  Title          = {A calculus of module systems},
  Journal        = {J. Funct. Program.},
  Volume         = {12},
  Number         = {2},
  Pages          = {91--132},
  address        = {New York, NY, USA},
  doi            = {http://dx.doi.org/10.1017/S0956796801004257},
  issn           = {0956-7968},
  publisher      = {Cambridge University Press},
  year           = 2002
}

@InProceedings{Beck94a,
  Author         = {Kent Beck and Ralph Johnson},
  Title          = {Patterns Generate Architectures},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {139-149},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Pitt80a,
  Author         = {Kent Pitman},
  Title          = {Special Forms in Lisp},
  BookTitle      = {Proceedings of the 1980 ACM Conference on LISP and
                   Functional Programming},
  Pages          = {179-197},
  month          = aug,
  url            = {http://world.std.com/~pitman/Papers/Special-Forms.html},
  year           = 1980
}

@InProceedings{Bern98b,
  Author         = {Stefan Berner and Stefan Joos and Martin Glinz and
                   Martin Arnold},
  Title          = {A Visualization Concept for Hierarchical Object Models},
  BookTitle      = {Proceedings of ASE 1998},
  Pages          = {225-228},
  year           = 1998
}

@TechReport{Ache98a,
  Author         = {Franz Achermann},
  Title          = {JPict --- a framework for pi Agents},
  Institution    = {IAM, U. Bern},
  Type           = {tech. note},
  keywords       = {olit scg-wp piccola},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Research/Piccola/History/jpict.pdf},
  year           = 1998
}

@Manual{Ages95b,
  Title          = {The {SELF} 4.0 Programmer's Reference Manual},
  Author         = {Ole Agesen and Lars Bak and Craig Chambers and Bay-Wei
                   Chan and Urs H{\"o}lzle and John Maloney and Randall B.
                   Smith and David Ungar and Mario Wolczko},
  Organization   = {Sun Microsystems},
  year           = 1995
}

@Article{Jong77a,
  Author         = {Peter de Jong and M.M. Zloof},
  Title          = {The System for Business Automation ({SBA}):
                   Programming Language},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {6},
  Pages          = {385-396},
  keywords       = {oislit forms sba},
  month          = jun,
  year           = 1977
}

@InProceedings{Ross89a,
  Author         = {Mary Beth Rosson and Eric Gold},
  Title          = {Problem-Solution Mapping in Object-Oriented Design},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {7-10},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Klae87a,
  Author         = {M. Kl{\"a}y and R. Maibach and I. Metz and H. Riedwyl},
  Title          = {{ALSTAT} {PC}. Algorithmen der Statistik f{\"u}r {IBM}
                   {PC} und Kompatible},
  Publisher      = {Birkh{\"a}user,},
  Address        = {Basel},
  abstract       = {This book describes the implemenation of a statistics
                   package with numerically very robust algorithms. This
                   package has been used for long years for the education
                   of students at the Dept. of Mathematical Statistics of
                   the University of Bern.},
  year           = 1987
}

@Book{Dijk90a,
  Author         = {E.W. Dijkstra and C. S. Scholten},
  Title          = {Predicate Calculus and Program Semantics},
  Publisher      = {Springer Verlag},
  isbn           = {3-540-96957-8},
  keywords       = {Predicate calculus semantics scglib},
  year           = 1990
}

@PhdThesis{Moss81a,
  Author         = {J. Eliot B. Moss},
  Title          = {Nested Transactions: An Approach to Reliable
                   Distributed Computing},
  School         = {MIT Dept EE and CS},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit transactions reliability binder (shelf)},
  month          = apr,
  number         = {MIT/LCS/TR-260},
  year           = 1981
}

@Article{Duca06h,
  Author         = {St\'ephane Ducasse and Serge Stinckwich},
  Title          = {Smalltalk: un mod\`ele pur objet},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 89,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = dec,
  year           = 2006
}

@Unpublished{Medi98a,
  Author         = {MediaGenix},
  Title          = {Understanding Applications Dependencies},
  Note           = {Poster Presentation at OOPSLA '98}
}

@InProceedings{Muel89a,
  Author         = {Gerhard M{\"u}ller and Anna-Kristin Pr{\"o}frock},
  Title          = {Four Steps and a Rest in Putting an Object-Oriented
                   Programming Environment to Practical Use},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {271-282},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl ase binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Snod83a,
  Author         = {R. Snodgrass},
  Title          = {An Object-Oriented Command Language},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-9},
  Number         = {1},
  Pages          = {1-8},
  keywords       = {olit-oopl oocl},
  month          = jan,
  year           = 1983
}

@InCollection{Kemp91b,
  Author         = {Alfons Kemper and Peter Lockemann and Guido Moerkotte
                   and Hans-Dieter Walter and S.M. Lang},
  Title          = {AUtonomy over Ubiquity: Coping with the Complexity of
                   a Distributed World},
  BookTitle      = {Entity-Relationship Approach: The Core of Conceptual
                   Modelling},
  Publisher      = {Elsevier Science Publishers},
  Editor         = {H. Kangassalo},
  keywords       = {olit-db gom binder},
  year           = 1991
}

@InProceedings{Bouv96a,
  Author         = {Pascal Bouvry and Farhad Arbab},
  Title          = {Visifold*: {A} Visual Environment for a Coordination
                   Language},
  BookTitle      = {Proceedings of COORDINATION '96},
  Editor         = {Paolo Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {403-406},
  Publisher      = {Springer-Verlag},
  month          = apr,
  year           = 1996
}

@InProceedings{Reub93a,
  Author         = {Howard Reubenstein and Richard Piazza and Susan
                   Roberts},
  Title          = {Separating Parsing and Analysis in Reverse Engineering
                   Tools},
  BookTitle      = {First Working Conference on Reverse Engineering (WCRE
                   1993)},
  Pages          = {117-125},
  keywords       = {parsing},
  url            = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=287773},
  year           = 1993
}

@InProceedings{Kazm98c,
  Author         = {Rick Kazman and Mark H. Klein and Mario Barbacci and
                   Thomas A. Longstaff and Howard F. Lipson and S. Jeromy
                   Carri{\`e}re},
  Title          = {The Architecture Tradeoff Analysis Method},
  BookTitle      = {ICECCS},
  Pages          = {68-78},
  year           = 1998
}

@Misc{Jfac,
  Title          = {j{Factor}},
  Note           = {http://www.instantiations.com/jfactor/},
  key            = {jFac},
  keywords       = {refactoring}
}

@Book{Harm85a,
  Author         = {P. Harmon and D. King},
  Title          = {Expert Systems. Artificial Intelligence in Business},
  Publisher      = {Judy V. Wilson},
  Note           = {Re-edited by Wiley Press Book},
  year           = {re-edited 1985}
}

@InProceedings{Koth06a,
  Author         = {Jay Kothari and Trip Denton and Spiros Mancoridis and
                   Ali Shokoufandeh},
  Title          = {On Computing the Canonical Features of Software
                   Systems},
  BookTitle      = {13th IEEE Working Conference on Reverse Engineering
                   (WCRE 2006)},
  keywords       = {Dynamic Analysis feature},
  month          = oct,
  year           = 2006
}

@InProceedings{DeLa98a,
  Author         = {David E. DeLano and Linda Rising},
  Title          = {Patterns for System Testing},
  BookTitle      = {Pattern Languages of Program Design 3},
  Editor         = {Robert Martin and Dirk Riehle and Frank Buschmann},
  Pages          = {503-527},
  Publisher      = {Addison-Welsey},
  keywords       = {olit patterns oorp},
  year           = 1998
}

@InCollection{Moon89a,
  Author         = {David A. Moon},
  Title          = {The Common Lisp Object-Oriented Programming Language
                   Standard},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {49-78},
  Address        = {Reading, Mass.},
  keywords       = {olit tfc oocda89},
  year           = 1989
}

@Misc{NET,
  Title          = {{ASP.NET}},
  Note           = {http://www.microsoft.com/net/},
  key            = {NET}
}

@PhdThesis{Magn94a,
  Author         = {M. Magnan},
  Title          = {R\'eutilisation de composants: les exceptions dans les
                   objets composites},
  School         = {Universit\'e de Montpellier II},
  year           = 1994
}

@InProceedings{Vand93a,
  Author         = {M.T. Vandevoorde},
  Title          = {Specifications Can Make Programs Run Faster},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {199-214},
  Publisher      = {Springer-Verlag},
  keywords       = {tapsoft93},
  month          = apr,
  year           = 1993
}

@InProceedings{Mice99a,
  Author         = {Thierry Miceli and Houari A. Sahraoui and Robert Godin},
  Title          = {A Metric Based Technique For Design Flaws Detection
                   And Correction},
  BookTitle      = {Proceedings IEEE Automated Software Engineering
                   Conference (ASE)},
  keywords       = {olit},
  year           = 1999
}

@Book{Ware00a,
  Author         = {Colin Ware},
  Title          = {Information Visualization},
  Publisher      = {Morgan Kaufmann},
  keywords       = {scglib},
  year           = 2000
}

@InProceedings{Guo00a,
  Author         = {Guo, Jiang and Luqi},
  Title          = {{A Survey of Software Reuse Repositories}},
  BookTitle      = {Proceedings of Seventh IEEE International Conference
                   and Workshop on the Engineering of Computer-Based
                   Systems},
  Pages          = {92-100},
  Publisher      = {IEEE},
  abstract       = {Reuse libraries are organizations of personnel,
                   procedures, tools, and software components directed
                   toward facilitating software component reuse to meet
                   specific cost-effectiveness and productivity goals. The
                   paper gives a survey of the major software reusable
                   component repositories. This survey will be a base to
                   develop future efficiently searchable, user-friendly,
                   useful, and well-organized repositories.},
  keywords       = {olit repository abb reuse},
  month          = apr,
  url            = {http://www.computer.org/proceedings/ecbs/0604/06040092abs.htm},
  year           = 2000
}

@TechReport{Trot92a,
  Author         = {Claudio Trotta and Oscar Nierstrasz},
  Title          = {Object-Oriented Support for Generic Application Frames},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  abstract       = {One step in trying to define a reuse-based software
                   development paradigm is reasoning about the development
                   process itself and the required information to support
                   it. We work towards this goal by proposing a tool for
                   designing Generic Application Frames based on the
                   careful structuring of past experience as well as
                   domain information. We claim that the benefits of the
                   object-oriented paradigm have yet to be properly
                   scaled, and that they can be achieved by applying
                   object-oriented design techniques to describe both
                   software components and development methods.},
  editor         = {D. Tsichritzis},
  keywords       = {olit skipdoi osg of92},
  month          = jul,
  pages          = {151-195},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Trot92aGafSupport.pdf},
  year           = 1992
}

@InProceedings{Cai90a,
  Author         = {J. Cai and R. Paige and R. Tarjan},
  Title          = {More efficient bottom-up tree pattern matching},
  BookTitle      = {Proceedings of CAAP},
  Pages          = {72-86},
  year           = 1990
}

@InProceedings{Casa88a,
  Author         = {Eduardo Casais},
  Title          = {An Object-Oriented System Implementing {KNO}s},
  BookTitle      = {Proceedings of the ACM Conference on Office
                   Information Systems (COIS)},
  Pages          = {284-290},
  Address        = {Palo Alto},
  abstract       = {We discuss a distributed object-oriented system
                   written in LISP that implements KNOs (KNowledge
                   acquisition, dissemination and manipulation Objects).
                   The system emphasizes advanced features like object
                   autonomy, mobility and dynamic inheritance. The objects
                   are active, independent entities that can travel in a
                   local area network and protect themselves from external
                   aggressions. A dynamic inheritance mechanism enables
                   them to modify their behaviour during their lifetime.
                   We give a description of our system and illustrate its
                   functionality with selected examples.},
  keywords       = {olit-oopl knos osg-ftp aoe88 oobib(sys) cop-lit},
  month          = mar,
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/knosImplementation.pdf},
  year           = 1988
}

@InProceedings{Duss89a,
  Author         = {Patrick H. Dussud},
  Title          = {{TICLOS}: An Implementation of {CLOS} for the Explorer
                   Family},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {215-220},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Budd94b,
  Author         = {Timothy A. Budd},
  Title          = {Multiparadigm Programming in Leda},
  Publisher      = {Oregon State University},
  keywords       = {oobib(oopl) book scglib},
  year           = 1994
}

@InProceedings{Meul87a,
  Author         = {Pieter S. van der Meulen},
  Title          = {{INSIST}: Interactive Simulation in {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {366-376},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Warn02a,
  Author         = {Brett A. Warneke and Kristofer S.J. Pister},
  Title          = {Exploring the Limits of System Integration with Smart
                   Dust},
  BookTitle      = {Proceedings of IMECE'02, ASME International Mechanical
                   Engineering Congreee \& Exposition},
  keywords       = {smartdust},
  month          = nov,
  year           = 2002
}

@TechReport{Boud92a,
  Author         = {G\'erard Boudol},
  Title          = {Asynchrony and the $\pi$-calculus (Note)},
  Institution    = {INRIA Sofia-Antipolis},
  Type           = {Rapporte de Recherche},
  Number         = {1702},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@InProceedings{Diaz05a,
  Author         = {J. Andres Diaz-Pace and Marcelo R. Campo},
  Title          = {ArchMatE: From Architectural Styles to Object-Oriented
                   Models through Exploratory Tool Support},
  BookTitle      = {Proceedings of Object Oriented Programming, Systems,
                   Languages, and Applications (OOPSLA'2005)},
  Pages          = {117--132},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1094811.1094821},
  isbn           = {1-59593-031-0},
  location       = {San Diego, CA, USA},
  year           = 2005
}

@InProceedings{Pauw94a,
  Author         = {De Pauw, Wim and Doug Kimelman and John Vlissides},
  Title          = {Modeling Object-Oriented Program Execution},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Series         = {LNCS 821},
  Pages          = {163-182},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Gall98a,
  Author         = {Harald Gall and Karin Hajek and Mehdi Jazayeri},
  Title          = {Detection of Logical Coupling Based on Product Release
                   History},
  BookTitle      = {Proceedings International Conference on Software
                   Maintenance (ICSM '98)},
  Pages          = {190-198},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {oorp evolution clustering},
  year           = 1998
}

@Article{Port80a,
  Author         = {Martin F. Porter},
  Title          = {An algorithm for suffix stripping},
  Journal        = {Program},
  Volume         = {14},
  Number         = {3},
  Pages          = {130-137},
  year           = 1980
}

@InProceedings{Kicz97a,
  Author         = {Gregor Kiczales and John Lamping and Anurag Mendhekar
                   and Chris Maeda and Cristina Lopes and Jean-Marc
                   Loingtier and John Irwin},
  Title          = {{Aspect-Oriented Programming}},
  BookTitle      = {Proceedings ECOOP '97},
  Editor         = {Mehmet Aksit and Satoshi Matsuoka},
  Volume         = 1241,
  Series         = {LNCS},
  Pages          = {220-242},
  Address        = {Jyvaskyla, Finland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit},
  month          = jun,
  year           = 1997
}

@InProceedings{Pier00a,
  Author         = {Benjamin C. Pierce and David N. Turner},
  Title          = {Pict: {A} Programming Language Based on the
                   Pi-Calculus},
  BookTitle      = {Proof, Language and Interaction: Essays in Honour of
                   Robin Milner},
  Editor         = {G. Plotkin and C. Stirling and M. Tofte},
  Publisher      = {{MIT} {Press}},
  isbn           = {ISBN 0-262-16188-5},
  month          = may,
  year           = 2000
}

@TechReport{Gurt06a,
  Author         = {David Gurtner},
  Title          = {Importing {JSP} into {Moose}},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {Java Server Pages (JSP) is an already established
                   technology for web application development, and thus
                   there is a big need for tools to support reverse
                   engineering of JSP applications. A first step towards
                   the analysis is creating the model by parsing JSP. We
                   have built j2moose as an Eclipse plugin to parse JSP
                   using the Eclipse capabilities. We have validated the
                   approach by extending the Moose reengineering
                   environment to load the exported models from j2moose.},
  keywords       = {snf-none scg-bp jb06 fb06 moose-pub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Gurt06aJSP.pdf},
  year           = 2006
}

@Article{Grun98a,
  Author         = {John Grundy and John Hosking and Warwick B. Mugridge},
  Title          = {Inconsistency Management for Multiple-View Software
                   Development Environments},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {24},
  Number         = {11},
  Pages          = {960--981},
  address        = {Piscataway, NJ, USA},
  doi            = {http://dx.doi.org/10.1109/32.730545},
  issn           = {0098-5589},
  publisher      = {IEEE Press},
  year           = 1998
}

@InProceedings{Ishi86a,
  Author         = {Yutaka Ishikawa and Mario Tokoro},
  Title          = {A Concurrent Object-Oriented Knowledge Representation
                   Language Orient84/{K}: Its Features and Implementation},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {232-241},
  keywords       = {olit-obcl orient84k knowrep actors oopsla86
                   oobib(obcp)},
  month          = nov,
  year           = 1986
}

@InProceedings{Atki96a,
  Author         = {Darren C. Atkinson and William G. Griswold},
  Title          = {The design of whole program analysis tools},
  BookTitle      = {Proceedings of the~18th~International Conference on
                   Software Engineering},
  Pages          = {16-27},
  Publisher      = {IEEE Computer Society Press},
  url            = {citeseer.ist.psu.edu/atkinson96design.html},
  year           = 1996
}

@Article{Will81b,
  Author         = {Rudolf Wille},
  Title          = {Restructuring Lattice Theory: An Approach Based on
                   Hierarchies of Concepts},
  Journal        = {Ordered Sets, Ivan Rival Ed., NATO Advanced Study
                   Institute},
  Volume         = {83},
  Pages          = {445-470},
  month          = sep,
  year           = 1981
}

@TechReport{Dery96c,
  Author         = {Anne-Marie Dery and St\'ephane Ducasse and Mireille
                   Fornarino},
  Title          = {A New Vision of Control in the {PAC} Model},
  Institution    = {Laboratoire I3S},
  Number         = {I3S Lab, RR-96-06},
  annote         = {report notrefereed},
  keywords       = {stefPub},
  year           = 1996
}

@InProceedings{Brin95a,
  Author         = {Sergey Brin and James Davis and H\'ector
                   Garc\'{\i}a-Molina},
  Title          = {Copy Detection Mechanisms for Digital Documents},
  BookTitle      = {Proceedings {ACM} {SIGMOD} Annual Conference},
  country        = {CA},
  location       = {San Jose},
  month          = may,
  year           = 1995
}

@InProceedings{Mitc01a,
  Author         = {Brian S. Mitchell and Spiros Mancoridis},
  Title          = {Comparing the {Decompositions} {Produced} by
                   {Software} {Clustering} {Algorithms} using {Similarity}
                   {Measurements}},
  BookTitle      = {Proceedings of ICSM '01 (International Conference on
                   Software Maintenance)},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  location       = {Florence, Italy},
  month          = nov,
  year           = 2001
}

@Book{Rose92a,
  Author         = {Ward Rosenberry and David Kenney and Gerry Fisher},
  Title          = {Understanding {DCE}},
  Publisher      = {O'Reilly},
  isbn           = {1-56592-005-8},
  keywords       = {dce scglib},
  year           = 1992
}

@InProceedings{Lakh93a,
  Author         = {A. Lakhotia},
  Title          = {{Rule-based approach to computing module cohesion}},
  BookTitle      = {Proceedings 15th ICSE},
  Pages          = {35-44},
  abstract       = {Stevens, Myers, and Constantine introduced the notion
                   of cohesion, an ordinal scale of seven levels that
                   describes the degree to which the actions performed by
                   a module contribute to a unified function [12]. They
                   provided rules, termed as `associative principles' to
                   examine the relationships between `processing elements'
                   of a module and designate a cohesion level to it.
                   Stevens et. al., however, did not give a precise
                   definition for the term `processing element', thereby
                   leaving it open for interpretations.This paper
                   interprets the `output variables' (not statements) of a
                   module as its processing elements. Stevens et. al.'s
                   associative principles are transformed to relate the
                   output variables based on their `data' and `control
                   dependence' relationships. What results is a rule-based
                   approach to computing cohesion. Experimental results
                   show that, but for temporal cohesion, the cohesion
                   associated to a module under our reinterpretation and
                   that due to the original Definitions are identical for
                   all examples. },
  year           = 1993
}

@Article{Cros95a,
  Author         = {Cross II, James H. and Alex Quilici and Linda Wills
                   and Philip Newcomb and Elliot Chikofsky},
  Title          = {Second Working Conference on Reverse Engineering
                   Summary Report},
  Journal        = {SIGSoft Software Engineering Notes},
  Volume         = {20},
  Number         = {5},
  month          = dec,
  year           = 1995
}

@Book{Chai00a,
  Author         = {Chailloux},
  Title          = {D\'{e}veloppement d'applications avec Objective CAML},
  Publisher      = {O'Reilly},
  isbn           = {2841771210},
  year           = 2000
}

@Book{Meye96a,
  Author         = {Scott Meyers},
  Title          = {More Effective {C}++},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63371-X},
  keywords       = {olit-oopl scglib oorp},
  year           = 1996
}

@InProceedings{Arev02a,
  Author         = {Gabriela Ar{\'e}valo and Tom Mens},
  Title          = {Analysing Object Oriented Application Frameworks using
                   Concept Analysis},
  BookTitle      = {ECOOP 2002: Proceedings of the Inheritance Workshop},
  Editor         = {Andrew Black and Erik Ernst and Peter Grogono and
                   Markky Sakkinen},
  Pages          = {3-9},
  Publisher      = {University of Jyv\"askyl\"a},
  abstract       = {This paper proposes the use of the formal technique of
                   Concept Analysis to analyse how classes in an
                   object-oriented inheritance hierarchy are coupled by
                   means of the inheritance and interfaces relationships.
                   To perform our analysis, we use the information
                   provided by the self-send and super-send behaviour of
                   each class in the hierarchy. Especially for large and
                   complex inheritance hierarchies, we believe that this
                   analysis can help in understanding the software, in
                   particular with how reuse is achieved. Additionally,
                   the proposed technique allows us to identify weak spots
                   in the inheritance hierarchy that may be improved, and
                   to serve as guidelines for extending or customising an
                   object-oriented application framework. As a first step,
                   this position paper reports on an initial experiment
                   with the Magnitude hierarchy in the Smalltalk
                   programming language. },
  keywords       = {snf02 scg-pub skipdoi jb02 arevalo},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev02aECOOP02ApplicationFrameworks.pdf},
  year           = 2002
}

@InProceedings{Cham92b,
  Author         = {Dennis de Champeaux and Doug Lea and Penelope Faure},
  Title          = {The Process of Object-Oriented Design},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {45-62},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Book{Snea73a,
  Author         = {P.H.A. Sneath and R.R. Sokal},
  Title          = {Numerical Taxonomy: The Principles and Practice of
                   Numerical Classification},
  Publisher      = {W. H. Freeman and Company},
  Address        = {San Francisco},
  keywords       = {clustering},
  year           = 1973
}

@Article{Abac05a,
  Author         = {Alex Abacus and Mike Barker and Paul Freedman},
  Title          = {Using Test-Driven Software Development Tools.},
  Journal        = {IEEE Software},
  Volume         = {22},
  Number         = {2},
  Pages          = {88-91},
  year           = 2005
}

@Article{Ayco02a,
  Author         = {John Aycock and Nigel Horspool},
  Title          = {Practical {Earley} Parsing},
  Journal        = {The Computer Journal},
  Volume         = {45},
  Number         = {6},
  Pages          = {620--630},
  doi            = {http://dx.doi.org/10.1093/comjnl/45.6.620},
  url            = {http://citeseer.ist.psu.edu/aycock02practical.html
                   http://www.csr.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf},
  year           = 2002
}

@InProceedings{Ekm07a,
  Author         = {Torbj{\"o}rn Ekman and G{\"o}rel Hedin},
  Title          = {Pluggable non-null types for {Java}},
  BookTitle      = {Proceedings of TOOLS'07},
  Note           = {To appear},
  annote         = {internationalconference},
  keywords       = {scg-sub},
  year           = 2007
}

@InCollection{Card93b,
  Author         = {Luca Cardelli},
  Title          = {Extensible Records in a Pure Calculus of Subtyping},
  BookTitle      = {Theoretical Aspects of Object-Oriented Programming.
                   Types, Semantics and Language Design},
  Publisher      = {MIT Press},
  Editor         = {Carl A. Gunter and John C. Mitchell},
  Pages          = {373-425},
  year           = 1993
}

@TechReport{Shul96a,
  Author         = {Forrest Shull and Walcelio L. Melo and Victor R.
                   Basili},
  Title          = {An inductive method for discovering design patterns
                   from object-oriented software systems},
  Institution    = {University of Maryland Computer Science Department},
  Number         = {CS-TR-3597},
  url            = {http://citeseer.nj.nec.com/shull96inductive.html},
  year           = 1996
}

@InProceedings{Hoel91a,
  Author         = {Urs H{\"o}lzle and Craig Chambers and David Ungar},
  Title          = {Optimizing Dynamically-Typed Object-Oriented Languages
                   With Polymorphic Inline Caches},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {21-38},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl self ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Niel93a,
  Author         = {Flemming Nielson and Hanne Riis Nielsen},
  Title          = {From {CML} to Process Algebra},
  BookTitle      = {Proceedings of CONCUR '93},
  Editor         = {E. Best},
  Series         = {LNCS 715},
  Pages          = {493-508},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc binder},
  year           = 1993
}

@InProceedings{Gael06a,
  Author         = {Markus Gaelli and Oscar Nierstrasz and Serge
                   Stinckwich},
  Title          = {Idioms for Composing Games with {EToys}},
  BookTitle      = {Proceedings of C5 2006 (The Fourth International
                   Conference on Creating, Connecting and Collaborating
                   through Computing)},
  Pages          = {222-321},
  abstract       = {Creating ones own games has been the main motiva- tion
                   for many people to learn programming. But the barrier
                   to learn a general purpose programming language is very
                   high, especially if some positive results can only be
                   expected after having manually written more than 100
                   lines of code. With this paper we first motivate
                   potential users by showing that one can create classic
                   board- and arcade games like Lights Out, TicTacToe, or
                   Pacman within the playful and constructivist visual
                   learning environment EToys dragging together only a few
                   lines of code. Then we present recurring idioms which
                   helped to develop these games with only a few lines of
                   code.},
  annote         = {internationalconference},
  cvs            = {EgGamesCCC2005},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/C5.2006.20},
  keywords       = {scg-pub jb06 snf06 games idioms pattern visual
                   languages},
  misc           = {gaelli},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael06aC5.pdf},
  year           = 2006
}

@Book{Shu88a,
  Author         = {Nan C. Shu},
  Title          = {Visual Programming},
  Publisher      = {Van Nostrand Reinhold company},
  keywords       = {visprog},
  year           = 1988
}

@TechReport{Mey92f,
  Author         = {Vicki de Mey},
  Title          = {Experimenting with Component-Oriented Software
                   Development},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca osg of92},
  month          = jul,
  pages          = {221-241},
  year           = 1992
}

@MastersThesis{Witt03a,
  Author         = {A. Wittmann},
  Title          = {Towars {Caesar}: Family polymorphism for {Java}},
  School         = {Technische Universit\"at Darmstadt, Fachbereich
                   Informatik},
  Type           = {Diploma thesis},
  keywords       = {virtual classes familyj},
  year           = 2003
}

@Article{Hitz95a,
  Author         = {M. Hitz and B. Montazeri},
  Title          = {Measure Coupling and Cohesion in Object-Oriented
                   Systems},
  Journal        = {Proceedings of International Symposium on Applied
                   Corporate Computing (ISAAC '95)},
  annote         = {oometrics},
  month          = oct,
  year           = 1995
}

@Book{Kami90a,
  Author         = {Samuel N. Kamin},
  Title          = {Programming Languages: An Interpreter-Based Approach},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-06824-9},
  keywords       = {pl book scglib},
  year           = 1990
}

@Misc{JanZak,
  Author         = {{Jan} {\v{Z}\'{a}k}},
  Title          = {{Implementace} \v{c}\'{a}sti jazyka {XQuery} v
                   r\'{a}mci projektu {CellStore}},
  edition        = {1st},
  year           = 2007
}

@InProceedings{Lanz01b,
  Author         = {Michele Lanza and St\'ephane Ducasse},
  Title          = {A {Categorization} of {Classes} based on the
                   {Visualization} of their {Internal} {Structure}: the
                   {Class} {Blueprint}},
  BookTitle      = {Proceedings of 16th International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA '01)},
  Pages          = {300-311},
  Publisher      = {ACM Press},
  abstract       = {The reengineering and reverse engineering of software
                   systems is gaining importance in software industry,
                   because the accelerated turnover in software companies
                   creates legacy systems in a shorter period of time.
                   Especially understanding classes is a key activity in
                   object-oriented programming, since classes represent
                   the primary abstractions from which applications are
                   built. The main problem of this task is to quickly
                   grasp the purpose of a class and its inner structure.
                   To help the reverse engineers in their first contact
                   with a foreign system, we propose a categorization of
                   classes based on the visualization of their internal
                   structure. The contributions of this paper are a novel
                   categorization of classes and a visualization of the
                   classes which we call the class blueprint. We have
                   validated the categorization on several case studies,
                   two of which we present here.},
  annote         = {internationalconference topconference},
  doi            = {http://doi.acm.org/10.1145/504282.504304},
  keywords       = {scg-pub snf01 jb01 stefPub moose-pub},
  misc           = {acceptance rate: 27/145 = 18\%},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz01bClassBlueprint.pdf},
  year           = 2001
}

@Article{Reis85a,
  Author         = {S.P. Reiss},
  Title          = {{PECAN}: Program Development Systems that Support
                   Multiple Views},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-11},
  Number         = {3},
  Pages          = {276-285},
  keywords       = {visprog ptyping},
  month          = mar,
  year           = 1985
}

@InCollection{Gemi93a,
  Author         = {Marc Gemis and Jan Paredaens},
  Title          = {An Object-Oriented Pattern Matching Language},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {339-355},
  abstract       = {A graphical model for describing schemes and instances
                   of object-databases and a graphical data manipulation
                   language based on pattern matching, called \fIPaMaL\fR,
                   are introduced. The operations of PaMaL(addition and
                   deletion of nodes and edges) use patterns to indicate
                   the parts of the instance that are affected by the
                   operation. We give the syntax and semantics of the
                   operations and the programming constructs(loop,
                   procedure and program) of PaMaL. We add a
                   reduce-operation to work with a special group of
                   instance, the \fIreduced instances\fR.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Article{Hitz96b,
  Author         = {M. Hitz and B. Montazeri},
  Title          = {{Chidamber} and {Kemerer}'s Metrics Suite; A
                   Measurement Theory Perspective},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {22},
  Number         = {4},
  Pages          = {267-271},
  annote         = {oometrics},
  month          = apr,
  year           = 1996
}

@PhdThesis{Orio04a,
  Author         = {Manuel Oriol},
  Title          = {An Approach to the Dynamic Evolution of Software
                   Systems},
  School         = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Ph.{D}. Thesis},
  month          = apr,
  number         = {no. 556)},
  url            = {http://se.ethz.ch/~moriol/www/Research/PhD/index.html
                   http://se.ethz.ch/~moriol/www/Research/PhD/OriolPhD.pdf},
  year           = 2004
}

@InProceedings{Deme00a,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Finding Refactorings via Change Metrics},
  BookTitle      = {Proceedings of 15th International Conference on
                   Object-Oriented Programming, Systems, Languages, and
                   Applications (OOPSLA '00)},
  Pages          = {166-178},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  Note           = {Also appeared in ACM SIGPLAN Notices 35 (10)},
  abstract       = {Reverse engineering is the process of uncovering the
                   design and the design rationale from a functioning
                   software system. Reverse engineering is an integral
                   part of any successful software system, because
                   changing requirements lead to implementations that
                   drift from their original design. In contrast to
                   traditional reverse engineering techniques -which
                   analyse a single snapshot of a system- we focus the
                   reverse engineering effort by determining where the
                   implementation has changed. Since changes of
                   object-oriented software are often phrased in terms of
                   refactorings, we propose a set of heuristics for
                   detecting refactorings by applying lightweight,
                   object-oriented metrics to successive versions of a
                   software system. We validate our approach with three
                   separate case studies of mature object-oriented
                   software systems for which multiple versions are
                   available. The case studies suggest that the heuristics
                   support the reverse engineering process by focusing
                   attention on the relevant parts of a software system.},
  annote         = {internationalconference topconference},
  doi            = {http://doi.acm.org/10.1145/353171.353183},
  keywords       = {olit scg-pub jb00 snf00 oorp stefPub},
  misc           = {acceptance rate: 26/142 = 18\%, SCI impact factor
                   0.190, ranked 66/77},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme00aFindingRefactoring.pdf},
  year           = 2000
}

@InProceedings{Nier89c,
  Author         = {Oscar Nierstrasz},
  Title          = {Two Models of Concurrent Objects},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings Workshop on
                   Object-Based Concurrent Programming (San Diego, Sept
                   26-27, 1988)},
  Volume         = {24},
  Pages          = {174-176},
  abstract       = {We propose two models of concurrent objects that
                   address, respectively, methodological and semantic
                   issues of object-oriented programming languages. The
                   first is a conceptual model to aid in the design of
                   object-oriented languages for concurrent and
                   distributed applications, and the second is a
                   computational model that can be used to define the
                   semantics of such languages. The second model has
                   evolved, in a sense, from the first, though it is
                   intended to be both more neutral and more general.},
  annote         = {internationalworkshop},
  doi            = {http://doi.acm.org/10.1145/67386.67436},
  keywords       = {olit-obc abacus obcp89},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier89cTwoModels.pdf},
  year           = 1989
}

@PhdThesis{Mens00b,
  Author         = {Mens, Kim},
  Title          = {Automating Architectural Conformance Checking by means
                   of Logic Meta Programming},
  School         = {Vrije Universiteit Brussel},
  year           = 2000
}

@InProceedings{Laen89a,
  Author         = {Els Laenens and Fran\c{c}ois Staes and Dirk Vermeir},
  Title          = {A Customizable Window-Interface to Object-Oriented
                   Databases},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {367-381},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-db binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Nara02a,
  Author         = {Srini Narayanan and Sheila A. McIlraith},
  Title          = {Simulation, verification and automated composition of
                   web services},
  BookTitle      = {WWW '02: Proceedings of the 11th international
                   conference on World Wide Web},
  Pages          = {77--88},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/511446.511457},
  isbn           = {1-58113-449-5},
  location       = {Honolulu, Hawaii, USA},
  year           = 2002
}

@InProceedings{Wata88a,
  Author         = {Takuo Watanabe and Akinori Yonezawa},
  Title          = {Reflection in an Object-Oriented Concurrent Language},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {306-315},
  keywords       = {olit-obcl abclr oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Tant06a,
  Author         = {{\'E}ric Tanter and Kris Gybels and Marcus Denker and
                   Alexandre Bergel},
  Title          = {Context-Aware Aspects},
  BookTitle      = {Proceedings of the 5th International Symposium on
                   Software Composition (SC 2006)},
  Series         = {LNCS 4089},
  Pages          = {227-242},
  Address        = {Vienna, Austria},
  abstract       = {Context-aware applications behave differently
                   depending on the context in which they are running.
                   Since context-specific behavior tends to crosscut base
                   programs, it can advantageously be implemented as
                   aspects. This leads to the notion of context-aware
                   aspects, e.g., aspects whose behavior depends on
                   context. This paper analyzes the issue of appropriate
                   support from the aspect language to both restrict the
                   scope of aspects according to the context and allow
                   aspect definitions to access information associated to
                   the context. We propose an open framework for
                   context-aware aspects that allows for the definition of
                   first-class contexts and supports the definition of
                   context awareness constructs for aspects, including the
                   ability to refer to past contexts, and to provide
                   domain- and application-specific constructs.},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1007/11821946_15},
  keywords       = {scg-pub jb06 fb06 snf06},
  month          = mar,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tant06aContextAspectsSC2006.pdf},
  year           = 2006
}

@Book{Kim89b,
  Editor         = {Won Kim and Frederick H. Lochovsky},
  Title          = {Object Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-14410-7},
  keywords       = {olit-oodb oobib(gen) scglib},
  year           = 1989
}

@InCollection{Dery96b,
  Author         = {Anne-Marie Dery and St\'ephane Ducasse and Mireille
                   Fornarino},
  Title          = {Objets et D\'ependances},
  BookTitle      = {Ing\'eni\`erie Objet},
  Publisher      = {Inter-Editions},
  Editor         = {O. Mourad},
  Pages          = {131-155},
  Note           = {ISBN: 2-7296-0642-4},
  annote         = {articlebook},
  keywords       = {stefPub},
  year           = 1996
}

@InProceedings{Lanz05a,
  Author         = {Michele Lanza and St\'ephane Ducasse and Harald Gall
                   and Martin Pinzger},
  Title          = {CodeCrawler --- An Information Visualization Tool for
                   Program Comprehension},
  BookTitle      = {Proceedings of ICSE 2005 (27th IEEE International
                   Conference on Software Engineering)},
  Pages          = {672-673},
  Publisher      = {ACM Press},
  annote         = {tooldemo},
  keywords       = {mlanza moose-pub},
  year           = 2005
}

@InProceedings{Merr98a,
  Author         = {Massimo Merro and Davide Sangiorgi},
  Title          = {On Asynchrony in Name-Passing Calculi},
  BookTitle      = {25th Colloquium on Automata, Languages and Programming
                   ({ICALP}) (Aalborg, Denmark)},
  Editor         = {Kim G. Larsen and Sven Skyum and Glynn Winskel},
  Volume         = {1443},
  Series         = {LNCS},
  Pages          = {856-867},
  Publisher      = {Springer-Verlag},
  month          = jul,
  year           = 1998
}

@Book{Cox86a,
  Author         = {Brad J. Cox},
  Title          = {Object Oriented Programming --- An Evolutionary
                   Approach},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {olit-oopl repository objc oobib(oopl)},
  year           = 1986
}

@TechReport{Burm96a,
  Author         = {P. Burmeister},
  Title          = {Formal Concept Analysis with {ConImp}: Introduction to
                   the basic features},
  Institution    = {TU-Darmstadt},
  Address        = {Darmstadt, Germany},
  keywords       = {fca},
  url            = {http://www.mathematik.tu-darmstadt.de/~burmeister/},
  year           = 1996
}

@InProceedings{Patt83a,
  Author         = {David A. Patterson},
  Title          = {{Smalltalk} on {RISC}: Architectural Investigations},
  BookTitle      = {Proceedings of CS292R, Univ. of California},
  Address        = {Berkeley},
  keywords       = {olit architecture soar risc smalltalk casais},
  month          = apr,
  year           = 1983
}

@InProceedings{Rumb88a,
  Author         = {James Rumbaugh},
  Title          = {Controlling Propagation of Operations Using Attributes
                   on Relations},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {285-296},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@PhdThesis{Hatc04a,
  Author         = {Andrew Hatch},
  Title          = {Software Architecture Visualisation},
  School         = {Research Institute in Software Engineering, University
                   of Durham},
  month          = mar,
  year           = 2004
}

@Misc{Jref,
  Title          = {{JR}efactory},
  Note           = {http://jrefactory.sourceforge.net/},
  key            = {jRef},
  keywords       = {refactoring}
}

@Book{Lieb01a,
  Author         = {Henry Lieberman},
  Title          = {Your Wish Is My Command --- Programming by Example},
  Publisher      = {Morgan Kaufmann},
  keywords       = {scglib},
  year           = 2001
}

@Unpublished{Gepp92c,
  Author         = {Andreas Geppert},
  Title          = {On the Architecture of Generated {DBMS} and {DBMS}
                   Generators, or: Can Kids Generate {DBMS}},
  Note           = {Universit{\"a}t Z{\"u}rich},
  keywords       = {olit-db kids binder},
  month          = may,
  type           = {draft},
  year           = 1992
}

@InProceedings{Xie02a,
  Author         = {Yichen Xie and Dawson Engler},
  Title          = {Using redundancies to find errors},
  BookTitle      = {Proceedings of the Tenth ACM SIGSOFT Symposium on
                   Foundations of Software Engineering},
  Pages          = {51-60},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/587051.587060},
  isbn           = {1-58113-514-9},
  location       = {Charleston, South Carolina, USA},
  url            = {citeseer.ist.psu.edu/xie02using.html},
  year           = 2002
}

@TechReport{Nier89e,
  Author         = {Oscar Nierstrasz},
  Title          = {Abacus: a Notation for Describing Concurrent
                   Computations},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  abstract       = {Abacus is an experimental notation for specifying
                   concurrent computations, to be used as a semantic
                   target for defining and prototyping concurrent language
                   constructs. We present the current implementation and
                   its underlying computational model, and we illustrate
                   its computational power and expressiveness through
                   examples and by demonstrating equivalence with other
                   models.},
  editor         = {D. Tsichritzis},
  keywords       = {pcalc-obc skipdoi semantics abacus osg ood89},
  month          = jul,
  pages          = {247-275},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier89eAbacusNotation.pdf},
  year           = 1989
}

@Article{Finz84a,
  Author         = {W. Finzer and L. Gould},
  Title          = {Programming by Rehearsal},
  Journal        = {BYTE},
  Volume         = {9},
  Number         = {6},
  Pages          = {187-210},
  keywords       = {visprog ptyping},
  month          = jun,
  year           = 1984
}

@InProceedings{John92a,
  Author         = {Ralph E. Johnson},
  Title          = {Documenting Frameworks using Patterns},
  BookTitle      = {Proceedings OOPSLA '92},
  Volume         = {27},
  Pages          = {63-76},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@Book{Toko94b,
  Editor         = {Mario Tokoro and Remo Pareschi},
  Title          = {Proceedings of {ECOOP}'94},
  Publisher      = {Springer-Verlag},
  Volume         = {821},
  Series         = {LNCS},
  isbn           = {3-540-58202-9},
  keywords       = {olit ecoop94proc scglib proceedings},
  year           = 1994
}

@InProceedings{Lien07b,
  Author         = {Adrian Lienhard and Adrian Kuhn and Orla Greevy},
  Title          = {Rapid Prototyping of Visualizations using Mondrian},
  BookTitle      = {Proceedings IEEE International Workshop on Visualizing
                   Software for Understanding (Vissoft 2007)},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf07},
  peer           = {yes},
  year           = 2007
}

@Book{Ullm94a,
  Author         = {Jeffrey D. Ullman},
  Title          = {Elements of {ML} Programming},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-288788-6},
  keywords       = {pl book scglib},
  year           = 1994
}

@InProceedings{Garg01a,
  Author         = {Juan Garguilio and Spiros Mancoridis},
  Title          = {Gadget: a Tool for Extracting the Dynamic Structure of
                   {Java} Programs},
  BookTitle      = {Proceedings of ICSM 2001},
  Publisher      = {IEEE Computer Society},
  year           = 2001
}

@InProceedings{Cruz02a,
  Author         = {Juan-Carlos Cruz},
  Title          = {{OpenCoLaS} -- a Coordination Framework for {CoLaS}
                   Dialects},
  BookTitle      = {Proceedings of COORDINATION 2002},
  Address        = {York, United Kingdom},
  abstract       = {An important family of existing coordination models
                   and languages is based on the idea of trapping the
                   messages exchanged by the coordinated entities and by
                   the specification of rules governing the coordination.
                   No model, including our CoLaS coordination model,
                   justifies clearly the reason of their coordination
                   rules. Why these rules and not others? Are they all
                   necessary? These are questions that remain still open.
                   In order to try to provide an answer, in particular for
                   the CoLaS model, we propose in this paper OpenCoLaS, a
                   framework for building CoLaS coordination dialects. The
                   OpenCoLaS framework allows to experiment with the
                   definition of coordination rules. },
  keywords       = {snf03 olit scg-pub skipdoi scg coordination jb02},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz02Coordination.pdf},
  year           = 2002
}

@Article{Kore88a,
  Author         = {B. Korel and J. Laski},
  Title          = {Dynamic program slicing},
  Journal        = {Information Processing Letters},
  Volume         = {29},
  Number         = {3},
  Pages          = {155-163},
  year           = 1988
}

@InProceedings{Yode02a,
  Author         = {Joseph W. Yoder and Ralph Johnson},
  Title          = {The Adaptive Object Model Architectural Style},
  BookTitle      = {Proceeding of The Working IEEE/IFIP Conference on
                   Software Architecture 2002 (WICSA3 '02)},
  month          = aug,
  year           = 2002
}

@InProceedings{Boul94a,
  Author         = {F. Boulanger and H. Delebecque and G. Vdal-Naquet},
  Title          = {Int\'egration de Modules Synchrones dans un Cycle de
                   D\'eveloppement par Objets},
  BookTitle      = {Real Time Systems Conference},
  Pages          = {245-260},
  year           = 1994
}

@InCollection{Mela96a,
  Author         = {I. Dan Melamed},
  Title          = {A Geometric Approach to Mapping Bitext Correspondence},
  BookTitle      = {Proceedings of the Conference on Empirical Methods in
                   Natural Language Processing},
  Publisher      = {Association for Computational Linguistics},
  Editor         = {Eric Brill and Kenneth Church},
  Pages          = {1-12},
  Address        = {Somerset, New Jersey},
  keywords       = {text alignment},
  url            = {citeseer.ist.psu.edu/182431.html},
  year           = 1996
}

@Article{Nier95e,
  Author         = {Oscar Nierstrasz and Theo Dirk Meijler},
  Title          = {Research Directions in Software Composition},
  Journal        = {ACM Computing Surveys},
  Volume         = {27},
  Number         = {2},
  Pages          = {262-264},
  abstract       = {{\it Software composition} refers to the construction
                   of software applications from components that implement
                   abstractions pertaining to a particular problem domain.
                   Raising the level of abstraction is a time-honored way
                   of dealing with complexity, but the real benefit of
                   composable software systems lies in their increased
                   {\it flexibility}: a system built from components
                   should be easy to recompose to address new
                   requirements. A certain amount of success has been
                   achieved in some well-understood application domains,
                   as witnessed by the popularity of user-interface
                   toolkits, fourth generation languages and application
                   generators. But how can we generalize this?},
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/210376.210389},
  keywords       = {olit scg-pub toBeChecked snf95 jb95 scg-coord-old},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier95eResearchDirections.pdf},
  year           = 1995
}

@InProceedings{Mari05a,
  Author         = {Cristina Marinescu and Radu Marinescu and Tudor
                   G\^irba},
  Title          = {Towards a Simplified Implementation of Object-Oriented
                   Design Metrics},
  BookTitle      = {METRICS 2005},
  Pages          = {110-119},
  abstract       = {To automatically analyze the code, the analyses must
                   be implemented as software programs. As analyses become
                   increasingly complex, implementing them using
                   imperative and interrogative programming is oftentimes
                   cumbersome. Consequently, the understanding, testing
                   and reuse of analyses is severely hampered. In this
                   paper we identify a set of key mechanisms that are
                   involved in the implementation of any static analysis:
                   navigation, selection, set arithmetics, filtering and
                   property aggregation. We show that neither of the
                   aforementioned approaches offers a simple support for
                   these mechanisms and, as a result, an undesirable
                   overhead of complexity is added to the implementation
                   of most analyses. The paper introduces SAIL, a language
                   designed to offer a proper support to a simplify
                   writing of analyses. In order to validate the
                   expressiveness of SAIL the paper provides a
                   comprehensive comparison with the other two approaches.},
  annote         = {internationalconference},
  keywords       = {jb06 scg-pub skipdoi girba recast06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mari05aSAIL.pdf},
  year           = 2005
}

@InProceedings{Mikh98a,
  Author         = {Leonid Mikhajlov and Emil Sekerinski},
  Title          = {A {Study} of the {Fragile} {Base} {Class} {Problem}},
  BookTitle      = {Proceedings of ECOOP'98 (European Conference on
                   Object-Oriented Programming)},
  Number         = {1445},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {355-383},
  Publisher      = {Springer-Verlag},
  year           = 1998
}

@InProceedings{Till94a,
  Author         = {Scott R. Tilley},
  Title          = {Domain-Retargetable Reverse Engineering {II}:
                   Personalised User Interfaces},
  BookTitle      = {Proceedings of The International Conference on
                   Software Maintenance},
  Publisher      = {IEEE Computer Society},
  keywords       = {reverse engineering binder},
  month          = sep,
  year           = 1994
}

@Article{Berg07b,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Colin
                   Putney and Roel Wuyts},
  Title          = {Creating Sophisticated Development Tools with
                   OmniBrowser},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Note           = {To appear},
  abstract       = {Smalltalk is not only an object-oriented programming
                   language; it is also known for its extensive integrated
                   development environment supporting interactive and
                   dynamic programming. While the default tools are
                   adequate for browsing the code and developing
                   applications, it is often cumbersome to extend the
                   environment to support new language constructs or to
                   build additional tools supporting new ways of
                   navigating and presenting source code. In this paper,
                   we present the OmniBrowser, a browser framework that
                   supports the definition of browsers based on an
                   explicit metamodel. With OmniBrowser a domain model is
                   described in a graph and the navigation in this graph
                   is specified in its associated metagraph. We present
                   how new browsers are built from predefined parts and
                   how new tools are easily described. The browser
                   framework is implemented in the Squeak Smalltalk
                   environment. This paper shows several concrete
                   instantiations of the framework: a remake of the
                   ubiquitous Smalltalk System Browser, a coverage
                   browser, the Duo Browser and the Dynamic Protocols
                   browser.},
  annote         = {internationaljournal},
  doi            = {http://dx.doi.org/10.1016/j.cl.2007.05.005},
  keywords       = {stefPub scg-pub jb07 snf06},
  publisher      = {Elsevier},
  year           = 2007
}

@InCollection{Baum00a,
  Author         = {Dirk B{\"a}umer and Dirk Riehle and Wolf Siberski and
                   Martina Wulf},
  Title          = {Role Object},
  BookTitle      = {Pattern Language of Program Design 4},
  Publisher      = {Addison Wesley},
  Editor         = {Niel Harrison and Brian Foote and Hans Rohnert},
  Pages          = {15-32},
  year           = 2000
}

@Book{Aho74a,
  Author         = {Alfred V. Aho and John E. Hopcroft and Jeffrey D.
                   Ullman},
  Title          = {The Design and Analysis of Computer Algorithms},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-00029-6},
  keywords       = {misc algorithms book scglib},
  year           = 1974
}

@InProceedings{Anqu98b,
  Author         = {Nicolas Anquetil and Timothy Lethbridge},
  Title          = {Extracting Concepts from File Names; a New File
                   Clustering Criterion},
  BookTitle      = {International Conference on Software Engineering (ICSE
                   1998)},
  Pages          = {84--93},
  year           = 1998
}

@Book{Koom04a,
  Author         = {Jonathan G. Koomey},
  Title          = {Turning Numbers into Knowledge},
  Publisher      = {Analytics Press},
  keywords       = {scglib},
  year           = 2004
}

@InCollection{Wegn93b,
  Author         = {Peter Wegner},
  Title          = {Tradeoffs between Reasoning and Modelling},
  BookTitle      = {Research Directions in Concurrent Object-Oriented
                   Programming},
  Publisher      = {MIT Press},
  Editor         = {Gul Agha and Peter Wegner and Akiro Yonezawa},
  Pages          = {22-41},
  keywords       = {olit-oose},
  year           = 1993
}

@InProceedings{Sing05a,
  Author         = {Janice Singer and Robert Elves and Margaret-Anne
                   Storey},
  Title          = {NavTracks: Supporting Navigation in Software
                   Maintenance},
  BookTitle      = {International Conference on Software Maintenance
                   (ICSM'05)},
  Pages          = {325-335},
  month          = {sep},
  year           = 2005
}

@TechReport{Gael03b,
  Author         = {Markus Gaelli and Oscar Nierstrasz and Roel Wuyts},
  Title          = {Partial ordering tests by coverage sets},
  Institution    = {Institut f\"ur Informatik},
  Number         = {IAM-03-013},
  Address        = {Universit\"at Bern, Switzerland},
  Note           = {Technical Report},
  abstract       = { A single software fault may cause several tests to
                   break, if they cover the same methods. The coverage
                   sets of tests may not just overlap, but include one
                   another. This information could be of great use to
                   developers who would like to focus on the most specific
                   test that concerns a given fault. Unfortunately,
                   existing unit testing tools neither gather nor exploit
                   this information. We have developed a simple approach
                   that analyses a set of test suites, and infers the
                   partial order corresponding to inclusion hierarchy of
                   the coverage sets. When several tests in an inclusion
                   chain break, we can guide the developer to the most
                   specific test in the chain. Our first experiments with
                   three case studies suggest that most unit tests for
                   typical applications are, in fact, comparable to other
                   tests, and can therefore be partially ordered.
                   Furthermore, we show that this partial order is
                   semantically meaningful, since faults that cause a test
                   to break will, in nearly all cases cause less specific
                   tests too break too. },
  classification = {D.2.6 Programming Environments D.2.10 Design D.1.5
                   Object-oriented Programming; D.3.3 Language Constructs
                   and Features},
  cvs            = {EgTecReportPartialOrdering},
  general_terms  = {Testing, Refactoring, Test Composition, Unit Tests,
                   Reuse, Smalltalk, Test Prioritizing, OOP},
  keywords       = {jb-none scg-pub skipdoi},
  misc           = {gaelli},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael03bPartialOrderingTestsByCoverageSets.pdf},
  year           = 2003
}

@InProceedings{Balm99a,
  Author         = {Fran{\c{c}}oise Balmas},
  Title          = {QBO: a Query Tool Specially Developed to Explore
                   Programs},
  BookTitle      = {Proceedings Sixth Working Conference on Reverse
                   Engineering},
  Editor         = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer
                   Rugaber},
  Pages          = {270-279},
  Organization   = {IEEE Computer Society},
  month          = oct,
  year           = 1999
}

@InProceedings{Rieh01a,
  Author         = {Dirk Riehle and Steven Fraleigh and Dirk Bucka-Lassen
                   and and Nosa Omorogbe},
  Title          = {The Architecture of a UML Virtual Machine},
  BookTitle      = {Conference on Object-Oriented Programming Systems,
                   Languages, and Applications (OOPSLA '01)},
  Pages          = {327-341},
  year           = 2001
}

@Book{Bash99a,
  Author         = {Imran Bashir and Amrit L. Goel},
  Title          = {Testing Object-Oriented Software, Life Cycle Solutions},
  Publisher      = {Springer-Verlag},
  keywords       = {scglib},
  year           = 1999
}

@Article{Wate94a,
  Author         = {Richard C. Waters and Elliot Chikofsky},
  Title          = {Reverse Engineering: Progress Along Many Dimensions
                   (Special Issue)},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {5},
  Pages          = {22-93},
  keywords       = {reveng famoos},
  month          = may,
  year           = 1994
}

@Article{Shaw77a,
  Author         = {M. Shaw and W. Wulf},
  Title          = {Abstraction and Verification in Alphard: Defining and
                   Specifying Iteration and Generators},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {8},
  Pages          = {553-564},
  keywords       = {olit lang alphard data abstraction},
  month          = aug,
  year           = 1977
}

@Misc{Baue99a,
  Author         = {Lujo Bauer and Andrew W. Appel and Edward W. Felten},
  Title          = {Mechanisms for Secure Modular Programming in {Java}},
  number         = {TR-603-99},
  pages          = {13},
  url            = {http://citeseer.nj.nec.com/bauer99mechanisms.html},
  year           = 1999
}

@InCollection{Lieb93a,
  Author         = {Karl J. Lieberherr and Cun Xiao},
  Title          = {Minimizing Dependency on Class Structures with
                   Adaptive Programs},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {424-441},
  abstract       = {Adaptive software is a new kind of generic software
                   which attempts to minimize and localize dependency on
                   the context in which the software will be used. An
                   Adaptive program is written in terms of constraints on
                   the customizing context in which the program may be
                   used. The constraints are written so that the only
                   encode necessary dependencies and at the same time they
                   localize information on groups of collaborating
                   classes. Adaptive software is usually written for a
                   given context in mind and therefore it is important
                   that the adaptive program does not use too much
                   information from the current context. Therefore, we
                   introduce in this paper a dependency metric which
                   measures context dependency between an adaptive program
                   and a customizer. The paper also discusses how
                   constraints on customizing contexts can be written so
                   that information loss is eliminated.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Kuhn05b,
  Author         = {Adrian Kuhn and Orla Greevy and Tudor G\^irba},
  Title          = {Applying Semantic Analysis to Feature Execution Traces},
  BookTitle      = {Proceedings IEEE Workshop on Program Comprehension
                   through Dynamic Analysis (PCODA 2005)},
  Pages          = {48--53},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {Recently there has been a revival of interest in
                   feature analysis of software systems. Approaches to
                   feature location have used a wide range of techniques
                   such as dynamic analysis, static analysis, information
                   retrieval and formal concept analysis. In this paper we
                   introduce a novel approach to analyze the execution
                   traces of features using Latent Semantic Indexing
                   (LSI). Our goal is twofold. On the one hand we detect
                   similarities between features based on the content of
                   their traces, and on the other hand we categorize
                   classes based on the frequency of the outgoing
                   invocations involved in the traces. We apply our
                   approach on two case studies and we discuss its
                   benefits and drawbacks.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi semantic clustering lsi stefPub girba
                   jb06 recast06 hapax moose-pub},
  location       = {Pittburgh, PA},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Kuhn05bHapaxPCODA2005.pdf},
  year           = 2005
}

@InProceedings{Tant06c,
  Author         = {{\'E}ric Tanter},
  Title          = {On Dynamically-Scoped Crosscutting Mechanisms},
  BookTitle      = {Proceedings of the European Workshop on Aspects in
                   Software (EWAS 2006)},
  Editor         = {Kniesel, G{\"u}nter},
  Pages          = {18-22},
  Address        = {Twente, The Netherlands},
  Publisher      = {Technical Report IAI-TR-2006-6, University of Bonn,
                   Germany},
  institution    = {University of Bonn},
  month          = sep,
  year           = 2006
}

@InProceedings{Lence97a,
  Author         = {Raimondas Lencevicius and Urs H{\"o}lzle and Ambuj K.
                   Singh},
  Title          = {Query-Based Debugging of Object-Oriented Programs},
  BookTitle      = {Proceedings OOPSLA '97},
  Pages          = {304-317},
  month          = jul,
  year           = 1997
}

@Article{Berg05a,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz and Roel Wuyts},
  Title          = {Classboxes: Controlling Visibility of Class Extensions},
  Journal        = {Computer Languages, Systems and Structures},
  Volume         = {31},
  Number         = {3-4},
  Pages          = {107-126},
  abstract       = {A class extension is a method that is defined in a
                   module, but whose class is defined elsewhere. Class
                   extensions offer a convenient way to incrementally
                   modify existing classes when subclassing is
                   inappropriate. Unfortunately existing approaches suffer
                   from various limitations. Either class extensions have
                   a global impact, with possibly negative effects for
                   unexpected clients, or they have a purely local impact,
                   with negative results for collaborating clients.
                   Furthermore, conflicting class extensions are either
                   disallowed, or resolved by linearization, with
                   consequent negative effects. To solve these problems we
                   present classboxes, a module system for object-oriented
                   languages that provides for method addition and
                   replacement. Moreover, the changes made by a classbox
                   are only visible to that classbox (or classboxes that
                   import it), a feature we call local rebinding. To
                   validate the model we have implemented it in the Squeak
                   Smalltalk environment, and performed benchmarks.},
  annote         = {internationaljournal},
  cvs            = {ClassboxESUG04},
  doi            = {http://dx.doi.org/10.1016/j.cl.2004.11.002},
  keywords       = {scg-pub snf-actsc jb05 classbox snf05 stefPub alexPub},
  misc           = {SCI impact factor 0.467},
  month          = dec,
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05aclassboxesJournal.pdf},
  year           = 2005
}

@Article{Goul93a,
  Author         = {Jhon D. Gould and Jacob Ukelson and Stephen J. Boies},
  Title          = {Improving application development productivity by
                   using {ITS}},
  Journal        = {Int. J. Man-Machine Studies},
  Volume         = {39},
  Pages          = {113-146},
  keywords       = {binder},
  year           = 1993
}

@InProceedings{Kley88a,
  Author         = {Michael F. Kleyn and Paul C. Gingrich},
  Title          = {{GraphTrace} --- Understanding Object-Oriented Systems
                   using Concurrently Animated Views},
  BookTitle      = {Proceedings OOPSLA '88 (International Conference on
                   Object-Oriented Programming Systems, Languages, and
                   Applications},
  Volume         = {23},
  Pages          = {191-205},
  Publisher      = {ACM Press},
  keywords       = {olit-obc oopsla88},
  location       = {San Diego, California},
  month          = nov,
  year           = 1988
}

@Book{Stas98a,
  Editor         = {John T. Stasko and John Domingue and Marc H. Brown and
                   Blaine A. Price},
  Title          = {Software Visualization --- Programming as a Multimedia
                   Experience},
  Publisher      = {The MIT Press},
  keywords       = {scglib},
  year           = 1998
}

@TechReport{Holt98b,
  Author         = {Richard C. Holt},
  Title          = {An Introduction to {TA}: The {Tuple}-{Attribute}
                   Language},
  Institution    = {University of Waterloo},
  month          = nov,
  url            = {http://plg.uwaterloo.ca/~holt/papers/ta.html},
  year           = 1998
}

@Proceedings{Kim95d,
  Title          = {Future Trends in Distributed Computing Systems},
  Editor         = {K.H.Him and Radu Popescu-Zeletin},
  Address        = {Cheju Island, Korea},
  Publisher      = {IEEE},
  booktitle      = {Proceedings of the 5th Workshop on Future Trends of
                   Distributed Computing Systems},
  isbn           = {0-8186-7125-4},
  keywords       = {distributed scglib},
  misc           = {August 28-30},
  month          = aug,
  year           = 1997
}

@Article{Caro90c,
  Author         = {Denis Caromel},
  Title          = {Concurrency and Reusability: From Sequential to
                   Parallel},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {3},
  Number         = {3},
  Pages          = {34-42},
  keywords       = {olit-obcl eiffel joop},
  month          = sep,
  year           = 1990
}

@Article{Chik90a,
  Author         = {Elliot Chikofsky and Cross II, James},
  Title          = {Reverse Engineering and Design Recovery: A Taxonomy},
  Journal        = {IEEE Software},
  Volume         = {7},
  Number         = {1},
  Pages          = {13-17},
  doi            = {http://dx.doi.org/10.1109/52.43044},
  keywords       = {reeng reveng},
  month          = jan,
  publisher      = {IEEE Computer Society Press},
  year           = 1990
}

@InCollection{Huet89a,
  Author         = {Hans H{\"u}ttel and Kim G. Larsen},
  Title          = {The Use of Static Constructs in a Modal Process Logic},
  BookTitle      = {Logic at Botik 89},
  Publisher      = {Springer-Verlag},
  Volume         = {363},
  Series         = {LNCS},
  Pages          = {163-180},
  keywords       = {pcalc ccs logic binder},
  year           = 1989
}

@TechReport{Vahd92a,
  Author         = {A. Vahdat},
  Title          = {The design of a Meta-Object Protocol controlling the
                   behavior of a scheme interpreter},
  Institution    = {Xerox Parc},
  year           = 1992
}

@InProceedings{Barb91a,
  Author         = {Gilles Barbedette},
  Title          = {Schema Modifications in the LISPO\_2 Persistent
                   Object-Oriented Language},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {77-96},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oopl ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Book{Fell01a,
  Author         = {Matthias Felleisen and Robert Bruce Findler and
                   Matthew Flatt and Shiram Krishnamurthi},
  Title          = {How to Design Programs},
  Publisher      = {The MIT Press},
  keywords       = {scglib},
  year           = 2001
}

@Book{Kras83a,
  Author         = {G. Krasner},
  Title          = {Smalltalk-80: Bits of History, Words of Advice},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-11669-3},
  keywords       = {olit-oopl smalltalk implementationE casais oobib oopl
                   book scglib},
  year           = 1983
}

@TechReport{Dami88b,
  Author         = {Laurent Dami},
  Title          = {Musical Scripts},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  editor         = {D. Tsichritzis},
  keywords       = {olit scripts osg aoe88},
  month          = jun,
  pages          = {162-171},
  year           = 1988
}

@MastersThesis{Golo01a,
  Author         = {Georges Golomingi Koni-N'sapu},
  Title          = {A Scenario Based Approach for Refactoring Duplicated
                   Code in Object Oriented Systems},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Code duplication is one of the factors that severely
                   complicates the maintenance and evolution of large
                   software systems. Tools exist that allow detection of
                   duplicated code. Technics to change, correct and
                   improve code exist also. But it is difficult to find
                   programs that work between both domains. In this work,
                   we discuss a scenario based approach to analyze,
                   categorize and remove duplicated code in an object
                   oriented context. The scenario is defined as the
                   relationship between classes containing methods where
                   the duplications were found. A prototype framework,
                   SUPREMO, has been developed to validate our approach.
                   It is characterized by the following aspect: (a)
                   Visualization of the scenario in a graphical global
                   context that gives the developer the possibility to see
                   the impact of the duplication. (b) Visualization of the
                   source code in a textual viewer where a pop-up menu
                   gives the user the opportunity to refactor. Nine case
                   studies (seven written in Smalltalk, one in C++ and one
                   in Java) are analyzed. A presentation of statistical
                   results and a discussion about the qualitative aspect
                   of three applications developed in the SCG group are
                   presented. The qualitative validation is illustrated
                   with a list of examples that simulate the functioning
                   of SUPREMO.},
  keywords       = {scg-pub skipdoi scg-msc jb01 snf02},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Golo01a.pdf},
  year           = 2001
}

@Book{Chil00a,
  Author         = {Childs, Matt and Lomax, Paul and Petrusha, Ron},
  Title          = {{VBScript in a Nutshell}},
  Publisher      = {O'Reilly},
  isbn           = {ISBN 1-56592-720-6},
  keywords       = {olit scripting vbscript scglib},
  month          = may,
  url            = {http://www.oreilly.com/catalog/vbscriptian/index.html},
  year           = 2000
}

@Article{Fitc69a,
  Author         = {Walter M. Fitch},
  Title          = {Locating Gaps in Amino Acid Sequences to Optimize the
                   Homology between Two Proteins},
  Journal        = {Biochemical Genetics},
  Volume         = {3},
  Pages          = {99-108},
  year           = 1969
}

@Article{Roth01b,
  Author         = {Gregg Rothermel and Margaret Burnett and Lixin Li and
                   Christopher Dupuis and Andrei Sheretov},
  Title          = {A methodology for testing spreadsheets},
  Journal        = {ACM Trans. Softw. Eng. Methodol.},
  Volume         = {10},
  Number         = {1},
  Pages          = {110--147},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/366378.366385},
  issn           = {1049-331X},
  keywords       = {testing},
  publisher      = {ACM Press},
  year           = 2001
}

@Article{Stef85a,
  Author         = {Mark Stefik and Daniel G. Bobrow},
  Title          = {Object-Oriented Programming: Themes and Variations},
  Journal        = {The AI Magazine},
  keywords       = {olit survey oobib(gen)},
  month          = dec,
  year           = 1985
}

@Misc{LightsOut,
  Title          = {{Lights} {Out}},
  Note           = {http://en.wikipedia.org/wiki/\-Lights\_Out\-\_(game)},
  key            = {LightsOut},
  keywords       = {games examples},
  url            = {http://en.wikipedia.org/wiki/Lights_Out_(game)}
}

@InProceedings{Nier05d,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse and Serge
                   Demeyer},
  Title          = {Object-oriented Reengineering Patterns --- an Overview},
  BookTitle      = {Proceedings of Generative Programming and Component
                   Engineering (GPCE 2005)},
  Editor         = {Robert Gl\"uck, Michael Lowry},
  Pages          = {1-9},
  Publisher      = {LNCS 3676},
  Note           = {Invited paper},
  abstract       = {Successful software systems must be prepared to evolve
                   or they will die. Although object-oriented software
                   systems are built to last, over time they degrade as
                   much as any legacy software system. As a consequence,
                   one must invest in reengineering efforts to keep
                   further development costs down. Even though software
                   systems and their business contexts may differ in
                   countless ways, the techniques one uses to understand,
                   analyze and transform these systems tend to be very
                   similar. As a consequence, one may identify various
                   reengineering patterns that capture best practice in
                   reverse- and re-engineering object-oriented legacy
                   systems. We present a brief outline of a large
                   collection of these patterns that have been mined over
                   several years of experience with object-oriented legacy
                   systems, and we indicate how some of these patterns can
                   be supported by appropriate tools.},
  annote         = {invited},
  cvs            = {GPCE05ReengPatterns},
  doi            = {http://dx.doi.org/10.1007/11561347_1},
  isbn           = {3-540-29138-5},
  keywords       = {stefPub recast06 scg-pub jb06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05dReengineeringPatterns.pdf},
  year           = 2005
}

@Misc{Good97a,
  Author         = {Goodnow II, James E. and Jonathan I. Helfman and
                   Thaddeus J. Kowalski and John J. Puttress and James R.
                   Rowland and Carl R. Seaquist},
  Title          = {Method of identifying similarities in code segments},
  HowPublished   = {United States Patent 5,699,507},
  keywords       = {clones},
  month          = dec,
  url            = {http://patft.uspto.gov/netahtml/search-bool.html},
  year           = 1997
}

@InProceedings{Arev05b,
  Author         = {Gabriela Ar{\'e}valo and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Discovering Unanticipated Dependency Schemas in Class
                   Hierarchies},
  BookTitle      = {Proceedings of 9th European Conference on Software
                   Maintenance and Reengineering (CSMR'05)},
  Pages          = {62-71},
  Publisher      = {IEEE Computer Society},
  abstract       = { Object-oriented applications are difficult to extend
                   and maintain, due to the presence of implicit
                   dependencies in the inheritance hierarchy. Although
                   these dependencies often correspond to well-known
                   schemas, such as hook and template methods, new
                   unanticipated dependency schemas occur in practice, and
                   can consequently be hard to recognize and detect. To
                   tackle this problem, we have applied Concept Analysis
                   to automatically detect recurring dependency schemas in
                   class hierarchies used in object-oriented applications.
                   In this paper we describe our mapping of OO
                   dependencies to the formal framework of Concept
                   Analysis, we apply our approach to a non-trivial case
                   study, and we report on the kinds of dependencies that
                   are uncovered with this technique. As a result, we show
                   how the discovered dependency schemas correspond not
                   only to good design practices, but also to bad smells
                   in design. },
  annote         = {internationalconference},
  cvs            = {ConAnCSMR05ClassHierarchies},
  doi            = {http://dx.doi.org/10.1109/CSMR.2005.24},
  keywords       = {scg-pub arevalo jb05 recast05 stefPub moose-pub},
  location       = {Manchester, United Kingdom},
  misc           = {acceptance rate: 33/81 = 41\%},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev05bCSMR05ClassHierarchies.pdf},
  year           = 2005
}

@Article{Oust98a,
  Author         = {John K. Ousterhout},
  Title          = {Scripting: Higher Level Programming for the 21st
                   Century},
  Journal        = {IEEE Computer},
  Volume         = {31},
  Number         = {3},
  Pages          = {23-30},
  keywords       = {tcl tcltk scripting},
  month          = mar,
  url            = {http://www.scriptics.com/people/john.ousterhout/scripting.ps},
  year           = 1998
}

@InProceedings{Eles97a,
  Author         = {Eles P. and Peng Z. and Kuchcinski K. and Doboli A.},
  Title          = {System Level Hardware/Software Partitioning Based on
                   Simulated Annealing and Tabu Search},
  BookTitle      = {Design Automation for Embedded Systems},
  Volume         = {2},
  Pages          = {5-32},
  Publisher      = {Springer Formerly Kluwer Academic Publishers},
  keywords       = {simulated annealing},
  month          = jan,
  url            = {http://www.springerlink.com/index/N0M725Q46126V741.pdf},
  year           = 1997
}

@InProceedings{Berg84c,
  Author         = {H.L. Berghel and D.L. Sallach},
  Title          = {Measurements of Program Similarity in Identical Task
                   Environments},
  BookTitle      = {SIPLAN-Notices},
  Volume         = {9/8},
  Pages          = {65-76},
  year           = 1984
}

@InProceedings{Diet89a,
  Author         = {Dietrich, Jr., Walter C. and Lee R. Nackman and
                   Franklin Gracer},
  Title          = {Saving a Legacy With Objects},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {77-84},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Dao02a,
  Author         = {Michel Dao and Marianne Huchard and Th{\'e}r{\`e}se
                   Libourel and Cyril Roume and Herv{\'e} Leblanc},
  Title          = {A {New} {Approach} to {Factorization}: {Introducing}
                   {Metrics}},
  BookTitle      = {Proceedings of {METRICS} '02 (8$_{th}$ IEEE
                   International Symposium on Software Metrics},
  Pages          = {227-236},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@Article{Bake96a,
  Author         = {Brenda S. Baker},
  Title          = {Parameterized Pattern Matching: Algorithms and
                   Applications},
  Journal        = {Journal Computer System Science},
  Volume         = {52},
  Number         = {1},
  Pages          = {28-42},
  keywords       = {clones},
  month          = feb,
  url            = {http://cm.bell-labs.com/cm/cs/doc/94/2-bsb-1.ps.gz},
  year           = 1996
}

@InProceedings{Tran00a,
  Author         = {John B. Tran and Michael W. Godfrey and Eric H. S. Lee
                   and Richard C. Holt},
  Title          = {Architectural Repair of Open Source Software.},
  BookTitle      = {IWPC},
  Pages          = {48-59},
  year           = 2000
}

@Misc{SunJ2EEPatterns,
  Title          = {Sun J2EE Patterns Catalogue},
  Note           = {http://java.sun.com\-/blue\-prints\-/core\-j2ee\-patterns\-/Patterns\-/index.html},
  key            = {SunJ2EEPatterns},
  url            = {http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html}
}

@MastersThesis{Schl03a,
  Author         = {Andreas Schlapbach},
  Title          = {Enabling White-Box Reuse in a Pure Composition
                   Language},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Inheritance is a key concept of object-oriented
                   programming languages, features such as conceptual
                   modeling and reusability are largely accredited to it.
                   While many useful components have been, and will be,
                   developed in this paradigm, the form of white-box reuse
                   covered by inheritance has a fundamental flaw: reusing
                   components by inheritance requires an understanding of
                   the internals of the components. We can not treat
                   components of object-oriented languages as black-box
                   entities, inheritance breaks encapsulation and
                   introduces subtle dependencies between base and
                   extending classes. Component-oriented programming
                   addresses this problem by shifting away from
                   programming towards software composition. We build
                   applications by scripting components. Instead of
                   overriding the internals of a component, we focus on
                   composing its interfaces only. This form of black-box
                   reuse leads to a flexible and extendible architecture
                   with reusable components. In this master's thesis we
                   propose a migration strategy from class inheritance---a
                   whitebox form of reuse---to component composition as a
                   black-box form of reuse. We present a language
                   extension that gives us the power of inheritance
                   combined with the ease of scripting. It enables us to
                   reuse Java components using inheritance in JPiccola---a
                   small, pure and general composition language
                   implemented on the Java platform---at a high level of
                   abstraction. Using the services provided by the
                   language extension we can seamlessly generate
                   interfaces and subclasses from JPiccola. This
                   capability greatly increases the number of components
                   scriptable from JPiccola. To validate the usefulness of
                   our language extension we demonstrate how we can script
                   various Java components by de ning services and
                   compositional styles. We thus turn white-box components
                   of Java into black-box components in Piccola.},
  keywords       = {snf03 piccola scg-pub skipdoi jb03 scg-msc},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Schl03a.pdf},
  year           = 2003
}

@InProceedings{Wolc87a,
  Author         = {Mario Wolczko},
  Title          = {Semantics of {Smalltalk}-80},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {108-120},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit semantics smalltalk ecoop87proc oobib(gen)},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@InProceedings{Wu92a,
  Author         = {Sun Wu and Udi Manber},
  Title          = {AGREP --- A fast approximate pattern matching tool},
  BookTitle      = {Proceedings of the Usenix Winter 1992 Technical
                   Conference},
  Pages          = {153-162.},
  year           = 1992
}

@Book{Andr92d,
  Author         = {Michael Andres and Anke Richter},
  Title          = {Beschreibung `mobiler Prozesse' mit Graphgrammatiken},
  Publisher      = {Studienarbeit, Universit{\"a}t Erlangen},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@TechReport{Hofm99a,
  Author         = {Thomas F. Hofmann},
  Title          = {StudentInnen-Verwaltungs-System am Institut f{\"u}r
                   Informatik der Universit{\"a}t Bern},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Hofm99a.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Projects/Hofm99a-code.pdf},
  year           = 1999
}

@InProceedings{Haar90a,
  Author         = {Volker Haarslev and Ralf M{\"o}ller},
  Title          = {A Framework for Visualizing Object-Oriented Systems},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {237-244},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Unpublished{Gene94a,
  Author         = {Michael Genesereth and Narinder P. Singh and Mustafa
                   A. Syed},
  Title          = {A Distributed and Anonymous Knowledge Sharing Approach
                   to Software Interoperation},
  Note           = {Stanford University},
  keywords       = {components agents interoperation oobib(ocdp) binder},
  month          = nov,
  type           = {Draft},
  year           = 1994
}

@InProceedings{Ball86a,
  Author         = {Mark B. Ballard and David Maier and Allen Wirfs-Brock},
  Title          = {Quicktalk: {A} {Smalltalk}-80 Dialect for Defining
                   Primitive Methods},
  BookTitle      = {Proceedings OOPSLA '86},
  Volume         = {21},
  Pages          = {140-150},
  keywords       = {olit-oopl quicktalk smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@Misc{SharpSmalltalk,
  Author         = {John Brant and Don Roberts},
  Title          = {\#{Smalltalk} ({Sharp} {Smalltalk})},
  Note           = {\\ \url{http://www.refactory.com/Software/SharpSmalltalk/}},
  key            = {SharpSmalltalk},
  keywords       = {smalltalk dotnet},
  url            = {http://www.refactory.com/Software/SharpSmalltalk/},
  month = aug,
  year = 2010
}

@InProceedings{Goke02a,
  Author         = {Ayse G\"oker and Hans I. Myrhaug},
  Title          = {User context and Personalisation},
  BookTitle      = {ECCBR Workshop on Case Based Reasoning and
                   Personalisation},
  Address        = {Aberdeen, UK},
  Note           = {invited paper},
  url            = {https://www.cs.tcd.ie/cbrpws/Papers/AGoker.pdf},
  year           = 2002
}

@InProceedings{Pach94a,
  Author         = {F. Pachet and F. Wolinski and S. Giroux},
  Title          = {{Plugglable Advisors as Epiphyte Systems}},
  BookTitle      = {Calisce '94 (Computer Aided Learning in Science and
                   Engineering},
  Pages          = {167-174},
  Address        = {Paris},
  month          = aug,
  year           = 1994
}

@PhdThesis{Merr00a,
  Author         = {Massimo Merro},
  Title          = {Locality in the $\pi$-calculus and applications to
                   distributed object},
  School         = {Ecole de Mines de Paris},
  keywords       = {PiSem},
  month          = oct,
  year           = 2000
}

@InProceedings{Jaga92a,
  Author         = {Suresh Jagannathan and Gul Agha},
  Title          = {A Reflective Model of Inheritance},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {350-371},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  abstract       = {We present an alternative treatment of namespace
                   construction and manipulation. The {\em reflective}
                   model is based on a semantic transformation technique
                   that provides flexible {\em mechanisms} for managing
                   namespaces. We argue that given the ability to
                   manipulate environments directly, one can realize a
                   variety of different object-oriented paradigms within a
                   unified and simple framework. Starting from a kernel
                   language whose foundation is the simply typed
                   $\lambda$-calculus, we develop a small collection of
                   environment manipulating primitives that provide an
                   expressive platform within which a number of
                   inheritance-related abstractions can be realized.},
  keywords       = {olit-inheritance ecoop92proc},
  month          = jun,
  url            = {ftp://biobio.cs.uiuc.edu/pub/papers/reflective},
  year           = 1992
}

@Book{Adob90c,
  Author         = {Adobe Systems Incorporated},
  Title          = {PostScript Language Program Design},
  Publisher      = {Addison Wesley},
  keywords       = {scglib book},
  year           = 1990
}

@Article{Stor02a,
  Author         = {Margaret-Anne D. Storey and Susan Elliott Sim and
                   Kenny Wong},
  Title          = {A Collaborative Demonstration of Reverse Engineering
                   Tools},
  Journal        = {ACM SIGAPP Applied Computing Review},
  Volume         = {10},
  Number         = {1},
  Pages          = {18-25},
  publisher      = {ACM},
  year           = 2002
}

@InCollection{Pint95a,
  Author         = {Xavier Pintado},
  Title          = {The Affinity Browser},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {245-272},
  abstract       = {Large numbers of classes, complex inheritance and
                   containment graphs, and diverse patterns of dynamic
                   interaction all contribute to difficulties in
                   understanding, reusing, debugging, and tuning large
                   object-oriented systems. These difficulties may have a
                   significant impact on the usefulness of such systems.
                   Tools that help in understanding the contents and
                   behaviour of an object-oriented environment should play
                   a major role in reducing such difficulties. Such tools
                   allow for the exploration of different aspects of a
                   software environment such as inheritance structures,
                   part-of relationships, etc. However, object-oriented
                   systems differ in many respects from traditional
                   database systems, and in particular, conventional
                   querying mechanisms used in databases show poor
                   performance when used for the exploration of
                   objectoriented environments. This chapter defines the
                   requirements for effective exploration mechanisms in
                   the realm of object-oriented environments. We propose
                   an approach to browsing based on the notion of affinity
                   that satisfies such requirements. Our tool, the
                   affinity browser, provides a visual representation of
                   object relationships presented in terms of affinity.
                   Objects that appear closer in the visual representation
                   are more strongly related than objects lying farther
                   apart. So, the intensity of a relationship is
                   translated into distance in the visual representation
                   that provides the support for user navigation. We
                   provide many examples of metrics defined over the
                   objects of an environment to illustrate how object
                   relationships can be translated in terms of affinity so
                   that they can be used for the exploration of an
                   environment.},
  keywords       = {olit osg OOSC09},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@InProceedings{Born82a,
  Author         = {Alan H. Borning and Daniel H.H. Ingalls},
  Title          = {Multiple Inheritance in {Smalltalk}-80},
  BookTitle      = {Proceedings at the National Conference on AI},
  Pages          = {234-237},
  Address        = {Pittsburgh, PA},
  keywords       = {olit-inheritance smalltalk casais oobib(inh)},
  year           = 1982
}

@InProceedings{Pomb94a,
  Author         = {G. Pomberger and W. Pree},
  Title          = {Quantitative and Qualitative Aspects of
                   Object-Oriented Software Development},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Series         = {LNCS 858},
  Pages          = {96-107},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94 scglib},
  year           = 1994
}

@Article{Tanz95a,
  Author         = {C. Tanzer},
  Title          = {Remarks on object-oriented modeling of associations},
  Journal        = {JOOP},
  Pages          = {43-46},
  month          = feb,
  year           = 1995
}

@InProceedings{Masu95a,
  Author         = {Hidehiko Masuhara and Satoshi Matsuoka Kenichi Asai
                   and Akinori Yonezawa},
  Title          = {{Compiling Away the Meta-Level in Object-Oriented
                   Concurrent Reflective Languages Using Partial
                   Evaluation }},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {300-315},
  Address        = {Austin},
  Organization   = {ACM},
  month          = oct,
  year           = 1995
}

@InCollection{Mads80a,
  Author         = {Ole Lehrmann Madsen},
  Title          = {On Defining Semantics by Means of Extended Attribute
                   Grammars},
  BookTitle      = {Semantics-Directed Compiler Generation},
  Publisher      = {Springer-Verlag},
  Editor         = {N.D. Jones},
  Volume         = {94},
  Series         = {LNCS},
  Pages          = {259-299},
  keywords       = {compiler generator patterns},
  year           = 1980
}

@InProceedings{Lars88a,
  Author         = {Kim G. Larsen},
  Title          = {Proof Systems for Hennessy-Milner Logic with Recursion},
  BookTitle      = {Proceedings CAAP '88},
  Editor         = {M. Dauchet and M. Nivat},
  Volume         = {299},
  Series         = {LNCS},
  Pages          = {215-230},
  Address        = {Nancy},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence ccs binder(ccs) caap88},
  month          = mar,
  year           = 1988
}

@InProceedings{Atki01a,
  Author         = {Colin Atkinson and Thomas Kuehne},
  Title          = {The essence of Multilevel Metamodeling},
  BookTitle      = {Proceedings of the UML Conference},
  Number         = {2185},
  Series         = {LNCS},
  Pages          = {19--33},
  year           = 2001
}

@Book{Hand02a,
  Author         = {Per Brinch Hansen},
  Title          = {The Origin of Concurrent Programming},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 2002
}

@InProceedings{Wirf88a,
  Author         = {Allen Wirfs-Brock and Brian Wilkerson},
  Title          = {An Overview of Modular {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '88},
  Pages          = {123-134},
  keywords       = {olit oopsla88 modular smalltalk},
  month          = nov,
  year           = 1988
}

@InProceedings{Thur89a,
  Author         = {M.B. Thuraisingham},
  Title          = {Mandatory Security in Object-Oriented Database Systems},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {203-210},
  keywords       = {olit-db oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Hump00a,
  Author         = {Watts Humphrey},
  Title          = {Introduction to the Team Software Process},
  Publisher      = {Addison Wesley},
  Series         = {SEI Series in Software Engineering},
  isbn           = {0-201-47719-X},
  keywords       = {scglib},
  year           = 2000
}

@Article{Wiil96m,
  Author         = {Uffe Kock Wiil and Serge Demeyer},
  Title          = {Workshop report: 2nd Workshop on Open Hypermedia
                   Systems},
  Journal        = {SIGLINK Newsletter},
  Volume         = {5},
  Number         = {2},
  keywords       = {hypermedia sergedem-papunr},
  month          = jun,
  publisher      = {ACM},
  url            = {http://www.iam.unibe.ch/~demeyer/Wiil96m},
  year           = 1996
}

@InCollection{Card85b,
  Author         = {Luca Cardelli},
  Title          = {Amber},
  BookTitle      = {Combinators and Functional Programming Languages, 13th
                   Spring School of the LITP},
  Publisher      = {Springer-Verlag},
  Editor         = {Cousineau and Curien and Robinet},
  Volume         = {242},
  Series         = {LNCS},
  Pages          = {21-47},
  keywords       = {fpl types amber},
  year           = 1985
}

@TechReport{Reic05a,
  Author         = {Stefan Reichhart},
  Title          = {A Prototype of {Traits} for {C\#}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Traits are a well-known simple, but powerful
                   compositional model for reuse. Although traits already
                   implemented in dynamically typed languages, they're not
                   yet practically realized in statically typed languages.
                   Typing traits and adapting the model to these languages
                   is more complex to achieve. We report on our experience
                   and practical research implementing traits in {C\#}
                   2.0, concerning generics. We show the difficulties and
                   possible solutions of typing and parameterizing traits
                   in generally, possible enhancements for statically
                   typed languages as well as adapting traits to {C\#}
                   regarding features like overriding and hiding. },
  keywords       = {scg-ip jb06 snf06 scg-pub skipdoi scg-rotor traits
                   {C\#}},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Reic05a.pdf},
  year           = 2005
}

@Article{Wu84a,
  Author         = {M. Wu and T. Hwang},
  Title          = {Access Control with Single-Key-Lock},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = {3},
  Pages          = {185-191},
  keywords       = {security os},
  month          = mar,
  year           = 1984
}

@InProceedings{Bona86a,
  Author         = {Jeff Bonar and Robert Cunningham and Jamie Schultz},
  Title          = {An Object-Oriented Architecture for Intelligent
                   Tutoring Systems},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {269-276},
  keywords       = {olit-appl bridge loops) oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Cald92a,
  Author         = {Paul Calder and Mark Linton},
  Title          = {The Object-Oriented Implementation of a Document
                   Editor},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {154-165},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Abow93a,
  Author         = {Gregory Abowd and Robert Allen and David Garlan},
  Title          = {Using Style to Understand Descriptions of Software
                   Architecture},
  BookTitle      = {Proceedings SIGSOFT 93, ACM Software Engineering Notes},
  Volume         = 18,
  Pages          = {9-20},
  keywords       = {olit visprog composition architecture binder},
  month          = dec,
  year           = 1993
}

@Article{John88b,
  Author         = {Ralph E. Johnson and Brian Foote},
  Title          = {Designing Reusable Classes},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {1},
  Number         = {2},
  Pages          = {22-35},
  keywords       = {olit-reuse binder(oop) oobib(gen) joop},
  url            = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/designing-reusable-classes.ps
                   ftp://p300.cpl.uiuc.edu/pub/foote/DRC.ps},
  year           = 1988
}

@Article{Tsic82c,
  Author         = {Dennis Tsichritzis},
  Title          = {Form Management},
  Journal        = {CACM},
  Volume         = {25},
  Number         = {7},
  Pages          = {453-478},
  keywords       = {oislit ofs forms},
  month          = jul,
  year           = 1982
}

@InProceedings{Robb05b,
  Author         = {Romain Robbes and St\'ephane Ducasse and Michele Lanza},
  Title          = {Microprints: A Pixel-based Semantically Rich
                   Visualization of Methods},
  BookTitle      = {Proceedings of 13th International Smalltalk Conference
                   (ISC'05)},
  Pages          = {131-157},
  abstract       = {Understanding classes and methods is a key activity in
                   object-oriented programming, since classes represent
                   the primary abstractions from which applications are
                   built, while methods contain the actual program logic.
                   The main problem of this task is to quickly grasp the
                   purpose and inner structure of a class. To achieve this
                   goal, one must be able to overview multiple methods at
                   once. In this paper, we present microprints,
                   pixel-based representations of methods enriched with
                   semantical information. We present three specialized
                   microprints each dealing with a specific aspect we want
                   to understand of methods: (1) state access, (2) control
                   flow, and (3) invocation relationship. We present the
                   microprints in conjunction with the class blueprints of
                   the CODE CRAWLER visualization tool [12] and also
                   integrated into the default code browser of the
                   Smalltalk VisualWorks development environment.},
  annote         = {internationalconference},
  keywords       = {scg-pub skipdoi stefPub snf05 jb06 listic},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Robb05b-microprintsESUG.pdf},
  year           = 2005
}

@InProceedings{Zund96a,
  Author         = {A. Z{\"u}ndorf},
  Title          = {Graph pattern matching in PROGRES},
  BookTitle      = {Proc. Fifth Intl. Workshop on Graph Grammars and Their
                   Application to Comp. Sci.},
  Volume         = {1073},
  Pages          = {454-468},
  Publisher      = {Springer},
  url            = {http://citeseer.nj.nec.com/zundorf96graph.html},
  year           = 1996
}

@Book{Atki91a,
  Author         = {Colin Atkinson},
  Title          = {Object-Oriented Reuse, Concurrency and Distribution},
  Publisher      = {Addison Wesley/ACM Press},
  Address        = {Reading, Mass.},
  isbn           = {0-201-56527-7},
  keywords       = {olit-obc dragoon book scglib},
  year           = 1991
}

@Article{Grie81a,
  Author         = {Sam Grier},
  Title          = {A Tool that Detects Plagiarism in {PASCAL} Programs},
  Journal        = {SIGSCE Bulletin},
  Volume         = {13},
  Number         = {1},
  keywords       = {plagiarism},
  year           = 1981
}

@Booklet{Schf99a,
  Title          = {Round Trip Engineering with {Design} {Patterns},
                   {UML}, {Java} and {C}++},
  Author         = {Wilhelm Sch{\"a}fer and Albert Z{\"u}ndorf},
  HowPublished   = {ESEC/FSE 99 Tutorial Notes},
  month          = sep,
  year           = 1999
}

@TechReport{Cunn93a,
  Author         = {P\'adraig Cunningham and Alexander N. Mikoyan},
  Title          = {Using {CBR} Techniques to Detect Plagiarism in
                   Computing Assignments},
  Institution    = {Trinity College, Dublin},
  Number         = {TCD-CS-93-22},
  annotate       = {Also {inProceedings} of the First European Workshop on
                   Case-Based Reasoning, Kaiserslauten, Germany)},
  keywords       = {plagiarism},
  url            = {http:://citeseer.ist.psu.edu/cunningham93using.html},
  year           = 1993
}

@Article{Jenn95a,
  Author         = {Nicholas Jennings and Michael Wooldridge},
  Title          = {Applying Agent Technology},
  Journal        = {Applied Artificial Intelligence An International
                   Journal},
  Volume         = {9},
  Number         = {4},
  Pages          = {351-361},
  keywords       = {agents dai},
  year           = 1995
}

@InProceedings{Berg91b,
  Author         = {Paul L. Bergstein},
  Title          = {Object-Preserving Class Transformations},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {299-313},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Sale92a,
  Author         = {Hayssam Saleh and Philippe Gautron},
  Title          = {A Concurrency Control Mechanism for {C}++ Objects},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {195-210},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@TechReport{Nier82a,
  Author         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Message Flow Modeling},
  Institution    = {Computer Systems Research Group, University of Toronto},
  Type           = {Alpha Beta, Technical Report},
  Number         = {143},
  abstract       = {A message management system provides users with a
                   facility for automatically handling messages. This
                   paper describes a technique for characterizing the
                   behaviour of such a system in terms of message flow.
                   Messages may be conveniently classed according to what
                   \fIpath\fR or sequences of stations they visit.
                   Complicated or unpredictable behaviour may be modeled
                   non-deterministically, and the resulting message paths
                   are shown to be regular expressions.},
  keywords       = {oislit skipdoi mail modeling},
  pages          = {78-95},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier82aMessageFlowModeling.pdf},
  year           = 1982
}

@InProceedings{Mey92e,
  Author         = {Vicki de Mey and Christian Breiteneder and Laurent
                   Dami and Simon Gibbs and Dennis Tsichritzis},
  Title          = {Visual Composition and Multimedia},
  BookTitle      = {Proceedings of Eurographics 1992, Computer Graphics
                   Forum},
  Volume         = {11},
  Pages          = {9-22},
  Publisher      = {Blackwell Publishers},
  keywords       = {olit-ithaca osg of92 vista},
  year           = 1992
}

@InProceedings{Rade99a,
  Author         = {Ansgar Radermacher},
  Title          = {Support for Design Patterns Through Graph
                   Transformation Tools},
  BookTitle      = {AGTIVE},
  Pages          = {111-126},
  url            = {http://citeseer.nj.nec.com/radermacher98support.html},
  year           = 1999
}

@InCollection{Okam93a,
  Author         = {Hideaki Okamura and Yutaka Ishikawa and Mario Tokoro},
  Title          = {Metalevel Decomposition in {AL}-1/{D}},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {110-127},
  abstract       = {Research has shown that metalevel architectures and
                   the concept of reflection are useful for modifying
                   programming systems dynamically in a controlled way. To
                   modify the system flexibly, it is necessary to
                   represent various abstraction levels, from the
                   programing language level to the OS level, as well as
                   user's multiple views, such as the view where the
                   distributed environment is transparent and the view
                   where that is not transparent, in a programming system.
                   In traditional reflective systems, it is, however,
                   difficult to represent these aspects of the system
                   because these systems are modeled by one metalevel. To
                   overcome this problem, we have proposed a new
                   reflection framework: Multi-Model Reflection Framework
                   (MMRF), and implemented a programming system AL-1/D
                   based on this framework. This paper gives a clearer
                   definition of MMRF than in our previous paper. MMRF is
                   a framework for decomposing a metalevel into multiple
                   conceptual models according to the abstraction levels
                   and user's views. These conceptual models may overlap
                   each other in their functions and resources. The
                   decomposed models should run concurrently because
                   models represents system components running
                   concurrently in a system. The definition of MMRF
                   includes the conditions to enable models to run
                   simultaneously without violenting consistently. The
                   structure of a model includes information to decide
                   whether or not these conditions are satisfied.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Carz98a,
  Author         = {Antonio Carzaniga and Elisabetta Di Nitto and David S.
                   Rosenblum and Alexander L. Wolf},
  Title          = {Issues in Supporting Event-Based Architectural Styles},
  BookTitle      = {Third International Software Architecture Workshop},
  Pages          = {17-20},
  Address        = {Orlando, Florida},
  keywords       = {event style},
  month          = nov,
  year           = 1998
}

@TechReport{Ross06,
  Author         = {Guido van Rossum and Nick Coghlan},
  Title          = {The ``with'' Statement ({Python} Enhancement Proposal
                   343)},
  Institution    = {Python Software Foundation},
  url            = http://www.python.org/dev/peps/pep-0343/,
  year           = 2006
}

@InProceedings{Scot82a,
  Author         = {Dana Scott},
  Title          = {Domains for Denotational Semantics},
  BookTitle      = {Proceedings ICALP '82},
  Editor         = {M. Nielsen and E.M. Schmidt},
  Volume         = {140},
  Series         = {LNCS},
  Pages          = {577-613},
  Address        = {Aarhus, DK},
  Publisher      = {Springer-Verlag},
  keywords       = {pl-semantics domains icalp82 binder},
  month          = jul,
  year           = 1982
}

@Book{Nilg04a,
  Author         = {Edward G. Nilges},
  Title          = {Build Your Own .NET Language and Compiler},
  Publisher      = {Springer-Verlag},
  Address        = {New York, United States},
  isbn           = {1-59059-134-8},
  keywords       = {binder(shelf) book scglib},
  year           = 2004
}

@Book{Elie95a,
  Author         = {Anton Eliens},
  Title          = {Principles of Object-Oriented Software Development},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-62444-3},
  keywords       = {oobib(gen) book scglib},
  year           = 1995
}

@Unpublished{Foot94a,
  Author         = {Brian Foote and William F. Opdyke},
  Title          = {Evolve Aggregations From Inheritance Hierarchies: {A}
                   Consolidation Pattern to Support Evolution and Reuse},
  Note           = {Department of Computer Science University of Illinois
                   at Urbana-Champaign Urbana},
  abstract       = {Reusable objects are the result of an iterative,
                   evolutionary process. This evolution proceeds as
                   designers refactor their designs to address hanging
                   requirments and improve the structural integrity and
                   reusability of their designs. As objects mature,
                   relationships based on aggregation replace casual
                   inheritance.},
  keywords       = {olit-reuse binder},
  type           = {draft},
  url            = {ftp://p300.cpl.uiuc.edu/pub/foote/aggregates.ps},
  year           = 1994
}

@InProceedings{Wuyt98a,
  Author         = {Roel Wuyts},
  Title          = {Declarative Reasoning about the Structure
                   Object-Oriented Systems},
  BookTitle      = {Proceedings of the TOOLS USA '98 Conference},
  Pages          = {112-124},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  keywords       = {olit reveng SOUL oorp},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt98a.pdf},
  year           = 1998
}

@InCollection{Mora99a,
  Author         = {A. K. Moran and D. Sands and M. Carlsson},
  Title          = {Erratic {Fudgets}: {A} semantic theory for an embedded
                   coordination language},
  BookTitle      = {Coordination '99},
  Publisher      = {Springer-Verlag},
  Volume         = 1594,
  Series         = {{LNCS}},
  month          = apr,
  year           = 1999
}

@Book{Spiv89a,
  Author         = {J. Spivey},
  Title          = {The {Z} Notation: {A} Reference Manual},
  Publisher      = {Prentice-Hall},
  isbn           = {13-978529-9},
  keywords       = {book scglib},
  year           = 1989
}

@InCollection{Breu91a,
  Author         = {P.T. Breuer and K.C. Lano},
  Title          = {Hunting for Objects in the {COBOL} Jungle},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@Article{Lang88a,
  Author         = {Kevin J. Lang and Barak A. Pearlmutter},
  Title          = {Oaklisp: an Object-Oriented Dialect of Scheme},
  Journal        = {Lisp and Symbolic Computation: An International
                   Journal},
  Volume         = {1},
  Number         = {1},
  Pages          = {39-51},
  abstract       = {This paper contains a description of Oaklisp, a
                   dialect of Lisp incorporating lexical scoping, multiple
                   inheritance, and first-class types. This description is
                   followed by a revisionist history of the Oaklisp
                   design, in which a crude map of the space of
                   object-oriented Lisps is drawn and some advantages of
                   first-class types are explored. Scoping issues are
                   discussed, with a particular emphasis on instance
                   variables and top-level namespaces. The question of
                   which should come first, the lambda or the object is
                   addressed, with Oaklisp providing support for the
                   latter approach.},
  keywords       = {olit-oopl oaklisp lisp (smc)},
  month          = may,
  publisher      = {Kluwer Academic Publishers},
  year           = 1988
}

@Article{Meye85a,
  Author         = {J.-J.Ch. Meyer},
  Title          = {Merging Regular Processes by Means of Fixed Point
                   Theory},
  Journal        = {Theoretical Computer Science},
  Volume         = {45},
  Pages          = {193-260},
  keywords       = {pcalc regular processes},
  publisher      = {North-Holland},
  year           = 1985
}

@InProceedings{Daro87a,
  Author         = {Ph. Darondeau and B. Gamatie},
  Title          = {A Fully Observational Model for Infinite Behaviours of
                   Communicating Systems},
  BookTitle      = {Proceedings TAPSOFT '87},
  Editor         = {Ehrig and Kowalski and Levi and Montanari},
  Volume         = {249},
  Series         = {LNCS},
  Pages          = {153-168},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence tapsoft87 tccs binder(ccs)},
  year           = 1987
}

@TechReport{Schm94b,
  Author         = {Douglas C. Schmidt},
  Title          = {The {ADAPTIVE} Communication Environment: An {O}.{O}.
                   Network Programming Toolkit for developing
                   Communication Software},
  Institution    = {Comp. Science Department, Washington University},
  Type           = {Technical Report},
  keywords       = {concurrency networks pattern reuse ACE binder},
  url            = {http://www.cs.wustl.edu/~schmidt/SUG-94.ps.Z},
  year           = 1994
}

@InProceedings{Riek87a,
  Author         = {Wolf-Fritz Riekert},
  Title          = {The {ZOO} Metasystem: {A} Direct-Manipulation
                   Interface to Object-Oriented Knowledge Bases},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Series         = {LNCS 276},
  Pages          = {131-139},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@TechReport{Hond90a,
  Author         = {Kohei Honda and Mario Tokoro},
  Title          = {Objects and Calculi},
  Institution    = {Keio University},
  Type           = {manuscript},
  keywords       = {pcalc-obc mobility binder},
  misc           = {Oct. 20},
  month          = oct,
  year           = 1990
}

@InProceedings{Suny01a,
  Author         = {Suny\'e, Gerson and Pollet, Damien and Le~Traon, Yves
                   and J\'ez\'equel, Jean-Marc},
  Title          = {Refactoring UML Models},
  BookTitle      = {UML~2001 -- The Unified Modeling Language -- Modeling
                   Languages, Concepts, and Tools},
  Editor         = {Gogolla, Martin and Kobryn, Cris},
  Volume         = {2185},
  Series         = {LNCS},
  Pages          = {134-148},
  Address        = {Toronto, Canada},
  Publisher      = {Springer Verlag},
  annote         = {internationalconference},
  isbn           = {3-540-42667-1},
  month          = oct,
  url            = {http://www.irisa.fr/triskell/publis/2001/Sunye01b.pdf},
  year           = 2001
}

@InProceedings{Doda93c,
  Author         = {Mahesh Dodani and J.H. Perng},
  Title          = {{IOWARE}: {A} Design Architecture for Interactive
                   Object-Oriented Frameworks},
  BookTitle      = {International Conference on Computers and
                   Communications},
  Publisher      = {IEEE Computer Society},
  keywords       = {obib(gen) binder},
  year           = 1993
}

@InProceedings{Berg07c,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Colin
                   Putney and Roel Wuyts},
  Title          = {Meta-Driven Browsers},
  BookTitle      = {Advances in Smalltalk --- Proceedings of 14th
                   International Smalltalk Conference (ISC 2006)},
  Volume         = {4406},
  Series         = {LNCS},
  Pages          = {134-156},
  Publisher      = {Springer},
  annote         = {internationalconference},
  keywords       = {stefPub scg-pub jb07 snf06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg07cOmnibrowser.pdf},
  year           = 2007
}

@InProceedings{Agha93c,
  Author         = {Gul Agha and C. J. Callsen},
  Title          = {ActorSpace: An Open Distributed Programming Paradigm},
  BookTitle      = {Proceedings 4th ACM Conference on Principles and
                   Practice of Parallel Programming, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {23-323},
  year           = 1993
}

@Article{Nose90a,
  Author         = {J. T. Nosek and P. Palvia},
  Title          = {Software Maintenance Management: changes in the last
                   decade},
  Journal        = {Software Maintenance: Research and Practice},
  Volume         = {2},
  Number         = {3},
  Pages          = {157-174},
  year           = 1990
}

@Article{Gutt85a,
  Author         = {John V. Guttag and James J. Horning and Jeannette M.
                   Wing},
  Title          = {The {Larch} Family of Specification Languages},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {2},
  Number         = {5},
  Pages          = {24-36},
  month          = sep,
  year           = 1985
}

@Book{Lamb97a,
  Author         = {Kenneth A. Lambert and Martin Osborne},
  Title          = {Smalltalk in Brief},
  Publisher      = {PWS Publishing Company},
  keywords       = {smalltalk scglib},
  year           = 1997
}

@InProceedings{Ehri90a,
  Author         = {H-D. Ehrich and Joseph A. Goguen and Amilcar Sernadas},
  Title          = {A Categorical Theory of Objects as Observed Processes},
  BookTitle      = {Proc. REX/FOOLS Workshop},
  Address        = {Noordwijkerhout},
  Note           = {To appear},
  keywords       = {concurrency binder},
  month          = jun,
  year           = 1990
}

@InProceedings{Turn85a,
  Author         = {David A. Turner},
  Title          = {Miranda: {A} Non-strict Functional Language with
                   Polymorphic Types},
  BookTitle      = {Proceedings Functional Programming languages and
                   Computer Architecture},
  Editor         = {J-P. Jouannaud},
  Volume         = {201},
  Series         = {LNCS},
  Pages          = {1-16},
  Publisher      = {Springer-Verlag},
  keywords       = {fpl miranda},
  year           = 1985
}

@TechReport{Meye93a,
  Author         = {Bertrand Meyer},
  Title          = {Systematic Concurrent Object-Oriented Programming},
  Institution    = {ISE},
  Type           = {ISE},
  Number         = {TR-EI-37/SC},
  keywords       = {olit-obc eiffel binder (shelf)},
  month          = jan,
  year           = 1993
}

@InProceedings{Duca04b,
  Author         = {St\'ephane Ducasse and Michael Freidig and Roel Wuyts},
  Title          = {Logic and Trace-based Object-Oriented Application
                   Testing},
  BookTitle      = {Fifth International Workshop on Object-Oriented
                   Reengineering (WOOR 2004)},
  abstract       = {Due to the size and the extreme complexity of legacy
                   systems, it is nearly impossible to write from scratch
                   tests before refactoring them. In addition
                   object-oriented legacy systems present specific
                   requirements to test them. Indeed late-binding allow
                   subclasses to change fundamental aspects of the
                   superclass code and in particular call flows. Moreover
                   Object-oriented programming promotes a distribution of
                   the responsibilities to multiple entities leading to
                   complex scenario to be tested. In such a context one of
                   the few trustable source of information is the
                   execution of the application itself. Traditional
                   forward engineering approaches such as unit testing do
                   not really provide adequate solution to this problem.
                   Therefore there is a need for a more expressive way of
                   testing the execution of object-oriented applications.
                   We propose to represent the trace of object-oriented
                   applications as logic facts and express tests over the
                   trace. This way complex sequences of message exchanges,
                   sequence matching, or expression of negative
                   information are expressed in compact form. We validated
                   our approach by implementing TestLog a prototype tool
                   and testing the Moose reengineering environment and a
                   meta-interpreter.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi recast04 jb04 evolution visualization
                   test stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca04bTestLogicWoor04.pdf},
  year           = 2004
}

@Article{Burs84a,
  Author         = {Rod Burstall and Butler Lampson},
  Title          = {A Kernel Language for Abstract Data Types and Modules},
  Journal        = {Information and Computation},
  Volume         = 76,
  Number         = {2/3},
  Note           = {Also appeared in Proceedings of the International
                   Symposium on Semantics of Data Types, Springer, LNCS
                   (1984), and as SRC Research Report 1},
  keywords       = {fpl pebble pisem},
  url            = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-001.html},
  year           = 1984
}

@InProceedings{Gueh01a,
  Author         = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Herv{\'e}
                   Albin-Amiot},
  Title          = {Using Design Patterns and Constraints to Automate the
                   Detection and Correction of Inter-Class Design Defects},
  BookTitle      = {proceedings of the 39$^{th}$ conference on the
                   Technology of Object-Oriented Languages and Systems},
  Editor         = {Quioyun Li and Richard Riehle and Gilda Pour and
                   Bertrand Meyer},
  Pages          = {296-305},
  Publisher      = {IEEE Computer Society Press},
  month          = jul,
  url            = {www.yann-gael.gueheneuc.net/Work/Publications/},
  year           = 2001
}

@InProceedings{Mitc04a,
  Author         = {Brian S. Mitchell and Spiros Mancoridis and Martin
                   Traverso},
  Title          = {Using Interconnection Style Rules to Infer Software
                   Architecture Relations},
  BookTitle      = {Proceedings of the Genetic and Evolutionary
                   Computation Conference},
  Address        = {Seattle, Washington},
  keywords       = {design-recovery},
  year           = 2004
}

@Book{Blah95a,
  Author         = {Michael Blaha and William Permerlani Frederick Eddy
                   and William Lorensen and James Rumbaugh},
  Title          = {Mod\'elisation et conception orient\'ees objet},
  Publisher      = {Masson--Prentice-Hall},
  Note           = {seconde \'edition},
  year           = 1995
}

@InCollection{Cons95a,
  Author         = {Panos Constantopoulos and Martin D{\"o}rr},
  Title          = {Component Classification in the Software Information
                   Base},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {177-200},
  abstract       = {A key component in a reuse-oriented software
                   development environment is an appropriate software
                   repository. We present a repository system which
                   supports the entire software development lifecycle,
                   providing for the integrated and consistent
                   representation, organization, storage, and management
                   of reusable artefacts. The system can support multiple
                   development and representation models and is
                   dynamically adaptable to new ones. The chapter focuses
                   on the facilities offered by the system for component
                   classification, an important technique for retrieving
                   reusable software. It is demonstrated that the
                   inherently delicate and complex process of
                   classification is streamlined and considerably
                   facilitated by integrating it into a wider
                   documentation environment and, especially, by
                   connecting it with software static analysis. The
                   benefits in terms of precision, consistency and ease of
                   use can be significant for large scale applications.},
  keywords       = {olit osg ithaca repository abb OOSC07},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@InProceedings{Anto00c,
  Author         = {Giuliano Antoniol and Gerardo Canfora and Gerardo
                   Casazza and Andrea {De Lucia}},
  Title          = {Information Retrieval Models for Recovering
                   Traceability Links between Code and Documentation},
  BookTitle      = {Proceedings of the International Conference on
                   Software Maintenance (ICSM 2000)},
  Pages          = {40--49},
  year           = 2000
}

@Book{Lidin02a,
  Author         = {Serge Lidin},
  Title          = {Inside Microsoft .NET IL Assembler},
  Publisher      = {Microsoft Press},
  Address        = {Redmond, WA, USA},
  isbn           = {0735615470},
  year           = 2002
}

@Book{Nels91a,
  Author         = {Greg Nelson},
  Title          = {Systems Programming With Modula-3},
  Publisher      = {Prentice Hall Series in Innovative Technology},
  year           = 1991
}

@Book{Norm86a,
  Author         = {D.A. Norman and S.W. Draper},
  Title          = {User Centered System Design},
  Publisher      = {Lawrence Erlbaum Ass. Publisher},
  year           = 1986
}

@InCollection{Goet91a,
  Author         = {Jean-Marc Goetz and Carl Verhoest and Joel Brunet},
  Title          = {O*: The Business Class Analysis Model},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@Article{Duca03y,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: R\'eflexion pour Prototyper},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 51,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2003
}

@PhdThesis{McHa94b,
  Author         = {Ciaran McHale},
  Title          = {Synchronisation in Concurrent, Object-oriented
                   Languages: Expressive Power, Genericity and Inheritance},
  School         = {Department of Computer Science, Trinity College,
                   Dublin},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obc binder},
  url            = {ftp://ftp.dsg.cs.tcd.ie/pub/doc/dsg-86.ps.gz},
  year           = 1994
}

@TechReport{Miln90b,
  Author         = {Robin Milner},
  Title          = {Functions as Processes},
  Institution    = {INRIA Sofia-Antipolis},
  Type           = {Rapport de Recherche},
  Number         = {1154},
  keywords       = {pcalc mobility (uwe)},
  year           = 1990
}

@TechReport{Ball65a,
  Author         = {G. H. Ball and D. J. Hall},
  Title          = {ISODATA, {A} {Novel} {Method} of {Data} {Analysis} and
                   {Pattern} {Classification}},
  Institution    = {Stanford Research Institute},
  Address        = {Menlo Park, California},
  keywords       = {clustering},
  year           = 1965
}

@Book{Baet90b,
  Author         = {Jos C.M. Baeten and Peter Weijland},
  Title          = {Process Algebra},
  Publisher      = {Cambridge University Press},
  isbn           = {0-521-400043-0},
  keywords       = {pcalc acp regular processes book scglib},
  year           = 1990
}

@InCollection{Knie04a,
  Author         = {G{\"u}nter Kniesel and Tobias Rho and Stefan Hanenberg},
  Title          = {Evolvable Pattern Implementations Need Generic
                   Aspects, Proc. of ECOOP'2004 Workshop on Reflection,
                   AOP and Meta-Data for Software Evolution},
  BookTitle      = {Proc. of ECOOP'2004 Workshop on Reflection, AOP and
                   Meta-Data for Software Evolution},
  Publisher      = {Springer Verlag},
  month          = jun,
  url            = {http://roots.iai.uni-bonn.de/research/logicaj/downloads/papers/KnieselRhoHanenberg-RAM-SE04.pdf},
  year           = 2004
}

@TechReport{Duca00g,
  Author         = {St\'ephane Ducasse and Michele Lanza and Oscar
                   Nierstrasz and Matthias Rieger and Sander Tichelaar},
  Title          = {BEOC Analysis Report},
  Institution    = {University of Bern},
  annote         = {report notrefereed},
  keywords       = {skip-abstract skip-pdf skipdoi stefPub},
  year           = 2000
}

@Article{Lohr93a,
  Author         = {Klaus-Peter Lohr},
  Title          = {Concurrency Annotations for Reusable Software},
  Journal        = {Communications of the ACM},
  Volume         = {36},
  Number         = {9},
  Pages          = {81-89},
  keywords       = {oobib(concurrency) olit-reuse binder},
  month          = sep,
  year           = 1993
}

@InProceedings{Hill93b,
  Author         = {R.D. Hill},
  Title          = {The Rendezvous Constraint Maintenance System},
  BookTitle      = {Proceedings of UIST '93},
  Pages          = {225-234},
  year           = 1993
}

@Article{Maso83a,
  Author         = {R.E.A. Mason and T.T. Carey},
  Title          = {Prototyping Interactive Information Systems},
  Journal        = {CACM},
  Volume         = {26},
  Pages          = {347-354},
  keywords       = {misc information},
  year           = 1983
}

@Misc{ObjectiveC,
  Title          = {The {Objective}-{C} Programming Language},
  Note           = {http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html},
  key            = {objectivec},
  keywords       = {objectivec class extension}
}

@Article{Fern07y,
  Author         = {Hilaire Fernandes and Serge Stinckwich},
  Title          = {Morphic, les interfaces utilisateurs selon Squeak},
  Journal        = {Linux Magazine},
  Volume         = 1,
  Number         = 90,
  annote         = {notrefereed},
  month          = jan,
  year           = 2007
}

@TechReport{Kazm01a,
  Author         = {Rick Kazman and Liam O'Brien and Chris Verhoef},
  Title          = {Architecture Reconstruction Guidelines},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {{CMU/SEI-2001-TR-026}},
  month          = aug,
  url            = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr026.pdf},
  year           = 2001
}

@Article{Mori86a,
  Author         = {M. Moriconi and D. Hare},
  Title          = {The PegaSys System: Pictures as Formal Documentation
                   of Large Programs},
  Journal        = {ACM TOPLAS},
  Volume         = {8},
  Number         = {4},
  Pages          = {419-490},
  keywords       = {misc selit pegasys},
  month          = oct,
  year           = 1986
}

@Proceedings{Napo95a,
  Title          = {Languages et Mod\`eles \`a Objets},
  Editor         = {Inria},
  Address        = {France},
  booktitle      = {Actes LMO '95},
  keywords       = {lmo95 scglib},
  misc           = {12-13 Octobre},
  month          = oct,
  year           = 1995
}

@InProceedings{Feld02a,
  Author         = {Yishai A. Feldman},
  Title          = {Extreme Design By Contract},
  BookTitle      = {Extreme Programming and Agile Processes in Software
                   Engineering},
  Editor         = {Michele Marchesi and Giancarlo Succi},
  Series         = {LNCS},
  Pages          = {261-270},
  Publisher      = {Springer},
  keywords       = {unit testing design by contract},
  year           = 2003
}

@TechReport{Kais92a,
  Author         = {Gail E. Kaiser and Brent Hailpern},
  Title          = {An Object-Based Programming Model for Shared Data},
  Institution    = {IBM Research Division},
  Type           = {Research Report},
  Number         = {16442(#73057)},
  Note           = {ACM TOPLAS Vol 14, No 2, April 92 201-265},
  keywords       = {olit binder},
  year           = 1992
}

@InProceedings{Hind90a,
  Author         = {Bernd Hindel},
  Title          = {Objects + Processes = Graphs},
  BookTitle      = {SOFSEM '90},
  Address        = {Zotavovna Sir\'ena},
  keywords       = {concurrency graph grammars binder},
  month          = nov,
  year           = 1990
}

@InCollection{Robe97b,
  Author         = {Don Roberts and Ralph E. Johnson},
  Title          = {Evolving Frameworks: A Pattern Language for Developing
                   Object-Oriented Frameworks},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  year           = 1997
}

@InProceedings{Clea05a,
  Author         = {Cleary, Brendan and Le Gear, Andrew and Exton, Chris
                   and Buckley, Jim},
  Title          = {Specifying a Software Reconnaissance Architectural
                   Viewpoint},
  BookTitle      = {FIX ME},
  year           = 2005
}

@InProceedings{Sato03a,
  Author         = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi
                   Kameyama and Atsushi Igarashi},
  Title          = {Calculi of Meta-variables},
  BookTitle      = {Proceedings of 17th International Workshop Computer
                   Science Logic},
  Editor         = {M. Baaz and J. A. Makowsky},
  Volume         = {2803},
  Series         = {LNCS},
  Pages          = {509--524},
  Publisher      = {Springer-Verlag},
  keywords       = {context-calculus},
  url            = {http://www.math.s.chiba-u.ac.jp/~sakurai/papers/metavar-rev.dvi.gz},
  year           = 2003
}

@InProceedings{Rieb04b,
  Author         = {Matthias Riebisch},
  Title          = {Supporting Evolutionary Development by Feature Models
                   and Traceability Links},
  BookTitle      = {Proceedings of 11th IEEE International Conference and
                   Workshop on the Engineering of Computer-Based Systems
                   (ECBS'04)},
  Address        = {Brno, Czech Republic},
  keywords       = {feature},
  month          = may,
  year           = 2004
}

@Article{Vlis96b,
  Author         = {John Vlissides},
  Title          = {The Hollywood Principle},
  Journal        = {C++ Report},
  Volume         = 8,
  month          = feb,
  year           = 1996
}

@InProceedings{Hoel93a,
  Author         = {Urs H{\"o}lzle},
  Title          = {Integrating Independently-Developed Components in
                   Object-Oriented Languages},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {36-56},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Object-oriented programming promises to increase
                   programmer productivity through better reuse of
                   existing code. However, reuse is not yet pervasive in
                   today's object-oriented programs. Why is this so? We
                   argue that one reason is that current programming
                   languages and environments assume that components are
                   perfectly coordinated. Yet in a world where programs
                   are mostly composed out of reusable components, these
                   components are not likely to be completely integrated
                   because the sheer number of components would make
                   global coordination impractical. Given that seemingly
                   minor inconsistencies between individually designed
                   components would exist, we examine how they can lead to
                   integration problems with current programming language
                   mechanisms. We discuss several reuse mechanisms that
                   can adapt a component in place without requiring access
                   to the component's source code and without needing to
                   re-typecheck it.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Clea90a,
  Author         = {Rance Cleaveland and Bernhard Steffen},
  Title          = {A Preorder for Partial Process Specifications},
  BookTitle      = {Proceedings of CONCUR '90},
  Editor         = {J.C.M. Baeten and J.W. Klop},
  Volume         = {458},
  Series         = {LNCS},
  Pages          = {141-151},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence concur90 binder},
  year           = 1990
}

@Article{ACM94d,
  Author         = {{ACM}},
  Title          = {Intelligent Agents},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {7},
  institution    = {ACM},
  keywords       = {scglib},
  month          = jul,
  year           = 1994
}

@PhdThesis{Luca97a,
  Author         = {Carine Lucas},
  Title          = {Documenting Reuse and Evolution with Reuse Contracts},
  School         = {Programming Technology Lab},
  Address        = {Vrije Universiteit Brussel, Brussels, Belgium},
  url            = {ftp://progftp.vub.ac.be/dissertation/1997/vub-prog-phd-97-01/},
  year           = 1997
}

@InProceedings{Favr04a,
  Author         = {Jean-Marie Favre},
  Title          = {{Cac}{Opho}{Ny}: Metamodel-Driven Software
                   Architecture Reconstruction},
  BookTitle      = {Proceedings of 11th Working Conference on Reverse
                   Engineering (WCRE 2004)},
  Pages          = {204-213},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {metamodel},
  location       = {Delft, The Netherlands},
  month          = nov,
  year           = 2004
}

@TechReport{Card86a,
  Author         = {Luca Cardelli},
  Title          = {A Polymorphic Lambda Calculus with Type:Type},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {10},
  Address        = {Palo Alto, California},
  keywords       = {types fp lambda tfc binder (shelf)},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1986
}

@PhdThesis{Stur96a,
  Author         = {Daniel C. Sturman},
  Title          = {Modular Specification of Interaction Policies in
                   Distributed Computing},
  School         = {Dept. of Computer Science, University of Illinois,
                   Urbana},
  Type           = {Ph.{D}. Thesis},
  keywords       = {coordination binder},
  url            = {ftp://ftp.cs.uiuc.edu:/pub/dcs/Tech_Reports/UIUCDCS-R-96-1950.ps.Z},
  year           = 1996
}

@Article{Abow95b,
  Author         = {Gregory Abowd and Robert Allen and David Garlan},
  Title          = {Formalizing Style to Understand Descriptions of
                   Software Architecture},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {4},
  Number         = {4},
  Pages          = {319-364},
  keywords       = {olit visprog composition architecture},
  month          = oct,
  year           = 1995
}

@InProceedings{Kazm98b,
  Author         = {Rick Kazman and S. Jeromy Carriere},
  Title          = {View Extraction and View Fusion in Architectural
                   Understanding},
  BookTitle      = {Proceedings of the 5th International Conference on
                   Software Reuse},
  Address        = {Victoria, B.C.},
  keywords       = {oorp design-recovery},
  url            = {http://doi.ieeecs.org/10.1109/ICSR.1998.685754
                   http://www.sei.cmu.edu/ata/icsr5.pdf},
  year           = 1998
}

@InProceedings{Nier93d,
  Author         = {Oscar Nierstrasz},
  Title          = {Regular Types for Active Objects},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {1-15},
  abstract       = {Previous work on type-theoretic foundations for
                   object-oriented programming languages has mostly
                   focussed on applying or extending functional type
                   theory to functional "objects." This approach, while
                   benefitting from a vast body of existing literature,
                   has the disadvantage of dealing with state change
                   either in a roundabout way or not at all, and
                   completely side-stepping issues of concurrency. In
                   particular, dynamic issues of non-uniform service
                   availability and conformance to protocols are not
                   addressed by functional types. We propose a new type
                   framework that characterizes objects as regular (finite
                   state) processes that provide guarantees of service
                   along public channels. We also propose an original
                   notion of subtyping for regular types that extends
                   Wegner and Zdonik's "principle of substitutability" to
                   non-uniform service availability, and we relate it to
                   known process equivalences. Finally, we formalize what
                   it means to "satisfy a client's expectations," and we
                   show how regular types can be used to tell when
                   sequential or concurrent clients are satisfied. [NB: a
                   revised version is available by ftp.]},
  annote         = {internationalconference},
  doi            = {http://doi.acm.org/10.1145/165854.167976},
  keywords       = {olit-obc pcalc equivalence types osg-ftp oopsla93 vo93
                   rtao},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier95dRegularTypes.pdf},
  year           = 1993
}

@Article{Pear88a,
  Author         = {William R. Pearson and David J. Lippman},
  Title          = {Improved tools for biological sequence comparison},
  Journal        = {Proc. Natl. Acad. Sci. USA},
  Volume         = {85},
  Pages          = {2444-2448},
  month          = apr,
  year           = 1988
}

@Article{Wood99a,
  Author         = {Woods, Steven G. and Carri\`{e}re, S. Jeromy and
                   Kazman, Rick},
  Title          = {The Perils and Joys of Reconstructing Architectures},
  Journal        = {SEI Interactive, The Architect},
  Volume         = 2,
  issue          = 3,
  month          = sep,
  year           = 1999
}

@InProceedings{Lakh04a,
  Author         = {Arun Lakhotia and Moinuddin Mohammed},
  Title          = {Imposing Order on Program Statements to Assist
                   Anti-Virus Scanners},
  BookTitle      = {Proceedings of Eleventh Working Conference on Reverse
                   Engineering (WCRE'04)},
  Pages          = {161-170},
  Address        = {Delft, the Netherlands},
  Publisher      = {IEEE Computer Society},
  month          = nov,
  year           = 2004
}

@InProceedings{Four97b,
  Author         = {C\'edric Fournet and Cosimo Laneve and Luc Maranget
                   and Didier R\'emy},
  Title          = {Implict Typing \`a la {ML} for the Join-Calculus},
  BookTitle      = {Proc. of the 1997 8th International Conference on
                   Concurrency Theory},
  Publisher      = {Springer-Verlag},
  keywords       = {obib(pcalc) join calculus binder},
  url            = {ftp://ftp.inria.fr/INRIA/Projects/para/maranget/CONCUR-97.dvi.gz},
  year           = 1997
}

@Book{Bind99a,
  Author         = {Binder, Robert V.},
  Title          = {{Testing Object-Oriented Systems: Models, Patterns,
                   and Tools}},
  Publisher      = {Addison Wesley},
  Series         = {Object Technology Series},
  keywords       = {oobib scglib olit selit testing oorp},
  location       = {Archiv SCG},
  year           = 1999
}

@Article{Oppe83a,
  Author         = {D.C. Oppen and Y.K. Dalal},
  Title          = {The Clearinghouse: {A} Decentralized Agent for
                   Locating Named Objects in a Distributed Environment},
  Journal        = {ACM TOOIS},
  Volume         = {1},
  Number         = {3},
  Pages          = {230-253},
  keywords       = {security olit ois},
  month          = jul,
  year           = 1983
}

@Book{Diba99a,
  Author         = {Giuseppe Di Battista and Peter Eades and Roberto
                   Tamassia and Ioannis G. Tolls},
  Title          = {Graph Drawing --- Algorithms for the visualization of
                   graphs},
  Publisher      = {Prentice-Hall},
  keywords       = {scglib},
  year           = 1999
}

@Article{Cox84a,
  Author         = {Brad J. Cox},
  Title          = {Message/Object Programming: An Evolutionary Change in
                   Programming Technology},
  Journal        = {IEEE Software},
  Volume         = {1},
  Number         = {1},
  keywords       = {olit-oopl oopc objc},
  month          = jan,
  year           = 1984
}

@Unpublished{Card00d,
  Author         = {Luca Cardelli and Andrew D. Gordon},
  Title          = {Logical Properties of Name Restriction},
  Note           = {Draft},
  keywords       = {pcalc mobility ambients pisem},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 2000
}

@Book{Miln99a,
  Author         = {Robin Milner},
  Title          = {Communicating and Mobile Systems: The $\pi$-calculus},
  Publisher      = {Cambridge University Press},
  keywords       = {pcalc scglib},
  year           = 1999
}

@Article{Anto05b,
  Author         = {Giuliano Antoniol and Massimiliano Di Penta and Harald
                   Gall and Martin Pinzger},
  Title          = {Towards the Integration of Versioning Systems, Bug
                   Reports and Source Code Meta-Models},
  Journal        = {Electronic Notes in Theoretical Computer Science},
  Volume         = {127},
  Number         = {3},
  Pages          = {87--99},
  month          = apr,
  year           = 2005
}

@Article{Scot76a,
  Author         = {Dana Scott},
  Title          = {Data Types as Lattices},
  Journal        = {SIAM J. Comput.},
  Volume         = {5},
  Number         = {3},
  Pages          = {522-587},
  keywords       = {types semantics binder(etc)},
  month          = sep,
  year           = 1976
}

@InProceedings{Miln93a,
  Author         = {Robin Milner},
  Title          = {An Action Structures for the Synchronous $pi$-calculus},
  BookTitle      = {Proc. FCT '93},
  Volume         = {710},
  Series         = {LNCS},
  Pages          = {87-105},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc},
  url            = {ftp://ftp.cl.cam.ac.uk/users/rm135/spas.ps.Z},
  year           = 1993
}

@InProceedings{Caro93a,
  Author         = {Denis Caromel and Manuel Rebuffel},
  Title          = {Object-Based Concurrency: 10 Language Features to
                   Achieve Reuse},
  BookTitle      = {TOOLS USA '93},
  keywords       = {olit-obc obc92 binder},
  month          = aug,
  year           = 1993
}

@InProceedings{Blah98b,
  Author         = {M. Blaha},
  Title          = {On Reverse Engineering of Vendor Databases},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {184-190},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{Schw91b,
  Author         = {S. Schwartz and W. Miller and C.M. Yang and R.C.
                   Hardison},
  Title          = {Software Tools for Analyzing Pairwise Alignments of
                   Long Sequences},
  Journal        = {Nucleic Acids Research},
  Volume         = {19},
  Pages          = {4663-4667},
  keywords       = {dotplot sequence alignment},
  year           = 1991
}

@InProceedings{Paxs93a,
  Author         = {Vern Paxson and Chris Saltmarsh},
  Title          = {Glish: {A} User-Level Software Bus for Loosely-Coupled
                   Distributed Systems},
  BookTitle      = {Proceedings USENIX '93},
  keywords       = {glish scripting usenix93},
  month          = jan,
  url            = {ftp://ftp.ee.lbl.gov/glish/USENIX-93.ps.Z},
  year           = 1993
}

@TechReport{Gius87a,
  Author         = {D. Giuse},
  Title          = {KR: an efficient knowledge representation system},
  Institution    = {Carnegie Mellon University},
  Number         = {{CMU-RI-TR-87-23}},
  month          = oct,
  year           = 1987
}

@Book{Gosl96b,
  Author         = {James Gosling and Frank Yelling and The {Java} Team},
  Title          = {The {Java} Application Programming Interface Volume 1},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63453-8},
  keywords       = {olit oopl java scglib},
  year           = 1996
}

@InProceedings{Stee94a,
  Author         = {Luc Steels},
  Title          = {Beyond Objects},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {1-11},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InCollection{Cox66a,
  Author         = {D.R. Cox and P.A.W. Lewis},
  Title          = {The Statistical Analysis of Series of Events},
  BookTitle      = {Monographs on Applied Probability and Statistics},
  Publisher      = {Chapman and Hall},
  year           = 1966
}

@InProceedings{Capi04a,
  Author         = {Andrea Capiluppi and Maurizio Morisio and Patricia
                   Lago},
  Title          = {Evolution of understandability in {OSS} projects},
  BookTitle      = {Proceedings 8th European Conference on Software
                   Maintenance and Reengineering (CSMR 2004)},
  Pages          = {58--66},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  year           = 2004
}

@InProceedings{Mira87a,
  Author         = {Eliot Miranda},
  Title          = {BrouHaHa --- {A} Portable {Smalltalk} Interpreter},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {354-365},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@TechReport{Ieee00a,
  Author         = {IEEE},
  Title          = {IEEE Recommended Practice for Architectural
                   Description for Software-Intensive Systems},
  Institution    = {The Architecture Working Group of the Software
                   Engineering Committee},
  month          = oct,
  year           = 2000
}

@Article{Stor99a,
  Author         = {Margaret-Anne D. Storey and F. David Fracchia and
                   Hausi A. M\"uller},
  Title          = {Cognitive Design Elements to Support the Construction
                   of a Mental Model during Software Exploration},
  Journal        = {Journal of Software Systems},
  Volume         = {44},
  Pages          = {171-185},
  year           = 1999
}

@InProceedings{Kapp94a,
  Author         = {G. Kappel and S. Rausch-Schott and Retschitzegger},
  Title          = {Beyond Coupling Modes: Implementing Active Concepts on
                   Top of a Commercial {OODBMS}},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {189-204},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Proceedings{Huch05a,
  Title          = {Langages et Mod\`eles \`a Objets LMO'05},
  Editor         = {Marianne Huchard and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Volume         = {11},
  Series         = {L'objet},
  Publisher      = {Lavoisier},
  annote         = {editor proceedings},
  isbn           = {2-7462-1125-4},
  keywords       = {book scglib stefPub},
  year           = 2005
}

@InProceedings{Tant05b,
  Author         = {{\'E}ric Tanter and Jacques Noy\'e},
  Title          = {A Versatile Kernel for Multi-Language {AOP}},
  BookTitle      = {Proceedings of the 4th ACM SIGPLAN/SIGSOFT Conference
                   on Generative Programming and Component Engineering
                   (GPCE 2005)},
  Volume         = {3676},
  Series         = {LNCS},
  Address        = {Tallin, Estonia},
  month          = {sep},
  year           = 2005
}

@TechReport{Clam92a,
  Author         = {Stewart M. Clamen},
  Title          = {Class Evolution and Instance Adaptation},
  Institution    = {CMU},
  Type           = {CS-92-133},
  Address        = {Pittsburgh, PA},
  abstract       = {Schema evolution support is an important facility for
                   object-oriented database (OODB) systems. While existing
                   OODB systems provide for limited forms of evolution,
                   including modification to the database schema and
                   reorganization of affected instances, we find their
                   support insufficient. Specific deficiencies are 1) the
                   lack of compatibility support for old applications, and
                   2) the lack of ability to install arbitrary changes
                   upon the schema and database. This paper examines the
                   limitations of existing schemes, and offers a more
                   general framework for specifying and reasoning about
                   the evolution of class definitions and the adaptation
                   of existing, persistent instances to those new
                   definitions.},
  keywords       = {olit-oodb schema evolution versions (smc)},
  month          = jun,
  url            = {ftp://reports.adm.cs.cmu.edu/1992/CMU-CS-92-133R.ps},
  year           = 1992
}

@Book{Aho86a,
  Author         = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
  Title          = {Compilers: Principles, Techniques and Tools},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  isbn           = {0-201-10194-7},
  keywords       = {compiler book binder (shelf) scglib},
  year           = 1986
}

@InProceedings{Mens01a,
  Author         = {Kim Mens and Isabel Michiels and Roel Wuyts},
  Title          = {Supporting Software Development through Declaratively
                   Codified Programming Patterns},
  BookTitle      = {SEKE 2001 Proceedings},
  Pages          = {236-243},
  Publisher      = {Knowledge Systems Institute},
  Note           = {International conference on Software Engineering and
                   Knowledge Engineering, Buenos Aires, Argentina, June
                   13-15, 2001},
  abstract       = {In current-day software development, programmers often
                   use programming patterns to clarify their intents and
                   to increase the understandability of their programs.
                   Unfortunately, most software development environments
                   do not adequately supp ort the declaration and use of
                   such patterns. To explicitly codify these patterns, we
                   adopt a declarative meta programming approach. In this
                   approach, we reify the structure of an
                   (object-oriented) program in terms of logic clauses. We
                   declare programmi ng patterns as logic rules on top of
                   these clauses. By querying the logic system, these
                   rules allow us to check, enforce and search for
                   occurrences of certain patterns in the software. As
                   such, the programming patterns become an active part of
                   the softw are development and maintenance environment.},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1016/S0957-4174(02)00076-3},
  keywords       = {SOUL scg-pub jb02 snf02},
  misc           = {SCI impact factor 0.321},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens01a.pdf},
  year           = 2001
}

@Book{Schm00a,
  Author         = {Douglas C. Schmidt and Michael Stal and Hans Rohnert
                   and Frank Buschmann},
  Title          = {Pattern-Oriented Software Architecture Volume 2 --
                   Networked and Concurrent Objects},
  Publisher      = {John Wiley and Sons},
  keywords       = {oorp},
  year           = 2000
}

@Article{Gett90a,
  Author         = {P.H. Getto and D.E. Breen},
  Title          = {An Object-Oriented Architecture for a Computer
                   Animation System},
  Journal        = {The Visual Computer},
  Volume         = {6},
  Number         = {2},
  Pages          = {79-92},
  abstract       = {This paper describes the architecture, capabilities
                   and implementation of The Clockworks, an
                   object-oriented computer animation system encompassing
                   a wide variety of modeling, image synthesis, animation,
                   programming, and simulation capabilities in a single
                   integrated environment. The object-oriented features of
                   The Clockworks are implemented in portable C under Unix
                   using a programming discipline. These features include
                   objects with methods and instance variables, class
                   hierarchies, inheritance, instantiation and message
                   passing.},
  address        = {Heidelberg},
  keywords       = {olit},
  month          = mar,
  publisher      = {Springer-Verlag},
  year           = 1990
}

@InProceedings{DAmb06b,
  Author         = {Marco D'Ambros and Michele Lanza and Mircea Lungu},
  Title          = {The Evolution Radar: Integrating Fine-grained and
                   Coarse-grained Logical Coupling Information},
  BookTitle      = {Proceedings of MSR 2006 (3rd International Workshop on
                   Mining Software Repositories)},
  Pages          = {26 - 32},
  mon            = may,
  year           = 2006
}

@TechReport{Nolt92a,
  Author         = {J{\"o}rg Nolte},
  Title          = {Language-Level Support for Remote Object Invocations},
  Institution    = {GMD},
  Type           = {Working Paper},
  Number         = {654},
  Address        = {Sankt Augustin},
  keywords       = {olit distribution binder (shelf)},
  month          = may,
  year           = 1992
}

@Article{Ling73a,
  Author         = {Robert L. Ling},
  Title          = {A computer generated aid for cluster analysis},
  Journal        = {Communications of ACM},
  Volume         = {16},
  Number         = {6},
  Pages          = {355--361},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/362248.362263},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 1973
}

@InProceedings{Sakk88b,
  Author         = {Markku Sakkinen},
  Title          = {On the Darker Side of {C}++},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {162-176},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc binder},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Book{Ardi96a,
  Author         = {Laurent Arditi and St\'ephane Ducasse},
  Title          = {La programmation: une approche fonctionelle et
                   r\'ecursive avec Scheme},
  Publisher      = {Eyrolles},
  Address        = {Paris},
  Note           = {238 pages, Pr\'eface de G\'erard Huet, ISBN:
                   2-212-08915-5},
  annote         = {book},
  keywords       = {stefPub scglib},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/BOOKS/Scheme/book.html},
  year           = 1996
}

@InProceedings{Wu04b,
  Author         = {Xiaomin Wu and Adam Murray and Margaret-Anne Storey
                   and Rob Lintern},
  Title          = {A Reverse Engineering Approach to Support Software
                   Maintenance: Version Control Knowledge Extraction},
  BookTitle      = {Proceedings of 11th Working Conference on Reverse
                   Engineering (WCRE 2004)},
  Pages          = {90-99},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution visualization},
  month          = nov,
  year           = 2004
}

@Book{Swit93a,
  Author         = {Robert Switzer},
  Title          = {Eiffel: An Introduction},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-105909-2},
  keywords       = {eiffel olit-oopl oobib(oopl) book},
  year           = 1993
}

@TechReport{Jaco93b,
  Author         = {Ian Jacobs and Francis Montagnac and Janet Bertot and
                   Dominique Cle\'ment and Vincent Prunet},
  Title          = {The Sophtalk Reference Manual},
  Institution    = {INRIA},
  Number         = {150},
  month          = feb,
  year           = 1993
}

@InProceedings{Oder97a,
  Author         = {Martin Odersky and Philip Wadler},
  Title          = {Pizza into {Java}: Translating theory into practice},
  BookTitle      = {Proceedings POPL '97},
  Address        = {Paris},
  keywords       = {olit java pizza binder},
  month          = jan,
  url            = {http://www.dcs.gla.ac.uk/~wadler/topics/pizza.html},
  year           = 1997
}

@InProceedings{Anco98b,
  Author         = {D. Ancona and E. Zucca},
  Title          = {An Algebra of Mixin Modules},
  BookTitle      = {wadt97},
  Editor         = {F. Parisi Presicce},
  Number         = {1376},
  Series         = {lncs},
  Pages          = {92-106},
  Publisher      = {sv},
  year           = 1998
}

@TechReport{Bell94a,
  Author         = {Roberto Bellinzona and Mariagrazia Fugini and Barbara
                   Pernici},
  Title          = {An Environment for Specification Reuse},
  Institution    = {Politecnico di Milano},
  Type           = {Internal Report},
  Number         = {92\_082},
  Note           = {submitted for publication},
  abstract       = {Reuse in the early development phases of an
                   application can reduce the effort of producing
                   specifications and improve their quality. The paper
                   presents the requirement specification phase for
                   object-oriented applications under a reuse approach.
                   Object-oriented specifications are reused by accessing
                   a repository of reusable components and by adapting
                   them to the application requirements. A model for
                   specifications reuse based on the composition approach
                   is presented; the model is also used to encode
                   development knowledge guiding in the specification
                   activity. Specification reuse is supported by a tool to
                   select reusable components and to guide the developer
                   in tailoring the components to the needs of a specific
                   application. The RECAST tool (REquirement Composition
                   And Specification Tool) presented in the paper has
                   functionalities for retrieving reusable components from
                   a repository and functionalities driving the
                   composition and tailoring activities, on the basis of
                   knowledge about the development process.},
  keywords       = {olit-ithaca osg vista recast ithaca-final},
  month          = mar,
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/AnEnvironmentForSpecReuse.pdf},
  year           = 1994
}

@InProceedings{Osbo89a,
  Author         = {S.L. Osborn},
  Title          = {The Role of Polymorphism in Schema Evolution in an
                   Object-oriented Database},
  BookTitle      = {IEEE Transactions on Knowledge and Data Engineering},
  Volume         = {1},
  Pages          = {310-317},
  keywords       = {olit-oodb schema evolution (smc)},
  year           = 1989
}

@InProceedings{Beck89a,
  Author         = {Kent Beck and Ward Cunningham},
  Title          = {A Laboratory for Teaching Object-Oriented Thinking},
  BookTitle      = {Proceedings OOPSLA '89},
  Volume         = {24},
  Series         = {ACM SIGPLAN Notices},
  Pages          = {1-6},
  keywords       = {olit oopsla89},
  year           = 1989
}

@Article{Sita94a,
  Author         = {Murali Sitaraman and Bruce Weide},
  Title          = {Component-based software using {RESOLVE}},
  Journal        = {SIGSOFT Softw. Eng. Notes},
  Volume         = {19},
  Number         = {4},
  Pages          = {21-22},
  doi            = {http://doi.acm.org/10.1145/190679.199221},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1994
}

@TechReport{Jone93a,
  Author         = {Cliff B. Jones},
  Title          = {Process-Algebraic Foundations for an Object-Based
                   Design Notation},
  Institution    = {University of Manchester},
  Type           = {UMCS-93-10-1},
  abstract       = {Earlier papers give examples of the development of
                   concurrent programs using \pobl\ which is a design
                   notation employing concepts from object-oriented
                   programming languages. Use is made of constraints on
                   the {\em object graphs} to limit interference and
                   assertions over such graphs to reason about about
                   interference. This report merges (and corrects minor
                   inconsistencies between) two papers which document the
                   semantics of \pobl\ by providing a mapping to the $pi$
                   calculus indicate how arguments about the design
                   notation might be based on that semantics. It also
                   reflects some recent work not cited in the earlier
                   papers.},
  keywords       = {olit-obc pobl pcalc mobility binder},
  url            = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-10-1.ps.gz},
  year           = 1993
}

@Book{Atki05b,
  Author         = {Cliff Atkinson},
  Title          = {Beyond Bullet Points},
  Publisher      = {Microsoft},
  isbn           = {0735620520},
  keywords       = {book scglib},
  year           = 2005
}

@TechReport{Bute02a,
  Author         = {Calogero Butera},
  Title          = {A Metrics Front-End for the Moose Reengineering
                   Environment},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Moose is a language independent tool environment to
                   reverse engineer and reengineer object-oriented
                   systems. It consists of a repository to store models of
                   software systems, provides query and navigation
                   facilities, metrics and other analysis support. Models
                   consist of entities representing software artifacts
                   such as classes and methods. This document describes a
                   metrics front-end for Moose, whose goal is to visualize
                   the relationship among different metrics of the same
                   model and export this information to an external file.
                   With this tool the user can analyse software metrics
                   and observe the relationships among them. Collecting
                   these informations leads to a better understanding of
                   the software which has to be analysed or reengineered.
                   The ability to export metric values into an external
                   statistic tool such as MS Excel enables the user to
                   create diagrams and apply statistical analysis methods.},
  keywords       = {snf-none scg-ip jb03 moose-pub},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Bute02a.pdf},
  year           = 2002
}

@InProceedings{Kicz90a,
  Author         = {G. Kiczales and L. Rodriguez},
  Title          = {Efficient Method Dispatch in PCL},
  BookTitle      = {Proceedings of ACM conference on Lisp and Functional
                   Programming},
  Pages          = {99-105},
  Address        = {Nice},
  year           = 1990
}

@Article{Knut77a,
  Author         = {Donald E. Knuth and James H. Morris and Vaughan R.
                   Pratt},
  Title          = {Fast Pattern Matching in Strings},
  Journal        = {SIAM Journal of Computing},
  Volume         = {6},
  Number         = {2},
  Pages          = {323-350},
  month          = jun,
  year           = 1977
}

@Misc{Cincom2002,
  Title          = {VisualWorks Application Developer's Guide},
  Note           = {Cincom},
  key            = {Cincom2002},
  year           = 2002
}

@Article{Mori95a,
  Author         = {Mark Moriconi and Xiaolei Qian and R. A.
                   Riemenschneider},
  Title          = {Correct Architecture Refinement},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {4},
  Pages          = {356-372},
  abstract       = {This is a version of the SIGSOFT paper above extended
                   to include a correctness-preserving development
                   methodology based on the new concept of "hierarchical
                   design patterns". Two applications of the methodology
                   are described: a multilevel architecture for a standard
                   compiler architecture and an architecture for an
                   operational power-control system consisting of more
                   than 200,000 lines of Fortran code.},
  keywords       = {olit architecture design-patterns},
  month          = apr,
  url            = {http://www.csl.sri.com/~moriconi/tse95.ps.gz},
  year           = 1995
}

@TechReport{Schm94d,
  Author         = {Douglas C. Schmidt},
  Title          = {{ASX}: An Object-Oriented Framework for Developing
                   Distributed Applications},
  Institution    = {Comp. Science Department, Washington University},
  Type           = {Technical Report},
  keywords       = {concurrency networks pattern reuse ACE binder},
  url            = {http://www.cs.wustl.edu/~schmidt/C++-USEUNIX-94.ps},
  year           = 1994
}

@PhdThesis{Sang93a,
  Author         = {Davide Sangiorgi},
  Title          = {Expressing Mobility in Process Algebras: First-Order
                   and Higher-Order Paradigms},
  School         = {Computer Science Dept., University of Edinburgh},
  Type           = {Ph.{D}. Thesis},
  keywords       = {pcalc mobility hopi pi ccs binder (shelf)},
  month          = may,
  number         = {CST-99-93 (also: ECS-LFCS-93-266)},
  year           = 1993
}

@Book{Frie87a,
  Author         = {Daniel Friedman and Mattias Felleisen},
  Title          = {The Little LISPer},
  Publisher      = {MIT Press},
  isbn           = {0-262-56038-0},
  keywords       = {pl book scglib},
  year           = 1987
}

@InProceedings{Jenn95b,
  Author         = {Nicholas Jennings},
  Title          = {Agent Software},
  BookTitle      = {Proc. UNICOM Seminar on Agent Software},
  Pages          = {12-27},
  Address        = {London},
  keywords       = {agents dai},
  year           = 1995
}

@InProceedings{Rina96a,
  Author         = {Ran Rinat and Menachem Magidor},
  Title          = {Metaphoric Polymorphism: Taking Code Reuse One Step
                   Further},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Series         = {LNCS 1098},
  Pages          = {449-471},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@MastersThesis{Kuhn06a,
  Author         = {Adrian Kuhn},
  Title          = {Semantic Clustering: Making Use of Linguistic
                   Information to Reveal Concepts in Source Code},
  School         = {University of Bern},
  Type           = {Master's thesis},
  abstract       = {Many approaches have been developed to comprehend
                   software source code, most of them focusing on program
                   structural information. However, in doing so we are
                   missing a crucial information, namely, the domain
                   semantics information contained in the text or symbols
                   of the source code. When we are to understand software
                   as a whole, we need to enrich these approaches with
                   conceptual insights gained from the domain semantics.
                   This paper proposes the use of information retrieval
                   techniques to exploit linguistic information, such as
                   identifier names and comments in source code, to gain
                   insights into how the domain is mapped to the code. We
                   introduce Semantic Clustering, an algorithm to group
                   source artifacts based on how they use similar terms.
                   The algorithm uses Latent Semantic Indexing. After
                   detecting the clusters, we provide an automatic
                   labeling and then we visually explore how the clusters
                   are spread over the system. Our approach works at the
                   source code textual level which makes it language
                   independent. Nevertheless, we correlate the semantics
                   with structural information and we apply it at
                   different levels of abstraction (for example packages,
                   classes, methods). To validate our approach we applied
                   it on several case studies.},
  keywords       = {scg-msc jb06 fb06 recast06 moose-pub},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Kuhn06a.pdf},
  year           = 2006
}

@InProceedings{Frie89a,
  Author         = {Gerhard Friedrich and Wolfgang H{\"o}llinger and
                   Christian Stary and Markus Stumptner},
  Title          = {ObjView: {A} Task-Oriented, Graphics-Based Tools for
                   Object Visualization and Arrangement},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {299-310},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl objview binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Berr94a,
  Author         = {Michael W. Berry and Susan T. Dumais and Gavin W.
                   O'Brien},
  Title          = {Using linear algebra for intelligent information
                   retrieval},
  Journal        = {SIAM Review},
  Volume         = {37},
  Number         = {4},
  Pages          = {573--597},
  address        = {Philadelphia, PA},
  publisher      = {Society for Industrial and Applied Mathematics},
  year           = 1995
}

@InProceedings{Swee00a,
  Author         = {Sweeney, P. F. and Tip, F.},
  Title          = {Extracting Library-Based Object-Orientated
                   Applications},
  BookTitle      = {Foundations of Software Engineering, Proceedings of
                   the Eighth International Symposium on Foundations of
                   Software Engineering for the 21st Century Applications.},
  Editor         = {Rosenblum, D. S.},
  Pages          = {98-107},
  Address        = {New York},
  Publisher      = {ACM Press},
  keywords       = {fca},
  year           = 2000
}

@TechReport{Gris98a,
  Author         = {William G. Griswold},
  Title          = {Coping With Software Change Using Software
                   Transparency},
  Institution    = {University of California, San Diego, Department of
                   Computer Science and Engineering},
  Type           = {Technical Report},
  Number         = {CS98-585},
  month          = apr,
  revised        = {August 1998},
  url            = {www.cs.ucsd.edu/users/wgg/Abstracts/infotrans.html},
  year           = 1998
}

@InProceedings{Zdon86c,
  Author         = {Stanley B. Zdonik},
  Title          = {Version Management in an Object-Oriented Database},
  BookTitle      = {Advanced Programming Environments, Proc of an Int
                   Workshop},
  Editor         = {R. Conradi and T.M. Didriksen and D.H. Wanvik},
  Volume         = {244},
  Series         = {LNCS},
  Pages          = {405-422},
  Address        = {Trondheim},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-oodb versions (smc)},
  month          = jun,
  year           = 1986
}

@Article{Bake92a,
  Author         = {Brenda S. Baker},
  Title          = {A Program for Identifying Duplicated Code},
  Journal        = {Computing Science and Statistics},
  Volume         = {24},
  Pages          = {49-57},
  keywords       = {oorp clones},
  publisher      = {Interface Foundation of North America},
  url            = {http://cm.bell-labs.com/cm/cs/doc/92/2-bsb-1.ps.gz},
  year           = 1992
}

@InProceedings{Mats93a,
  Author         = {Satoshi Matsuoka and Kenjiro Taura and Akinori
                   Yonezawa},
  Title          = {Highly Efficient and Encapsulated Re-use of
                   Synchronization Code in Concurrent Object-Oriented
                   Languages},
  BookTitle      = {Proceedings OOPSLA '93},
  Volume         = {28},
  Series         = {ACM SIGPLAN Notices},
  Pages          = {109-126},
  keywords       = {olit-obc inheritance oopsla93 binder},
  month          = oct,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla93-concurrency-reuse.ps.gz},
  year           = 1993
}

@Article{Weyu88a,
  Author         = {Elaine J. Weyuker},
  Title          = {Evaluating Software Complexity Measures},
  Journal        = {IEEE Trans. Softw. Eng.},
  Volume         = {14},
  Number         = {9},
  Pages          = {1357-1365},
  doi            = {http://dx.doi.org/10.1109/32.6178},
  issn           = {0098-5589},
  publisher      = {IEEE Press},
  year           = 1988
}

@Book{Booc96a,
  Author         = {Grady Booch},
  Title          = {Object Solutions},
  Publisher      = {Addison Wesley},
  isbn           = {0-8053-0594-7},
  keywords       = {Olit scglib new-entry},
  year           = 1996
}

@Article{Eick92a,
  Author         = {Stephen G. Eick and Joseph L. Steffen and Eric E.,
                   Jr., Sumner},
  Title          = {{SeeSoft}---A Tool for Visualizing Line Oriented
                   Software Statistics},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {18},
  Number         = {11},
  Pages          = {957-968},
  month          = nov,
  optnote        = {Depth},
  year           = 1992
}

@InProceedings{Bosc97b,
  Author         = {Jan Bosch},
  Title          = {Design Patterns {\&} Frameworks: On the Issue of
                   Language Support},
  BookTitle      = {Object-Oriented Technology: {ECOOP}'97 Workshop Reader},
  Editor         = {Jan Bosch and Stewart Mitchell},
  Volume         = {1357},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {133-136},
  Publisher      = {Springer},
  year           = 1997
}

@Article{McCa90a,
  Author         = {T.J. McCabe},
  Title          = {Reverse Engineering, Reusability, Redundancy: The
                   Conncetion},
  Journal        = {American Programmer},
  Volume         = {3},
  Number         = {10},
  Pages          = {8-13},
  month          = oct,
  year           = 1990
}

@Article{Baud06b,
  Author         = {Yves Le Traon and Benoit Baudry and Jean-Marc Jezequel},
  Title          = {Design by Contract to Improve Software Vigilance},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {32},
  Number         = {8},
  Pages          = {571-586},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/TSE.2006.79},
  issn           = {0098-5589},
  month          = aug,
  publisher      = {IEEE Computer Society},
  year           = 2006
}

@InProceedings{Alpe88a,
  Author         = {Bowen Alpern and Mark. N. Wegman and F. Kenneth Zadeck},
  Title          = {Detecting equality of variables in programs},
  BookTitle      = {Conference Record of the Fifteenth ACM Symposium on
                   Principles of Programming Languages},
  Pages          = {1-11},
  month          = jan,
  year           = 1988
}

@InProceedings{Mehn00a,
  Author         = {Katharina Mehner and Annika Wagner},
  Title          = {Visualizing the Synchronization of {Java}-Threads with
                   UML},
  BookTitle      = {Proceedings of VL 2000 (Symposium on Visual Languages)},
  Pages          = {199-206},
  Publisher      = {IEEE Press},
  keywords       = {sv},
  year           = 2000
}

@Book{Clea92a,
  Editor         = {W.R. Cleaveland},
  Title          = {Proceedings {CONCUR}'92},
  Publisher      = {Springer-Verlag},
  Volume         = {630},
  Series         = {LNCS},
  Address        = {Stony Brooks, NY, USA},
  isbn           = {3-540-55822-5},
  keywords       = {olit concur92 scglib},
  month          = aug,
  year           = 1992
}

@TechReport{Card89a,
  Author         = {Luca Cardelli and John C. Mitchell},
  Title          = {Operations on Records.},
  Institution    = {Digital Equipment Corporation, Systems Research Centre},
  Number         = {48},
  keywords       = {olit-types},
  month          = aug,
  pages          = {60 pages.},
  year           = 1989
}

@InCollection{Bolo89a,
  Author         = {Tommaso Bolognesi and Maurizio Caneve},
  Title          = {Squiggles: {A} Tool for the Analysis of {LOTOS}
                   Specifications},
  BookTitle      = {Formal Description Techniques},
  Publisher      = {Elsevier Science Publishers B.V. (North-Holland)},
  Editor         = {K.J. Turner},
  Pages          = {201-216},
  keywords       = {pcalc ccs lotos binder(conc)},
  year           = 1989
}

@InProceedings{Bali06a,
  Author         = {Mihai Balint and Tudor G\^irba and Radu Marinescu},
  Title          = {How Developers Copy},
  BookTitle      = {Proceedings of International Conference on Program
                   Comprehension (ICPC 2006)},
  Pages          = {56--65},
  abstract       = {Copy-paste programming is dangerous as it may lead to
                   hidden dependencies between different parts of the
                   system. Modifying clones is not always straight
                   forward, because we might not know all the places that
                   need modification. This is even more of a problem when
                   several developers need to know about how to change the
                   clones. In this paper, we correlate the code clones
                   with the time of the modification and with the
                   developer that performed the modification to detect
                   patterns of how developers copy from one another. We
                   develop a visualization, named Clone Evolution View, to
                   represent the evolution of the duplicated code. We show
                   the relevance of our approach on several large case
                   studies and we distill our experience in forms of
                   interesting copy patterns.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.25},
  keywords       = {scg-pub jb06 fb06 girba moose-pub recast06 norex06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Bali06aHowDevelopersCopy.pdf},
  year           = 2006
}

@Article{Seve74a,
  Author         = {D.G. Severance},
  Title          = {Identifier Search Mechanisms: {A} Survey and
                   Generalized Model},
  Journal        = {ACM Computing Surveys},
  Volume         = {6},
  Number         = {3},
  Pages          = {175-194},
  keywords       = {misc searching},
  month          = sep,
  year           = 1974
}

@Article{Chur93b,
  Author         = {Kenneth Ward Church and Jonathan Isaac Helfman},
  Title          = {Dotplot: A Program for Exploring Self-Similarity in
                   Millions of Lines for Text and Code},
  Journal        = {J. Computational and Graphical Statistics},
  Volume         = {2},
  Number         = {2},
  Pages          = {153-174},
  keywords       = {dotplot, clones},
  month          = jun,
  publisher      = {American Statistical Association},
  url            = {http://citeseer.nj.nec.com/church93dotplot.html},
  year           = 1993
}

@Misc{AspectWeekz,
  Title          = {AspectWeekz},
  Note           = {http://aspectwerkz.codehaus.org/},
  key            = {AspectWeekz}
}

@InProceedings{Rose89a,
  Author         = {William R. Rosenblatt and Jack C. Wileden and
                   Alexander L. Wolf},
  Title          = {{OROS}: Toward a Type Model for Software Development
                   Environments},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {297-304},
  keywords       = {types olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Otis91a,
  Author         = {Allen Otis and Paul Butterworth and Jacob Stein},
  Title          = {The {GemStone} Object Database Management Systems},
  Journal        = {Communications of the ACM},
  Volume         = {34},
  Number         = {10},
  Pages          = {64-77},
  keywords       = {olit-oodb gemstone (smc)},
  month          = oct,
  year           = 1991
}

@TechReport{Jans88a,
  Author         = {Dirk Janssens and G. Rozenberg},
  Title          = {Actor Grammars},
  Institution    = {University of Limburg, Diepenbeek, Belgium, and
                   University of Leiden, the Netherlands},
  Type           = {manuscript},
  Note           = {Submitted for Mathematical Systems Theory},
  keywords       = {concurrency actors graph-grammars},
  year           = 1988
}

@InProceedings{McKe84a,
  Author         = {J. R. McKee},
  Title          = {Maintenance as a Function of Design},
  BookTitle      = {Proceedings of AFIPS National Computer Conference},
  Pages          = {187-193},
  year           = 1984
}

@Article{Kosk98a,
  Author         = {Kai Koskimies and Tarja Syst\"{a} and Jyrki Tuomi and
                   Tatu M\"{a}nnisto\"{o}},
  Title          = {Automated Support for Modeling OO Software},
  Journal        = {IEEE Software},
  Volume         = 15,
  Number         = 1,
  Pages          = {87-94},
  misc           = {January/February},
  month          = jan,
  year           = 1998
}

@TechReport{Dami89a,
  Author         = {Laurent Dami},
  Title          = {Reusability through Horizontal Composition},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg ood89},
  month          = jul,
  pages          = {143-160},
  year           = 1989
}

@Article{Smar02a,
  Author         = {Yannis Smaragdakis and Don Batory},
  Title          = {Mixin layers: an object-oriented implementation
                   technique for refinements and collaboration-based
                   designs},
  Journal        = {ACM TOSEM},
  Volume         = {11},
  Number         = {2},
  Pages          = {215-255},
  doi            = {http://doi.acm.org/10.1145/505145.505148},
  keywords       = {mixin-layers},
  month          = apr,
  url            = {http://www.cs.utexas.edu/users/schwartz/pub.htm
                   ftp://ftp.cs.utexas.edu/pub/predator/layers.pdf},
  year           = 2002
}

@Article{Abad91b,
  Author         = {Mart{\'\i}n Abadi and Luca Cardelli and Benjamin
                   Pierce and Gordon Plotkin},
  Title          = {Dynamic Typing in a Statically Typed Language},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {13},
  Number         = {2},
  Pages          = {237-268.},
  abstract       = {Statically typed programming languages allow earlier
                   error checking, better enforcement of disciplined
                   programming styles, and generation of more efficient
                   object code than languages where all type consistency
                   checks are performed at run time. However, even in
                   statically typed languages, there is often the need to
                   deal with data whose type cannot be determined at
                   compile time. To handle such situations safely, we
                   propose to add a type Dynamic whose values are pairs of
                   a value v and a type tag T where v has the type denoted
                   by T. Instances of Dynamic are built with an explicit
                   tagging construct and inspected with a type safe
                   typecas construct. This paper explores the syntax,
                   operational semantics, and denotational semantics of a
                   simple language including the type Dynamic.},
  keywords       = {types popl91 binder},
  month          = apr,
  url            = {ftp://ftp.cs.indiana.edu/pub/pierce/dynamic.ps.gz},
  year           = 1991
}

@Unpublished{Schn91a,
  Author         = {Hans-J{\"u}rgen Schneider},
  Title          = {Describing Process Systems with shared Data Structures
                   by Graph Grammars},
  Note           = {Univ. Erlangen-N{\"u}rnberg},
  keywords       = {concurrency graph grammars binder},
  misc           = {May 31},
  month          = may,
  type           = {Draft},
  year           = 1991
}

@InProceedings{Bak02a,
  Author         = {Lars Bak and Gilad Bracha and Steffen Grarup and
                   Robert Griesemer and David Griswold and Urs H{\"o}lzle},
  Title          = {Mixins in {Strongtalk}},
  BookTitle      = {ECOOP '02 Workshop on Inheritance},
  month          = jun,
  year           = 2002
}

@Misc{ContextL,
  Title          = {{ContextL}},
  Note           = {http://common-lisp.net/project/closer/contextl.html},
  key            = {ContextL},
  keywords       = {cop-lit},
  url            = {http://common-lisp.net/project/closer/contextl.html}
}

@Article{Brot83a,
  Author         = {D.K. Brotz},
  Title          = {Message System Mores: Etiquette in Laurel},
  Journal        = {ACM TOOIS},
  Volume         = {1},
  Number         = {2},
  Pages          = {179-192},
  keywords       = {oislit networks mail},
  year           = 1983
}

@InProceedings{Brei92b,
  Author         = {Christian Breiteneder and Simon Gibbs and Dennis
                   Tsichritzis},
  Title          = {Modelling of Audio/Video Data},
  BookTitle      = {Proceedings of the 11th International Conference on
                   the Entity Relationship Approach},
  Address        = {Karlsruhe},
  Note           = {To appear},
  keywords       = {olit osg of92},
  month          = oct,
  year           = 1992
}

@InProceedings{Schm99a,
  Author         = {I. Schmitt and S. Conrad},
  Title          = {Restructuring Object-Oriented Database Schemata by
                   Concept Analysis},
  BookTitle      = {Fundamentals of Information Systems (Post-Proceedings
                   7th International Workshop on Foundations of Models and
                   Languages for Data and Objects {FoMLaDO'98)}},
  Editor         = {T. Polle and T. Ripke and K.-D. Schewe},
  Pages          = {177-185},
  Address        = {Boston},
  Publisher      = {Kluwer Academic Publishers},
  keywords       = {fca},
  year           = 1999
}

@InProceedings{Grah94a,
  Author         = {P. Graham and K. Barker},
  Title          = {Effective Optimistic Concurrency Control in
                   Multiversion Object Bases},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {313-328},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Hirs02c,
  Author         = {E. D. Hirsch, Joseph F. Kett, James Trefil},
  Title          = {The New Dictionary of Cultural Literacy},
  Publisher      = {Houghton Mifflin},
  isbn           = {978-0618226474},
  keywords       = {dictionary},
  year           = 2002
}

@InProceedings{Gogu90a,
  Author         = {Joseph A. Goguen and David Wolfram},
  Title          = {On Types and {FOOPS}},
  BookTitle      = {Proc. IFIP TC2 Working Conference on Database
                   Semantics: Object-Oriented Databases},
  Address        = {Windermere, UK},
  Note           = {To appear},
  keywords       = {concurrency semantics binder},
  misc           = {July 2-6},
  month          = jul,
  year           = 1990
}

@InProceedings{Rieg98b,
  Author         = {Matthias Rieger and St\'ephane Ducasse},
  Title          = {Visual Detection of Duplicated Code},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Series         = {LNCS 1543},
  Pages          = {75-76},
  Publisher      = {Springer-Verlag},
  abstract       = {Code duplication is considered as bad practice that
                   complicates the maintenance and evolution of software.
                   Detecting duplicated code is a difficult task because
                   of the large amount of data to be checked and the fact
                   that a priori it is unknown which code part has been
                   duplicated. In this paper, we present a tool called
                   DUPLOC that supports code duplication detection in a
                   visual and exploratory or an automatic way.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr reveng scg-pub skipdoi jb-none
                   stefPub},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Rieg98aEcoopWorkshop.pdf},
  year           = 1998
}

@TechReport{Gibb90d,
  Author         = {Simon Gibbs},
  Title          = {Querying Large Class Collections},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Object-oriented programming and the reuse of classes
                   and methods, when practised on a large scale by
                   communities of programmers and designers sharing
                   software components, will lead to the creation of very
                   large class collections. In such a context, facilities
                   for querying a class collection become important. This
                   paper presents an object-oriented data model, Xos,
                   which can be used to logically organize and describe a
                   class collection in a form suitable for querying. An
                   extended example based on modelling C++ is given.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg-ftp om90},
  month          = jul,
  pages          = {63-77},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/queryingLargeClass.pdf},
  year           = 1990
}

@Proceedings{Duca98d,
  Title          = {Proceedings of the {ECOOP}'98 Workshop on Experiences
                   in Object-Oriented Re-Engineering},
  Editor         = {St\'ephane Ducasse and Joachim Weisbrod},
  Address        = {Forschungszentrum Informatik, Haid-und-Neu-Strasse
                   10-14, 76131 Karlsruhe, Germany},
  Note           = {FZI 6/7/98},
  annote         = {workshopproceedings},
  keywords       = {skip-pdf scg-pub skip-abstract skipdoi olit
                   famoos-wrkproc oobib snf98 jb98 stefPub},
  month          = jun,
  year           = 1998
}

@MastersThesis{Boet01a,
  Author         = {Kathrin B\"{o}ttger},
  Title          = {Modelling and {Reconciling} {Functional}
                   {Requirements} from {Differenet} {Viewpoints} using
                   {Use} {Case}/{Scenarios} and {Formal} {Concept}
                   {Analysis}},
  School         = {University of Mannheim},
  Address        = {Germany},
  keywords       = {fca},
  year           = 2001
}

@InProceedings{Mari04a,
  Author         = {Radu Marinescu},
  Title          = {Detection Strategies: Metrics-Based Rules for
                   Detecting Design Flaws},
  BookTitle      = {20th IEEE International Conference on Software
                   Maintenance (ICSM'04)},
  Pages          = {350-359},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  annote         = {internationalconference},
  keywords       = {metrics},
  location       = {Illinois, USA},
  year           = 2004
}

@Book{Schn98a,
  Author         = {Geri Schneider and Jason P. Winters},
  Title          = {Applying Use Cases},
  Publisher      = {Addison Wesley},
  keywords       = {oorp},
  year           = 1998
}

@Book{Davi95a,
  Author         = {Alan Mark Davis},
  Title          = {201 Principles of Software Development},
  Publisher      = {McGraw-Hill},
  isbn           = {0-07-015840-1},
  keywords       = {scglib oorp},
  year           = 1995
}

@Article{Berg05e,
  Author         = {Alexandre Bergel and St\'ephane Ducasse},
  Title          = {Scoped and Dynamic Aspects with {Classboxes}},
  Journal        = {Revue des Sciences et Technologies de l'Information
                   (RSTI) -- L'Objet (Num\'ero sp\'ecial : Programmation
                   par aspects)},
  Volume         = {11},
  Number         = {3},
  Pages          = {53--68},
  abstract       = {Atomically introducing changes to a group of classes
                   is a challenging task. In addition, certain
                   applications require that changes be applied
                   dynamically without shutting down and restarting the
                   application. In this paper we present an extension of
                   classboxes to make them dynamic. A classbox is a kind
                   of module that supports class extension and instance
                   variable addition. Class extensions and definitions
                   defined in a classbox represent an aspect. In addition,
                   with classboxes, aspects are dynamically applied to,
                   removed from hot- in a system. Such aspects may
                   crosscut a large number of classes which are extended
                   by adding or redefining existing methods and adding new
                   instance variables. Finally the aspects are scoped
                   i.e., they are local to the classboxes that define
                   them.},
  annote         = {nationaljournal},
  cvs            = {ClassboxJFDLPA04},
  keywords       = {scg-pub skipdoi jb05 classboxes snf05 stefPub
                   alexandrePub alexPub listic},
  month          = nov,
  publisher      = {Hermes, Paris},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05eDynamicClassboxes.pdf},
  year           = 2005
}

@Article{Hanr90a,
  Author         = {M. Hanrandi and J. Ning},
  Title          = {Knowledge-Based Program Analysis},
  Journal        = {IEEE Transaction on Software Engineering},
  Volume         = {7},
  Number         = {1},
  Pages          = {74-81},
  publisher      = {IEEE},
  year           = 1990
}

@InProceedings{Duca05i,
  Author         = {St\'ephane Ducasse and Michele Lanza and Romain Robbes},
  Title          = {Multi-level Method Understanding Using {Microprints}},
  BookTitle      = {Proceedings of {VISSOFT} 2005 (3th IEEE International
                   Workshop on Visualizing Software for Understanding)},
  abstract       = {Understanding classes and methods is a key activity in
                   object-oriented programming, since classes represent
                   the primary abstractions from which applications are
                   built, while methods contain the actual program logic.
                   The main problem of this task is to quickly grasp the
                   purpose and inner structure of a class. To achieve this
                   goal, one must be able to overview multiple methods at
                   once. In this paper, we present microprints,
                   pixel-based representations of methods enriched with
                   semantical information. We present three specialized
                   microprints each dealing with a specific aspect we want
                   to understand of methods: (1) state access, (2) control
                   flow, and (3) invocation relationship. },
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi jb06 MISSINGPAGENUMBERS stefPub
                   recast06},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05imicroprintsVissoft.pdf},
  year           = 2005
}

@Book{Mugr05a,
  Author         = {Rick Mugridge and Ward Cunningham},
  Title          = {Fit for Developing Software: Framework for Integrated
                   Tests (Robert C. Martin)},
  Publisher      = {Prentice Hall PTR},
  Address        = {Upper Saddle River, NJ, USA},
  isbn           = {0321269349},
  keywords       = {tests examples scglib},
  year           = 2005
}

@Book{Halb92a,
  Author         = {Nicolas Halbwachs},
  Title          = {Synchronous Programming of Reactive Systems},
  Publisher      = {Kluwer Academic Publishers},
  Address        = {Norwell, MA, USA},
  isbn           = {0792393112},
  year           = 1992
}

@InProceedings{Sato95a,
  Author         = {Ichiro Satoh and Mario Tokoro},
  Title          = {Time and Asynchrony in Interactions among Distributed
                   Real-Time Objects},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {331-350},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@TechReport{Voge02a,
  Author         = {David Vogel},
  Title          = {Studie: Datenbank-Webapplikationen und ihre
                   Technologien},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Voge02a.pdf},
  year           = 2002
}

@Article{Hoar69a,
  Author         = {C.A.R. Hoare},
  Title          = {An Axiomatic Basis for Computer Programming},
  Journal        = {Communications of the ACM},
  Volume         = {12},
  Pages          = {576-583},
  keywords       = {semantics},
  year           = 1969
}

@Misc{AspectC,
  Title          = {AspectC++ Home Page},
  Note           = {http://www.aspectc.org},
  key            = {AspectC},
  keywords       = {aspect c++},
  url            = {http://www.aspectc.org}
}

@TechReport{Fisc03b,
  Author         = {Kathleen Fisher and John Reppy},
  Title          = {Statically typed traits},
  Institution    = {University of Chicago, Department of Computer Science},
  Type           = {Technical Report},
  Number         = {TR-2003-13},
  keywords       = {traits},
  month          = dec,
  url            = {http://www.cs.uchicago.edu/research/publications/techreports/TR-2003-13},
  year           = 2003
}

@InCollection{Tsic85b,
  Author         = {Dennis Tsichritzis and Simon Gibbs},
  Title          = {Etiquette Specification in Message Systems},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {93-112},
  Address        = {Heidelberg},
  keywords       = {misc mail roles oact85},
  year           = 1985
}

@Book{Mads92a,
  Editor         = {Ole Lehrmann Madsen},
  Title          = {Proceedings of {ECOOP}'92},
  Publisher      = {Springer-Verlag},
  Volume         = {615},
  Series         = {LNCS},
  isbn           = {3-540-55668-0},
  keywords       = {olit ecoop92proc scglib proceedings},
  year           = 1992
}

@Book{McGr97a,
  Author         = {Gary McGraw and Edward W. Felten},
  Title          = {Java Security},
  Publisher      = {Wiley},
  isbn           = {0-471-17842-X},
  keywords       = {java scglib},
  year           = 1997
}

@InProceedings{Duca95b,
  Author         = {St{\'e}phane Ducasse and Mireille Blay-Fornarino and
                   Anne-Marie Pinna},
  Title          = {A Reflective Model for First Class Dependencies},
  BookTitle      = {Proceedings of 10th International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA '95)},
  Pages          = {265-280},
  Publisher      = {ACM},
  annote         = {internationalconference topconference},
  keywords       = {stefPub flo},
  misc           = {acceptance rate: 27/167 = 16\%},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca95bAReflectiveModel.pdf},
  year           = 1995
}

@TechReport{Eber02a,
  Author         = {J{\"u}rgen Ebert and Bernt Kullbach and Volker
                   Riediger and Andreas Winter},
  Title          = {{GUPRO} -- Generic Understanding of Programs, An
                   Overview},
  Institution    = {Universit{\"a}t Koblenz-Landau},
  Type           = {Fachberichte Informatik},
  Number         = {7--2002},
  abstract       = {GUPRO is an integrated workbench to support program
                   understanding of heterogenous software systems on
                   arbitrary levels of granularity. GUPRO can be adapted
                   to specific needs by an appropriate conceptual model of
                   the target software. \par GUPRO is based on
                   graph-technology. It heavily relies on graph querying
                   and graph algorithms. Source code is extracted into a
                   graph repository which can be viewed by an integrated
                   querying and browsing facility. For C-like languages
                   GUPRO browsing includes a complete treatment of
                   preprocessor facilities. \par This paper summarizes the
                   work done on GUPRO during the last seven years.},
  keywords       = {design-recovery},
  url            = {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-7-2002.pdf},
  year           = 2002
}

@InProceedings{Agra91a,
  Author         = {Rakesh Agrawal and Linda G. DeMichiel and Bruce G.
                   Lindsay},
  Title          = {Static Type Checking of Multi-Methods},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {113-128},
  keywords       = {types olit oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Stin06a,
  Author         = {Serge Stinckwich and St\'ephane Ducasse},
  Title          = {Les structures de contr\^ole en Smalltalk},
  Journal        = {Linux Pratique},
  Volume         = 1,
  Number         = 33,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub jb05},
  month          = jan,
  year           = 2006
}

@TechReport{Nier87a,
  Author         = {Oscar Nierstrasz},
  Title          = {Object-oriented Issues: {A} Literature Review},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Objects and Things},
  abstract       = {Papers dealing with object-oriented issues are grouped
                   according to whether they are concerned with languages
                   and systems or applications. Papers dealing with
                   related issues are also listed. An alphabetical
                   bibliography is given at the end. Some effort has been
                   made to discard obsolete or hard-to-find papers.},
  editor         = {D. Tsichritzis},
  keywords       = {olit skipdoi survey osg oat87},
  month          = mar,
  pages          = {183-206},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier87aOOIssuesLitReview.pdf},
  year           = 1987
}

@TechReport{Hans00,
  Author         = {David R. Hanson and Todd A. Proebsting},
  Title          = {Dynamic Variables},
  Institution    = {Microsoft Research},
  Number         = {MSR-TR-2000-109},
  month          = nov,
  url            = ftp://ftp.research.microsoft.com/pub/tr/tr-2000-109.pdf,
  year           = 2000
}

@InProceedings{Toml89b,
  Author         = {Chris Tomlinson and Vineet Singh},
  Title          = {Inheritance and Synchronization with Enabled Sets},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {103-112},
  keywords       = {olit-obcl rosette oopsla89},
  month          = oct,
  year           = 1989
}

@TechReport{Spoo06a,
  Author         = {S. Alexander Spoon},
  Title          = {Package Universes: {Which} Components Are Real
                   Candidates?},
  Institution    = {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne
                   (EPFL)},
  Number         = {LAMP-REPORT-2006-002},
  year           = 2006
}

@PhdThesis{Halb84a,
  Author         = {Daniel C. Halbert},
  Title          = {Programming by Example},
  School         = {Dept. of EE and CS, University of California},
  Type           = {Ph.{D}. Thesis},
  Address        = {Berkeley CA},
  Note           = {Also OSD-T8402, XEROX Office Systems Division},
  keywords       = {olit},
  year           = 1984
}

@Article{Hans78a,
  Author         = {Per Brinch Hansen},
  Title          = {Distributed Processes: {A} Concurrent Programming
                   Concept},
  Journal        = {CACM},
  Volume         = {21},
  Number         = {11},
  Pages          = {934-941},
  keywords       = {concurrency},
  month          = nov,
  year           = 1978
}

@Misc{Odif90a,
  Author         = {Piergiorgio Odifreddi},
  Title          = {Logic and Computer Science},
  keywords       = {types intersection (bcp)},
  number         = {31},
  publisher      = {Academic Press},
  series         = {APIC Studies in Data Processing},
  year           = 1990
}

@InProceedings{Aldr04a,
  Author         = {Jonathan Aldrich},
  Title          = {Open Modules: Reconciling Extensibility and
                   Information Hiding},
  BookTitle      = {{SPLAT}: Software engineering Properties of Languages
                   for Aspect},
  Editor         = {Lodewijk Bergmans and Kris Gybels and Peri Tarr and
                   Erik Ernst},
  month          = mar,
  year           = 2004
}

@InProceedings{Tich99m,
  Author         = {Sander Tichelaar and Serge Demeyer},
  Title          = {{SNiFF}+ Talks to {Rational} {Rose} ---
                   Interoperability using a Common Exchange Model},
  BookTitle      = {{SNiFF}+ User's Conference},
  Note           = {Also appeared in the "Proceedings of the ESEC/FSE '99
                   Workshop on Object-Oriented Re-engineering (WOOR '99)"
                   -- Technical Report of the Technical University of
                   Vienna (TUV-1841-99-13)},
  abstract       = {Nowadays development environments are required to be
                   open: users want to be able to work with a combination
                   of their preferred commercial and home-grown tools.
                   TakeFive has opened up SNiFF+ with a so-called "Symbol
                   Table API"; Rational has opened up the UML tool Rose
                   via the so-called "Rose Extensibility Interface (REI)".
                   On the other hand, efforts are underway to define
                   standards for exchanging information between
                   case-tools; CDIF being a notable example. This paper
                   reports on our experience to generate UML diagrams in
                   Rational Rose from the symbol table in SNiFF+ using a
                   standard CDIF exchange format.},
  keywords       = {olit scg-pub skipdoi famoos-papunr sergedem-papunr
                   tich-papunr snf99 jb99},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich99mSniffToRationalRose.pdf},
  year           = 1999
}

@InProceedings{Boec90a,
  Author         = {Hans-Dieter B{\"o}cker and J{\"u}rgen Herczeg},
  Title          = {What Tracers Are Made Of},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {89-99},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Desm06a,
  Author         = {Brecht Desmet and Jorge Vallejos and Pascal Costanza},
  Title          = {Introducing Mixin Layers to Support the Development of
                   Context-Aware Systems},
  BookTitle      = {3rd European Workshop on Aspects in Sofware (EWAS
                   2006)},
  Address        = {University of Twente, Enschede, The Netherlands},
  keywords       = {cop-lit},
  month          = aug,
  url            = {http://p-cos.net/documents/mixin-layers.pdf},
  year           = 2006
}

@InProceedings{Trif05,
  Author         = {Adrian Trifu and Radu Marinescu},
  Title          = {Diagnosing Design Problems in Object Oriented Systems.},
  BookTitle      = {Proceedings of 12th Working Conference on Reverse
                   Engineering (WCRE 2005), 7-11 November 2005,
                   Pittsburgh, PA, USA},
  Pages          = {155--164},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.15},
  keywords       = {norex06},
  year           = 2005
}

@Misc{PROMOL,
  Title          = {Open PROMOL Language},
  Note           = {http://www.elen.ktu.lt/~damarobe/promol/index.html},
  key            = {PROMOL},
  keywords       = {script scripting}
}

@InProceedings{Torg04a,
  Author         = {Mads Torgersen},
  Title          = {The Expression Problem Revisited --- Four new
                   solutions using generics},
  BookTitle      = {Proceedings ECOOP 2004},
  Editor         = {Martin Odersky},
  Series         = {LNCS},
  Address        = {Oslo, Norway},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop04proc},
  misc           = {To appear},
  month          = jun,
  url            = {http://www.daimi.au.dk/~madst/ecoop04/},
  year           = 2004
}

@MastersThesis{Naab05a,
  Author         = {Matthias Naab},
  Title          = {Evaluation of Graphical Elements and their Adequacy
                   for the Visualization of Software Architectures},
  School         = {Fraunhofer IESE},
  year           = 2005
}

@Article{Wolc92a,
  Author         = {Mario Wolczko},
  Title          = {Encapsulation, delegation and inheritance in
                   object-oriented languages},
  Journal        = {IEEE Software Engineering Journal},
  Volume         = {7},
  Number         = {2},
  Pages          = {95-102},
  keywords       = {olit ois},
  month          = mar,
  publisher      = {IEEE},
  year           = 1992
}

@Misc{Corn06a,
  Author         = {Steve Cornett},
  Title          = {Minimum Acceptable Code Coverage},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  institution    = {Bullseye Testing Technology},
  keywords       = {code coverage},
  url            = {http://www.bullseye.com/minimum.html},
  year           = 2006
}

@InProceedings{Bala99b,
  Author         = {Magdalena Balazinska and Ettore Merlo and Michel
                   Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis},
  Title          = {Partial Redesign of {Java} Software Systems Based on
                   Clone Analysis},
  BookTitle      = {Proceedings Sixth Working Conference on Reverse
                   Engineering},
  Editor         = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer
                   Rugaber},
  Pages          = {326-336},
  Organization   = {IEEE Computer Society},
  keywords       = {clones},
  month          = oct,
  year           = 1999
}

@InProceedings{Plev94a,
  Author         = {John Pleviak and Andrew A. Chien},
  Title          = {Precise Concrete Type Inference for Object-Oriented
                   Languages},
  BookTitle      = {Proceedings of OOPSLA '94},
  Pages          = {324-340},
  year           = 1994
}

@Article{Dimit04a,
  Author         = {Sergey Dimitriev},
  Title          = {Language Oriented Programming: The Next Programming
                   Paradigm},
  Journal        = {onBoard Online Magazine},
  Volume         = {1},
  Number         = {1},
  month          = nov,
  url            = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/},
  year           = 2004
}

@Article{Etzk98a,
  Author         = {Letha Etzkorn and Carl Davis and Wei Li},
  Title          = {A Practical Look at the Lack of Cohesion in Methods
                   Metric},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {11},
  Number         = {5},
  Pages          = {27-34},
  keywords       = {olit metrics},
  month          = sep,
  year           = 1998
}

@InProceedings{Song06a,
  Author         = {Haitao Song and Yingyu Yin and Shixiong Zheng},
  Title          = {Dynamic Aspects Weaving in Service Composition},
  BookTitle      = {ISDA '06: Proceedings of the Sixth International
                   Conference on Intelligent Systems Design and
                   Applications (ISDA'06)},
  Pages          = {1003--1008},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://dx.doi.org/10.1109/ISDA.2006.137},
  isbn           = {0-7695-2528-8},
  year           = 2006
}

@InProceedings{Schu02a,
  Author         = {Sibylle Schupp and Mukkai Krishnamoorthy and Marcin
                   Zalewski and James Kilbride},
  Title          = {The ``{Right}'' {Level} of {Abstraction} --
                   {Assessing} {Reusable} {Software} with {Formal}
                   {Concept} {Analysis}},
  BookTitle      = {Foundations and Applications of Conceptual Structures
                   --- Contributions to ICCS 2002},
  Editor         = {Angelova, G. and Corbett, D. and Priss, U.},
  Pages          = {74-91},
  Publisher      = {Bulgarian Academy of Sciences},
  keywords       = {fca},
  year           = 2002
}

@Misc{JSP,
  Title          = {Java Server Pages},
  Note           = {http://java.sun.com/products/jsp/},
  key            = {JSP}
}

@TechReport{Plot81a,
  Author         = {Gordon Plotkin},
  Title          = {A Structural Approach to Operational Semantics},
  Institution    = {University of Aarhus, Denmark},
  keywords       = {SOS},
  year           = 1981
}

@Misc{Mart00b,
  Author         = {Robert C. Martin},
  Title          = {Design Principles and Design Patterns},
  Note           = {www.objectmentor.com},
  abstract       = {"What goes wrong with software?" A brief explanation
                   of the ten Principles of OOD with supporting patterns.},
  url            = {http://www.objectmentor.com/resources/articles/Principles_and_Patterns.PDF},
  year           = 2000
}

@InProceedings{Smar02b,
  Author         = {Yannis Smaragdakis},
  Title          = {Layered Development with ({Unix}) Dynamic Libraries},
  BookTitle      = {Proceedings ICSR 2002},
  Editor         = {Cristina Gacek},
  Volume         = {2319},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {33-45},
  Publisher      = {Springer},
  isbn           = {3-540-43483-6},
  year           = 2002
}

@Book{Nier06c,
  Editor         = {Oscar Nierstrasz and Jon Whittle and David Harel and
                   Gianna Reggio},
  Title          = {Proceedings {MoDELS} 2006},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 4199},
  Address        = {Genoa, Italy},
  doi            = {http://dx.doi.org/10.1007/11880240},
  isbn           = {0302-9743},
  keywords       = {olit models scg-pub jb07 fb06},
  month          = oct,
  url            = {http://www.springeronline.com/3-540-45772-0
                   http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=4199&issue=preprint},
  year           = 2006
}

@Book{VanH96a,
  Author         = {Arthur Van Hoff and Sami Shaio and Orca Starbuck},
  Title          = {Hooked on {Java}},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-48837-X},
  keywords       = {java obib?mobility scglib},
  year           = 1996
}

@TechReport{Diet99a,
  Author         = {Urs Dietrich and Christian Kaufmann},
  Title          = {Dokumentation zu BernHist {III}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Diet99a.pdf},
  year           = 1999
}

@Article{Baro81a,
  Author         = {A.J. Baroody and D.J. De Witt},
  Title          = {An Object-Oriented Approach to Database System
                   Implementation},
  Journal        = {ACM TODS},
  Volume         = {6},
  Number         = {4},
  keywords       = {olit-db casais},
  month          = dec,
  year           = 1981
}

@Proceedings{Reis97a,
  Title          = {Theoretical aspects of Computer Science},
  Editor         = {Rudiger Reischuck and Michel Morvan},
  Series         = {LNCS 1200},
  Address        = {Lubeck, Germany},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the 14th Annual Symposium on
                   Theoretical Aspects of Computer Science, STACS '97},
  isbn           = {3-540-62616-6},
  keywords       = {stacs97 scglib},
  month          = feb,
  year           = 1997
}

@InProceedings{Duwe00a,
  Author         = {Stephan D{\"{u}}wel and Wolfgang Hesse},
  Title          = {Bridging the {Gap} between {Use} {Case} {Analysis} and
                   {Class} {Structure} {Design} by {Formal} {Concept}
                   {Analysis}},
  BookTitle      = {Modelle und Modellierungssprachen in Informatik und
                   Wirtschaftsinformatik. Proceedings ``Modellierung
                   2000''},
  Editor         = {J. Ebert and U. Frank},
  Pages          = {27-40},
  Address        = {Koblenz},
  Publisher      = {F\"{o}lbach-Verlag},
  keywords       = {fca},
  year           = 2000
}

@InProceedings{Ston94a,
  Author         = {Maureen Stone and Ken Fishkin and Eric Bier},
  Title          = {The Movable Filter as a User Interface Tool},
  BookTitle      = {Proceedings CHI 94},
  Pages          = {306-312},
  Publisher      = {ACM},
  url            = {http://www.parc.xerox.com/istl/projects/MagicLenses/},
  year           = 1994
}

@InProceedings{Dede06a,
  Author         = {Jessie Dedecker and Tom Van Cutsem and Stijn Mostinckx
                   and Theo D'Hondt, Wolfgang De Meuter},
  Title          = {Ambient-Oriented Programming in AmbientTalk},
  BookTitle      = {Proceedings of the 20th European Conference on
                   Object-Oriented Programming (ECOOP '06)},
  Editor         = {Dave Thomas},
  Volume         = {4067},
  Pages          = {230--254},
  Publisher      = {Springer-Verlag},
  year           = 2006
}

@InProceedings{Shiv95a,
  Author         = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina},
  Title          = {{SCAM}: A Copy Detection Mechanism for Digital
                   Documents},
  BookTitle      = {Proceedings of the Second Annual Conference on the
                   Theory and Practice of Digital Libraries},
  url            = {citeseer.ist.psu.edu/shivakumar95scam.html},
  year           = 1995
}

@Book{Diaz89b,
  Editor         = {J. D\'iaz and F. Orejas},
  Title          = {Proceedings {TAPSOFT}'89: Volume 2},
  Publisher      = {Springer-Verlag},
  Volume         = {352},
  Series         = {LNCS},
  Address        = {Barcelona, Spain},
  isbn           = {3-540-53940-2},
  keywords       = {olit tapsoft89 scglib},
  month          = mar,
  year           = 1989
}

@Article{Wuyt05a,
  Author         = {Roel Wuyts and St\'ephane Ducasse and Oscar Nierstrasz},
  Title          = {A Data-centric Approach to Composing Embedded,
                   Real-time Software Components},
  Journal        = {Journal of Systems and Software --- Special Issue on
                   Automated Component-Based Software Engineering},
  Volume         = {74},
  Number         = {1},
  Pages          = {25-34},
  abstract       = {Software for embedded systems must cope with a variety
                   of stringent constraints, such as real-time
                   requirements, small memory footprints, and low power
                   consumption. It is usually implemented using low-level
                   programming languages, and as a result has not
                   benefitted from component-based software development
                   techniques. This paper describes a \emph{data-centric
                   component model} for embedded devices that (i)
                   minimizes the number of concurrent tasks needed to
                   implement the system, (ii) allows one to verify whether
                   components meet their deadlines by applying Rate
                   Monotonic Analysis (RMA), and (iii) can generate and
                   verify schedules using Constraint Logic Programming
                   (CLP). This model forms the foundation for a suite of
                   tools for specifying, composing, verifying and
                   deploying embedded software components developed in the
                   context of the \pecos project.},
  annote         = {internationaljournal},
  cvs            = {PecosJournalPaper},
  doi            = {http://dx.doi.org/10.1016/j.jss.2003.05.004},
  keywords       = {scg-pub jb03 pecos stefPub},
  misc           = {SCI impact factor 0.744},
  publisher      = {Elsevier},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt05aPecosElsevier.pdf},
  year           = 2005
}

@InProceedings{Vieg04a,
  Author         = {Fernanda Vi\'egas and Martin Wattenberg and Kushal
                   Dave},
  Title          = {Studying Cooperation and Conflict between Authors with
                   history flow Visualizations},
  BookTitle      = {In Proceedings of the Conference on Human Factors in
                   Computing Systems (CHI 2004)},
  Pages          = {575-582},
  keywords       = {visualization evolution},
  month          = apr,
  year           = 2004
}

@InCollection{Kris93a,
  Author         = {Bent Buun Kristensen},
  Title          = {Transverse Activities: Abstractions in Object-Oriented
                   Programming,},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {279-296},
  abstract       = {A \fItransverse activity\fR is an activity executed by
                   several objects in some combination. The activity is
                   described as a single unit, separately from the
                   descriptions of the participating objects. A transverse
                   activity is described and executed by using the usual
                   object-centric actions, i.e. the methods of the
                   objects, and is seen as a natural supplement to the
                   description of the cooperation of active objects.
                   Transverse activities support the modeling of our
                   conceptual understanding of combined activities. Our
                   conceptual understanding not only includes the
                   recognition of usual components but also the
                   recognition of activities combined from the individual
                   actions of such components. We are used to recognize
                   components as phenomena, but transverse activities are
                   phenomena also and these activities may be classified,
                   specialized, and aggregated, i.e. abstraction in this
                   sense is possible also for such activities. The
                   description of a transverse activity must at least
                   include a listing of the components participating in
                   the activity and a listing of the sequence of actions
                   making up the combined directive of the activity. In
                   the specialization or aggregation of activities by
                   means of other activities both the participants and the
                   directive can be included in these forms of abstraction
                   to support the underlying intention of transverse
                   activities. Usual language mechanisms such as class,
                   object etc. in various forms are used to model
                   phenomena and concepts. A ongoing revision and
                   extension of such usual object-oriented language
                   mechanisms is necessary to be able to model, directly
                   and naturally, additional differentiating elements of
                   conceptual understanding, such as e.g. transverse
                   activities. Transverse activities are illustrated and
                   motivated by means of several minor fragments of a
                   complex example and an conceptual understanding of
                   transverse activities is outlined. Language mechanisms
                   supporting the classification, specialization, and
                   aggregation of transverse activities is defined by
                   means of special activity-classes and -objects. Various
                   possibilities for adding new and powerful features as
                   part of such mechanisms are discussed. The meaning of
                   the execution of activity-objects in relation to the
                   execution of the components involved in the activity is
                   defined in terms of interleaved execution.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Article{Gitm70a,
  Author         = {I. Gitman and M. D. Levine},
  Title          = {An {Algorithm} for {Detecting} {Unimodal} {Fuzzy}
                   {Sets} and {Its} {Application} as a {Clustering}
                   {Technique}},
  Journal        = {IEEE Transactions on Computers},
  Volume         = {CE-19},
  Pages          = {583-593},
  keywords       = {clustering},
  month          = jul,
  year           = 1970
}

@Unpublished{Liqu04a,
  Author         = {Luigi Liquori and Arnaud Spiwack},
  Title          = {Adding Multiple Inheritance to {Featherweight {Java}}},
  Note           = {INRIA Sophia Antipolis \& ENS Cachan, available at
                   \href{http://www-sop.inria.fr/mirho/Luigi.Liquori/PAPERS/ftj.pdf}
                   {www-sop.inria.fr/mirho/Luigi.Liquori/PAPERS/ftj.pdf}},
  type           = {Manuscript},
  url            = {http://www-sop.inria.fr/mirho/Luigi.Liquori/PAPERS/ftj.pdf},
  year           = 2004
}

@InProceedings{Kosk84a,
  Author         = {K. Koskimies},
  Title          = {A Specification Language for One-Pass Semantic
                   Analysis},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings 1984 Symposium on
                   Compiler Construction},
  Volume         = {19},
  Pages          = {179-189},
  keywords       = {compiler generator hlp patterns},
  month          = jun,
  year           = 1984
}

@MastersThesis{Wett04a,
  Author         = {Richard Wettel},
  Title          = {Automated Detection Of Code Duplication Clusters},
  School         = {Faculty of Automatics and Computer Science,
                   "Politehnica" University of Timi\c{s}oara},
  keywords       = {clone},
  month          = jun,
  year           = 2004
}

@TechReport{Duca94b,
  Author         = {St\'ephane Ducasse and Mireille Fornarino and
                   Anne-Marie Pinna},
  Title          = {Embedding behavioral relationships between objects
                   using computational relection},
  Institution    = {Laboratoire I3S},
  Number         = {I3S Lab, RR-94-60},
  annote         = {report notrefereed},
  keywords       = {stefPub flo},
  year           = 1994
}

@InProceedings{OBri87a,
  Author         = {Patrick D. O'Brien and Daniel C. Halbert and Michael
                   F. Kilian},
  Title          = {The {Trellis} Programming Environment},
  BookTitle      = {Proceedings Object-Oriented Programming Systems,
                   Languages and Applications, (OOPSLA'87), ACM SIGPLAN
                   Notices},
  Volume         = 22,
  Pages          = {91-102},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/38765.38815},
  isbn           = {0-89791-247-0},
  keywords       = {olit-oopl trellis owl oopsla87 grass catcher},
  location       = {Orlando, Florida, USA},
  month          = oct,
  year           = 1987
}

@InProceedings{Huch99a,
  Author         = {Marianne Huchard and Herv{\'e} Leblanc},
  Title          = {From {JAVA} {Classes} to {JAVA} {Interfaces} through
                   {Galois} {Lattices}},
  BookTitle      = {Actes de ORDAL '99 (3rd International Conference on
                   Orders, Algorithms and Applications)},
  Pages          = {211-216},
  Address        = {Montpellier, France},
  keywords       = {fca},
  year           = 1999
}

@InProceedings{Roet07c,
  Author         = {David R{\"o}thlisberger and Orla Greevy and Adrian
                   Lienhard},
  Title          = {Supporting Software Maintenance with Interactive
                   Feature Driven Browsing},
  BookTitle      = {Proceedings IEEE International Workshop on Visualizing
                   Software for Understanding (Vissoft 2007) (tool
                   demonstration)},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi snf07},
  peer           = {yes},
  year           = 2007
}

@Book{Pier91a,
  Author         = {Benjamin C. Pierce},
  Title          = {Basic Category Theory for Computer Scientists},
  Publisher      = {MIT Press},
  Address        = {Cambridge, Mass.},
  isbn           = {0-521-42225-6},
  keywords       = {misc category theory book scglib},
  year           = 1991
}

@InProceedings{Cost05a,
  Author         = {Pascal Costanza and Robert Hirschfeld},
  Title          = {Language Constructs for Context-oriented Programming:
                   An Overview of {ContextL}},
  BookTitle      = {Proceedings of the Dynamic Languages Symposium (DLS)
                   '05, co-organized with OOPSLA'05},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1146841.1146842},
  isbn           = {1-59593-283-6},
  keywords       = {contextl cop-lit},
  location       = {San Diego, CA, USA},
  month          = oct,
  url            = {http://p-cos.net/documents/contextl-overview.pdf},
  year           = 2005
}

@Article{Gris95a,
  Author         = {William G. Griswold and David Notkin},
  Title          = {Architectural Tradeoffs for a Meaning-Preserving
                   Program Restructuring Tool},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {4},
  Pages          = {275-287},
  keywords       = {olit binder},
  month          = apr,
  year           = 1995
}

@Book{Burn97a,
  Author         = {Alan Burns and Andy Wellings},
  Title          = {Real-Time Systems and Programming Languages},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-40365-X},
  keywords       = {pl concurrency real-time scglib},
  year           = 1997
}

@Article{Knie01a,
  Author         = {G{\"u}nter Kniesel and Dirk Theisen},
  Title          = {{JAC} --- Access right based encapsulation for {Java}},
  Journal        = {Software -- Practice and Experience},
  Volume         = {31},
  Number         = {6},
  Pages          = {555-576},
  month          = may,
  year           = 2001
}

@MastersThesis{Rene01a,
  Author         = {N'Guiamba N'Zi\'e Simon Ren\'e},
  Title          = {R\'etro-Ing\'enierie d'un systeme agent de diagnostic
                   pour op\'erateur de batiments},
  School         = {Universit\'e du Qu\'ebec a Montreal},
  month          = dec,
  year           = 2001
}

@Book{Weis99a,
  Author         = {D. Weiss and Lay, C.T.R},
  Title          = {Software Product Line Engineering},
  Publisher      = {Addison Wesley},
  year           = 1999
}

@InProceedings{Tan89a,
  Author         = {L. Tan and T. Katayama},
  Title          = {Meta Operations for Type Management in Object-oriented
                   Databases -- a Lazy Mechanism for Schema Evolution},
  BookTitle      = {First International Conference on Deductive and
                   Object-Oriented Databases, DOOD89.},
  Editor         = {W. Kim and J.-M. Nicolas and S. Nishio},
  Pages          = {241-258},
  Address        = {Kyoto, Japan},
  Publisher      = {North-Holland},
  keywords       = {olit-oodb schema evolution (smc)},
  year           = 1989
}

@Book{Hopc79a,
  Author         = {John E. Hopcroft and Jeffrey D. Ullman},
  Title          = {Introduction to Automata Theory, Languages and
                   Computation},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {misc automata book},
  year           = 1979
}

@Book{Schm96b,
  Editor         = {Douglas C. Schmidt},
  Title          = {The Second Conference on Object-Oriented Technologies
                   and Systems ({COOTS}'96)},
  Publisher      = {USENIX},
  isbn           = {1-880446-77-4},
  keywords       = {COOTS '96 scglib},
  year           = 1996
}

@InProceedings{Horn87b,
  Author         = {Chris Horn},
  Title          = {Conformance, Genericity, Inheritance and Enhancement},
  BookTitle      = {Proceedings ECOOP '87},
  Editor         = {J. B\'ezivin and J-M. Hullot and P. Cointe and H.
                   Lieberman},
  Volume         = {276},
  Series         = {LNCS},
  Pages          = {223-233},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop87proc},
  misc           = {June 15-17},
  month          = jun,
  year           = 1987
}

@Misc{Comanche,
  Title          = {Comanche: a full featured web serving environment for
                   {Smalltalk}},
  Note           = {http://squeaklab.org/comanche},
  key            = {Comanche},
  keywords       = {squeak web server}
}

@TechReport{Stro84d,
  Author         = {Bjarne Stroustrup},
  Title          = {The {C}++ Programming Language --- Reference Manual},
  Institution    = {AT\&T Bell Laboratories},
  Type           = {Computing Science Technical Report},
  Number         = {108},
  Address        = {Murray Hill, New Jersey 07974},
  keywords       = {olit-oopl c++},
  month          = jan,
  year           = 1984
}

@InProceedings{Beaz96a,
  Author         = {David M. Beazley},
  Title          = {{SWIG}: An Easy to Use Tool for Integrating Scripting
                   Languages with {C} and {C}++},
  BookTitle      = {Proceedings of the 4th USENIX Tcl/Tk Workshop},
  Pages          = {129-139},
  keywords       = {scripting tcl},
  url            = {http://www.cs.utah.edu/~beazley/Papers/tcl/newtcl.html},
  year           = 1996
}

@InProceedings{Mart02a,
  Author         = {Ludger Martin and Anke Giesl and Johannes Martin},
  Title          = {Dynamic Component Program Visualization},
  BookTitle      = {Proceedings of WCRE 2002 (Working Conference on
                   Reverse Engineering)},
  keywords       = {dynamic},
  year           = 2002
}

@InProceedings{Clem01a,
  Author         = {John Clements and Paul T. Graunke and Shriram
                   Krishnamurthi and Matthias Felleisen},
  Title          = {Little Languages and their Programming Environments},
  BookTitle      = {Proceedings of Monterey Workshop},
  url            = {http://www.cs.rice.edu/CS/PLT/Publications/mw01-cgkf.pdf},
  year           = 2001
}

@InProceedings{Mayr96c,
  Author         = {Jean Mayrand and Bruno Lagu{\"e} and John Hudepohl},
  Title          = {Evaluating the Benefits of Clone Detection in the
                   Software Maintenance Activities in Large Scale Systems},
  BookTitle      = {Workshop on Empirical Software Studies, Monterey,
                   California, USA},
  month          = nov,
  year           = 1996
}

@Article{Wats02a,
  Author         = {Watson Anne, Mason John H.},
  Title          = {Student-Generated Examples in the Learning of
                   Mathematics},
  Journal        = {Canadian Journal of Science, Mathematics and
                   Technology Education},
  Volume         = {2},
  Number         = {2},
  Pages          = {237-249},
  keywords       = {examples},
  year           = 2002
}

@Article{Murp98a,
  Author         = {Gail C. Murphy and David Notkin and William G.
                   Griswold and Erica S. Lan},
  Title          = {An Emperical Study of Static Call Graph Extractors},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {7},
  Number         = {2},
  Pages          = {158-191},
  month          = apr,
  year           = 1998
}

@Article{Hill86a,
  Author         = {Ralph D. Hill},
  Title          = {Supporting Concurrency, Communication and
                   Synchronization in Human-Computer Interaction --- The
                   Sassafras {UIMS}},
  Journal        = {ACM Transactions on Computer Graphics},
  Volume         = {5},
  Number         = {3},
  Pages          = {179-210},
  keywords       = {uilit},
  month          = jul,
  year           = 1986
}

@Book{Meye92a,
  Author         = {Bertrand Meyer},
  Title          = {Eiffel: The Language},
  Publisher      = {Prentice-Hall},
  keywords       = {olit-oopl eiffel oobib(oopl) book},
  year           = 1992
}

@Article{Bruc90a,
  Author         = {Kim B. Bruce and Giuseppe Longo},
  Title          = {A Modest Model of Records, Inheritance, and Bounded
                   Quantification},
  Journal        = {Information and Computation},
  Volume         = {87},
  Pages          = {196-240},
  keywords       = {olit types inheritance binder},
  year           = 1990
}

@Book{Lutz96a,
  Author         = {Mark Lutz},
  Title          = {Programming {Python}},
  Publisher      = {O'Reilly \& Associates, Inc.},
  isbn           = {1-56592-197-6},
  keywords       = {scglib},
  year           = 1996
}

@Article{Rubi86a,
  Author         = {R.V. Rubin},
  Title          = {Language Constructs for Pogramming by Example},
  Journal        = {3rd ACM-SIGOIS Conf on Office Information Systems,
                   also SIGOIS Bulletin},
  Volume         = {7},
  Number         = {2-3},
  Pages          = {92-103},
  keywords       = {visprog ptyping},
  year           = 1986
}

@InProceedings{Walk98a,
  Author         = {Robert J. Walker and Gail C. Murphy and Bjorn
                   Freeman-Benson and Darin Wright and Darin Swanson and
                   Jeremy Isaak},
  Title          = {Visualizing Dynamic Software System Information
                   through High-Level Models},
  BookTitle      = {Proceedings OOPSLA '98},
  Pages          = {271-283},
  Publisher      = {ACM},
  month          = oct,
  year           = 1998
}

@InProceedings{Augu98a,
  Author         = {M. Auguston},
  Title          = {Building program Behavior Models},
  BookTitle      = {European Conference on Artificial Intelligence
                   ECAI-98, Workshop on Spatial and Temporal Reasoning,
                   Brighton, England},
  month          = aug,
  year           = 1998
}

@InCollection{Meij97b,
  Author         = {Theo Dirk Meijler and Oscar Nierstrasz},
  Title          = {Beyond Objects: Components},
  BookTitle      = {Cooperative Information Systems: Current Trends and
                   Directions},
  Publisher      = {Academic Press},
  Editor         = {M.P. Papazoglou and G. Schlageter},
  Pages          = {49-78},
  abstract       = {Traditional software development approaches do not
                   cope well with the evolving requirements of open
                   systems. We argue that such systems are best viewed as
                   flexible compositions of "software components" designed
                   to work together as part of a component framework that
                   formalizes a class of applications with a common
                   software architecture. To enable such a view of
                   software systems, we need appropriate support from
                   programming language technology, software tools, and
                   methods. We will briefly review the current state of
                   object-oriented technology, insofar as it supports
                   component-oriented development, and propose a research
                   agenda of topics for further investigation.},
  keywords       = {olit scg-pub skipdoi jb-none snf96 omnrep},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Meij97bBeyondObjects.pdf},
  year           = 1997
}

@InProceedings{Samp04a,
  Author         = {Sreedevi Sampath and Valentin Mihaylov and Amie Souter
                   and Lori Pollock},
  Title          = {A {Scalable} {Approach} to {User}-{Session} based
                   {Testing} of {Web} {Applications} through {Concept}
                   {Analysis}},
  BookTitle      = {Proceedings of ASE '04 (19th International Conference
                   on Automated Software Engineering)},
  Pages          = {132-141},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  location       = {Linz, Austria},
  month          = sep,
  year           = 2004
}

@Article{Huch00a,
  Author         = {Marianne Huchard and Herv{\'e} Dicky and Herv{\'e}
                   Leblanc},
  Title          = {Galois {Lattice} as a {Framework} to specify
                   {Algorithms} {Building} {Class} {Hierarchies}},
  Journal        = {Theoretical Informatics and Applications},
  Volume         = {34},
  Pages          = {521-548},
  year           = 2000
}

@Proceedings{Loch85a,
  Title          = {Special Issue on Object-Oriented Systems},
  Editor         = {Fred H. Lochovsky},
  Volume         = {8},
  journal        = {IEEE Database Engineering},
  keywords       = {olit survey special issue oobib(gen)},
  month          = dec,
  year           = 1985
}

@Misc{ParcPlace89,
  Title          = {ParcPlace Systems, Objectworks Reference Guide,
                   Smalltalk-80, Version 2.5, Chapter 36},
  Note           = {ParcPlace Systems},
  key            = {ParcPlace89},
  year           = 1989
}

@InProceedings{Burd02a,
  Author         = {Elizabeth Burd and John Bailey},
  Title          = {Evaluating Clone Detection Tools for Use during
                   Preventative Maintenance},
  BookTitle      = {Proceedings 2nd Int. Workshop on Source Code Analysis
                   and Manipulation (SCAM'02)},
  Pages          = {36-43},
  Address        = {Montreal, Canada},
  Publisher      = {IEEE},
  month          = oct,
  year           = 2002
}

@InCollection{Yoo93a,
  Author         = {Suk I. Yoo and Hai Jin Chang},
  Title          = {An Object-Oriented Query Model Supporting Views},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Editor         = {Nishio, S. and Yonezawa, A},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {251-263},
  abstract       = {This paper suggests an object-oriented query model.
                   The model is algebraically-closed and supports a view
                   mechanism. In the view mechanism, a view is simply
                   defined as a named query expression, and queries issued
                   against views can be translated into equivalent queries
                   against databases by means of the query modification
                   technique as used i relational database systems, and a
                   view makes it possible for its user to see a subset of
                   its base objects, a subset of the methods of its base
                   objects, or new relationships created by combining two
                   or more sets of its base objects.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@MastersThesis{Hofe06b,
  Author         = {Christoph Hofer},
  Title          = {Implementing a Backward-In-Time Debugger},
  School         = {University of Bern},
  Type           = {Master's Thesis},
  abstract       = {In both development and maintenance of software,
                   finding and fixing bugs take a huge percentage of the
                   overall time and resources. Traditional debugging and
                   stepping execution trace are well-accepted techniques
                   to understand deep internals about a program. However
                   in many cases navigating the stack trace is not enough
                   to find bugs, since the cause of a bug is often not in
                   the stack trace anymore and old state is lost, so out
                   of reach from the debugger. Therefore there is a
                   challenge in providing new ways of debugging. In this
                   work, we present the design and implementation of a
                   backward-in-time debugger for a dynamic language, i.e.,
                   a debugger that allows one to navigate back the history
                   of the application. We present the design and
                   implementation of a backward-in-time debugger called
                   Unstuck and show our solution to key implementation
                   challenges. },
  keywords       = {scg-msc snf06 jb07 fb06},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Hofe06b.pdf},
  year           = 2006
}

@PhdThesis{Frol94a,
  Author         = {Svend Fr\/olund},
  Title          = {Constraint-{Based} {Synchronization} of {Distributed}
                   {Activities}},
  School         = {University of Illinois at Urbana-Champaign},
  year           = 1994
}

@InProceedings{Devo98a,
  Author         = {Martine Devos and Michel Tilman},
  Title          = {Incremental development of a repository-based
                   framework supporting organizational inquiry and
                   learning},
  BookTitle      = {OOPSLA'98 Practioner's Report},
  year           = 1998
}

@MastersThesis{Bran95b,
  Author         = {John Brant},
  Title          = {HotDraw},
  School         = {University of Illinois at Urbana-Chanpaign},
  year           = 1995
}

@TechReport{Fank98a,
  Author         = {Simon Fankhauser},
  Title          = {Installation einer Datenbank am Astronomischen
                   Institut der Universit{\"a}t Bern},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Fank98a-bericht.pdf
                   http://www.iam.unibe.ch/~scg/Archive/Projects/Fank98a-hb.pdf},
  year           = 1998
}

@InProceedings{Hoel95a,
  Author         = {Urs H{\"o}lzle and David Ungar},
  Title          = {Do Object-Oriented Languages Need Special Hardware
                   Support?},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {283-302},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Erns01a,
  Author         = {Erik Ernst},
  Title          = {Family Polymorphism},
  BookTitle      = {ECOOP 2001},
  Editor         = {J. L. Knudsen},
  Number         = {2072},
  Series         = {LNCS},
  Pages          = {303-326},
  Publisher      = {Springer Verlag},
  year           = 2001
}

@InProceedings{Taha96a,
  Author         = {Y. Tahara and F. Kumeno and A. Ohsuga and S. Honiden},
  Title          = {An Algebraic Semantics of Reflective Objects},
  BookTitle      = {Proceedings of ISOTAS '96, LNCS 1049},
  Pages          = {171-189},
  Organization   = {JSSST-JAIST},
  month          = mar,
  year           = 1996
}

@Article{Fabr97a,
  Author         = {Jean-Charles Fabre},
  Title          = {Syst\`emes s\^urs de fontionnement, tol\'erance aux
                   fautes par protocoles \`a m\'etaobjets.},
  Journal        = {L'Objet},
  Volume         = {3},
  Number         = {1},
  Pages          = {9-29},
  Note           = {article},
  year           = 1997
}

@InProceedings{Gold81b,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {Browsing in a Programming Environment},
  BookTitle      = {Proceedings of the 14th Hawaii International
                   Conference on System Science},
  keywords       = {olit-oopl smalltalk pie},
  month          = jan,
  year           = 1981
}

@Misc{Prec00b,
  Author         = {Lutz Prechelt and Guido Malpohl and Michael Philippsen},
  Title          = {Finding plagiarisms among a set of programs with
                   {JPlag}},
  annotate       = {Resubmitted to Journal of Universal Computer Science},
  keywords       = {plagiarism},
  url            = {http://citeseer.ist.psu.edu/article/prechelt01finding.html},
  year           = 2000
}

@TechReport{Brin87b,
  Author         = {Ed Brinksma},
  Title          = {On the Existence of Canonical Testers},
  Institution    = {Twente University of technology},
  Type           = {Memorandum},
  Number         = {INF-87-5},
  keywords       = {pcalc equivalence lotos binder},
  month          = jan,
  year           = 1987
}

@InProceedings{Fink02a,
  Author         = {Raphael A. Finkel and Arkady Zaslavsky and Krisztian
                   Monostori and Heinz Schmidt},
  Title          = {Signature Extraction for Overlap Detection in
                   Documents},
  BookTitle      = {Twenty-Fifth Australasian Computer Science Conference
                   (ACSC2002)},
  Editor         = {Michael J. Oudshoorn},
  Address        = {Melbourne, Australia},
  Publisher      = {ACS},
  url            = {http://citeseer.ist.psu.edu/539959.html},
  year           = 2002
}

@InProceedings{Smit82b,
  Author         = {D.C.S. Smith and C. Irby and R. Kimball and E. Harslam},
  Title          = {The Star User Interface: An Overview},
  BookTitle      = {Proceedings AFIPS National Computer Conference},
  Volume         = {51},
  Pages          = {515-528},
  keywords       = {uilit star},
  month          = jun,
  year           = 1982
}

@TechReport{Clam91a,
  Author         = {Stewart M. Clamen},
  Title          = {Data Persistence in Programming Languages --- {A}
                   Survey},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-91-155}},
  Address        = {Pittsburgh, PA},
  keywords       = {oodb-olit survey (smc)},
  month          = may,
  url            = {ftp://reports.adm.cs.cmu.edu/1991/CMU-CS-91-155.ps},
  year           = 1991
}

@InProceedings{Gold91a,
  Author         = {Eric Gold and Mary Beth Rosson},
  Title          = {Portia: {An} Instance-Centered Environment for
                   {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {62-74},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@TechReport{Wald94a,
  Author         = {J. Waldo and G. Wyant and A. Wollrath and S. Kendall},
  Title          = {A note on distributed computing},
  Institution    = {Sun Microsystems Labs},
  year           = 1994
}

@TechReport{Tsic91e,
  Author         = {Dennis Tsichritzis and Vassili Prevelakis},
  Title          = {Perspectives on Hypertext Structures},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {Using graph-like structures to store and organise
                   ideas, concepts, or even programs is not new. However,
                   difficulties arise when large amounts of inter-related
                   information are shared by groups of people. This paper
                   describes an organisation based on perspectives that
                   aids in structuring hy pertext. Perspectives provide a
                   uniform model for views, versions and contexts --- and
                   can be composed via perspective operations. After a
                   brief introduction where we motivate the need for
                   structuring mechanisms within hypertext, we give a more
                   rigorous description of the model be hind perspectives
                   and the operations that can be performed on them. We
                   then present a number of examples that demonstrate that
                   perspectives can be used in various application
                   domains. Finally, we outline a prototype implementation
                   built to demonstrate the power and flexibility of our
                   model.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91 hypertext perspectives versioning},
  month          = jun,
  pages          = {255-271},
  year           = 1991
}

@InProceedings{Bour98a,
  Author         = {Noury M. N. Bouraqadi-Saadani and Thomas Ledoux and
                   Fred Rivard},
  Title          = {Safe Metaclass Programming},
  BookTitle      = {Proceedings OOPSLA '98},
  Pages          = {84-96},
  year           = 1998
}

@Book{Seib05a,
  Author         = {Peter Seibel},
  Title          = {Practical Common Lisp},
  Publisher      = {APress},
  isbn           = {1590592395},
  url            = {http://www.gigamonkeys.com/book/},
  year           = 2005
}

@Book{Agha93d,
  Editor         = {Gul Agha and Peter Wegner and Akinori Yonezawa},
  Title          = {Research Directions in Concurrent Object-Oriented
                   Programming},
  Publisher      = {MIT Press},
  isbn           = {0-262-01139-5},
  keywords       = {olit-obc book scglib},
  year           = 1993
}

@Book{Raym95a,
  Author         = {Kerry Raymond},
  Title          = {Reference model of Open Distributed Processing
                   ({RM}-{ODP}):Introduction {RM}-{ODP} Tutorial},
  Publisher      = {Center for Information Technology,University of
                   Queesland, Australia},
  keywords       = {odp},
  url            = {http://www.dstc.edu.au/papers/icodp95.ps.gz},
  year           = 1995
}

@TechReport{Nest92a,
  Author         = {Uwe Nestmann and L\'aszl\'o Teleki},
  Title          = {A Chemical Abstract Machine for a Calculus of
                   Communicating Functions},
  Institution    = {Univ. Erlangen-N{\"u}rnberg},
  Type           = {IMMD7-14/92},
  Note           = {submitted for publication},
  keywords       = {pcalc binder (shelf)},
  month          = dec,
  year           = 1992
}

@InProceedings{Tant01a,
  Author         = {{\'E}ric Tanter and Noury Bouraqadi and Jacques Noy\'e},
  Title          = {Reflex --- Towards an open reflective extension of
                   {Java}},
  BookTitle      = {Proceedings of the Third International Conference on
                   Metalevel Architectures and Separation of Crosscutting
                   Concerns},
  Volume         = {2192},
  Series         = {LNCS},
  Pages          = {25-43},
  Publisher      = {Springer-Verlag},
  year           = 2001
}

@Article{Ibra91a,
  Author         = {Mamdouh H. Ibrahim and William E. Bejeck and Fred A.
                   Cummins},
  Title          = {Instance specialization without delegation},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {4},
  Number         = {3},
  Pages          = {53-56},
  month          = jun,
  year           = 1991
}

@InProceedings{Ewin86a,
  Author         = {Juanita J. Ewing},
  Title          = {An Object-Oriented Operating System Interface},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {46-56},
  keywords       = {olit-appl unix smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Cons93a,
  Author         = {Mariano P. Consens and Alberto O. Mendelzon},
  Title          = {Hy+: {A} Hygraph-based Query and Visualisation System},
  BookTitle      = {Proceeding of the 1993 ACM SIGMOD International
                   Conference on Management Data, SIGMOD Record Volume 22,
                   No. 2},
  Pages          = {511-516},
  keywords       = {olit sigmod93},
  year           = 1993
}

@InProceedings{Moon01a,
  Author         = {Leon Moonen},
  Title          = {Generating Robust Parsers using Island Grammars},
  BookTitle      = {Proceedings Eight Working Conference on Reverse
                   Engineering (WCRE 2001)},
  Editor         = {Elizabeth Burd and Peter Aiken and Rainer Koschke},
  Pages          = {13-22},
  Publisher      = {IEEE Computer Society},
  keywords       = {parsing},
  month          = oct,
  url            = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=957806},
  year           = 2001
}

@InProceedings{Coin87a,
  Author         = {Pierre Cointe},
  Title          = {Metaclasses are First Class: the {ObjVlisp} Model},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {156-167},
  keywords       = {olit-oopl obvlisp oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Watt96a,
  Author         = {Aaron Watters and Guido van Rossum and James C.
                   Ahlstrom},
  Title          = {Internet Programming with {Python}},
  Publisher      = {M\&T Books},
  isbn           = {1-555851-484-8},
  keywords       = {pl scglib},
  year           = 1996
}

@InProceedings{Perr87a,
  Author         = {Dewayne E. Perry},
  Title          = {Software Interconnection Models},
  BookTitle      = {Proceedings of 9th ICSE '87},
  Pages          = {61-69},
  Address        = {Monterrey CA, USA},
  keywords       = {olit(reuse) binder},
  month          = mar,
  year           = 1987
}

@Book{Larm98a,
  Author         = {Craig Larman},
  Title          = {Applying {UML} and Patterns, An Introduction to
                   Object-Oriented Analysis and Design},
  Publisher      = {Prentice-Hall},
  keywords       = {uml book scglib},
  year           = 1998
}

@InProceedings{Gael03c,
  Author         = {Markus Gaelli},
  Title          = {Test composition with example objects and example
                   methods.},
  BookTitle      = {Proceedings of the ECOOP '03 Workshop on
                   Object-oriented Language Engineering for the Post-Java
                   Era},
  Volume         = {3013},
  Series         = {LNCS},
  Pages          = {143-153},
  Note           = {Abstract only --- full version availabe as technical
                   report IAM-03-009},
  abstract       = {While assertions of Design by Contract from Eiffel
                   found its way into the language-definitions of Python
                   and of Java SDK 1.4, current object-oriented languages
                   do not make the concepts of unit-testing explicit in
                   their definitions or meta-models. Not having support of
                   unit-testing in a programming language makes it harder
                   to compose and re-compose test-scenarios and tests. We
                   propose, that an object-oriented language should
                   include explicit concepts for example objects, example
                   methods and instance-specific assertions. This concepts
                   ease the composition of complex test-scenarios, they
                   help to refactor the program with the tests and also to
                   keep the duration of the tests as low and the coverage
                   of the tests as high as possible.},
  annote         = {internationalworkshop},
  doi            = {http://dx.doi.org/10.1007/b98806},
  keywords       = {snf03 jb-none scg-pub gaelli},
  misc           = {gaelli},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael03aTestComposition.pdf},
  year           = 2003
}

@InProceedings{Amer90c,
  Author         = {Pierre America},
  Title          = {Designing an Object-Oriented Programming Language with
                   Behavioural Subtyping},
  BookTitle      = {Proceedings REX/FOOLS Workshop},
  Address        = {Noordwijkerhout},
  keywords       = {olit-obcl pool-i binder},
  month          = jun,
  year           = 1990
}

@Proceedings{Sita96a,
  Title          = {Software Reuse},
  Editor         = {Murali Sitarama},
  Address        = {Orlando, Florida},
  Publisher      = {IEEE},
  booktitle      = {Fourth International Conference on Software Reuse},
  isbn           = {0-8186-7301-X},
  keywords       = {reuse scglib},
  month          = apr,
  year           = 1996
}

@PhdThesis{Brac92a,
  Author         = {Gilad Bracha},
  Title          = {The Programming Language {Jigsaw}: Mixins, Modularity
                   and Multiple Inheritance},
  School         = {Dept. of Computer Science, University of Utah},
  annote         = {Ph.{D}. Thesis},
  keywords       = {olit-inheritance binder (shelf)},
  month          = mar,
  year           = 1992
}

@InProceedings{McDi01a,
  Author         = {Sean McDirmid and Matthew Flatt and Wilson Hsieh},
  Title          = {Jiazzi: New Age Components for Old Fashioned {Java}},
  BookTitle      = {Proceedings OOPSLA 2001, ACM SIGPLAN Notices},
  Pages          = {211-222},
  keywords       = {olit oopsla01},
  month          = oct,
  url            = {http://www.cs.utah.edu/plt/jiazzi/publications.html},
  year           = 2001
}

@Article{Pust82a,
  Author         = {J. Pustell and F. Kafatos},
  Title          = {A High Speed, High Capacity Homology Matrix: Zooming
                   through {SV40} and Polyoma},
  Journal        = {Nucleid Acids Research},
  Volume         = {10},
  Number         = {15},
  Pages          = {4765-4782},
  keywords       = {oorp dotplot},
  year           = 1982
}

@InProceedings{Mock03a,
  Author         = {Mockus, Audris and Weiss, David M. and Zhang, Ping},
  Title          = {Understanding and Predicting Effort in Software
                   Projects},
  BookTitle      = {International Conference on Software Engineering (ICSE
                   2003)},
  Pages          = {274-284},
  Address        = {Portland, Oregon},
  Publisher      = {ACM Press},
  keywords       = {evolution},
  month          = may,
  year           = 2003
}

@Article{Siff99a,
  Author         = {Michael Siff and Thomas Reps},
  Title          = {Identifying Modules via Concept Analysis},
  Journal        = {Transactions on Software Engineering},
  Volume         = {25},
  Number         = {6},
  Pages          = {749--768},
  abstract       = {We describe a general technique for identifying
                   modules in legacy code. The method is based on concept
                   analysis---a branch of lattice theory that can be used
                   to identify similarities among a set of objects based
                   on their attributes. We discuss how concept analysis
                   can identify potential modules using both "positive"
                   and "negative" information. We present an algorithmic
                   framework to construct a lattice of concepts from a
                   program, where each concept represents a potential
                   module. We define the notion of a concept partition,
                   present an algorithm for discovering all concept
                   partitions of a given concept lattice, and prove the
                   algorithm correct.},
  keywords       = {Concept analysis, modularization, software migration,
                   software restructuring, reverse engineering, design
                   recovery},
  month          = nov,
  publisher      = {IEEE Press},
  year           = 1999
}

@PhdThesis{Verb91a,
  Author         = {Alexander Verbraeck},
  Title          = {Developing an Adaptive Scheduling Support Environment},
  School         = {Technical University of Delft},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit binder (shelf)},
  year           = 1991
}

@Book{Heue95a,
  Author         = {Andreas Heuer and Gunter Saake},
  Title          = {Databanken: Konzepte und Sprachen},
  Publisher      = {International Thomson Publishing},
  isbn           = {3-929821-31-1},
  keywords       = {olit-db scglib},
  year           = 1995
}

@InProceedings{Zloo80a,
  Author         = {M.M. Zloof},
  Title          = {A Language for Office and Business Automation},
  BookTitle      = {AFIPS Office Automation Conference Digest},
  Address        = {Atlanta, USA},
  keywords       = {oislit sba},
  month          = mar,
  year           = 1980
}

@InProceedings{Vasa07a,
  Author         = {Rajesh Vasa and Markus Lumpe and Jean-Guy Schneider},
  Title          = {Patterns of Component Evolution},
  BookTitle      = {Proceedings of the 6th International Symposium on
                   Software Composition (SC 2007)},
  Editor         = {Lumpe, Markus and Vanderperren, Wim},
  Pages          = {244--260},
  Address        = {Braga, Portugal},
  Publisher      = {Springer},
  abstract       = {Contemporary software systems are composed of many
                   components, which, in general, undergo phased and
                   incremental development. In order to facilitate the
                   corresponding construction process, it is important
                   that the development team in charge has a good
                   understanding of how individual software components
                   typically evolve. Furthermore, software engineers need
                   to be able to recognize abnormal patterns of growth
                   with respect to size, structure, and complexity of the
                   components and the resulting composite. Only if a
                   development team understands the processes that
                   underpin the evolution of software systems, will they
                   be able to make better development choices. In this
                   paper, we analyze recurring structural and evolutionary
                   patterns that we have observed in public-domain
                   software systems built using object-oriented
                   programming languages. Based on our analysis, we
                   discuss common growth patterns found in present-day
                   component-based software systems and illustrate simple
                   means to aid developers in achieving a better
                   understanding of those patterns. As a consequence, we
                   hope to raise the awareness level in the community on
                   how component-based software systems tend to naturally
                   evolve.},
  keywords       = {olit selit metrics evolution sc07 cecses-pub},
  location       = {Privat},
  month          = mar,
  url            = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc07.pdf},
  year           = 2007
}

@Book{Somm96a,
  Author         = {Ian Sommerville},
  Title          = {Software Engineering},
  Publisher      = {Addison Wesley},
  Edition        = {Fifth},
  isbn           = {0-201-42765-6},
  keywords       = {book scglib oorp},
  year           = 1996
}

@InProceedings{Mins00a,
  Author         = {Naftaly H. Minsky and Yaron M. Minksy and Victoria
                   Ungureanu},
  Title          = {Making Tuple Space Safe for Heterogeneous Distributed
                   Systems},
  BookTitle      = {Proceedings of SAC '2000},
  Pages          = {218-226},
  year           = 2000
}

@Article{Min91a,
  Author         = {Naftaly Minsky},
  Title          = {The Imposition of Protocols Over Open Distributed
                   Systems},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {17},
  Number         = {2},
  Pages          = {183-195},
  month          = feb,
  year           = 1991
}

@Book{Lisk86b,
  Author         = {Barbara Liskov and John Guttag},
  Title          = {Abstraction and Specification in Program Development},
  Publisher      = {MIT Press/McGraw-Hill},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-oopl clu data abstraction specification
                   oobib(oopl)},
  year           = 1986
}

@InProceedings{Aksi94a,
  Author         = {Mehmet Aksit and Ken Wakita and Jan Bosch and Lodewijk
                   Bergmans and Akinori Yonezawa},
  Title          = {Abstracting Object Interactions Using Composition
                   Filters},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = 791,
  Series         = {LNCS},
  Pages          = {152-184},
  Publisher      = {Springer-Verlag},
  abstract       = {It is generally claimed that object-based models are
                   very suitable for building distributed system
                   architectures since object interactions follow the
                   client-server model. To cope with the complexity of
                   today's distributed systems, however, we think that
                   high-level linguistic mechanisms are needed to
                   effectively structure, abstract and reuse object
                   interactions. For example, the conventional
                   object-oriented model does not provide high-level
                   language mechanisms to model layered system
                   architectures. Moreover, we consider the message
                   passing model of the conventional object-oriented model
                   as being too low-level because it can only specify
                   object interactions that involve two partner objects at
                   a time and its semantics cannot be extended easily.
                   This paper introduces Abstract Communication Types
                   (ACTs), which are objects that abstract interactions
                   among objects. ACT s make it easier to model layered
                   communication architectures, to enforce the invariant
                   behavior among objects, to reduce the complexity of
                   programs by hiding the interaction details in separate
                   modules and to improve reusability through the
                   application of object-oriented principles to ACT
                   classes. We illustrate the concept of ACT s using the
                   composition filters model.},
  keywords       = {olit-obc obdp93 binder},
  year           = 1994
}

@Article{Reis87a,
  Author         = {S.P. Reiss},
  Title          = {Working in the Garden Environment for Conceptual
                   Programming},
  Journal        = {IEEE Software},
  Volume         = {4},
  Number         = {6},
  Pages          = {16-27},
  keywords       = {visprog},
  year           = 1987
}

@InProceedings{Jahn97b,
  Author         = {Jens. H. Jahnke and Wilhelm. Sch{\"a}fer and Albert.
                   Z{\"u}ndorf},
  Title          = {Generic Fuzzy Reasoning Nets as a Basis ofr Reverse
                   Engineering Relational Database Applications},
  BookTitle      = {Proceedings of ESEC/FSE '97},
  Number         = {1301},
  Series         = {LNCS},
  Pages          = {193-210},
  Note           = {inproceedings},
  keywords       = {dbreeng famoos oorp},
  year           = 1997
}

@Misc{ToscanaJ,
  Title          = {http://toscanaj.sourceforge.net/},
  Note           = {http://toscanaj.sourceforge.net/},
  key            = {ToscanaJ},
  url            = {http://toscanaj.sourceforge.net/}
}

@Article{Cross98b,
  Author         = {Cross II, James H. and Saeed Maghsoodloo and Dean
                   Hendrix},
  Title          = {Control Structure Diagrams: Overview and Evaluation},
  Journal        = {Journal of Empirical Software Engineering},
  Volume         = {3},
  Number         = {2},
  Pages          = {131-158},
  year           = 1998
}

@Book{Wirf90b,
  Author         = {Rebecca Wirfs-Brock and Brian Wilkerson and Lauren
                   Wiener},
  Title          = {Designing Object-Oriented Software},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-629825-7},
  keywords       = {olit binder (shelf) book scglib sclit oorp},
  year           = 1990
}

@Book{Olth95a,
  Editor         = {Walter Olthoff},
  Title          = {Proceedings of the {ECOOP}'95 European Conference on
                   Object-Oriented Programming},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 952},
  isbn           = {3-540-55613-3},
  keywords       = {ecoop95proc book scglib},
  year           = 1995
}

@Manual{DOM98,
  Title          = {Document Object Model Specification {DOM} 1.0},
  Author         = {L. Wood and J. Sorensen and S. Byrne and R.S. Sutor
                   and V. Apparao and S. Isaacs and G. Nicol and M.
                   Champion},
  Organization   = {World Wide Web Consortium},
  year           = 1998
}

@Book{Booc94a,
  Author         = {Grady Booch},
  Title          = {Object Oriented Analysis and Design with Applications},
  Publisher      = {The Benjamin Cummings Publishing Co. Inc.},
  Edition        = {2nd},
  isbn           = {0-8053-5340-2},
  keywords       = {olit-ood scglib book oorp},
  year           = 1994
}

@TechReport{Miln90d,
  Author         = {Robin Milner},
  Title          = {Sorts and Types in the $pi$ Calculus},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {manuscript},
  Number         = {(RM15)},
  keywords       = {pcalc mobility ccs icalp90 binder(ccs)},
  month          = dec,
  year           = 1990
}

@InProceedings{Mezi03b,
  Author         = {Mira Mezini and Klaus Ostermann},
  Title          = {Modules for Crosscutting Models},
  BookTitle      = {8th International Conference on Reliable Software
                   Technologies (Ada-Europe '03)},
  Publisher      = {svlncs},
  location       = {Toulouse},
  month          = jun,
  year           = 2003
}

@InProceedings{Seli95a,
  Author         = {Jacob Seligmann and Steffen Grarup},
  Title          = {Incremental Mature Garbage Collection Using the Train
                   Algorithm},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {235-252},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Article{Lalo89a,
  Author         = {Wilf R. LaLonde},
  Title          = {Designing Families of Data Types Using Exemplars},
  Journal        = {Transactions on Programming Languages and Systems},
  Volume         = {11},
  Number         = {2},
  Pages          = {212-248},
  month          = apr,
  organization   = {ACM},
  year           = 1989
}

@Article{McLa71a,
  Author         = {A.D. McLachlan},
  Title          = {Tests for Comparing Related Amino-acid Sequences.
                   Cytochrome $c$ and Cytochrome $c_{551}$},
  Journal        = {J. Mol. Biol.},
  Volume         = {61},
  Pages          = {409-424},
  keywords       = {dotplot},
  year           = 1971
}

@InProceedings{Lewi91a,
  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},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {184-196},
  keywords       = {olit-reuse oopsla91},
  month          = nov,
  year           = 1991
}

@Article{Andr83a,
  Author         = {Gregory R. Andrews and Fred B. Schneider},
  Title          = {Concepts and Notations for Concurrent Programming},
  Journal        = {ACM Computing Surveys},
  Volume         = {15},
  Number         = {1},
  Pages          = {3-43},
  keywords       = {concurrency binder(conc)},
  month          = mar,
  year           = 1983
}

@InProceedings{West02a,
  Author         = {Bosse Westerlund},
  Title          = {{Form} is {Function}},
  BookTitle      = {Proceedings DIS 2002 Serious reflection on designing
                   interactive systems},
  Pages          = {117-124},
  keywords       = {naked objects, design},
  month          = jul,
  year           = 2002
}

@InProceedings{Wang01a,
  Author         = {Tiejun Wang and Scott F. Smith},
  Title          = {Precise Constraint-Based Type Inference for Java},
  BookTitle      = {Proceedings ECOOP '01},
  Editor         = {G. Goos and J. Hartmanis and J. van Leeuwen},
  Volume         = {2072},
  Series         = {LNCS},
  Pages          = {99-118},
  Address        = {Budapest, Hungary},
  Publisher      = {Springer-Verlag},
  month          = jun,
  year           = 2001
}

@TechReport{Nier90c,
  Author         = {Oscar Nierstrasz},
  Title          = {A Guide to Specifying Concurrent Behaviour with Abacus},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {We present the syntax, semantics and usage of Abacus,
                   an executable notation for specifying concurrent
                   computations that extends CCS with label prefixing and
                   filtering operators for encapsulating systems of
                   communicating agents and a pattern mechanism for
                   parameterizing behaviour expressions. Abacus is
                   intended to be used as a semantic target and a
                   prototyping tool for the specification of concurrent
                   object-based languages and systems. We illustrate the
                   use of Abacus through a series of standard obc
                   examples, concluding with an executable specification
                   of SAL, a Simple Actor Language.},
  editor         = {D. Tsichritzis},
  keywords       = {pcalc-obc skipdoi semantics abacus osg om90},
  month          = jul,
  pages          = {267-293},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier90cAbacusGuide.pdf},
  year           = 1990
}

@Misc{ASP,
  Title          = {{ASP}, Microsoft Active Server Pages},
  Note           = {http://msdn.mi\-cro\-soft.com/nhp/?content\-id=28000522},
  key            = {ASP}
}

@InProceedings{Voin05a,
  Author         = {Lucian Voinea and Alex Telea and van Wijk, Jarke J.},
  Title          = {{CVS}scan: visualization of code evolution},
  BookTitle      = {Proceedings of 2005 ACM Symposium on Software
                   Visualization (Softviz 2005)},
  Pages          = {47-56},
  Address        = {St. Louis, Missouri, USA},
  keywords       = {evolution, visualization},
  month          = may,
  year           = 2005
}

@Book{Gamm03a,
  Author         = {Erich Gamma and Kent Beck},
  Title          = {Contributing to Eclipse},
  Publisher      = {Addison Wesley},
  amount         = {1},
  isbn           = {0-321-20575-8},
  keywords       = {book scglib},
  year           = 2003
}

@InProceedings{Kirk87a,
  Author         = {Kirkpatrick S. and Gelatt C. D. Jr. and Vecchi M. P.},
  Title          = {Optimization by simulated annealing},
  BookTitle      = {Readings in computer vision: issues, problems,
                   principles, and paradigms},
  Pages          = {606-615},
  isbn           = {0-934613-33-8},
  keywords       = {simulated annealing},
  year           = 1987
}

@InProceedings{Stro95a,
  Author         = {R.J. Stroud and Z. Wu},
  Title          = {Using Metaobject Protocols to Implement Atomic Data
                   Types},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {168-189},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@InProceedings{Lars87a,
  Author         = {Kim G. Larsen and Robin Milner},
  Title          = {Verifying a Protocol Using Relativized Bisimulation},
  BookTitle      = {Proceedings ICALP '87},
  Editor         = {Th. Ottmann},
  Volume         = {267},
  Series         = {LNCS},
  Pages          = {126-135},
  Address        = {Karlsruhe},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence ccs icalp87 binder(ccs)},
  month          = jul,
  year           = 1987
}

@InProceedings{Mitt86a,
  Author         = {Sanja Mittal and Daniel G. Bobrow and Kenneth M. Kahn},
  Title          = {Virtual Copies --- At the Boundary Between Classes and
                   Instances},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {159-166},
  keywords       = {olit-oopl loops oopsla86},
  month          = nov,
  year           = 1986
}

@Article{AbuG04a,
  Author         = {Nayef Abu-Ghazaleh and Michael J. Lewis and
                   Madhusudhan Govindaraju},
  Title          = {Performance of Dynamic Resizing of Message Fields for
                   Differential Serialization of SOAP Messages},
  Journal        = {Proccedings of the International Symposium on Web
                   Services and Applications},
  month          = jun,
  page           = {783--789},
  year           = 2004
}

@InProceedings{Holt96a,
  Author         = {Richard Holt and Jason Pak},
  Title          = {{GASE}: Visualizing Software Evolution-in-the-Large},
  BookTitle      = {Proceedings of Working Conference on Reverse
                   Engineering (WCRE 1996)},
  Pages          = {163--167},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution visualization},
  year           = 1996
}

@Article{Henn84a,
  Author         = {Matthew Hennessy},
  Title          = {Axiomatising Finite Delay Operators},
  Journal        = {Acta Informatica},
  Volume         = {21},
  Number         = {1},
  Pages          = {61-88},
  keywords       = {pcalc ccs},
  year           = 1984
}

@InProceedings{Tich97b,
  Author         = {Sander Tichelaar and St\'ephane Ducasse and Theo-Dirk
                   Meijler},
  Title          = {Architectural Extraction In Reverse Engineering by
                   Prototyping: An experiment},
  BookTitle      = {Proceedings of the ESEC/FSE Workshop on
                   Object-Oriented Re-engineering},
  Editor         = {Serge Demeyer and Harald Gall},
  Publisher      = {Technical University of Vienna, Information Systems
                   Institute, Distributed Systems Group},
  Note           = {Technical Report TUV-1841-97-10},
  abstract       = {In this workshop proposal we present a prototype
                   approach to help the extraction of architectural
                   information in the re-engineering process. Commonly,
                   the re-engineering life-cycle has been defined as a
                   succession of the following tasks: analysis of
                   requirements, model capture (understanding the system),
                   problem detection, problem analysis, reorganization and
                   change propagation. We have evaluated the benefit of a
                   prototyping approach with a focus on model capture.
                   Although prototyping is a known approach to evaluate
                   the application feasibility, costs, comparison and
                   validation of choices, we focus in this paper on the
                   aspects of prototyping that are helpful for
                   re-engineering.},
  annote         = {internationalworkshop},
  keywords       = {olit famoos-papunr tich-papunr scglit oobib scg-pub
                   skipdoi snf97 jb97 stePub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich97bArchExtraction.pdf},
  year           = 1997
}

@PhdThesis{Alan04a,
  Author         = {Lauri E. Alanko},
  Title          = {Types and Reflection},
  School         = {University of Helsinki},
  Type           = {Ph.{D}. Thesis},
  month          = nov,
  year           = 2004
}

@Book{Brif96a,
  Author         = {Xavier Briffault and G\'erard Sabah},
  Title          = {Smalltalk: Programmation orient\'ee object et
                   d\'eveloppement d'applications},
  Publisher      = {Eyrolles},
  isbn           = {2-212-08914-7},
  keywords       = {smalltalk scglib},
  year           = 1996
}

@InProceedings{Deme97m,
  Author         = {Serge Demeyer},
  Title          = {A Framework Browser Scenario},
  BookTitle      = {Proceedings of the 3rd Workshop on Open Hypermedia
                   Systems -- Hypertext '97},
  Editor         = {Uffe Kock Wiil},
  Series         = {CIT Scientific report SR-97-01},
  Pages          = {26-36},
  Publisher      = {The Danish National Centre for IT Research ---
                   Forskerparken Gustav Wieds Vej 10 --- DK-8000 Aarhus C
                   --- Denmark},
  abstract       = {This document describes a hypothetical "Framework
                   Browser" in the form of a scenario describing the ideal
                   framework programming environment.},
  keywords       = {olit hypermedia zypher scg-pub skipdoi toBeChecked
                   snf97 jb97 sergedem-papunr},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme97m/
                   http://www.iam.unibe.ch/~demeyer/Deme97m/OHWS3scenaria.html
                   http://www.daimi.aau.dk/~kock/OHS-HT97/},
  year           = 1997
}

@InProceedings{Clev00a,
  Author         = {Holger Cleve and Andreas Zeller},
  Title          = {Finding Failure Causes through Automated Testing},
  BookTitle      = {Proceedings of the Fourth International Workshop on
                   Automated Debugging},
  month          = aug,
  year           = 2000
}

@InProceedings{Mehn06a,
  Author         = {Katharina Mehner and Mark-Oliver Reiser and Matthias
                   Weber},
  Title          = {Applying Aspect-Orientation Techniques in Automotive
                   Software Product-Line Engineering},
  BookTitle      = {In Proceedings of the Automotive Requirements
                   Engineering Workshop (AURE'06},
  year           = 2006
}

@InProceedings{Yell89a,
  Author         = {Phillip M. Yelland},
  Title          = {First Steps Towards Fully Abstract Semantics for
                   Object-Oriented Languages},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {347-364},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit semantics scglib ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@InProceedings{Bree89d,
  Author         = {D.E. Breen},
  Title          = {Choreographing Goal-Oriented Motion Using Cost
                   Functions},
  BookTitle      = {State-of-the-art in Computer Animation (Computer
                   Animation '89 Conference Proceedings)},
  Editor         = {N. Magnenat-Thalmann and D. Thalmann},
  Pages          = {141-151},
  Address        = {Tokyo},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper describes a technique that employs cost
                   functions to produce complex motions. Cost functions
                   can be used to define goal-oriented motions and
                   actions. A cost function can be defined whose variables
                   are the animated parameters of a scene. The parameters
                   are modified in such a way to minimize the cost
                   function. The minimum cost configuration can be viewed
                   as a "key goal" configuration. The values of the
                   parameters are stored at certain intervals during the
                   minimization process. This produces a path through the
                   parameter space of the model being animated. By
                   incrementally moving along the parameter space curve
                   and updating the model defined by the parameters, an
                   animation of the model performing a goal-oriented
                   action may be produced. A class has been created and
                   integrated into the object-oriented system, The
                   Clockworks, which encapsulates the algorithm and data
                   structures necessary to implement the cost function
                   approach.},
  keywords       = {olit},
  month          = jun,
  year           = 1989
}

@Proceedings{Cian99b,
  Title          = {Coordination Languages and Models},
  Editor         = {Paolo Ciancarini and Alexander L. Wolf},
  Number         = 1594,
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the Third International Conference,
                   COORDINATION '99},
  isbn           = {3-540-61052-9},
  keywords       = {coordination coord96 scglib},
  month          = apr,
  year           = 1999
}

@Article{Plai95a,
  Author         = {Catherine Plaisant and David Carr and Ben Shneiderman},
  Title          = {Image-Browser Taxonomy and Guidelines for Designers},
  Journal        = {IEEE Software},
  Pages          = {21-32},
  month          = mar,
  year           = 1995
}

@Article{Canf92a,
  Author         = {Gerardo Canfora and Aniello Cimitile and Ugo de
                   Carlini},
  Title          = {A Logic-Based Approach to Reverse Engineering Tools
                   Production},
  Journal        = {Transactions on Software Engineering},
  Volume         = {18},
  Number         = {12},
  Pages          = {1053-1064},
  month          = dec,
  organization   = {IEEE},
  year           = 1992
}

@InProceedings{DesR88a,
  Author         = {Jim des Rivi\`eres},
  Title          = {Control-{Related} {Meta}-{Level} {Facilities} in
                   {LISP}},
  BookTitle      = {Meta-level Architectures and Reflection},
  Editor         = {North-Holland, P. Maes and D. Nardi},
  Pages          = {101-110},
  year           = 1988
}

@Article{Loun98,
  Author         = {H. Lounis and H. A. Sahraoui and W. L. Melo},
  Title          = {Vers un mod\`ele de pr\'ediction de la qualit\'e du
                   logiciel pour les syst\`emes \`a objets},
  Journal        = {L'Objet, Num\'ero sp\'ecial M\'etrologie et Objets},
  Volume         = 4,
  Number         = 4,
  month          = dec,
  year           = 1998
}

@InProceedings{Cost05b,
  Author         = {Pascal Costanza},
  Title          = {How to Make Lisp More Special},
  BookTitle      = {International Lisp Conference 2005},
  Address        = {Stanford, California, USA},
  keywords       = {cop-lit},
  month          = jun,
  url            = {http://p-cos.net/documents/special-full.pdf},
  year           = 2005
}

@TechReport{UML99a,
  Author         = {{Object} {Management} {Group}},
  Title          = {{Unified} {Modeling} {Language} (version 1.3)},
  Institution    = {{Object} {Management} {Group}},
  keywords       = {olit UML},
  month          = jun,
  year           = 1999
}

@Book{Repp99a,
  Author         = {John H. Reppy},
  Title          = {Concurrent Programming in ML},
  Publisher      = {Cambridge University Press},
  keywords       = {ml scglib},
  year           = 1999
}

@InCollection{Dami95a,
  Author         = {Laurent Dami},
  Title          = {Functions, Records and Compatibility in the Lambda {N}
                   Calculus},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {153-174},
  abstract       = {Subtyping, a fundamental notion for software
                   reusability, establishes a classification of data
                   according to a compatibility relationship. This
                   relationship is usually associated with records.
                   However, compatibility can be defined in other
                   situations, involving for example enumerated types or
                   concrete data types. We argue that the basic
                   requirement for supporting compatibility is an
                   interaction protocol between software components using
                   names instead of positions. Based on this principle, an
                   extension of the lambda calculus is proposed, which
                   combines de Bruijn indices with names. In the extended
                   calculus various subtyping situations mentioned above
                   can be modelled; in particular, records are encoded in
                   a straightforward way. Compatibility is formally
                   defined in terms of an operational lattice based on
                   observation of error generation. Unlike many usual
                   orderings, errors are not identified with divergence;
                   as a matter of fact, both are even opposite since they
                   respectively correspond to the bottom and top elements
                   of the lattice. Finally, we briefly explore a second
                   extension of the calculus, providing meet and join
                   operators through a simple operational definition, and
                   opening interesting perspectives for type checking and
                   concurrency.},
  keywords       = {olit osg OOSC06 contract-types},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Book{Lako96a,
  Author         = {John Lakos},
  Title          = {Large Scale C++ Software Design},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63362-0},
  keywords       = {olit-oopl},
  year           = 1996
}

@InProceedings{Bran94a,
  Author         = {S\/oren Brandt and Ole Lehrmann Madsen},
  Title          = {Object-Oriented Distributed Programming in {BETA}},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {185-212},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper describes abstractions that have been
                   designed to support distributed programming in the
                   object oriented programming language BETA. The approach
                   is minimalistic in the sense that a goal is to provide
                   the essential building blocks on top of which other
                   distribution related abstractions may be built. This
                   goal is made easier by demanding for type orthogonal
                   persistence and distribution as the full power of the
                   underlying language may then be used when building
                   higher level abstractions on top of the basic ones.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@PhdThesis{Wuyt01b,
  Author         = {Wuyts, Roel},
  Title          = {A Logic Meta-Programming Approach to Support the
                   Co-Evolution of Object-Oriented Design and
                   Implementation},
  School         = {Vrije Universiteit Brussel},
  keywords       = {SOUL},
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/Wuyts-phd.pdf},
  year           = 2001
}

@Article{Eick00a,
  Author         = {Stephen G. Eick},
  Title          = {Visual Discovery and Analysis},
  Journal        = {IEEE Transactions on Visualization and Computer
                   Graphics},
  Volume         = {6},
  Number         = {1},
  Pages          = {44-58},
  year           = 2000
}

@Article{Pota05a,
  Author         = {Alex Potanin and James Noble and Marcus Frean and
                   Robert Biddle},
  Title          = {Scale-free Geometry in OO Programs},
  Journal        = {Communications of the ACM},
  Volume         = {48},
  Number         = {5},
  Pages          = {99--103},
  issn_isbn      = {ISSN 0001-0782},
  month          = may,
  publisher      = {ACM Press},
  url            = {http://doi.acm.org/10.1145/1060710.1060716},
  year           = 2005
}

@Article{Sull92a,
  Author         = {K.J. Sullivan and D. Notkin},
  Title          = {Reconciling Environment Integration and Software
                   Evolution},
  Journal        = {Transactions on Software Engineering and Methodology},
  Volume         = {1},
  Number         = {3},
  Pages          = {228-268},
  month          = jul,
  year           = 1992
}

@InProceedings{Bobr86a,
  Author         = {Daniel G. Bobrow and Ken Kahn and Gregor Kiczales and
                   Larry Masinter and Mark Stefik and Frank Zdybel},
  Title          = {CommonLoops: Merging Lisp and Object-Oriented
                   Programming},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {17-29},
  keywords       = {olit-oopl commonloops loops lisp oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Tsic72a,
  Author         = {Dennis Tsichritzis},
  Title          = {Protection in Operating Systems},
  Journal        = {Information Processing Letters},
  Volume         = {1},
  Number         = {4},
  Pages          = {127-131},
  address        = {Amsterdam},
  keywords       = {security sue os capabilities},
  publisher      = {North-Holland},
  year           = 1972
}

@TechReport{Shap94a,
  Author         = {Marc Shapiro and Paulo Ferreira},
  Title          = {Larchant-{RDOSS}: {A} Distributed Shared Persistent
                   Memory and Its Garbage Collector},
  Institution    = {INRIA},
  Type           = {Technical Report},
  Number         = {2399},
  keywords       = {olit binder},
  month          = nov,
  url            = {ftp.inria.fr},
  year           = 1994
}

@Book{Papu95a,
  Author         = {David M. Papurt},
  Title          = {Inside the Object Model},
  Publisher      = {SIGS Books},
  isbn           = {1-884842-05-4},
  keywords       = {olit-oopl obib(oopl) scglib book},
  year           = 1995
}

@InProceedings{Chiu02a,
  Author         = {Kenneth Chiu and Madhusudhan Govindaraju and Randall
                   Bramley},
  Title          = {Investigating the Limits of SOAP Performance for
                   Scientific Computing},
  BookTitle      = {HPDC '02: Proceedings of the 11 th IEEE International
                   Symposium on High Performance Distributed Computing
                   HPDC-11 20002 (HPDC'02)},
  Pages          = {246},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7695-1686-6},
  year           = 2002
}

@Article{Haun95a,
  Author         = {Jim Haungs},
  Title          = {A technical overview of VisualWorks 2.0},
  Journal        = {The {Smalltalk} Report},
  Pages          = {9-14},
  keywords       = {olit visualworks},
  month          = jan,
  year           = 1995
}

@Article{Fern05a,
  Author         = {Hilaire Fernandes and St\'ephane Ducasse},
  Title          = {Squeak: mon premier programme},
  Journal        = {Linux Pratique},
  Volume         = 1,
  Number         = 31,
  Pages          = {18-23},
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = oct,
  year           = 2005
}

@PhdThesis{Cast94b,
  Author         = {Giuseppe Castagna},
  Title          = {Overloading, subtyping and late binding: functional
                   foundation of object-oriented programming},
  School         = {Universit\'e de Paris},
  Type           = {Ph.{D}. Thesis},
  keywords       = {overloading type matching},
  month          = jan,
  year           = 1994
}

@InProceedings{Scha98a,
  Author         = {R. Schauer and R. Keller},
  Title          = {Pattern Visualization for Software Comprehension},
  BookTitle      = {6th International Workshop on Program Comprehension
                   (Ischia, Italy)},
  Pages          = {4-12},
  year           = 1998
}

@PhdThesis{Gloo89a,
  Author         = {Peter Gloor},
  Title          = {Synchronisation in verteilten Systemen},
  School         = {B.G. Teubner, Stuttgart},
  Type           = {Ph.{D}. Thesis},
  keywords       = {concurrency distribution binder (shelf)},
  number         = {University of Zurich},
  year           = 1989
}

@Book{Spin03a,
  Author         = {Diomidis Spinellis},
  Title          = {{Code Reading} The Open Source Perspective},
  Publisher      = {Addison-Wesley},
  keywords       = {scglib},
  year           = 2003
}

@Article{Stro86a,
  Author         = {R. Strom},
  Title          = {A Comparison of the Object-Oriented and Process
                   Paradigms},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {88-97},
  keywords       = {olit concepts oopws86},
  month          = oct,
  year           = 1986
}

@InProceedings{Berg84b,
  Author         = {Jan A. Bergstra and J.W. Klop},
  Title          = {The Algebra of Recursively Defined Processes and the
                   Algebra of Regular Processes},
  BookTitle      = {Proceedings ICALP '84},
  Editor         = {J. Paredaens},
  Volume         = {172},
  Series         = {LNCS},
  Pages          = {82-95},
  Address        = {Antwerp},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc regular processes icalp84 binder},
  year           = 1984
}

@InProceedings{Mey93a,
  Author         = {Vicki de Mey and Simon Gibbs},
  Title          = {A Multimedia Component Kit},
  BookTitle      = {Proceedings ACM Multimedia '93},
  Address        = {Annaheim, CA},
  Note           = {To appear},
  abstract       = {In this paper we present an object-oriented
                   perspective to multimedia and discuss a testbed for
                   prototyping distributed multimedia applications. We
                   describe the implementation of the testbed which
                   includes a driver application, called a virtual museum,
                   and a visual composition tool. The tool allows
                   interactive construction of multimedia applications
                   from generic software components by direct manipulation
                   and graphical editing. A videotape of the virtual
                   museum and the visual composition tool is used for the
                   presentation of the testbed.},
  keywords       = {olit osg vo93},
  misc           = {Aug 4-6},
  month          = aug,
  year           = 1993
}

@Book{Wilk95a,
  Author         = {Nancy M. Wilkinson},
  Title          = {Using CRC Cards --- An Informal Approach to
                   Object-Oriented Development},
  Publisher      = {Cambridge University Press},
  keywords       = {crc scglib},
  year           = 1995
}

@Book{LaLo94a,
  Author         = {Wilf LaLonde},
  Title          = {Discovering {Smalltalk}},
  Publisher      = {The Benjamin Cummings Publishing Co. Inc.},
  isbn           = {0-8053-2720-7},
  keywords       = {olit-smalltalk oobib(smalltalk) book scglib},
  year           = 1994
}

@InProceedings{Lisk87a,
  Author         = {Barbara Liskov},
  Title          = {{Data Abstraction and Hierarchy}},
  BookTitle      = {Proceedings OOPSLA '87},
  Pages          = {addendum},
  month          = dec,
  year           = 1987
}

@Article{Hong97a,
  Author         = {Hong Zhu and Patrick A. V. Hall and John H. R. May},
  Title          = {Software Unit Test Coverage and Adequacy},
  Journal        = {ACM Comput. Surv.},
  Volume         = {29},
  Number         = {4},
  Pages          = {366-427},
  address        = {New York, NY, USA},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:05:28 +0100},
  doi            = {http://doi.acm.org/10.1145/267580.267590},
  issn           = {0360-0300},
  keywords       = {unit test coverage},
  publisher      = {ACM Press},
  year           = 1997
}

@Unpublished{Trit95a,
  Author         = {Grahan Tritt},
  Title          = {Was ist {SGML} ?},
  Note           = {Universit{\"a}t Bern},
  keywords       = {binder talk},
  month          = jul,
  type           = {Draft},
  year           = 1995
}

@InProceedings{Mens02c,
  Author         = {Tom Mens and Serge Demeyer},
  Title          = {Future Trends in Software Evolution Metrics},
  BookTitle      = {Proceedings IWPSE2001 (4th International Workshop on
                   Principles of Software Evolution)},
  Pages          = {83-86},
  keywords       = {olit},
  misc           = {Deme01a},
  year           = 2001
}

@InProceedings{Mugr91a,
  Author         = {Warwick B. Mugridge and John Hamer and John G. Hosking},
  Title          = {Multi-Methods in a Statically-Typed Programming
                   Language},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {307-324},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {types olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Mori94a,
  Author         = {Mark Moriconi and Xiaolei Qian},
  Title          = {Correctness and Composition of Software Architectures},
  BookTitle      = {Proceedings of ACM SIGSOFT '94: Symposium on
                   Foundations of Software Engineering},
  Pages          = {164-174.},
  Address        = {New Orleans, Louisiana},
  abstract       = {This paper presents the first formal criterion
                   developed specifically for determining the relative
                   correctness of two architectures. The criterion is
                   stonger than the usual criterion for reasoning about
                   behavioral properties. The paper shows how to define a
                   formal mapping between architectures that is decomposed
                   into generic and architecture-specific parts. The
                   semantics of architectural connections is defined in
                   terms of Lamport's temporal logic of actions, and
                   proofs of both safety and fairness are given. Two
                   useful architecture composition operators are defined
                   that preserve correctness.},
  keywords       = {olit architecture},
  month          = dec,
  url            = {http://www.csl.sri.com/~moriconi/fswe94.ps.gz},
  year           = 1994
}

@InCollection{Mits93a,
  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, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {95-109},
  abstract       = {This paper describes a framework and some techniques
                   used in the construction of integrated and extensible
                   programming environments. To support programming in
                   complex object-oriented languages such as C++, a
                   database that contains semantic information on the
                   source programs is essential. Tools in such
                   environments should be constructed in a highly
                   integrated fashion around the database. In addition,
                   new programming techniques and the acquisition of
                   knowledge through experience create a need for
                   extensions. Such environments have to be designed so
                   that extensions can be made easily. Thus integration
                   and extensibility are key features of such
                   environments.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Rubi88a,
  Author         = {Kenneth S. Rubin and Patricia M. Jones and Christine
                   M. Mitchell and Theodore C. Goldstein},
  Title          = {A {Smalltalk} Implementation of an Intelligent
                   Operator's Associate},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {234-247},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@TechReport{Bech99a,
  Author         = {Silvia Bechter},
  Title          = {Verwaltung von Sun-Workstations},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Zur Verwaltung der Server und Workstations, welche der
                   Systemadministration des IAM unterstehen, wurde ein
                   Programm entwickelt, welches die System-Daten soweit
                   als m\"oglich direkt von den Maschinen abfragt und
                   darstellt. Darstellung und Mutationen k\"onnen sowohl
                   von der graphischen Oberfl\"ache als auch von einer
                   Shell aus ausgef\"uhrt werden. Zus\"atzlich besteht die
                   M\"oglichkeit, diverse Darstellungen im
                   PostScript-Format auszudrucken. Als Programmiersprache
                   wurde haupts\"achlich Perl, f\"ur die Oberfl\"ache
                   Tcl/Tk verwendet.},
  keywords       = {scg-ip jb-none},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Bech99a.pdf},
  year           = 1999
}

@InProceedings{Mela96b,
  Author         = {I. Dan Melamed},
  Title          = {Automatic Detection of Omissions in Translations},
  BookTitle      = {Proceedings of the 16th International Conference on
                   Computational Linguistics (COLING'96)},
  Address        = {Copenhagen, Denmark},
  keywords       = {text alignment},
  url            = {citeseer.ist.psu.edu/149949.html},
  year           = 1996
}

@InProceedings{Bos89a,
  Author         = {Jan van den Bos and Chris Laffra},
  Title          = {{PROCOL} --- {A} Parallel Object Language with
                   Protocols},
  BookTitle      = {ACM SIGPLAN Notices, Proceedings OOPSLA '89},
  Volume         = {24},
  Pages          = {95-102},
  keywords       = {olit-obcl procol oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Abad95d,
  Author         = {Martin Abadi and Luca Cardelli},
  Title          = {An imperative object calculus},
  Journal        = {Theor. Pract. Object Syst.},
  Volume         = {1},
  Number         = {3},
  Pages          = {151--166},
  address        = {New York, NY, USA},
  issn           = {1074-3227},
  publisher      = {John Wiley \& Sons, Inc.},
  url            = {http://research.microsoft.com/Users/luca/Papers/PrimObjImp.pdf},
  year           = 1995
}

@TechReport{Scha02b,
  Author         = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar
                   Nierstrasz and Andrew P. Black},
  Title          = {Traits: Composable Units of Behavior},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-02-005},
  Address        = {Universit\"at Bern, Switzerland},
  Note           = {Also available as Technical Report CSE-02-014, OGI
                   School of Science \& Engineering, Beaverton, Oregon,
                   USA},
  abstract       = {Inheritance is the fundamental reuse mechanism in
                   object-oriented programming languages; its most
                   prominent variants are single inheritance, multiple
                   inheritance, and mixin inheritance. In the first part
                   of this paper, we identify and illustrate the
                   conceptual and practical reusability problems that
                   arise with these forms of inheritance. We then present
                   a simple compositional model for structuring
                   object-oriented programs, which we call traits. Traits
                   are essentially groups of methods that serve as
                   building blocks for classes and are primitive units of
                   code reuse. In this model, classes are composed from a
                   set of traits by specifying glue code that connects the
                   traits together and accesses the necessary state. We
                   demonstrate how traits overcome the problems arising
                   with the different variants of inheritance, we discuss
                   how traits can be implemented effectively, and we
                   summarize our experience applying traits to refactor an
                   existing class hierarchy.},
  annote         = {report notrefereed},
  classification = {D.1.5 Object-oriented Programming; D.3.3 Language
                   Constructs and Features},
  cvs            = {TraitsECOOP},
  general_terms  = {Inheritance, Mixins, Multiple Inheritance, Traits,
                   Reuse, Smalltalk},
  keywords       = {snf-redundant scg-pub skipdoi jb02 scg-traits stefPub
                   schaerli},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha02bTraits.pdf},
  year           = 2002
}

@InProceedings{Lope94b,
  Author         = {Gus Lopez and Bj\/orn Freeman-Benson and Alan Borning},
  Title          = {Constraints and Object Identity},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {260-279},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@Article{Shet90a,
  Author         = {Amit P. Sheth and James A. Larson},
  Title          = {Federated Database Systems for Managing Distributed
                   Heterogeneous, and Autonomous Databases},
  Journal        = {ACM Computing Surveys},
  Volume         = {22},
  Number         = {3},
  Pages          = {183-236},
  month          = sep,
  year           = 1990
}

@Article{Roge71a,
  Author         = {J. H. Roger},
  Title          = {Updating a Minimum Spanning Tree. Algorithm AS40},
  Journal        = {Applied Statistics},
  Volume         = {20},
  Pages          = {204-206},
  keywords       = {clustering},
  year           = 1971
}

@Article{Ivor01,
  Author         = {Ivory, Melody Y. and Hearst, Marti A.},
  Title          = {The state of the art in automating usability
                   evaluation of user interfaces},
  Journal        = {ACM Comput. Surv.},
  Volume         = {33},
  Number         = {4},
  Pages          = {470--516},
  address        = {New York, NY, USA},
  citeulike-article-id = {234932},
  date-added     = {2006-08-11 10:47:11 +0200},
  date-modified  = {2006-08-15 14:34:46 +0200},
  doi            = {10.1145/503112.503114},
  issn           = {0360-0300},
  keywords       = {usability},
  month          = {dec},
  priority       = {3},
  publisher      = {ACM Press},
  url            = {http://portal.acm.org/citation.cfm?id=503114},
  year           = 2001
}

@Misc{Gira88a,
  Author         = {Jean-Yves Girard},
  Title          = {Towards a Geometry of Interaction},
  keywords       = {linear-logic binder},
  month          = apr,
  year           = 1988
}

@Article{Card99a,
  Author         = {Luca Cardelli and Rowan Davies},
  Title          = {Service Combinators for Web Computing},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = 25,
  Number         = 3,
  Pages          = {309-316},
  keywords       = {web-scripting},
  year           = 1999
}

@Book{Arms96a,
  Author         = {Joe Armstrong and Robert Virding and Claes Wikstr\"om
                   and Mike Williams},
  Title          = {Concurrent Programming in Erlang},
  Publisher      = {Prentice Hall},
  keywords       = {scglib erlang},
  year           = 1996
}

@InProceedings{Kont95a,
  Author         = {Kostas Kontogiannis and M. Galler and R. DeMori},
  Title          = {Detecting Code Similarity using Patterns},
  BookTitle      = {Working Notes of the Third Workshop on AI and Software
                   Engineering: Breaking the Toy Mold (AISE)},
  Pages          = {68-73},
  keywords       = {clones},
  month          = aug,
  url            = {citeseer.ist.psu.edu/kontogiannis95detecting.html},
  year           = 1995
}

@Article{Huff06a,
  Author         = {Jane Huffman-Hayes and Alex Dekhtyar and Senthil
                   Karthikeyan Sundaram},
  Title          = {Advancing Candidate Link Generation for Requirements
                   Tracing: The Study of Methods},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {32},
  Number         = {1},
  Pages          = {4--19},
  month          = jan,
  publisher      = {IEEE CS Press},
  year           = 2006
}

@InCollection{Shiv96a,
  Author         = {Olin Shivers},
  Title          = {A universal scripting framework or, {Lambda}: the
                   ultimate little language},
  BookTitle      = {Concurrency and Parallelism: Programming, Networking
                   and Security},
  Publisher      = {Springer-Verlag},
  Editor         = {J. Jaffer and R.H.C. Yap},
  Pages          = {254-265},
  year           = 1996
}

@Article{Spoo84a,
  Author         = {David L. Spooner and E. Gudes},
  Title          = {A Unifying Approach to the Design of a Secure Database
                   Operating System},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-10},
  Number         = {3},
  Pages          = {310-319},
  keywords       = {security db os},
  month          = may,
  year           = 1984
}

@TechReport{Zuer01a,
  Author         = {Martin Z\"urcher},
  Title          = {Training {IT} \& Operations},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Zuer01a.pdf},
  year           = 2001
}

@TechReport{Duco01a,
  Author         = {R. Ducournau},
  Title          = {Sp\'ecialisation et sous-typage: th\`eme et variations},
  Institution    = {L.I.R.M.M., Montpellier},
  Number         = {Rapport de Recherche 01-013},
  keywords       = {olit types},
  url            = {http://www.lirmm.fr/~ducour/Publis/spectyperr.ps.gz},
  year           = 2001
}

@Article{Rovn86a,
  Author         = {P. Rovner},
  Title          = {Extending Modula-2 to Build Large Integrated Systems},
  Journal        = {IEEE Software},
  Note           = {Incomplete (Vol, No \& pp)},
  keywords       = {olit-oopl modula-2},
  month          = nov,
  year           = 1986
}

@Article{Miln92c,
  Author         = {Robin Milner},
  Title          = {Functions as Processes},
  Journal        = {Mathematical Structures in Computer Science},
  Volume         = {2},
  Number         = {2},
  Pages          = {119-141},
  keywords       = {pcalc mobility (uwe)},
  year           = 1992
}

@Article{Clea93c,
  Author         = {Rance Cleaveland},
  Title          = {The Concurrency Workbench: {A} Semantics-Based
                   Verification tool for the verification of concurrent
                   systems},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {15},
  Number         = {1},
  Pages          = {36-72},
  abstract       = {The Concurrency Workbench is an automated tool for
                   analyzing networks of finite-state processes expressed
                   in Milner's Calculus of Communicating Systems. Its key
                   feature is its breadth: a variety of different
                   verification methods, including equivalence checking,
                   preorder checking, and model checking, are supported
                   for several different process semantics. One experience
                   from our work is that a large number of interesting
                   verification methods can be formulated as combinations
                   of a small number of primitive algorithms. The
                   Workbench has been applied to the verification of
                   communications protocols and mutual exclusion
                   algorithms and has proven a valuable aid in teaching
                   and research.},
  keywords       = {concurrency pcalc ccs},
  month          = jan,
  url            = {ftp://science.csc.ncsu.edu//pub/papers/cwb.ps.gz},
  year           = 1993
}

@InProceedings{Kaps03a,
  Author         = {Cory Kapser and Michael W. Godfrey},
  Title          = {Toward a Taxonomy of Clones in Source Code: A Case
                   Study},
  BookTitle      = {Proceedings of the First International Workshop on
                   Evolution of Large-scale Industrial Software
                   Applications (ELISA)},
  Publisher      = {IEEE},
  institution    = {School of Computer Science, University of Waterloo},
  keywords       = {clones},
  month          = sep,
  year           = 2003
}

@Book{Pals93a,
  Author         = {Jens Palsberg and Michael I. Schwartzbach},
  Title          = {Object-Oriented Type Systems},
  Publisher      = {Wiley},
  keywords       = {types olit binder (shelf)},
  year           = 1993
}

@Article{Guib82a,
  Author         = {Leo Guibas and J. Stolfi},
  Title          = {A Language for Bitmap Manipulation},
  Journal        = {ACM TOG},
  Volume         = {1},
  Number         = {3},
  Pages          = {191-214},
  keywords       = {misc image},
  month          = jul,
  year           = 1982
}

@Article{Bern01a,
  Author         = {Berners-Lee and T. Hendler and J. Lassila},
  Title          = {The Semantic Web},
  Journal        = {Scientific American},
  month          = may,
  year           = 2001
}

@InProceedings{Gael04c,
  Author         = {Markus Gaelli and Oscar Nierstrasz and St{\'e}phane
                   Ducasse},
  Title          = {One-Method Commands: Linking Methods and Their Tests},
  BookTitle      = {OOPSLA Workshop on Revival of Dynamic Languages},
  abstract       = {Although unit testing is essential for programming,
                   current languages only barely support the developer in
                   composing unit tests into new ones or in navigating
                   between unit tests and their corresponding methods
                   under test. We have taken several Smalltalk programs
                   and analyzed the relationships between unit tests and
                   methods under test, and the re- lationships amongst
                   unit tests. First results indicate that most unit tests
                   can be seen or at least decomposed into commands which
                   focus on single methods, and that large portions of
                   unit tests overlap each other. But these relationships
                   between unit tests and methods under test are not
                   reflected in current languages. We therefore first
                   conceptually extend the meta-model of Smalltalk with
                   one-method commands so that unit tests become both com-
                   posable and navigable. Then we introduce a first
                   lightweight implementation of this meta model using
                   method comments to differentiate between the several
                   test phases of existing XUnit test case methods.},
  annote         = {internationalworkshop},
  cvs            = {EgRDL2004},
  keywords       = {snf05 scg-pub skipdoi gaelli jb05},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gael04cLinkingMethodsAndTests.pdf
                   http://pico.vub.ac.be/%7Ewdmeuter/RDL04/index.html},
  year           = 2004
}

@InProceedings{Shiv96b,
  Author         = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina},
  Title          = {Building a Scalable and Accurate Copy Detection
                   Mechanism},
  BookTitle      = {Proceedings of the First ACM Conference on Digital
                   Libraries (DL'96)},
  month          = mar,
  publishr       = {ACM},
  year           = 1996
}

@Book{Bron04a,
  Author         = {I.N. Bronshtein and K. A. Semendyayev and G. Musiol
                   and H. Muehlig},
  Title          = {Handbook of Mathematics},
  Publisher      = {Springer-Verlag},
  Edition        = {Fourth},
  isbn           = {3-540-43491-7},
  keywords       = {book scglib},
  year           = 2004
}

@InProceedings{Blac93a,
  Author         = {Andrew P. Black and Mark P. Immel},
  Title          = {Encapsulating Plurality},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {57-79},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper describes the Gaggle, a mechanism for
                   grouping and naming objects in an object-oriented
                   distributed system. Using Gaggles, client objects can
                   access distributed replicated services without regard
                   for the number of objects that provide the service.
                   Gaggles are not themselves a replication mechanism;
                   instead they enable programmers to construct their own
                   replicated distributed services in whatever way is
                   appropriate for the application at hand, and then to
                   encapsulate the result. From the point of view of a
                   client, a Gaggle can be named and invoked exactly like
                   an object. However, Gaggles can be used to represent
                   individual objects, several ordinary objects, or even
                   several other Gaggles. In this way they encapsulate
                   plurality. If a Gaggle is used as an invokee, one of
                   the objects that it represents is chosen
                   (non-deterministically) to receive the invocation.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@InProceedings{Duco92a,
  Author         = {R. Ducournau and M. Habib and M. Huchard and M.L.
                   Mugnier},
  Title          = {Monotonic Conflict Resolution Mechanisms for
                   Inheritance},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {16-24},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InCollection{Mitc90a,
  Author         = {John C. Mitchell},
  Title          = {Type Systems for Programming Languages},
  BookTitle      = {Handbook of Theoretical Computer Science},
  Publisher      = {Elsevier},
  Editor         = {J. van Leeuwen},
  Pages          = {367-458},
  keywords       = {types binder},
  year           = 1990
}

@Article{Doda94e,
  Author         = {Mahesh Dodani},
  Title          = {Fusing Formal Methods with Object-Oriented Software
                   Engineering Methodologies},
  Journal        = {Report on Object-Oriented Analysis and Design},
  Volume         = {1},
  Number         = {2},
  Pages          = {20-24},
  keywords       = {obib(gen) binder},
  month          = aug,
  publisher      = {SIGS Publications},
  year           = 1994
}

@Book{Jaco92a,
  Author         = {Ivar Jacobson and Magnus Christerson and Patrik
                   Jonsson and Gunnar Overgaard},
  Title          = {Object-Oriented Software Engineering --- {A} Use Case
                   Driven Approach},
  Publisher      = {Addison Wesley/ACM Press},
  Address        = {Reading, Mass.},
  isbn           = {0-201-54435-0},
  keywords       = {olit-oose binder (shelf) scglib oorp},
  year           = 1992
}

@InProceedings{Ande01a,
  Author         = {Paul Anderson and Tim Teitelbaum},
  Title          = {Software {Inspection} {Using} {Code}{Surfer}},
  BookTitle      = {Proceedings of WISE'01 (International Workshop on
                   Inspection in Software Engineering)},
  year           = 2001
}

@Article{Goth05a,
  Author         = {Greg Goth},
  Title          = {Beware the March of This {IDE}: {Eclipse} Is
                   Overshadowing Other Tool Technologies},
  Journal        = {IEEE Software},
  Volume         = {22},
  Number         = {4},
  Pages          = {108-111},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/MS.2005.96},
  url            = {http://csdl.computer.org/comp/mags/so/2005/04/s4108.pdf},
  year           = 2005
}

@Misc{WO,
  Title          = {{WebObjects}},
  Note           = {http://www.apple.com/webobjects/},
  key            = {WO}
}

@Article{Sato01a,
  Author         = {Masahiko Sato and Takafumi Sakurai and Rod M. Burstall},
  Title          = {Explicit Environments},
  Journal        = {Fundamenta Informaticae},
  Volume         = {45},
  Number         = {1-2},
  Pages          = {79-115},
  keywords       = {contract-types context-calculus},
  url            = {http://www.math.s.chiba-u.ac.jp/~sakurai/papers/expenv.dvi.gz},
  year           = 2001
}

@Article{Stro02a,
  Author         = {E. Stroulia and T. Syst\"a},
  Title          = {Dynamic analysis for reverse engineering and program
                   understanding},
  Journal        = {SIGAPP. Applied Computing Review},
  Volume         = {10},
  Number         = {1},
  Pages          = {8--17},
  institution    = {ACM},
  keywords       = {scglib},
  publisher      = {ACM Press},
  year           = 2002
}

@Book{Pilo05a,
  Author         = {Dan Pilone},
  Title          = {UML 2.0},
  Publisher      = {O'Reilly},
  keywords       = {book scglib},
  year           = 2005
}

@MastersThesis{Seeb06a,
  Author         = {Mauricio Seeberger},
  Title          = {How Developers Drive Software Evolution},
  School         = {University of Bern},
  Type           = {Master's Thesis},
  abstract       = {As software systems grow, reverse engineering is
                   becoming an increasingly important task. The larger the
                   system grows the more complex it becomes and the more
                   effort must be put in to understand it. Consequently,
                   the knowledge of the developers becomes more and more
                   critical for the process of understanding the system.
                   However, in large systems not all developers know about
                   the entire system. Thus, to make the best use of
                   developer knowledge, we need to know which developer is
                   knowledgeable in which part of it. This thesis aims to
                   provide a lightweight approach to understand how
                   developers changed the system, when and where they
                   worked and which developer owned which part of the
                   system. To answer them, we define the Ownership Map
                   visualization based on the notion of code ownership and
                   measurements. We semantically group files and identify
                   behavioral patterns of the developer's work.},
  keywords       = {scg-msc jb06 fb06 recast06 moose-pub},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Seeb06a.pdf},
  year           = 2006
}

@Book{Burc98a,
  Author         = {H.W. Fowler and R. W. Burchfield},
  Title          = {Fowler's Modern English Usage},
  Publisher      = {Oxford University Press},
  Edition        = {Third},
  isbn           = {0-19-860263-4},
  keywords       = {book scglib},
  year           = 1998
}

@Article{Duca01u,
  Author         = {St\'ephane Ducasse},
  Title          = {Squeak: Syntaxe par l'example},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 35,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2001
}

@InProceedings{Bree87a,
  Author         = {D.E. Breen and P.H. Getto and A.A. Apodaca and D.G.
                   Schmidt and B.D. Sarachan},
  Title          = {The Clockworks: An Object-Oriented Computer Animation
                   System},
  BookTitle      = {Proceedings of Eurographics '87},
  Pages          = {275-282},
  Address        = {Amsterdam},
  Publisher      = {Elsevier Science Publishers B.V.},
  abstract       = {The Clockworks is an object-oriented computer
                   animation system developed at RPI's Center for
                   Interactive Computer Graphics. The Clockworks has the
                   ability to model and graphically simulate complex 3-D
                   engineering processes. Its interactive capabilities
                   also allow it to be used as a design tool.
                   Object-oriented concepts have been utilized in
                   developing its high-level architecture and its
                   low-level implementation. The Clockworks is defined as
                   a collection of objects which communicate with the user
                   and each other via messages. The actual implementation
                   involved the creation of an object-oriented programming
                   methodology in C and Unix. The complete system provides
                   a rich research environment for exploring modeling,
                   scripting and rendering. It also provides an
                   interactive environment for visual analysis of complex
                   interacting structures.},
  keywords       = {olit},
  month          = aug,
  year           = 1987
}

@InProceedings{Snel00a,
  Author         = {Gregor Snelting},
  Title          = {Software Reengineering Based on Concept Lattices},
  BookTitle      = {Proceedings 4th European Conference on Software
                   Maintenance and Reengineeering},
  Pages          = {3-12},
  Organization   = {IEEE},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/snelting00software.html},
  year           = 2000
}

@TechReport{McHa94a,
  Author         = {Ciaran McHale and Se\'an Baker and Bridget Walsh and
                   Alexis Donnelly},
  Title          = {Synchronistaion Variables},
  Institution    = {Department of Computer Science, Trinity College},
  Type           = {TCD-CS-94-01},
  abstract       = {It is commonly believed that access to the instance
                   variables of an object by its synchronisation code is
                   needed in order to implement many synchronisation
                   policies. This introduces an obvious difficulty. The
                   synchronisation code must not read an instance variable
                   while that variable is being updated by an operation,
                   otherwise the synchronisation code might see the
                   variable in an inconsistent state. In this paper, we
                   study this problem in depth and solve it by defining a
                   framework to guide the design of synchronisation
                   mechanisms. In solving the problem, our framework
                   illustrates that, contrary to popular belief, access to
                   instance variables by synchronisation mechanisms is
                   {\em not\/} required in order to implement
                   synchronisation policies that apparently rely on the
                   state of the object---such state can be maintained by
                   the synchronisation code itself. Our framework offers
                   additional benefits. Synchronisation mechanisms
                   designed within the guidelines of the framework can
                   possess considerable expressive power. (The example
                   synchronisation mechanism we present subsumes the power
                   of numerous other synchronisation mechanisms.) Also, we
                   show that most of the concepts of our framework can be
                   implemented in terms of existing language constructs,
                   thus minimising complexity that needs to be added to a
                   sequential language in order to support concurrency.},
  keywords       = {olit-obc binder},
  month          = jan,
  url            = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-94-01.ps.gz},
  year           = 1994
}

@Article{Moss92a,
  Author         = {J. Eliot B. Moss},
  Title          = {Working with Persistent Objects: To Swizzle or Not to
                   Swizzle},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-18},
  Number         = {8},
  Pages          = {657-673},
  keywords       = {olit},
  month          = aug,
  year           = 1992
}

@InProceedings{DeVo99a,
  Author         = {Kris De Volder and Theo D'Hondt},
  Title          = {Aspect-Orientated Logic Meta Programming},
  BookTitle      = {Reflection '99: Proceedings of the Second
                   International Conference on Meta-Level Architectures
                   and Reflection},
  Pages          = {250--272},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-66280-4},
  year           = 1999
}

@InProceedings{Gann98a,
  Author         = {G.C Gannod and G. Sudindranath and M.E. Fagnani and
                   B.H.C. Cheng},
  Title          = {PACKRAT: A Software Reengineering Case Study},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {125-135},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{Roch75a,
  Author         = {Marc Rochkind},
  Title          = {The Source Code Control System},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {1},
  Number         = {4},
  Pages          = {364-370},
  keywords       = {sccs evolution},
  mon            = dec,
  year           = 1975
}

@Article{Carr89a,
  Author         = {N. Carriero and D. Gelernter},
  Title          = {How to Write Parallel Programs: {A} Guide to the
                   Perplexed},
  Journal        = {ACM Computing Surveys},
  Volume         = {21},
  Number         = {3},
  Pages          = {323-357},
  keywords       = {concurrency linda binder},
  month          = sep,
  year           = 1989
}

@InProceedings{Zeng02a,
  Author         = {Matthias Zenger},
  Title          = {Type-Safe Prototype-Based Component Evolution},
  BookTitle      = {Proceedings ECOOP 2002},
  Volume         = 2374,
  Series         = {LNCS},
  Pages          = {470-497},
  Address        = {Malaga, Spain},
  Publisher      = {Springer Verlag},
  keywords       = {olit ecoop02proc},
  month          = jun,
  url            = {http://lampwww.epfl.ch/~zenger/research.html},
  year           = 2002
}

@Book{Zwie89a,
  Author         = {J. Zwiers},
  Title          = {Compositionality, Concurrency and Partial Correctness},
  Publisher      = {Springer-Verlag},
  Volume         = {321},
  Series         = {LNCS},
  keywords       = {concurrency tnp},
  year           = 1989
}

@InProceedings{Cecc02a,
  Author         = {Emmanuel Cecchet and Julie Marguerite and Willy
                   Zwaenepoel},
  Title          = {Performance and Scalability of {EJB} Applications},
  BookTitle      = {Proceedings International Conference on
                   Object-Oriented Programming, Systems, Languages, and
                   Applications (OOPSLA'02)},
  Pages          = {246--261},
  keywords       = {j2ee},
  year           = 2002
}

@Book{Ever74a,
  Author         = {B. Everitt},
  Title          = {Cluster Analysis},
  Publisher      = {Heineman Educational Books},
  Address        = {London},
  keywords       = {clustering},
  year           = 1974
}

@InProceedings{Call87a,
  Author         = {Lisa A. Call and David L. Cohrs and Barton P. Miller},
  Title          = {{CLAM} --- an Open System for Graphical User
                   Interfaces},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {277-286},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Marc05c,
  Author         = {Marcus, Andrian and Rajlich, V\'aclav},
  Title          = {Panel: Identification of Concepts, Features, and
                   Concerns in Srource Code},
  BookTitle      = {Proceedings of the 21st International Conference on
                   Software Maintenance (ICSM'05)},
  year           = 2005
}

@Book{VanR96a,
  Author         = {Guido van Rossum},
  Title          = {Python Tutorial},
  Publisher      = {Stichting Mathematisch Centrum},
  Address        = {Amsterdam},
  keywords       = {python},
  year           = 1996
}

@InProceedings{Andr90a,
  Author         = {Jean-Marc Andreoli and Remo Pareschi},
  Title          = {Linear Objects: Logical Processes with Built-In
                   Inheritance},
  BookTitle      = {Proceedings 7th ICLP},
  Address        = {Jerusalem},
  keywords       = {olit-obcl lo concurrency binder},
  year           = 1990
}

@PhdThesis{Fost02a,
  Author         = {Jeffrey Scott Foster},
  Title          = {Type Qualifiers: Lightweight Specifications to Improve
                   Software Quality},
  School         = {University of California, Berkeley},
  Type           = {Ph.{D}. Thesis},
  keywords       = {nonstandard types},
  month          = dec,
  url            = {http://www.cs.umd.edu/~jfoster/papers/thesis.pdf},
  year           = 2002
}

@InProceedings{Kami01a,
  Author         = {Toshihiro Kamiya and Fumiaki Ohata and Kazuhiro Kondou
                   and Shinji Kusumoto and Katuro Inoue},
  Title          = {Maintenance support tools for {Java} programs:
                   CCFinder and JAAT},
  BookTitle      = {Proceedings 23rd Int'l Conf. on Software Eng.
                   (ICSE'2001)},
  Pages          = {837-838},
  Address        = {Toronto, Canada},
  keywords       = {Clones dotplot},
  month          = may,
  year           = 2001
}

@InProceedings{Pente98a,
  Author         = {R. Penteado and P.C. Masiero and A.F. do Prado and
                   R.T.V. Braga},
  Title          = {Reengineering of Legacy Systems Based on
                   Transformation Using the Object-Oriented Paradigm},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {144-155},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Coin90a,
  Author         = {Pierre Cointe},
  Title          = {The {Class}{Talk} System: A Laboratory to Study
                   Reflection in Smalltalk},
  BookTitle      = {OOPSLA/ECOOP Workshop on Reflection and Metalevel
                   Architecture},
  year           = 1990
}

@InProceedings{Wilk91a,
  Author         = {Michael R. Wilk},
  Title          = {Equate: An Object-Oriented Constraint Solver},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {286-298},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{Bock90a,
  Author         = {Heinz-Dieter Bocker, Jurgen Herczeg},
  Title          = {What Tracers Are Made of},
  BookTitle      = {Proceedings of OOPSLA/ECOOP '90},
  Pages          = {89-99},
  month          = oct,
  year           = 1990
}

@Article{Parn72b,
  Author         = {David L. Parnas},
  Title          = {On the Criteria To Be Used in Decomposing Systems into
                   Modules},
  Journal        = {CACM},
  Volume         = {15},
  Number         = {12},
  Pages          = {1053-1058},
  keywords       = {modularity},
  month          = dec,
  year           = 1972
}

@InProceedings{Bing93a,
  Author         = {Tim Bingham and Nancy Hobbs and Dave Husson},
  Title          = {Experiences Developing and Using an {OO} Library for
                   Program Manipulation},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {83-90},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Cox01a,
  Author         = {Anthony Cox and Charles Clarke},
  Title          = {Representing and Accessing Extracted Information},
  BookTitle      = {Proceedings of the IEEE International Conference on
                   Software Maintenance (ICSM'01)},
  Pages          = {12},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2001.972707},
  isbn           = {0-7695-1189-9},
  keywords       = {parsing},
  year           = 2001
}

@TechReport{Ston85a,
  Author         = {M. Stonebraker},
  Title          = {Triggers and Interference in Data Base Systems},
  Institution    = {Electronics Research Laboratory, U Cal Berkeley},
  Type           = {Memorandum No UCB/ERL},
  Number         = {M85/46},
  keywords       = {misc triggers db},
  month          = may,
  year           = 1985
}

@InProceedings{Brue94a,
  Author         = {Bernd Bruegge and Erik Riedel},
  Title          = {A Geographic Environmental Modeling System: Towards an
                   Object-Oriented Framework},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {474-492},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InCollection{Moin91a,
  Author         = {Th. Moineau},
  Title          = {{ROSE}-{ADA}: An Instance of the {ESF}-{ROSE} System
                   to Reuse Ada code.},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@InProceedings{Bric02a,
  Author         = {Johan Brichau and Kris Gijbels and Roel Wuyts},
  Title          = {Towards a Linguistic Symbiosis of an Object-oriented
                   and a Logic Programming Language},
  BookTitle      = {Proceedings of the Workshop on Multiparadigm
                   Programming with Object-Oriented Languages (MPOOL 2002)},
  annote         = {internationalworkshop},
  year           = 2002
}

@InProceedings{Si97a,
  Author         = {Antonio Si and Hong Va Leong and Rynson W. H. Lau},
  Title          = {{CHECK}: A Document Plagiarism Detection System},
  BookTitle      = {Proceedings of the ACM Symposion for Applied Computing},
  Pages          = {70-77},
  Publisher      = {ACM},
  keywords       = {information retrieval},
  month          = feb,
  year           = 1997
}

@Book{Wang98a,
  Author         = {Jiacun Wang},
  Title          = {Timed Petri Nets},
  Publisher      = {Kluwer Academic Publishers},
  year           = 1998
}

@InProceedings{Brad92a,
  Author         = {Kathleen Brade and Mark Guzdial and Mark Steckel and
                   Elliot Soloway},
  Title          = {Worf: A Visualization Tool for Software Maintenance},
  BookTitle      = {Proceedings of IEEE Workshop on Visual Languages},
  Pages          = {148-154},
  Publisher      = {IEEE Society Press},
  year           = 1992
}

@Book{Resc06a,
  Author         = {Eric Rescorla},
  Title          = {SSL and TLS Designing and Building Secure Systems},
  Publisher      = {Addison-Wesley},
  isbn           = {0-201-61598-3},
  keywords       = {scglib},
  year           = 2006
}

@Article{Duca03d,
  Author         = {St\'ephane Ducasse and Sander Tichelaar},
  Title          = {Dimensions of Reengineering Environment
                   Infrastructures},
  Journal        = {Journal of Software Maintenance and Evolution:
                   Research and Practice (JSME)},
  Volume         = 15,
  Number         = 5,
  Pages          = {345-373},
  abstract       = {Over the last decade many research groups and
                   commercial companies have been developing reengineering
                   environments. However, many design decisions such as
                   support for multiple models, incremental loading of
                   information, tool integration, entity grouping, and
                   their impacts on the underlying meta-model and
                   resulting environment have remained implicit. Based on
                   the experience accumulated while developing the Moose
                   reengineering environment and on a survey of
                   reengineering environments, we present a design space
                   defined by a set of criteria that makes explicit the
                   different options and especially their dependencies and
                   trade-offs. Using this design space, developers of
                   future environments should have a better understanding
                   of the problems they face and the impact of design
                   choices.},
  annote         = {internationaljournal},
  doi            = {http://doi.wiley.com/10.1002/smr.279},
  keywords       = {scg-pub recast04 jb04 stefPub moose-pub},
  misc           = {SCI impact factor 0.595},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca03dInfrastructures.pdf},
  year           = 2003
}

@InProceedings{Hass04a,
  Author         = {Ahmed Hassan and Richard Holt},
  Title          = {Predicting Change Propagation in Software Systems},
  BookTitle      = {Proceedings 20th IEEE International Conference on
                   Software Maintenance (ICSM'04)},
  Pages          = {284-293},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2004.1357812},
  keywords       = {evolution},
  month          = sep,
  url            = {http://plg.uwaterloo.ca/~aeehassa/home/pubs/icsm2004.pdf},
  year           = 2004
}

@InProceedings{Mari01a,
  Author         = {Radu Marinescu},
  Title          = {Detecting Design Flaws via Metrics in Object-Oriented
                   Systems},
  BookTitle      = {Proceedings of TOOLS},
  Pages          = {173-182},
  keywords       = {olit},
  year           = 2001
}

@InProceedings{Will93a,
  Author         = {Antony S. Williams},
  Title          = {The {OLE} 2.0 Object Model},
  BookTitle      = {ACM OOPS Messenger, Addendum to the Proceedings of
                   OOPSLA 1993},
  Volume         = {5},
  Pages          = {68-70},
  keywords       = {olit odp ole},
  month          = apr,
  year           = 1994
}

@TechReport{Lamp91a,
  Author         = {Leslie Lamport},
  Title          = {The Temporal Logic of Actions},
  Institution    = {DEC Systems Research Center},
  Type           = {Technical Report},
  Number         = {79},
  Address        = {Palo Alto, California},
  keywords       = {temporal-logic tla binder (shelf)},
  month          = dec,
  year           = 1991
}

@InProceedings{Pun89a,
  Author         = {Winnie W.Y. Pun and Russel L. Winder},
  Title          = {A Design Method for Object-Oriented Programming},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {225-240},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit design binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@TechReport{Abow95a,
  Author         = {Gregory Abowd and Robert Allen and David Garlan},
  Title          = {Formalizing Style to Understand Descriptions of
                   Software Architecture},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-95-111}},
  keywords       = {olit visprog composition architecture},
  month          = jan,
  url            = {ftp://reports.adm.cs.cmu.edu/usr/anon/1995/CMU-CS-95-111.ps},
  year           = 1995
}

@InProceedings{Zaid05a,
  Author         = {A. Zaidman and T. Calders and S. Demeyer and J.
                   Paredaens},
  Title          = {Applying Webmining Techniques to Execution Traces to
                   Support the Program Comprehension Process},
  BookTitle      = {Proceedings IEEE European Conference on Software
                   Maintenance and Reengineering (CSMR 2005)},
  Pages          = {134--142},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {Dynamic Analysis},
  location       = {Manchester, United Kingdom},
  year           = 2005
}

@InProceedings{Bens88a,
  Author         = {Edward H. Bensley and Thomas J. Brando and Myra Jean
                   Prelle},
  Title          = {An Execution Model for Distributed Object-Oriented
                   Computation},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {316-322},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@InProceedings{Seeb06b,
  Author         = {Mauricio Seeberger and Adrian Kuhn and Tudor G\^irba
                   and St\'ephane Ducasse},
  Title          = {{Chronia}: Visualizing How Developers Change Software
                   Systems},
  BookTitle      = {Proceedings of 10th European Conference on Software
                   Maintenance and Reengineering (CSMR'06)},
  Pages          = {345--346},
  Note           = {Tool demo},
  annote         = {tooldemo},
  cvs            = {ChroniaDemoCSMR2006},
  keywords       = {scg-misc moose-pub stefPub recast06 jb06 fb06 girba},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Seeb06bChronia.pdf},
  year           = 2006
}

@InProceedings{Cubr03a,
  Author         = {Davor Cubranic and Gail Murphy},
  Title          = {Hipikat: Recommending Pertinent Software Development
                   Artifacts},
  BookTitle      = {Proceedings 25th International Conference on Software
                   Engineering (ICSE 2003)},
  Pages          = {408--418},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSE.2003.1201219},
  isbn           = {0-7695-1877-X},
  keywords       = {evolution},
  location       = {Portland, Oregon},
  year           = 2003
}

@InProceedings{Jone86b,
  Author         = {Michael B. Jones and Richard F. Rashid},
  Title          = {Mach and Matchmaker: Kernel and Language Support for
                   Object-Oriented Distributed Systems},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {67-77},
  keywords       = {security olit mach unix os distribution oopsla86
                   oobib(sys)},
  month          = nov,
  year           = 1986
}

@TechReport{Stad91a,
  Author         = {Marc Stadelmann},
  Title          = {TeamWorks: Towards a Framework for Reuse},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {Scripting is a development technique that builds
                   applications by composing prefabricated reusable
                   software components and making them collaborate through
                   scripts. TeamWorks is an interactive tool for
                   scripting. We introduce the basic ideas and concepts of
                   TeamWorks and illustrate them with examples.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg oc91},
  month          = jun,
  pages          = {57-71},
  year           = 1991
}

@Article{Quar85a,
  Author         = {J.S. Quarterman and A. Silberschatz and James L.
                   Peterson},
  Title          = {4.2BSD and 4.3BSD as Examples of the {UNIX} System},
  Journal        = {ACM Computing Surveys},
  Volume         = {17},
  Number         = {4},
  Pages          = {379-418},
  keywords       = {misc unix},
  month          = dec,
  year           = 1985
}

@TechReport{Henn82a,
  Author         = {Matthew Hennessy},
  Title          = {Powerdomains and Nondeterministic Recursive
                   Definitions},
  Institution    = {Springer-Verlag},
  Type           = {Proceedings, International Symposium on Programming},
  editor         = {Dezani-Ciancaglini and Montanari},
  keywords       = {concurrency},
  pages          = {178-193},
  series         = {LNCS},
  volume         = {137},
  year           = 1982
}

@InProceedings{Reic07a,
  Author         = {Stefan Reichhart and Tudor G\^irba and St\'ephane
                   Ducasse},
  Title          = {Rule-based Assessment of Test Quality},
  BookTitle      = {Proceedings of TOOLS Europe 2007},
  Note           = {To appear},
  abstract       = {With the success of agile methodologies more and more
                   projects develop large test suites to ensure that the
                   system is behaving as expected. Not only do tests
                   ensure correctness, but they also offer a live
                   documentation for the code. However, as the system
                   evolves, the tests need to evolve as well to keep up
                   with the system, and as the test suite grows larger,
                   the effort invested into maintaining tests is a
                   significant activity. In this context, the quality of
                   tests becomes an important issue, as developers need to
                   assess and understand the tests they have to maintain.
                   In this paper we present TestLint, an approach together
                   with an experimental tool for qualifying tests. We
                   define a set of criteria to determine test quality, and
                   we evaluate our approach on a large sample of unit
                   tests found in open-source projects.},
  keywords       = {testlint test smell refactoring girba},
  year           = 2007
}

@Article{Zloo77a,
  Author         = {M.M. Zloof},
  Title          = {Query-by-Example: {A} Database Language},
  Journal        = {IBM System Journal},
  Volume         = {16},
  Number         = {4},
  Pages          = {324-343},
  keywords       = {oislit qbe forms},
  year           = 1977
}

@InCollection{Nier85a,
  Author         = {Oscar Nierstrasz},
  Title          = {Message Flow Analysis},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {283-314},
  Address        = {Heidelberg},
  abstract       = {Message management systems with facilities for the
                   automatic processing of messages can exhibit anomalous
                   behaviour such as infinite loops and deadlock. In this
                   paper we present some methods for analyzing the
                   behaviour of these systems by generating expressions of
                   message flow from the procedure specifications. Message
                   domains are partitioned into state spaces, and
                   procedures can be interpreted as automata effecting
                   state changes. Blocking of procedures and procedure
                   loops can then be detected by studying the resulting
                   finite automaton and Petri net representations of
                   message flow.},
  keywords       = {oislit skipdoi mail modeling (crete) oact85},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier85aMessageFlowAnalysis.pdf},
  year           = 1985
}

@Book{Dybv03a,
  Author         = {Kent Dybvig},
  Title          = {The Scheme Programming Language},
  Publisher      = {MIT Press},
  isbn           = {0-262-54148-3},
  keywords       = {scglib},
  url            = {http://www.scheme.com/tspl3/index.html},
  year           = 2003
}

@InProceedings{VanH96c,
  Author         = {Michael VanHilst and David Notkin},
  Title          = {{Using C++ Templates to Implement Role-Based Designs}},
  BookTitle      = {JSSST International Symposium on Object Technologies
                   for Advanced Software},
  Pages          = {22-37},
  Publisher      = {Springer Verlag},
  year           = 1996
}

@InProceedings{Wu04c,
  Author         = {Lei Wu and Houari Sahraoui and Petko Valtchev},
  Title          = {Program Comprehension With Dynamic Recovery of Code
                   Collaboration Patterns and Roles},
  BookTitle      = {CASCON'04: Proceedings of the 2004 conference of the
                   Centre for Advanced Studies on Collaborative research},
  Pages          = {56--67},
  Publisher      = {IBM Press},
  location       = {Markham, Ontario, Canada},
  year           = 2004
}

@Article{Mull05b,
  Author         = {Muller, Pierre-Alain and Studer, Philippe and
                   Fondement, Fr\'ed\'erick and B\'ezivin, Jean},
  Title          = {Independent Web Application Modeling and Development
                   with Netsilon},
  Journal        = {Software and System Modeling},
  Volume         = {4},
  Number         = {4},
  Pages          = {424--442},
  month          = nov,
  year           = 2005
}

@InProceedings{Lanz01c,
  Author         = {Michele Lanza},
  Title          = {The Evolution Matrix: Recovering Software Evolution
                   using Software Visualization Techniques},
  BookTitle      = {Proceedings of IWPSE 2001 (International Workshop on
                   Principles of Software Evolution)},
  Pages          = {37-42},
  abstract       = {One of the major problems in software evolution is
                   coping with the complexity which stems from the huge
                   amount of data that must be considered. The current
                   approaches to deal with that problem all aim at a
                   reduction of complexity and a filtering of the relevant
                   information. In this paper we propose an approach based
                   on a com- bination of software visualization and
                   software metrics which we have already successfully
                   applied in the field of software reverse engineering.
                   Using this approach we discuss a simple and effective
                   way to visualize the evolution of software systems
                   which helps to recover the evolution of object oriented
                   software systems.},
  annote         = {internationalworkshop},
  doi            = {http://doi.acm.org/10.1145/602461.602467},
  keywords       = {scg-pub snf01 jb01 moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lanz01cEvolutionMatrix.pdf},
  year           = 2001
}

@InCollection{Mogg89a,
  Author         = {Eugenio Moggi},
  Title          = {Computational Lambda-Calculus and Monads},
  BookTitle      = {Proceedings 4th Annual IEEE Symp.\ on Logic in
                   Computer Science, LICS '89},
  Publisher      = {IEEE Computer Society Press},
  Pages          = {14-23},
  Address        = {Washington, DC},
  month          = jun,
  year           = 1989
}

@TechReport{Fium83a,
  Author         = {Eugene Fiume},
  Title          = {A Programming Environment for Constructing Graphical
                   User Interfaces: {A} Proposal},
  Institution    = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc thesis},
  keywords       = {uilit olit uims},
  year           = 1983
}

@Book{Gosl96a,
  Author         = {James Gosling and Bill Joy and Guy Steele},
  Title          = {The {Java} Language Specification},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63451-1},
  keywords       = {olit oopl java},
  year           = 1996
}

@Article{Thom04a,
  Author         = {Dave Thomas},
  Title          = {Message Oriented Programming},
  Journal        = {Journal of Object Technology},
  Volume         = {3},
  Number         = {5},
  Pages          = {7-12},
  keywords       = {messages},
  month          = may,
  publisher      = {ETHZ},
  url            = {http://www.jot.fm/issues/issue_2004_05/column1},
  year           = 2004
}

@Article{Call91a,
  Author         = {Frank W. Calliss},
  Title          = {A comparison of module constructs in programming
                   languages},
  Journal        = {SIGPLAN Not.},
  Volume         = {26},
  Number         = {1},
  Pages          = {38--46},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/122203.122206},
  issn           = {0362-1340},
  publisher      = {ACM Press},
  year           = 1991
}

@Article{Mens06a,
  Author         = {Kim Mens and Andy Kellens and Fr\'{e}d\'{e}ric Pluquet
                   and Roel Wuyts},
  Title          = {Co-evolving Code and Design with Intensional Views --
                   A Case Study},
  Journal        = {Journal of Computer Languages, Systems and Structures},
  Volume         = {32},
  Number         = {2},
  Pages          = {140--156},
  annote         = {internationaljournal},
  keywords       = {decomp-pub},
  publisher      = {Elsevier Science},
  url            = {http://prog.vub.ac.be/Publications/2005/vub-prog-tr-05-26.pdf},
  year           = 2006
}

@TechReport{Ahls83a,
  Author         = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan
                   Britts and Christer Hult\'en and Lars S{\"o}derlund},
  Title          = {A Survey of Office Information Systems},
  Institution    = {University of Stockholm},
  Type           = {Syslab, WP},
  Number         = {44},
  keywords       = {oislit survey},
  month          = mar,
  year           = 1983
}

@InProceedings{Kram96a,
  Author         = {Christian Kramer and Lutz Prechelt},
  Title          = {Design {Recovery} by {Automated} {Search} for
                   {Structural} {Design} {Patterns} in {Object}-{Oriented}
                   {Software}},
  BookTitle      = {Proceedings of WCRE '96 (3rd Working Conference on
                   Reverse Engineering)},
  Pages          = {208-216},
  Publisher      = {IEEE Computer Society Press},
  location       = {Monterrey, California, USA},
  month          = nov,
  year           = 1996
}

@InProceedings{Kono96a,
  Author         = {Kenji Kono and Kazuhiko Kato and Takashi Masuda},
  Title          = {An Implementation Method of Migratable Distributed
                   Objects Using an {RPC} Technique Integrated with
                   Virtual Memory Management},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {295-315},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InCollection{Lee85a,
  Author         = {Allison Lee and Frederick H. Lochovsky},
  Title          = {User Interface Design},
  BookTitle      = {Office Automation: Concepts and Tools},
  Publisher      = {Springer-Verlag},
  Editor         = {D. Tsichritzis},
  Pages          = {3-20},
  Address        = {Heidelberg},
  keywords       = {uilit oact85},
  year           = 1985
}

@TechReport{Mins95c,
  Author         = {Naftaly Minsky},
  Title          = {Coordination and Trust in Open Distributed Systems},
  Institution    = {Rutgers University, NJ},
  Type           = {Technical Report},
  keywords       = {olit},
  month          = mar,
  url            = {http://www.cs.rutgers.edu/~minsky/public-papers/trust-paper.ps},
  year           = 1995
}

@InProceedings{Arth05a,
  Author         = {John Arthur and Shiva Azadegan},
  Title          = {Spring Framework for Rapid Open Source J2EE Web
                   Application Development: A Case Study.},
  BookTitle      = {SNPD},
  Pages          = {90-95},
  Publisher      = {IEEE Computer Society},
  year           = 2005
}

@Article{Nico87a,
  Author         = {Rocco De Nicola},
  Title          = {Extensional Equivalences for Transition Systems},
  Journal        = {Acta Informatica},
  Volume         = {24},
  Pages          = {211-237},
  keywords       = {pcalc equivalence binder},
  year           = 1987
}

@InProceedings{Stey95a,
  Author         = {Patrick Steyaert and De Meuter, Wolfgang},
  Title          = {A Marriage of Class- and Object-Based Inheritance
                   Without Unwanted Children},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {127-144},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@PhdThesis{Gree07b,
  Author         = {Orla Greevy},
  Title          = {Enriching Reverse Engineering with Feature Analysis},
  School         = {University of Berne},
  abstract       = {System comprehension is a prerequisite for software
                   maintenance and evolution, but it is a time-consuming
                   and costly activity. In an effort to support system
                   comprehension, researchers have devised many different
                   reverse engineering techniques. Several of these are
                   based on statically analyzing the source code. A purely
                   static perspective, however, overlooks valuable
                   semantic knowledge of a system's problem domain. To
                   address this problem, several researchers have
                   identified thee potential of exploiting features in a
                   reverse engineering context. Features are
                   well-understood abstractions of a problem domain. As
                   such, they represent a valuable resource for reverse
                   engineering a system, as they encapsulate knowledge of
                   a problem domain and denote units of system behavior.
                   The main body of feature-related reverse engineering
                   research is concerned with feature identification, a
                   technique to map features to source code. To fully
                   exploit features in reverse engineering, however, we
                   need to extend the focus beyond feature identification
                   and exploit features as primary units of analysis. We
                   formulate our thesis as follows: To exploit the domain
                   knowledge for object-oriented system comprehension, we
                   need to model features, their relationships to source
                   artefacts, and their relationships to each other. The
                   main contribution of our work is twofold: on the one
                   hand, we enrich reverse engineering analysis of
                   object-oriented systems with semantic knowledge of
                   features, and on the other hand, we introduce new
                   techniques that treat features as the primary entities
                   of analysis A further contribution is our definition of
                   Dynamix, a model for expressing feature entities in the
                   context of a structural model of source code. Using
                   case studies, we demonstrate how our analysis
                   techniques exploit feature knowledge to establish
                   traceability between the problem and solution domains
                   throughout the life-cycle of a system.},
  keywords       = {scg-phd},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/greevy-phd.pdf},
  year           = 2007
}

@Book{Smit00c,
  Author         = {Graeme Smith},
  Title          = {The Object-Z Specification Language},
  Publisher      = {Kluwer Academic Publishers},
  keywords       = {scglib},
  year           = 2000
}

@InCollection{Bael93a,
  Author         = {Stefan Van Baelen and Johan Lewi and Eric Steegmans
                   and Bart Swennen},
  Title          = {Constraints in Object-Oriented Analysis},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {393-407},
  abstract       = {Object-oriented analysis methods can incorporate the
                   concept of constraints to express rules of the problem
                   domain in the specification model, restricting the
                   possible instances of the model. As such, constraints
                   describe properties that must be true at each moment in
                   time for the entire system , without determining how
                   they are to be preserved. The ways in which these
                   constraints are introduced in the model differ from
                   method to method, and even between distinct constraint
                   types in a single method. Different ways in which
                   constraints can be described, are illustrated and
                   compared. Specifying constraints as informal
                   annotations or by operational restrictions is too
                   informal and low level for analysis. According to the
                   properties, importance and influence of the constraint
                   types on the object model, they ought to be described
                   differently. Some constraints, such as connectivity
                   constraints, definition and as a reminder for these
                   kind of constraints Others, such as attribute value
                   constraints, are best introduced as independent items
                   part of a separate concept grafted on a general model
                   to get a consistent, unambiguous, symmetrical and
                   general applicable constraint description. Yet others,
                   such as relational and existential dependency
                   constraints, should be expressed implicitly by a
                   hierarchical model structure. This approach enriches
                   the object model in such a way that it highlights the
                   logical structure of the problem domain to its right
                   extent.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InCollection{Nier89a,
  Author         = {Oscar Nierstrasz},
  Title          = {A Survey of Object-Oriented Concepts},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {3-21},
  Address        = {Reading, Mass.},
  abstract       = {The object-oriented paradigm has gained popularity in
                   various guises not only in programming languages, but
                   in user interfaces, operating systems, databases, and
                   other areas. We argue that the fundamental
                   object-oriented concept is {\it encapsulation}, and
                   that all object-oriented mechanisms and approaches
                   exploit this idea to various ends. We introduce the
                   most important of these mechanisms as they are
                   manifested in existing object-oriented systems, and we
                   discuss their relevance in the context of modern
                   application development.},
  keywords       = {olit survey skipdoi osg-ftp aoe88 oocda89 oobib(gen)},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier89aSurveyOfOOConcepts.pdf},
  year           = 1989
}

@MastersThesis{Geet06a,
  Author         = {Joris van Geet},
  Title          = {Coevolution of Software and Tests: An Initial
                   Assessment},
  School         = {University of Antwerpen},
  Type           = {Diploma {Thesis}},
  abstract       = {Unit testing is the first line of defence against
                   software failure. To make the most of this technique
                   the test code should evolve simultaneously with the
                   product code. First, this dissertation explores the
                   possibilities of using dynamic analysis to extract test
                   dependencies. Then we investigate whether heuristic
                   metrics on these dynamic test dependencies provide a
                   measure for the degree to which the test code evolves
                   with the product code. As a case study we use Apache
                   Ant and look specifically at two different phases in
                   the history of this open source project. We conclude
                   that dynamic test dependencies alone do not suffice to
                   provide such a measure and we propose an alternative
                   solution.},
  keywords       = {tesing},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Aebi03a.pdf},
  year           = 2006
}

@InProceedings{Free92b,
  Author         = {Bjorn N. Freeman-Benson and Alan Borning},
  Title          = {The Design and Implementation of Kaleidoscope '90, {A}
                   Constraint Imperative Programming Language},
  BookTitle      = {Proceedings of the 1992 IEEE International Conference
                   on Computer Languages},
  Note           = {To appear},
  keywords       = {olit-oopl binder},
  year           = 1992
}

@InCollection{Mats93b,
  Author         = {Satoshi Matsuoka and Akinori Yonezawa},
  Title          = {Analysis of Inheritance Anomaly in Object-Oriented
                   Concurrent Programming Languages},
  BookTitle      = {Research Directions in Concurrent Object-Oriented
                   Programming},
  Publisher      = {MIT Press},
  Editor         = {G. Agha and P. Wegner and A. Yonezawa},
  Pages          = {107-150},
  keywords       = {olit-obc inheritance binder},
  year           = 1993
}

@PhdThesis{Stey94b,
  Author         = {P. Steyaert},
  Title          = {Open Design of Object-Oriented Languages. {A}
                   Foun\-da\-tion for Specialisable Reflective Language
                   Frameworks},
  School         = {Vrije Universiteit Brussel},
  Address        = {Belgium},
  year           = 1994
}

@InCollection{Cian95a,
  Author         = {Paolo Ciancarini and Keld K. Jensen and Daniel
                   Yankelevich},
  Title          = {On the Operational Semantics of a Coordination
                   Language},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {77-106},
  abstract       = {Linda is a coordination language, because it has to be
                   combined with a sequential language to give a full
                   parallel programming formalism. Although Linda has been
                   implemented on a variety of architectures, and in
                   combination with several sequential languages, its
                   formal semantics is relatively unexplored. In this
                   paper we study and compare a number of operational
                   semantics specifications for Linda: Plotkin's SOS,
                   Milner's CCS, Petri Nets, and Berry and Boudol's
                   Chemical Abstract Machine. We analyze these
                   specifications, and show how they enlighten different
                   abstract implementations.},
  keywords       = {olit OBM94-06},
  year           = 1995
}

@PhdThesis{Bell97b,
  Author         = {Luc Bellissard},
  Title          = {Construction et Configuration {D}'Application
                   Reparties},
  School         = {Institut National Polytechnique de Grenoble},
  Type           = {Ph.{D}. Thesis},
  year           = 1997
}

@TechReport{Tung92a,
  Author         = {Sho-Huan Simon Tung},
  Title          = {Merging Interactive, Modular and Object-oriented
                   Programming},
  Institution    = {Indiana University},
  Type           = {Computer Science Department Technical Report},
  Number         = {#349},
  Address        = {Bloomington, Indiana},
  keywords       = {olit (smc)},
  month          = mar,
  year           = 1992
}

@InProceedings{Ghon04a,
  Author         = {Mohammad Ghoniem and Narendra Jussien and Jean-Daniel
                   Fekete},
  Title          = {{VISEXP}: Visualizing Constraint Solver Dynamics using
                   Explanations},
  BookTitle      = {Proceedings of Seventh Florida Artificial Intelligence
                   Research Society Conference (FLAIR'04)},
  Address        = {Miami Beach, FL},
  Publisher      = {AAAI Press},
  keywords       = {dotplot},
  url            = {http://www.lri.fr/~fekete/},
  year           = 2004
}

@Article{Metz93c,
  Author         = {Igor Metz and Hermann H{\"u}ni},
  Title          = {Teaching Object-Oriented Software Engineering by
                   Example: The Games Factory},
  Journal        = {Computer Science Education,},
  Volume         = {4},
  Pages          = {111-121},
  abstract       = {Object-oriented analysis, design, and programming is a
                   software development technology which has attracted
                   universal attention in the past few year. We do not
                   think that object-oriented technology is a completely
                   new approach to software construction, it is merely the
                   consequent continuation of software engineering
                   principles which evolved since 1968, the year of birth
                   of software engineering. This paper describes a course
                   on software engineering with objects which tracks the
                   evolution of this discipline. We work through the
                   history of these concepts using a single application
                   domain, demonstrating how the relevant analysis and
                   design methods evolved over time, culminating in
                   object-oriented techniques.},
  keywords       = {olit},
  year           = 1993
}

@PhdThesis{Wojc00a,
  Author         = {Pawel T. Wojciechowski},
  Title          = {Nomadic {Pict}: Language and Infrastructure Design for
                   Mobile Computation},
  School         = {Wolfson College, University of Cambridge},
  keywords       = {pisem},
  month          = mar,
  year           = 2000
}

@Misc{UnitTestTaxonomy,
  Title          = {Unit Test Taxonomy},
  Note           = {http://kilana.unibe.ch:9090/nomenclatureofunittests/},
  key            = {UnitTestTaxonomy},
  keywords       = {testing unit tests taxonomy},
  url            = {http://kilana.unibe.ch:9090/nomenclatureofunittests/}
}

@InProceedings{Faus90a,
  Author         = {John E. Faust and Henry M. Levy},
  Title          = {The Performance of an Object-Oriented Threads Package},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {278-288},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@TechReport{Benn82a,
  Author         = {John K. Bennett},
  Title          = {A Comparison of Four Object-Based Systems},
  Institution    = {University of Washington},
  Type           = {TR82-11-03},
  keywords       = {olit survey hydra web smalltalk argus},
  year           = 1982
}

@InProceedings{Zimm04b,
  Author         = {Thomas Zimmermann and Peter Wei{\ss}gerber},
  Title          = {Preprocessing {CVS} Data for Fine-Grained Analysis},
  BookTitle      = {Proceedings 1st International Workshop on Mining
                   Software Repositories (MSR 2004)},
  Pages          = {2-6},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  year           = 2004
}

@InProceedings{Smit95a,
  Author         = {Randall B. Smith and David Ungar},
  Title          = {Programming as an Experience: The Inspiration for Self},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {303-330},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Book{Knut73a,
  Author         = {D.E. Knuth},
  Title          = {Sorting and Searching},
  Publisher      = {Addison Wesley},
  Volume         = {3},
  Series         = {The Art of Computer Programming},
  Address        = {Reading, Mass.},
  isbn           = {0-201-03803-X},
  keywords       = {misc searching book scglib},
  year           = 1973
}

@Article{Alba85a,
  Author         = {Antonio Albano and Luca Cardelli and R. Orsini},
  Title          = {Galileo: {A} Strongly-Typed, Interactive Conceptual
                   Language},
  Journal        = {ACM TODS},
  Volume         = {10},
  Number         = {2},
  Pages          = {230-260},
  keywords       = {olit-oopl galileo},
  month          = jun,
  year           = 1985
}

@Book{Bare84a,
  Author         = {H.P. Barendregt},
  Title          = {The Lambda Calculus --- Its Syntax and Semantics},
  Publisher      = {North-Holland},
  Volume         = {103},
  Series         = {Studies in Logic and the Foundations of Mathematics},
  Edition        = {Revised},
  isbn           = {0-444-86748-1},
  keywords       = {misc lambda calculus book scglib},
  year           = 1984
}

@InProceedings{Liu92b,
  Author         = {Ling Liu and Robert Meersman},
  Title          = {Activity Model: {A} Declarative Approach for Capturing
                   Communication Behaviour in Object-Oriented Database},
  BookTitle      = {Proceedings of the 18th VLDB Conference},
  Address        = {Vancouver, BC},
  keywords       = {olit-db obc vldb92 binder},
  year           = 1992
}

@Article{Smit82a,
  Author         = {D.C.S. Smith and C. Irby and R. Kimball and B.
                   Verplank and E. Harlem},
  Title          = {Designing the Star User Interface},
  Journal        = {Byte},
  Volume         = {7},
  Number         = {4},
  Pages          = {242-282},
  keywords       = {olit-appl star ui},
  month          = apr,
  year           = 1982
}

@InProceedings{Mads02a,
  Author         = {Per Madsen},
  Title          = {Unit Testing Using Design by Contract and Equivalence
                   Partitions},
  BookTitle      = {Extreme Programming and Agile Processes in Software
                   Engineering},
  Editor         = {Michele Marchesi and Giancarlo Succi},
  Series         = {LNCS},
  Pages          = {425-426},
  Publisher      = {Springer},
  keywords       = {unit testing design by contract},
  year           = 2003
}

@InProceedings{Jerd97a,
  Author         = {Dean Jerding and Spencer Rugaber},
  Title          = {Using Visualization for Architectural Localization and
                   Extraction},
  BookTitle      = {Proceedings of WCRE '97 (4th Working Conference on
                   Reverse Engineering)},
  Editor         = {Ira Baxter and Alex Quilici and Chris Verhoef},
  Pages          = {56-65},
  Publisher      = {IEEE Computer Society Press},
  year           = 1997
}

@InProceedings{Mayr96a,
  Author         = {Jean Mayrand and Claude Leblanc and Ettore M. Merlo},
  Title          = {Experiment on the Automatic Detection of Function
                   Clones in a Software System Using Metrics},
  BookTitle      = {International Conference on Software Maintenance
                   (ICSM)},
  Pages          = {244-253},
  keywords       = {oorp clones},
  url            = {http://www.computer.org/proceedings/icsm/7677/76770244abs.htm},
  year           = 1996
}

@InProceedings{Daga93a,
  Author         = {Ido Dagan and Kenneth W. Church and William A. Gale},
  Title          = {Robust Bilingual Word Alignment for Machine Aided
                   Translation},
  BookTitle      = {Proceedings of the Workshop on Very Large Corpora:
                   Academic and Industrial Perspectives},
  Pages          = {1-8},
  Address        = {Columbus, OH},
  keywords       = {text alignment},
  url            = {http://citeseer.ist.psu.edu/ido93robust.html},
  year           = 1993
}

@InCollection{Pont91a,
  Author         = {Lars Ponten},
  Title          = {Reuse in Software Engineering},
  BookTitle      = {REBOOT '91},
  Publisher      = {ESPRIT},
  keywords       = {olit-reuse reboot91 binder},
  year           = 1991
}

@Article{Dasg91a,
  Author         = {Partha Dasgupta and LeBlanc, Jr., R.J. and M. Ahamad
                   and U. Ramachandran},
  Title          = {The Cloads Distributed Operating System},
  Journal        = {IEEE Computer},
  Volume         = {24},
  Number         = {11},
  Pages          = {34-44},
  keywords       = {olit-oopl clouds distribution},
  month          = nov,
  year           = 1991
}

@InProceedings{Mens99b,
  Author         = {Mens, Kim and Mens, Tom and Wouters, Bart and Wuyts,
                   Roel},
  Title          = {Managing Unanticipated Evolution of Software
                   Architectures},
  BookTitle      = {Proceedings of ECOOP '99 Workshop on Architectural
                   Evolution},
  annote         = {internationalworkshop},
  keywords       = {SOUL},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens99b.pdf},
  year           = 1999
}

@Article{Robs91a,
  Author         = {D.J. Robson and K. H. Bennet and B. J. Cornelius and
                   M. Munro},
  Title          = {Approaches to Program Comprehension},
  Journal        = {Journal of Systems and Software},
  Volume         = {14},
  Pages          = {79-84},
  Note           = {Republished in [Arno92a]},
  keywords       = {oorp},
  month          = feb,
  publisher      = {Elsevier Science Publishers},
  year           = 1991
}

@InProceedings{Burd00a,
  Author         = {Elizabeth Burd and Steven Bradley and John Davey},
  Title          = {Studying the Process of Software Change: an analysis
                   of software evolution},
  BookTitle      = {Seventh Working Conference on Reverse Engineering
                   (WCRE)},
  Publisher      = {IEEE Press},
  year           = 2000
}

@InProceedings{Misi98a,
  Author         = {Vojislav B. Mi\v{s}i\'{c} and Simon Moser},
  Title          = {From Formal Metamodels to Metrics: An Object-Oriented
                   Approach},
  BookTitle      = {Proc. Technology of Object-Oriented Languages and
                   Systems ({T}{O}{O}{L}{S}-24)},
  Publisher      = {IEEE Computer Society Press},
  year           = 1998
}

@InProceedings{Pate99a,
  Author         = {Jean-Francois Patenaude and Ettore Merlo and Michel
                   Dagenais and Bruno Lagu{\"e}},
  Title          = {Extending Software Quality Assessment Techniques to
                   {Java} Systems},
  BookTitle      = {Proceedings Seventh International Workshop on Program
                   Comprehension},
  Pages          = {49},
  month          = may,
  year           = 1999
}

@InProceedings{Tone04a,
  Author         = {Paolo Tonella and Mariano Ceccato},
  Title          = {Aspect Mining through the Formal Concept Analysis of
                   Execution Traces},
  BookTitle      = {Proceedings of WCRE 2004 (11th International Working
                   Conference in Reverse Engineering)},
  Pages          = {112-121},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  location       = {Delft, Netherlands},
  month          = nov,
  year           = 2004
}

@InCollection{Kram90a,
  Author         = {J. Kramer and J. Magee and A. Finkelstein},
  Title          = {A Constructive Approach to the Design of Distributed
                   Systems},
  BookTitle      = {Proc 10th Intl Conf on Distributed Computing Systems},
  Publisher      = {IEEE},
  Pages          = {580-587},
  keywords       = {ds components Conic},
  month          = jun,
  year           = 1990
}

@Article{Sang01a,
  Author         = {Davide Sangiorgi},
  Title          = {Asynchronous process calculi: the first-order and
                   higher-order paradigms (Tutorial)},
  Journal        = {Theoretical Computer Science},
  Volume         = {253},
  comment        = {Special issue dedicated to the {IC-EATCS} Annual
                   {Advanced} {School} on {Models} and {Paradigms} for
                   {Concurrency}, {Udine}, {Italy}, 1997.},
  url            = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html},
  year           = 2001
}

@Book{Aste03a,
  Author         = {David Astels},
  Title          = {Test-Driven Development --- A Practical Guide},
  Publisher      = {Prentice Hall},
  isbn           = {0-13-101649-0},
  keywords       = {scglib},
  year           = 2003
}

@InProceedings{Rade94a,
  Author         = {Matthias Radestock and Susan Eisenbach},
  Title          = {What Do You Get From a Pi-calculus Semantics?},
  BookTitle      = {Proceedings of Parallel Architectures and Languages
                   Europe (PARLE '94)},
  Volume         = 817,
  Series         = {LNCS},
  Pages          = {635-647},
  Publisher      = {Springer-Verlag},
  abstract       = {Darwin is a programming system for the development of
                   distributed and parallel programs. Darwin programs
                   consist of three parts. Firstly, there is a
                   configuration part which provides a hierarchical
                   structure of components with dynamic binding. Secondly,
                   there is the actual communication part which provides
                   the interaction and synchronisation required by the
                   system. Finally, there is the computation part
                   providing the component programs written in C++. The
                   subdivision of concurrent programs into the three
                   separate parts of organisation, communication and
                   computation leads to programs that are easy to specify,
                   compile and execute. In order to specify precisely the
                   behaviour of Darwin programs, we translate the
                   organisation and communication into the Pi-calculus, a
                   formalism for modelling concurrent processes. The
                   Pi-calculus semantics enables us to deduce behavioural
                   properties of Darwin programs.},
  keywords       = {pi-calculus darwin semantics},
  url            = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/parle94.ps.gz},
  year           = 1994
}

@InProceedings{Zimm04a,
  Author         = {Thomas Zimmermann and Peter Wei{\ss}gerber and Stephan
                   Diehl and Andreas Zeller},
  Title          = {Mining Version Histories to Guide Software Changes},
  BookTitle      = {26th International Conference on Software Engineering
                   (ICSE 2004)},
  Pages          = {563-572},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution clustering},
  url            = {http://www.st.cs.uni-sb.de/papers/icse2004/icse.pdf},
  year           = 2004
}

@Article{Sced90a,
  Author         = {A. Scedrov},
  Title          = {A Brief Guide to Linear Logic},
  Journal        = {Bulletin of the EATCS},
  Volume         = {41},
  Pages          = {154-165},
  keywords       = {concurrency linear logic binder(conc)},
  month          = jun,
  year           = 1990
}

@InProceedings{Atta89a,
  Author         = {Giuseppe Attardi and Cinzia Bonini and Maria Rosario
                   Boscotrecase and Tito Flagella and Mauro Gaspari},
  Title          = {Metalevel Programming in {CLOS}},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {243-256},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl clos binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{McCa60a,
  Author         = {J. McCarthy},
  Title          = {Recursive Functions of Symbolic Expressions and Their
                   Computation by Machine, Part {I}},
  Journal        = {CACM},
  Volume         = {3},
  Number         = {4},
  Pages          = {184-195},
  keywords       = {fpl lisp},
  month          = apr,
  year           = 1960
}

@InProceedings{Deis05a,
  Author         = {Florian Dei{\ss}enb\"ock and Markus Pizska},
  Title          = {Concise and Consistent Naming},
  BookTitle      = {International Workshop on Program Comprehension (IWPC
                   2005)},
  Pages          = {97--106},
  year           = 2005
}

@Article{Mitc88a,
  Author         = {John C. Mitchell and Gordon D. Plotkin},
  Title          = {Abstract Types Have Existential Type},
  Journal        = {ACM TOPLAS},
  Volume         = {10},
  Number         = {3},
  Pages          = {470-502},
  keywords       = {types fpl sol binder},
  month          = jul,
  year           = 1988
}

@InProceedings{Inve97a,
  Author         = {Paola Inverardi and Alexander L. Wolf and Daniel
                   Yankelevich},
  Title          = {Checking Assumptions in Component Dynamics at the
                   Architectural Level},
  BookTitle      = {Proceedings of COORDINATION '97},
  Volume         = 1282,
  Series         = {LNCS},
  Pages          = {46-63},
  Publisher      = {Springer-Verlag},
  keywords       = {CHAM Coordination},
  month          = sep,
  year           = 1997
}

@TechReport{Kazm03a,
  Author         = {Rick Kazman and Liam O'Brien and Chris Verhoef},
  Title          = {Architecture Reconstruction Guidelines, Third Edition},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {{CMU/SEI-2002-TR-034}},
  month          = nov,
  url            = {http://www.sei.cmu.edu/publications/documents/02.reports/02tr034.html
                   http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr034.pdf},
  year           = 2003
}

@TechReport{Toko90a,
  Author         = {Mario Tokoro},
  Title          = {Computational Field Model: Toward a New Computing
                   Model/Methodology for Open Distributed Environment},
  Institution    = {Sony Computer Science Lab. Inc.},
  Type           = {SCSL-TR-90-006},
  Address        = {Tokyo},
  keywords       = {concurrency binder},
  misc           = {June 11},
  month          = jun,
  year           = 1990
}

@Book{Copl92a,
  Author         = {James O. Coplien},
  Title          = {Advanced {C}++: Programming Styles and Idioms},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-54855-0},
  keywords       = {olit-oopl oobib(oopl) book scglib sclit oorp},
  year           = 1992
}

@TechReport{Brei93a,
  Author         = {Christian Breiteneder},
  Title          = {They Shoot Video Actors, Don't They?},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {The purpose of this summary is to serve as a pointer
                   to a digital video that is available via anonymous ftp
                   and to give some information concerning the video
                   production in the video actors project.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg vo93},
  month          = jul,
  pages          = {65-67},
  year           = 1993
}

@InProceedings{Male00a,
  Author         = {Jonathan I. Maletic and Andrian Marcus},
  Title          = {Using Latent Semantic Analysis to Identify
                   Similarities in Source Code to Support Program
                   Understanding},
  BookTitle      = {Proceedings of the 12th International Conference on
                   Tools with Artificial Intelligences (ICTAI 2000)},
  Pages          = {46--53},
  keywords       = {clones lsi},
  month          = nov,
  year           = 2000
}

@TechReport{Wrob02a,
  Author         = {Nicolas Wrobel},
  Title          = {Projektarbeit im Rahmen der Universit\"at Bern},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {snf-none scg-ip skip-abstract jb02},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Wrob02a.pdf},
  year           = 2002
}

@InProceedings{Lung05a,
  Author         = {Mircea Lungu and Adrian Kuhn and Tudor G\^irba and
                   Michele Lanza},
  Title          = {Interactive Exploration of Semantic Clusters},
  BookTitle      = {3rd International Workshop on Visualizing Software for
                   Understanding and Analysis (VISSOFT 2005)},
  Pages          = {95--100},
  abstract       = {Using visualization and exploration tools can be of
                   great use for the understanding of a software system
                   when only its source code is available. However,
                   understanding a large software system by visualizing
                   only its lower level artifacts (e.g., classes, methods)
                   and the relations between them does not scale for
                   industrial-size systems. To address the scalability
                   issue, higher level hierarchical abstractions (e.g.,
                   package structure, clustered decompositions of the
                   system) should be used together with relations between
                   them that are usually aggregated from the lower level
                   relations. In this paper, we present the concepts
                   behind Softwarenaut, a tool aimed at exploring any kind
                   of hierarchical decompositions of a system, and then we
                   look at a specific exploration of a system. In the
                   experiment, the hierarchical decomposition of the
                   system is the result of applying a semantical
                   clustering to group classes that use similar terms.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi visualization girba moose-pub jb06
                   recast06},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lung05aExploreSemanticClusters.pdf},
  year           = 2005
}

@InProceedings{Ocal99a,
  Author         = {Alan O'Callaghan and Ping Dai and Ray Farmer},
  Title          = {Patterns for Change --- Sample Patterns from the
                   ADAPTOR Pattern Language},
  BookTitle      = {Proceedings of EuroPLoP 1999},
  keywords       = {olit oorp},
  url            = {http://www.argo.be/europlop/writers.htm},
  year           = 1999
}

@Article{Luck95a,
  Author         = {David C. Luckham and John L. Kenney and Larry M.
                   Augustin and James Vera and Doug Bryan and Walter Mann},
  Title          = {Specification and Analysis of System Architecture
                   Using Rapide},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {4},
  Pages          = {336-355},
  keywords       = {rapide sa architecture tose95},
  month          = apr,
  url            = {ftp://pavg.stanford.edu/pub/Rapide-1.0/tse94.ps.Z},
  year           = 1995
}

@Book{Lars93a,
  Author         = {Gary Larson},
  Title          = {The Far Side Gallery 5},
  Publisher      = {Andrews McMeel Publishing},
  year           = 1993
}

@InProceedings{Jaza02a,
  Author         = {Mehdi Jazayeri},
  Title          = {On Architectural Stability and Evolution},
  BookTitle      = {Reliable Software Technologies-Ada-Europe 2002},
  Pages          = {13-23},
  Address        = {Berlin},
  Publisher      = {Springer Verlag},
  keywords       = {oorp},
  year           = 2002
}

@InCollection{Maie87a,
  Author         = {David Maier and Jacob Stein},
  Title          = {Development and Implementation of an Object-Oriented
                   {DBMS}},
  BookTitle      = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Editor         = {B. Shriver and P. Wegner},
  Pages          = {355-392},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-db gemstone rdoop87 oobib(oodb)},
  year           = 1987
}

@InProceedings{Bake99b,
  Author         = {Brenda S. Baker},
  Title          = {Parameterized Diff},
  BookTitle      = {ACM-SIAM Symp. on Discrete Algorithms},
  Pages          = {S854-S855},
  month          = jan,
  year           = 1999
}

@Manual{DOM00,
  Title          = {Document Object Model {DOM} Level 2 Events
                   Specification},
  Organization   = {World Wide Web Consortium},
  url            = {http://www.w3.org/TR/DOM-Level-2-Events},
  year           = 1998
}

@Unpublished{Deme97z,
  Author         = {Serge Demeyer and St\'ephane Ducasse and Robb Nebbe
                   and Oscar Nierstrasz and Tamar Richner},
  Title          = {Using Restructuring Transformations to Reengineer
                   Object-Oriented Systems},
  Note           = {technical report},
  abstract       = {Applying object-oriented design methods and languages
                   does not guarantee that the resulting software systems
                   will be flexible and adaptable. The industrial partners
                   in the FAMOOS project have learned this lesson the hard
                   way: they are now faced with large and rigid software
                   systems that hamper them in meeting a diverse and
                   evolving set of customer requirements. Object-oriented
                   frameworks are touted as a promising solution, but it
                   is unclear how to transform object-oriented legacy
                   systems into frameworks. This paper proposes an
                   approach --i.e, a methodology and tools-- for
                   re-engineering object-oriented systems towards
                   frameworks by means of high-level and low-level
                   restructuring transformations that detect and resolve
                   architectural and detailed design anomalies, and
                   improve application flexibility and adaptability.},
  keywords       = {olit famoos-techrep scg-wp skipdoi snf97
                   sergedem-techrep},
  month          = may,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme97z/index.html
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Deme97zWCRE.pdf},
  year           = 1997
}

@Book{Andr96a,
  Editor         = {J.-M.Andreoli and C. Hankin and D. Le M\'etayer},
  Title          = {Coordination Programming: Mechanisms, Models and
                   Semantics},
  Publisher      = {Imperial College Press},
  isbn           = {1-86094-023-4},
  keywords       = {coordination scglib},
  year           = 1996
}

@Book{Garb95a,
  Author         = {Jeff Garbus and David Salomon and Brian Tretter},
  Title          = {{SYBASE} {DBA}: Survival Guide},
  Publisher      = {Sams Publishing},
  isbn           = {0-672-30651-4},
  keywords       = {sybase scglib},
  year           = 1995
}

@InProceedings{DAmb06d,
  Author         = {Marco D'Ambros and Michele Lanza},
  Title          = {Reverse Engineering with Logical Coupling},
  BookTitle      = {Proceedings of WCRE 2006 (13th Working Conference on
                   Reverse Engineering)},
  Pages          = {189 - 198},
  mon            = oct,
  year           = 2006
}

@Book{Wiec01a,
  Editor         = {Martin Wieczorek and Dirk Meyerhoff},
  Title          = {Software Quality},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 2001
}

@InProceedings{Clay98a,
  Author         = {R. Clayton and S. Rugaber and L. Wills},
  Title          = {Incremental Migration Strategies: Data Flow Analysis
                   for Wrapping},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {69-79},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Gree95a,
  Author         = {R. Mark Greenwood},
  Title          = {Coordination Theory and Software Process Technology},
  BookTitle      = {Proceedings of the 4th European Workshop (EWSPT '95)},
  Volume         = {913},
  Series         = {LNCS},
  Address        = {Noordwijkerhout, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {coordination},
  month          = apr,
  url            = {ftp://ftp.cs.man.ac.uk/pub/IPG/mg95.ps.Z},
  year           = 1995
}

@Article{Mock02a,
  Author         = {Audris Mockus and Roy T Fielding and James D Herbsleb},
  Title          = {Two case studies of open source software development:
                   Apache and Mozilla},
  Journal        = {ACM Trans. Softw. Eng. Methodol.},
  Volume         = {11},
  Number         = {3},
  Pages          = {309--346},
  address        = {New York, NY, USA},
  issn           = {1049-331X},
  publisher      = {ACM Press},
  year           = 2002
}

@TechReport{Sang99a,
  Author         = {Davide Sangiorgi},
  Title          = {Interpreting functions as pi-calculus processes: a
                   tutorial},
  Institution    = {INRIA Sophia-Antipolis, France},
  Type           = {RR},
  Number         = {3470},
  keywords       = {pi},
  month          = feb,
  year           = 1999
}

@InProceedings{Barb91c,
  Author         = {Franco Barbanera and Mariangiola Dezani-Ciancaglini},
  Title          = {Intersection and Union Types},
  BookTitle      = {Proceedings Theoretical Aspects of Computer Software
                   (TACS '91)},
  Editor         = {T. Ito and A.R. Meyer},
  Volume         = {526},
  Series         = {LNCS},
  Pages          = {651-674},
  Address        = {Sendai, Japan},
  Publisher      = {Springer-Verlag},
  keywords       = {types tacs91},
  month          = sep,
  year           = 1991
}

@InProceedings{Wieb86a,
  Author         = {Douglas Wiebe},
  Title          = {A Distributed Repository for Immutable Persistent
                   Objects},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {453-465},
  keywords       = {olit-oopl jasmine persistence transactions oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Baez99a,
  Author         = {Ricardo A. Baeza-Yates and Gaston H. Gonnet},
  Title          = {A Fast Algorithm on Average for All-Against-All
                   Sequence Matching},
  BookTitle      = {Proceedings of the String Processing and Information
                   Retrieval Symposion (SPIRE)},
  Pages          = {16-23},
  Publisher      = {IEEE},
  keywords       = {suffix tree},
  year           = 1999
}

@Book{Mesz07a,
  Author         = {Gerarde Meszaros},
  Title          = {XUnit Test Patterns - Refactoring Test Code},
  Publisher      = {Addison Wesley},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:27:08 +0100},
  month          = {jun},
  year           = 2007
}

@Article{Dijk68b,
  Author         = {Edsgar W. Dijkstra},
  Title          = {The Structure of the "{THE}" multiprogramming systems"},
  Journal        = {CACM},
  Volume         = {11},
  Number         = {5},
  Pages          = {341-346},
  keywords       = {concurrency},
  month          = may,
  year           = 1968
}

@Article{Clam94a,
  Author         = {Stewart M. Clamen},
  Title          = {Schema Evolution and Integration},
  Journal        = {Distributed and Parallel Databases: An International
                   Journal},
  Volume         = {2},
  Number         = {1},
  abstract       = {Providing support for \fIschema evolution\fP allows
                   existing databases to be adjusted for varying roles
                   over time. This paper reflects on existing evolution
                   support schemes and introduces a more general and
                   functional mechanism to support schema evolution and
                   \fIinstance adaptation\fP for centralized and
                   distributed object-oriented database systems. Our
                   evolution support scheme is distinguished from previous
                   mechanisms in that it is primarily concerned with
                   preserving existing database objects and maintaining
                   compatibility for old applications, while permitting a
                   wider range of evolution operations. It achieves this
                   by supporting schema versioning, allowing multiple
                   representations of instances to persist simultaneously,
                   and providing for programmer specification of how to
                   adapt existing instances. The mechanism is general
                   enough to provide much of the support necessarily for
                   \fIheterogeneous schema integration\fP, as well as
                   incorporating much of the features of object migration
                   and replication.},
  keywords       = {olit-oodb schema evolution versions (smc)},
  month          = jan,
  year           = 1994
}

@InCollection{Brin89a,
  Author         = {Ed Brinksma},
  Title          = {A Theory for the Derivation of Tests},
  BookTitle      = {Protocol Specification, Testing and Verification VIII},
  Publisher      = {North Holland},
  Editor         = {S. Aggarwal and K. Sabnani},
  keywords       = {pcalc equivalence lotos},
  year           = 1989
}

@InProceedings{Tone02a,
  Author         = {P. Tonella and A. Potrich},
  Title          = {Static and Dynamic C++ Code Analysis for the Recovery
                   of the Object Diagram},
  BookTitle      = {Processings of 18th IEEE International Conference on
                   Software Maintenance (ICSM 2002)},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2002.1167747},
  isbn           = {0-7695-1819-2},
  year           = 2002
}

@InProceedings{Manb90a,
  Author         = {Udi Manber and Gene Myers},
  Title          = {Suffix Arrays: A New Method for On-line String
                   Searches},
  BookTitle      = {1st ACM SIAM Symposium on Discrete Algorithms},
  Pages          = {319-327},
  Address        = {San Francisco},
  month          = jan,
  year           = 1990
}

@InCollection{Gay93a,
  Author         = {Simon Gay},
  Title          = {A Sort Inference Algorithm for the Polyadic
                   $\pi$-Calculus},
  BookTitle      = {Principles of Programming Languages},
  Publisher      = {ACM},
  keywords       = {pcalc mobility (uwe)},
  year           = 1993
}

@Book{Lawl89a,
  Author         = {Jo A. Lawless and Molly M. Milner},
  Title          = {Understanding Clos the {Common} {Lisp} {Object}
                   {System}},
  Publisher      = {Digital Press},
  year           = 1989
}

@TechReport{Arba96a,
  Author         = {F. Arbab},
  Title          = {Coordination of massively concurrent activities},
  Institution    = {Centrum voor Wiskunde en Informatica (CWI)},
  Type           = {CS-R9565},
  keywords       = {coordination manifold},
  url            = {ftp://www.cwi.nl/pub/manifold/CS-R9565.ps.Z},
  year           = 1995
}

@TechReport{Lieb01b,
  Author         = {Karl Lieberherr and Johan Ovlinger and Mira Mezini and
                   David Lorenz},
  Title          = {Modular Programming with Aspectual Collaborations},
  Institution    = {College of Computer Science, Northeastern University},
  Number         = {NU-CCS-2001-04},
  Address        = {Boston, MA},
  month          = mar,
  pages          = {1-12},
  year           = 2001
}

@InProceedings{Mont98a,
  Author         = {Montes de Oca, C and D.L. Carver},
  Title          = {A Visual Representation Model for Software Subsystem
                   Decomposition},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {231-240},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Book{Niel02a,
  Author         = {Jacob Nielsen and Marie Tahir},
  Title          = {Homepage Usability 50 Websites Deconstructed},
  Publisher      = {New Riders},
  keywords       = {scglib},
  month          = sep,
  year           = 2002
}

@Book{Arno99a,
  Author         = {Ken Arnold and Bryan O'Sullivan and Robert W.
                   Scheifler and Jim Waldo and Ann Wollrath},
  Title          = {The Jini Specification},
  Publisher      = {Addison Wesley},
  keywords       = {olit java scglib},
  year           = 1999
}

@Article{Barn80a,
  Author         = {J.G.P. Barnes},
  Title          = {An Overview of Ada},
  Journal        = {Software --- Practice and Experience},
  Volume         = {10},
  Pages          = {851-887},
  keywords       = {plang ada},
  year           = 1980
}

@Article{Mend01a,
  Author         = {Nabor C. Mendon\c{c}a and Jeff Kramer},
  Title          = {An Approach for Recovering Distributed System
                   Architectures},
  Journal        = {Automated Software Engineering},
  Volume         = {8},
  Number         = {3-4},
  Pages          = {311--354},
  address        = {Hingham, MA, USA},
  issn           = {0928-8910},
  publisher      = {Kluwer Academic Publishers},
  year           = 2001
}

@InProceedings{Seli92a,
  Author         = {Bran Selic and Garth Gullekson and Jim McGee and Ian
                   Engelberg},
  Title          = {{ROOM}: An Object-Oriented Methodology for Developing
                   Real-Time Systems},
  BookTitle      = {Proceedings CASE 92 Fifth International Workshop on
                   Computer-Aided Software Engineering},
  Address        = {Montreal},
  keywords       = {olit-oose room binder},
  month          = jul,
  year           = 1992
}

@TechReport{Miod04a,
  Author         = {Paul Miodonski and Thomas Forster and Jens Knodel and
                   Mikael Lindvall and Dirk Muthig},
  Title          = {Evaluation of Software Architectures with Eclipse},
  Institution    = {Fraunhofer IESE},
  month          = {nov},
  year           = 2004
}

@InProceedings{Bigg93a,
  Author         = {Ted J. Biggerstaff and Bharat G. Mittbander and Dallas
                   Webster},
  Title          = {The concept assignment problem in program
                   understanding},
  BookTitle      = {Proceedings of the 15th international conference on
                   Software Engineering (ICSE 1993)},
  Publisher      = {IEEE Computer},
  keywords       = {oorp},
  year           = 1993
}

@InProceedings{Work85a,
  Author         = {David Workman and Farahangiz Arefi and Mahesh Dodani},
  Title          = {{GRIP}: {A} Formal Framework for Developing a Support
                   Environment for Graphical Interactive Programming},
  BookTitle      = {Proceedings of Software Tools '85},
  Pages          = {138-203},
  Publisher      = {IEEE Computer Society},
  keywords       = {obib(gen) binder},
  year           = 1985
}

@InProceedings{Joua06a,
  Author         = {Fr\'ed\'eric Jouault and Jean B\'ezivin},
  Title          = {{KM3}: a {DSL} for Metamodel Specification},
  BookTitle      = {IFIP Int. Conf. on Formal Methods for Open
                   Object-Based Distributed Systems, LNCS 4037},
  Pages          = {171-185},
  Publisher      = {Springer},
  url            = {http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a},
  year           = 2006
}

@Article{Suss80a,
  Author         = {G. Sussman and G. Steele},
  Title          = {CONSTRAINTS: a language for expressing
                   almost-hierarchical descriptions},
  Journal        = {Artificial Intelligence},
  Volume         = {14},
  Number         = {1},
  Pages          = {1-39},
  year           = 1980
}

@InCollection{Wool98a,
  Author         = {Bobby Woolf},
  Title          = {Null Object},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  Editor         = {Robert Martin and Dirk Riehle and Frank Buschmann},
  Pages          = {5-18},
  keywords       = {olit patterns oorp},
  year           = 1998
}

@Book{Tsic98a,
  Editor         = {D. Tsichritzis},
  Title          = {Electronic Commerce},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg scglib new-entry},
  year           = 1998
}

@PhdThesis{Sakk92c,
  Author         = {Markku Sakkinen},
  Title          = {Inheritance and Other Main Principles of {C}++ and
                   Other Object-Oriented Languages},
  School         = {University of Jyv{\"a}skyl{\"a}},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-inheritance binder(shelf)},
  series         = {Jyv{\"a}skyl{\"a} Studies in Computer Science,
                   Economics and Statistics, No. 20},
  year           = 1992
}

@Unpublished{Parr93a,
  Author         = {Joachim Parrow and Davide Sangiorgi},
  Title          = {Axiomatisations for $pi$-calculus},
  Note           = {In preparation},
  keywords       = {pcalc mobility (uwe)},
  type           = {draft},
  year           = 1993
}

@InProceedings{Bric00b,
  Author         = {Johan Brichau},
  Title          = {Declarative Composable Aspects},
  BookTitle      = {OOPSLA Workshop on Advanced Separation of Concerns in
                   Object-Oriented Systems},
  year           = 2000
}

@Book{Lipp91b,
  Author         = {Stanley Lippman},
  Title          = {The {C}++ Primer},
  Publisher      = {Addison Wesley},
  Edition        = {Second},
  Note           = {(3)},
  isbn           = {0-201-54848-8},
  keywords       = {oobib(gen) book scglib},
  year           = 1991
}

@InProceedings{Hetz98b,
  Author         = {Beth Hetzler and W. Michelle Harris and Susan Havre
                   and Paul Whitney},
  Title          = {Visualizing the Full Spectrum of Document
                   Relationships},
  BookTitle      = {Structures and Relations in Knowledge Organization.
                   Proceedings 5th Int. ISKO Conference},
  Pages          = {168-175},
  Address        = {W\"urzburg},
  Publisher      = {ERGON Verlag},
  year           = 1998
}

@InProceedings{Bake95a,
  Author         = {Brenda S. Baker},
  Title          = {Parameterized Pattern Matching by Boyer-Moore Type
                   Algorithms},
  BookTitle      = {Proceedings of the Sixth Annual ACM-SIAM Symposium on
                   Discrete Algorithms},
  Pages          = {541-550},
  month          = jan,
  url            = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-1.ps.gz},
  year           = 1995
}

@Article{Fium87c,
  Author         = {Eugene Fiume and Dennis Tsichritzis},
  Title          = {Multimedia objects},
  Journal        = {IEEE Office Knowledge Engineering Newsletter},
  Volume         = {1},
  Number         = {1},
  keywords       = {olit-appl multimedia objects osg oat87},
  month          = feb,
  year           = 1987
}

@InProceedings{Bake90b,
  Author         = {Henry G. Baker},
  Title          = {Unify and Conquer (Garbage, Updating, Aliasing ...) in
                   Functional Languages},
  BookTitle      = {Proc. ACM Conf. on Lisp and Functional Programming},
  Pages          = {218-226},
  Address        = {Nice, France},
  keywords       = {types fp binder},
  month          = jun,
  url            = {ftp://ftp.netcom.com/pub/hbaker/Share-Unify.ps.gz},
  year           = 1990
}

@InProceedings{Holz96a,
  Author         = {A.A.Holzbacher},
  Title          = {A Software Environment for Concurrent Coordinated
                   Programming},
  BookTitle      = {Proceedings of COORDINATION '96},
  Editor         = {P. Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {249-266},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination coordination96},
  year           = 1996
}

@InProceedings{Paci03a,
  Author         = {Michael Pacione and Marc Roper and Murray Wood},
  Title          = {{A Comparative Evaluation of Dynamic Visualization
                   Tools}},
  BookTitle      = {Proceedings of WCRE '03},
  Pages          = {80-89},
  Publisher      = {IEEE Computer Society},
  month          = nov,
  year           = 2003
}

@Misc{Slate,
  Title          = {Slate},
  Note           = {http://slate.tunes.org},
  key            = {Slate},
  keywords       = {slate}
}

@Article{Olde86a,
  Author         = {Ernst-R{\"u}diger Olderog and C.A.R. Hoare},
  Title          = {Specification-Oriented Semantics for Communicating
                   Processes},
  Journal        = {Acta Informatica},
  Volume         = {23},
  Number         = {1},
  Pages          = {9-66},
  keywords       = {pcalc safety binder(csp)},
  year           = 1986
}

@InProceedings{Muel00a,
  Author         = {Hausi A. M{\"{u}}ller and Jens H. Jahnke and Dennis B.
                   Smith and Margaret-Anne Storey and Scott R. Tilley and
                   Kenny Wong},
  Title          = {Reverse engineering: a roadmap},
  BookTitle      = {Proceedings of the conference on The future of
                   Software engineering},
  Pages          = {47-60},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/336512.336526},
  isbn           = {1-58113-253-0},
  keywords       = {parseError design-recovery},
  location       = {Limerick, Ireland},
  year           = 2000
}

@InProceedings{Clea94a,
  Author         = {Rance Cleaveland},
  Title          = {An Operational Framework for Value-Passing Processes},
  BookTitle      = {Proceedings of Principles of Programming},
  Address        = {Portland, Oregon},
  Note           = {To appear},
  abstract       = {This paper develops a semantic framework for
                   concurrent languages with value passing. An operation
                   analogous to substitution in the $\lambda$-calculus is
                   given, and a semantics is given for a value-passing
                   version of Milner's Calculus of Communicating Systems
                   (CCS). An operational equivalence is then defined and
                   shown to coincide with Milner's (early) bisimulation
                   equivalence. We also show how semantics may given for
                   languages with asynchronous communication primitives.
                   In contrast with existing approaches to value passing,
                   this semantics does not reduce data exchange to pure
                   synchronization over (potentially infinite) families of
                   ports indexed by data, and it avoids variable renamings
                   that are not local to processes engaged in
                   communication.},
  keywords       = {concurrency pcalc ccs},
  month          = jan,
  url            = {ftp://science.csc.ncsu.edu//pub/papers/popl94.ps.gz},
  year           = 1994
}

@InProceedings{Yoko89a,
  Author         = {Yasuhiko Yokote and Fumio Teraoka and Mario Tokoro},
  Title          = {A Reflective Architecture for an Object-Oriented
                   Distributed Operating System},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {89-106},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-oopl muse reflection scglib ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Article{Glas02a,
  Author         = {Leon Glass},
  Title          = {Looking at Dots},
  Journal        = {The Mathematical Intelligencer},
  Volume         = {24},
  Number         = {4},
  Pages          = {37-43},
  year           = 2002
}

@InProceedings{Mads88a,
  Author         = {Ole Lehrmann Madsen and Birger M{\/o}ller-Pedersen},
  Title          = {What Object-Oriented Programming May Be --- and What
                   It Does Not Have To Be},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {1-20},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Misc{Galicia,
  Title          = {Ga{Licia}: Galois lattice interactive constructor},
  Note           = {http://www.iro.umontreal.ca/~galicia},
  key            = {Galicia},
  url            = {http://www.iro.umontreal.ca/~galicia}
}

@InProceedings{Burd98a,
  Author         = {Elizabeth Burd and Malcom Munro},
  Title          = {Assisting Human Understanding to Aid the Targeting of
                   Necessary Reengineering Work},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {2-10},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{Hain96a,
  Author         = {J.-L. Hainaut and V. Englebert and J. Henrard and
                   J.-M. Hick and D. Roland},
  Title          = {Database reverse Engineering: From requirements to
                   {CARE} Tools},
  Journal        = {Automated Software Engineering},
  Volume         = {3},
  Number         = {1-2},
  keywords       = {dbreeng famoos oorp},
  month          = jun,
  publisher      = {Kluwer Academic Publishers},
  year           = 1996
}

@Article{Moer93a,
  Author         = {Guido Moerkotte and Andreas Zachmann},
  Title          = {Towards More Flexible Schema Management in Object
                   Bases},
  Journal        = {IEEE Data Engineering},
  Note           = {To appear},
  keywords       = {olit-db binder},
  year           = 1993
}

@InProceedings{Paep90a,
  Author         = {Andreas Paepcke},
  Title          = {{PCLOS}: Stress Testing {CLOS} Experiencing the
                   Metaobject protocol},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {194-211},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@Article{Nier97a,
  Author         = {Oscar Nierstrasz and Markus Lumpe},
  Title          = {Komponenten, Komponentenframeworks und Gluing},
  Journal        = {HMD --- Theorie und Praxis der Wirtschaftsinformatik},
  Pages          = {8-23},
  abstract       = { In der letzten Zeit wird immer h\"{a}ufiger von
                   komponentenorientierter Softwareentwicklung gesprochen,
                   wobei meistens nicht klar ist, was darunter eigentlich
                   zu verstehen ist. Was macht ein St\"{u}ck Software zur
                   Komponente? Wir sagen, da{\ss} Softwarekomponenten in
                   einer speziellen Art und Weise konstruiert werden
                   m\"{u}ssen, um mit anderen Komponenten zu einer
                   Applikation zusammengef\"{u}gt werden zu k\"{o}nnen.
                   Mit anderen Worten, eine Softwarekomponente ist Teil
                   eines Komponentenframeworks, da{\ss} (i) eine
                   Bibliothek von Black-Box-Komponenten zu Verf\"{u}gung
                   stellt, (ii) eine wiederverwendbare Softwarearchitektur
                   definiert, in der die Komponenten geeignet integriert
                   sind und (iii) eine bestimmte Art von Glue, die es uns
                   erlaubt, Komponenten miteinander zu verbinden. In
                   diesem Artikel versuchen wir, den Ist-Zustand der
                   Komponententechnologie wiederzugeben und behaupten,
                   da{\ss} nur eine bessere Unterst\"{u}tzung im Bereich
                   Frameworks und Gluing die Komponententechnologie
                   vorw\"{a}rts bringen kann.},
  annote         = {invited},
  keywords       = {scg-pub skipdoi olit snf97 jb97},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier97aKomponentenUndGluing.pdf},
  year           = 1997
}

@InProceedings{Jaco96a,
  Author         = {Bart Jacobs},
  Title          = {Inheritance and Cofree Constructions},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {210-231},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Zimm05a,
  Author         = {Thomas Zimmermann and Peter Wei{\ss}gerber and Stephan
                   Diehl and Andreas Zeller},
  Title          = {Mining Version Histories to Guide Software Changes},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {31},
  Number         = {6},
  Pages          = {429--445},
  month          = jun,
  year           = 2005
}

@InProceedings{Hora84a,
  Author         = {Wolfgang Horak and G{\"u}nther Kr{\"o}nert},
  Title          = {An Object-Oriented Office Document Architecture Model
                   for Processing and Interchange of Documents},
  BookTitle      = {Proceedings of the Second ACM-SIGOA Conference},
  Pages          = {152-160},
  Address        = {Toronto},
  keywords       = {olit-appl oda documents ois},
  month          = jun,
  year           = 1984
}

@InProceedings{Gall94a,
  Author         = {Erick Gallesio},
  Title          = {STklos: A Scheme Object Oriented System dealing with
                   the Tk Toolkit},
  BookTitle      = {Xhibition 94, San Jose, CA},
  Editor         = {ICS},
  Pages          = {63-71},
  key            = {Gallesio94},
  month          = jun,
  year           = 1994
}

@Article{Lamp78a,
  Author         = {Leslie Lamport},
  Title          = {Time, Clocks, and the Ordering of Events in a
                   Distributed System},
  Journal        = {CACM},
  Volume         = {21},
  Number         = {7},
  keywords       = {concurrency other distribution synchronization},
  month          = jul,
  year           = 1978
}

@Article{Duca02v,
  Author         = {St\'ephane Ducasse},
  Title          = {Refactoring Browser et SmallLint},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 46,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2002
}

@InProceedings{Rich92a,
  Author         = {Joel Richardson and Peter Schwarz and Luis-Felipe
                   Cabrera},
  Title          = {{CACL}: Efficient Fine-Grained Protection for Objects},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {263-275},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InProceedings{Kosc98a,
  Author         = {Rainer Koschke and J.-F. Girard and M. W{\"u}rthner},
  Title          = {An Intermediate Representation for Reverse Engineering
                   Analyses},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {241-251},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Book{Kay00a,
  Author         = {Michael Kay},
  Title          = {XSLT, Programmer's Reference},
  Publisher      = {Wrox Press Ltd.},
  keywords       = {XML scglib},
  year           = 2000
}

@InProceedings{Wise95a,
  Author         = {Michael J. Wise},
  Title          = {Neweyes: A System for Comparing Biological Sequences
                   Using the Running Karp-Rabin Greedy String-Tiling
                   Algorithm},
  BookTitle      = {Proceedings Third International Conference on
                   Intelligent Systems for Molecular Biology},
  Pages          = {393-401},
  month          = jul,
  year           = 1995
}

@Book{Benn99a,
  Author         = {Simon Bennett and Steve McRobb and Ray Farmer},
  Title          = {Object-Oriented System Analysis and Design using UML},
  Publisher      = {McGraw Hill},
  keywords       = {oorp},
  year           = 1999
}

@Article{Pagh03a,
  Author         = {Ulrik Pagh Schultz and Kim Burgaard and Flemming Gram
                   Christensen and J\&\#248;rgen Lindskov Knudsen},
  Title          = {Compiling {J}ava for low-end embedded systems},
  Journal        = {SIGPLAN Notice},
  Volume         = {38},
  Number         = {7},
  Pages          = {42--50},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/780731.780739},
  issn           = {0362-1340},
  publisher      = {ACM Press},
  year           = 2003
}

@Article{Finn97a,
  Author         = {P. Finnigan and R. Holt and I. Kalas and S. Kerr and
                   K. Kontogiannis and H. Mueller and J. Mylopoulos and S.
                   Perelgut and M. Stanley and K. Wong.},
  Title          = {The Software Bookshelf},
  Journal        = {IBM Systems Journal},
  Volume         = 36,
  Number         = 4,
  Pages          = {564-593},
  keywords       = {design-recovery},
  month          = nov,
  url            = {http://researchweb.watson.ibm.com/journal/sj/364/finnigan.html
                   http://researchweb.watson.ibm.com/journal/sj/364/finnigan.pdf},
  year           = 1997
}

@InProceedings{Dant06a,
  Author         = {Daniel S. Dantas and David Walker},
  Title          = {Harmless advice},
  BookTitle      = {POPL '06: Conference record of the 33rd ACM
                   SIGPLAN-SIGACT symposium on Principles of programming
                   languages},
  Pages          = {383--396},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1111037.1111071},
  isbn           = {1-59593-027-2},
  location       = {Charleston, South Carolina, USA},
  year           = 2006
}

@Article{Schm96a,
  Author         = {Douglas C. Schmidt},
  Title          = {Connector: {A} Design Pattern for Actively
                   Initializing Network Services},
  Journal        = {{C}++ Report, SIGS},
  Volume         = {8},
  Number         = {1},
  keywords       = {olit-reuse design-patterns iam binder ACE},
  month          = jan,
  url            = {http://www.cs.wustl.edu/~schmidt/Connector.ps.gz},
  year           = 1996
}

@InProceedings{Haye91b,
  Author         = {Fiona Hayes and Derek Coleman},
  Title          = {Coherent Models for Object-Oriented Analysis},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {171-183},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@TechReport{Copl95b,
  Author         = {James O. Coplien},
  Title          = {Multi-Paradigm Design and Implementation},
  Institution    = {Software Production Research Department AT\&T Bell
                   Laboratories},
  Type           = {Report},
  Number         = {1995},
  keywords       = {olit binder},
  year           = 1995
}

@InCollection{Pier93d,
  Author         = {Benjamin C. Pierce},
  Title          = {Mutable Objects},
  BookTitle      = {Working draft},
  Publisher      = {University of Edinburgh},
  keywords       = {types olit},
  misc           = {May 29},
  month          = may,
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/mutable.ps.gz},
  year           = 1993
}

@Article{Garl95a,
  Author         = {David Garlan and Robert Allen and John Ockerbloom},
  Title          = {Architectural Mismatch: Why Reuse Is So Hard},
  Journal        = {IEEE Software},
  Volume         = {12},
  Number         = {6},
  Pages          = {17-26},
  keywords       = {olit architecture},
  month          = nov,
  url            = {http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/archmismatch-icse17.html},
  year           = 1995
}

@InProceedings{Dahm99,
  Author         = {M. Dahm},
  Title          = {Byte Code Engineering},
  BookTitle      = {Proceedings of JIT '99},
  Pages          = {267-277},
  Address        = {D{\"u}sseldorf, Deutschland},
  isbn           = {3-540-66464-5},
  month          = {sep},
  year           = 1999
}

@InProceedings{Yosh88a,
  Author         = {Nobuko Yoshida and Kouji Hino},
  Title          = {An Object-Oriented Framework of Pattern Recognition
                   Systems},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {259-266},
  keywords       = {olit oopsla88},
  month          = nov,
  year           = 1988
}

@TechReport{Blac02a,
  Author         = {Andrew P. Black and Nathanael Sch\"arli and St\'ephane
                   Ducasse},
  Title          = {Applying Traits to the {Smalltalk} Collection
                   Hierarchy},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-02-007},
  Address        = {Universit\"at Bern, Switzerland},
  Note           = {Also available as Technical Report CSE-02-014, OGI
                   School of Science \& Engineering, Beaverton, Oregon,
                   USA},
  abstract       = {Traits are a programming language technology modeled
                   after mixins but avoiding their problems. In this paper
                   we refactor the Smalltalk collections hierarchy using
                   traits. We observed that the original hierarchy
                   contained much duplication of code; traits let us
                   remove all of it. Traits also make possible much more
                   general reuse of collection code outside of the
                   existing hierarchy; for example, they make it easy to
                   convert other collection-like things into true
                   collections. Our refactoring reduced the size of the
                   collection hierarchy by approximately 12 per cent, with
                   no measurable impact on execution efficiency. More
                   importantly, understandability and reusability of the
                   code was significantly improved, and the path was paved
                   for a more intensive refactoring.},
  annote         = {report notrefereed},
  classification = {D.2.6 Programming Environments D.2.10 Design D.1.5
                   Object-oriented Programming; D.3.3 Language Constructs
                   and Features},
  general_terms  = {Inheritance, Mixins, Multiple Inheritance, Traits,
                   Reuse, Smalltalk},
  keywords       = {snf03 scg-pub skipdoi jb02 scg-traits stefPub schaerli},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Blac02aTraitsHierarchy.pdf},
  year           = 2002
}

@InProceedings{Duca00c,
  Author         = {St\'ephane Ducasse and Serge Demeyer and Oscar
                   Nierstrasz},
  Title          = {Transform Conditionals to Polymorphism},
  BookTitle      = {Proceedings of EuroPLoP '2000},
  Pages          = {219-252},
  abstract       = {Conditionals -i.e., switch statements, nested ifs-
                   that are used to simulate polymorphism hamper evolution
                   and flexibility of applications. The reengineering
                   patterns presented in this paper show you how to
                   transform conditionals in object-oriented code to
                   improve the flexibility of application.},
  annote         = {internationalworkshop},
  keywords       = {snf-none skipdoi olit scg-pub jb00 stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00cTransform.pdf},
  year           = 2000
}

@InProceedings{Ages93a,
  Author         = {Ole Agesen and Jens Palsberg and Michael I.
                   Schwartzbach},
  Title          = {Type Inference of {SELF}: Analysis of Objects with
                   Dynamic and Multiple Inheritance},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {247-267},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {We have designed and implemented a type inference
                   algorithm for the full Self language. The algorithm can
                   guarantee the safety and disambiguity of message sends,
                   and provide useful information for browsers and
                   optimizing compilers. Self features objects with
                   dynamic inheritance. This construct has until now been
                   considered incompatible with type inference because it
                   allows the inheritance graph to change dynamically. Our
                   algorithm handles this by deriving and solving type
                   constraints that simultaneously define supersets of
                   both the possible values of expressions and of the
                   possible inheritance graphs. The apparent circularity
                   is resolved by computing a global fixed-point, in
                   polynomial time. The algorithm has been implemented and
                   can successfully handle the Self benchmark programs,
                   which exist in the "standard Self world" of more than
                   40,000 lines of code.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1993
}

@Article{Metz91b,
  Author         = {Igor Metz and Hanspeter Bieri},
  Title          = {Algorithms for generalizes Digital Images Represented
                   by Bintrees},
  Journal        = {Technical Report IAM-91-001},
  abstract       = {Generalized digital images, subsequently called
                   hyperimages, represent a variation of the conventional
                   digital images which implies pixels of different
                   dimensions within the same image. The extent of a
                   hyperimage is the disjoint union of all pixel extents
                   it contains, which are relatively open unit cubes with
                   respect to the euclidean topology of the underlying
                   space. This approach is independent of any specific
                   dimension of image and space, respectively, and allows
                   strict partitioning of images into subimages, not just
                   subdividing. Since the storage required by a
                   $d$-dimensional hyperimage of resolution $n^d$ is
                   $\approx 2^{d}n^{d}$ when using a binary matrix
                   representation, a more space efficient bintree
                   representation is investigated. Algorithms for the
                   Boolean operations, the computation of elementary
                   topological properties and the computation of some
                   important measures of $d$-dimensional hyperimages
                   (volume, surface, Euler characteristic) are presented.
                   Because of the nature of bintrees, the implementation
                   of these algorithms, too, can be performed
                   independently of any specific dimension of image and
                   space.},
  publisher      = {Institut f{\"u}r Informatik und agewandte Mathematik,
                   Universit{\"a}t Bern},
  year           = 1991
}

@PhdThesis{Mose96b,
  Author         = {Simon Moser},
  Title          = {Measurement and Estimation of Software and Software
                   Processes},
  School         = {University of Bern},
  Type           = {Ph.{D}. Thesis},
  keywords       = {snf-none olit scg-pub skip-abstract skipdoi jb96
                   scg-phd},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/moser-phd.pdf},
  year           = 1996
}

@Book{Alex75a,
  Author         = {Christopher Alexander and Murray Silverstein and
                   Shlomo Angel and Sara Ishakawa and Denny Abrams},
  Title          = {The Oregon Experiment},
  Publisher      = {Oxford University Press},
  Address        = {New York},
  keywords       = {design-patterns scglib},
  year           = 1975
}

@TechReport{Nier91c,
  Author         = {Oscar Nierstrasz},
  Title          = {The Next 700 Concurrent Object-Oriented Languages ---
                   Reflections on the Future of Object-Based Concurrency},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {There has been a flurry of activity in recent years to
                   extend existing languages with object-oriented
                   features, and to extend object-oriented concepts and
                   languages with seemingly orthogonal features, such as
                   obc and persistence, to improve their expressive power
                   and potential as a solution to the "software crisis".
                   In many cases these integration efforts have uncovered
                   various forms of semantic interference between
                   features. We claim that the majority of these
                   difficulties are concerned with the very aspect of
                   object-orientation that we seek most urgently to
                   exploit, namely software compositionality. We shall
                   review the problems of integrating obc and
                   object-oriented features from this viewpoint and
                   discuss some of the more important requirements to be
                   met. Finally, we propose a view of objects as patterns
                   of communicating agents that suggests the development
                   of a class of concurrent object-oriented languages
                   parameterized by patterns that address the needs of
                   particular application domains.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc skipdoi hybrid abacus scol osg oc91},
  month          = jun,
  pages          = {165-187},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier93eCompActiveObjects.pdf},
  year           = 1991
}

@Book{Agha86b,
  Author         = {Gul Agha},
  Title          = {{ACTORS}: {A} Model of Concurrent Computation in
                   Distributed Systems},
  Publisher      = {MIT Press},
  Address        = {Cambridge, Mass.},
  isbn           = {0-262-01092-5},
  keywords       = {olit-obc semantics oobib(obcp) book scglib},
  year           = 1986
}

@PhdThesis{Girb05d,
  Author         = {Tudor G\^irba},
  Title          = {Modeling History to Understand Software Evolution},
  School         = {University of Berne},
  Address        = {Berne},
  abstract       = {Over the past three decades, more and more research
                   has been spent on understanding software evolution. The
                   development and spread of versioning systems made
                   valuable data available for study. Indeed, versioning
                   systems provide rich information for analyzing software
                   evolution, but it is exactly the richness of the
                   information that raises the problem. The more versions
                   we consider, the more data we have at hand. The more
                   data we have at hand, the more techniques we need to
                   employ to analyze it. The more techniques we need, the
                   more generic the infrastructure should be. The
                   approaches developed so far rely on ad-hoc models, or
                   on too specific meta-models, and thus, it is difficult
                   to reuse or compare their results. We argue for the
                   need of an explicit and generic meta-model for allowing
                   the expression and combination of software evolution
                   analyses. We review the state-of-the-art in software
                   evolution analysis and we conclude that: \emph{To
                   provide a generic meta-model for expressing software
                   evolution analyses, we need to recognize the evolution
                   as an explicit phenomenon and model it as a first class
                   entity.} Our solution is to encapsulate the evolution
                   in the explicit notion of history as a sequence of
                   versions, and to build a meta-model around these
                   notions: Hismo. To show the usefulness of our
                   meta-model we exercise its dif ferent characteristics
                   by building several reverse engineering applications.
                   This dissertation of fers a meta-model for software
                   evolution analysis yet, the concepts of history and
                   version do not necessarily depend on software. We show
                   how the concept of history can be generalized and how
                   we can obtain our meta-model by transformations applied
                   on structural meta-models. As a consequence, our
                   approach of modeling evolution is not restricted to
                   software analysis, but can be applied to other fields
                   as well.},
  cvs            = {TGirbaPhD},
  keywords       = {scg-pub skipdoi scg-phd evolution girba jb06 recast06
                   moose-pub},
  month          = nov,
  pages          = {164},
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/girba-phd.pdf},
  year           = 2005
}

@Book{Howa95a,
  Author         = {Tim Howard},
  Title          = {The {Smalltalk} Developer's Guide to VisualWorks},
  Publisher      = {SIGS Books},
  isbn           = {1-884842-11-9},
  keywords       = {smalltalk scglib gui},
  year           = 1995
}

@Book{Budd91d,
  Author         = {Timothy A. Budd},
  Title          = {Introduction a la programation par objets},
  Publisher      = {Addison Wesley},
  isbn           = {2-87908-003-7},
  keywords       = {oobib(oopl) book scglib},
  year           = 1991
}

@InProceedings{Hond91a,
  Author         = {Kohei Honda and Mario Tokoro},
  Title          = {An Object Calculus for Asynchronous Communication},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {Pierre America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {133-147},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc-obc mobility equivalence ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@Unpublished{Lea94a,
  Author         = {Doug Lea},
  Title          = {Objects in Groups},
  Note           = {submitted ECOOP '94SUNY at Oswego / NY Case Center},
  keywords       = {olit binder},
  type           = {Draft},
  year           = 1994
}

@Article{Wild92a,
  Author         = {Norman Wilde and Ross Huitt},
  Title          = {Maintenance Support for Object-Oriented Programs},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-18},
  Number         = {12},
  Pages          = {1038-1044},
  keywords       = {olit},
  month          = dec,
  year           = 1992
}

@InProceedings{Shib88a,
  Author         = {Etsuya Shibayama},
  Title          = {How To Invent Distributed Implementation Schemes of an
                   Object-Based Concurrent Language: {A} Transformational
                   Approach},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {297-305},
  keywords       = {olit-obc oopsla88},
  month          = nov,
  year           = 1988
}

@TechReport{Obri03a,
  Author         = {Liam O'Brien and Christoph Stoermer},
  Title          = {Architecture Reconstruction Case Study},
  Institution    = {Carnegie Mellon University, SEI},
  Number         = {CMU/SEI-2003-TN-008},
  year           = 2003
}

@InProceedings{Rans98a,
  Author         = {Jan Ransom and Ian Sommerville and Ian Warren},
  Title          = {{A} {Method} for {Assessing} {Legacy} {Systems} for
                   {Evolution}},
  BookTitle      = {Proceedings of Reengineering Forum '98},
  url            = {http://tina.lancs.ac.uk/projects/renaissance/project/Documents/Papers/AssessmentPaper.html},
  year           = 1998
}

@Book{Stru00a,
  Author         = {William Strunk Jr. and E.B. White},
  Title          = {The Elements of Style},
  Publisher      = {Allyn and Bacon},
  Edition        = {4th},
  keywords       = {scglib},
  year           = 2000
}

@TechReport{Muth95a,
  Author         = {Jeyakumar Muthukumarasamy and John T. Stasko},
  Title          = {Visualizing Program Executions on Large Data Sets
                   Using Semantic Zooming},
  Institution    = {Georgia Institute of Technology},
  Number         = {GIT-GVU-95-02},
  year           = 1995
}

@InProceedings{Wals92a,
  Author         = {James F. Walsh},
  Title          = {Preliminary Defect Data from the Iterative Development
                   of a Large {C}++ Program},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {178-183},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@TechReport{Barb91b,
  Author         = {Michel Barbeau and Gregor V. Bochmann},
  Title          = {Formal Semantics and Formal Verification of
                   Object-Oriented Specifications Based on the Colored
                   Petri Net Model},
  Institution    = {Universit\'e de Montr\'eal},
  Type           = {Report},
  Number         = {784},
  keywords       = {olit binder},
  year           = 1991
}

@InProceedings{Bana95a,
  Author         = {Jean-Pierre Ban\^atre and Daniel Le M\'etayer},
  Title          = {Gamma and the Chemical Reaction Model},
  BookTitle      = {Proceedings of the Coordination '95 Workshop},
  Address        = {Londres},
  Publisher      = {IC Press},
  keywords       = {concurrency gamma coordination},
  year           = 1995
}

@TechReport{Scha02c,
  Author         = {Nathanael Sch\"arli and Oscar Nierstrasz and
                   St\'ephane Ducasse and Roel Wuyts and Andrew Black},
  Title          = {Traits: The Formal Model},
  Institution    = {Institut f\"ur Informatik},
  Type           = {Technical Report},
  Number         = {IAM-02-006},
  Address        = {Universit\"at Bern, Switzerland},
  Note           = {Also available as Technical Report CSE-02-013, OGI
                   School of Science \& Engineering, Beaverton, Oregon,
                   USA},
  abstract       = {Single-inheritance in object-oriented languages can
                   lead to duplicated code in rich class libraries where
                   feature-sharing cannot be linearized.
                   Multiple-inheritance and mixins alleviate this problem,
                   but lead to other difficulties in the face of
                   evolution. Changes to classes or mixins can break code
                   lower in the hierarchy in unexpected ways. Traits solve
                   both problems by factoring out shared behaviour as sets
                   of methods that do not depend on state. Traits have the
                   important property that composition is symmetric, so
                   changes do not lead to unexpected side effects. We
                   present a formal model of traits, and define some basic
                   properties of traits and classes.},
  annote         = {notrefereed},
  classification = {D.3.1 Formal Definitions and Theory; D.1.5
                   Object-oriented Programming; D.3.3 Language Constructs
                   and Features},
  cvs            = {TraitsECOOP},
  general_terms  = {Inheritance, Mixins, Multiple Inheritance, Traits,
                   Reuse, Smalltalk},
  keywords       = {snf03 scg-pub skipdoi jb02 scg-traits schaerli},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha02cTraitsModel.pdf},
  year           = 2002
}

@Book{Tel94a,
  Author         = {Gerard Tel},
  Title          = {Introduction to Distibuted Algorithms},
  Publisher      = {Cambridge Press},
  keywords       = {distributed algorithms},
  year           = 1994
}

@TechReport{Kapp89c,
  Author         = {Gerti Kappel and Jan Vitek and Oscar Nierstrasz and
                   Simon Gibbs and Betty Junod and Marc Stadelmann and
                   Dennis Tsichritzis},
  Title          = {An Object-Based Visual Scripting Environment},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Oriented Development},
  abstract       = { Scripting is a programming technique in which
                   applications are constructed by composing specially
                   designed, pre-packaged software components using a
                   restricted set of scripting operators. Scripting
                   simplifies programming by cutting down the number of
                   the syntactic and semantic features found in a complete
                   programming language, yet is inherently open-ended in
                   that software components can be provided by a separate
                   target language. We explore scripting models in which
                   the basic components are written in an object-oriented
                   target language. We introduce a visual scripting tool
                   as a script development environment. Visual scripts
                   present components and links graphically, and a visual
                   scripting tool supports the construction of scripts
                   through the interactive editing of scripts' graphical
                   counterparts. },
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca skipdoi osg scripting vst ood89},
  month          = jul,
  pages          = {123-142},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Kapp89cVisualScripting.pdf},
  year           = 1989
}

@InProceedings{Amie96a,
  Author         = {Eric Amiel and Eric Dujardin},
  Title          = {Supporting Explicit Disambiguation of Multi-methods},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {Pierre Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {167-188},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@InProceedings{Gree05c,
  Author         = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Analyzing Feature Traces to Incorporate the Semantics
                   of Change in Software Evolution Analysis},
  BookTitle      = {Proceedings of 21st IEEE International Conference on
                   Software Maintenance (ICSM'05)},
  Pages          = {347--356},
  Address        = {Los Alamitos},
  Publisher      = {IEEE Computer Society},
  abstract       = {Many of the approaches that analyze software evolution
                   consider a static perspective of a system. Static
                   analysis approaches focus on the evolution of static
                   software entities such as packages, classes and
                   methods. Without knowledge of the roles software
                   entities play in system features, it is difficult to
                   interpret the motivation behind changes and extensions
                   in the code. To tackle this problem, we propose an
                   approach to software evolution analysis that exploits
                   the relationships between features and software
                   entities. Our definition of a feature is a unit of
                   observable behavior of a software system. We define
                   history measurements that summarize the evolution of
                   software entities from a feature perspective. We show
                   how we use our feature perspective of software
                   evolution to interpret modifications and extensions to
                   the code. We apply our approach on two case studies and
                   discuss our findings.},
  annote         = {internationalconference},
  cvs            = {TraceScraperICSM2005Evolution},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2005.22},
  keywords       = {scg-pub girba greevy jb06 stefPub Feature
                   Feature-Traces DynamicAnalysis Evolution history
                   moose-pub recast06 listic},
  misc           = {acceptance rate: 55/180 = 31\%},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05cTraceScraperICSM2005.pdf},
  year           = 2005
}

@InProceedings{Deut89a,
  Author         = {L. Peter Deutsch},
  Title          = {The Past, Present and Future of {Smalltalk}},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {73-87},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit smalltalk binder ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  year           = 1989
}

@Misc{Ajma02a,
  Author         = {Sameer Ajmani},
  Title          = {A Review of Software Upgrade Techniques for
                   Distributed Systems},
  month          = aug,
  url            = {http://pmg.csail.mit.edu/~ajmani/papers/review.pdf},
  year           = 2002
}

@TechReport{Sato93b,
  Author         = {Ichiro Satoh and Mario Tokoro},
  Title          = {A Timed Bisimulation for Distributed Processes},
  Institution    = {Keio University},
  Type           = {Report},
  Number         = {1993},
  keywords       = {olit binder},
  year           = 1993
}

@InProceedings{Parr97a,
  Author         = {Joachim Parrow and Bj{\"o}rn Victor},
  Title          = {The Update Calculus},
  BookTitle      = {Algebraic Methodology and Software Technology
                   (Proceedings of {AMAST} '97)},
  Editor         = {Michael Johnson},
  Volume         = {1349},
  Series         = {LNCS},
  Pages          = {409-423},
  Address        = {Sydney, Australia},
  Publisher      = {Springer-Verlag},
  month          = dec,
  url            = {http://www.docs.uu.se/~victor/tr/upd.html},
  year           = 1997
}

@Article{Chen98a,
  Author         = {Chen, Yih-Farn and Gansner, Emden R. and Koutsofios,
                   Eleftherios},
  Title          = {A {C}++ Data Model Supporting Reachability Analysis
                   and Dead Code Detection},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {24},
  Number         = {9},
  Pages          = {682-693},
  annote         = {Also published in Proceedings of ESEC/FSE '97},
  keywords       = {repository abb reverse analysis fse97 esec97},
  month          = sep,
  url            = {http://www.research.att.com/~chen/chen/acacia-tse98.ps},
  year           = 1998
}

@Book{xpath1.0,
  Author         = {James Clark and Steve DeRose},
  Title          = {XML Path Language (XPath) Version 1.0},
  Publisher      = {W3C},
  Edition        = {},
  Note           = {\verb|http://www.w3.org/TR/xpath|},
  year           = 1999
}

@InProceedings{Gree85a,
  Author         = {M. Green},
  Title          = {The University of Alberta User Interface Management
                   System},
  BookTitle      = {Computer Graphics},
  Volume         = {19},
  Number         = {3},
  Pages          = {205-213},
  month          = jul,
  year           = 1985
}

@InProceedings{Cham93a,
  Author         = {Craig Chambers},
  Title          = {Predicate Classes},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {268-296},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Predicate classes are a new linguistic construct
                   designed to complement normal classes in
                   object-oriented languages. Like a normal class, a
                   predicate class has a set of superclasses, methods, and
                   instance variables. However, unlike a normal class, an
                   object is automatically an instance of a predicate
                   class whenever it satisfies a predicate expression
                   associated with the predicate class. The predicate
                   expression can test the value or state of the object,
                   thus supporting a form of implicit property-based
                   classification that augments the explicit type-based
                   classification provided by normal classes. By
                   associating methods with predicate classes, method
                   lookup can depend not only on the dynamic class of an
                   argument but also on its dynamic value or state. If an
                   object is modified, the property-based classification
                   of an object can change over time, implementing shifts
                   in major behavior modes of the object. A version of
                   predicate classes has been designed and implemented in
                   the context of the Cecil language.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Book{Deut89b,
  Author         = {L. Peter Deutsch},
  Title          = {Design Reuse and Frameworks in the {Smalltalk}-80
                   System Software Reusability},
  Publisher      = {ACM Press \& Addison Wesley},
  Volume         = {II},
  Address        = {Reading, Mass.},
  keywords       = {olit smalltalk},
  pages          = {57-71},
  year           = 1989
}

@Misc{Graham,
  Author         = {Paul Graham},
  Title          = {Beating the averages},
  Note           = {http://www.paulgraham.com/avg.html}
}

@InProceedings{Berl90b,
  Author         = {Brian Berliner},
  Title          = {CVS II: Parallelizing Software Development},
  BookTitle      = {Proc. The Advanced Computing Systems Professional and
                   Technical Association (USENIX) Conf.},
  Pages          = {22-26},
  year           = 1990
}

@InProceedings{Zou04b,
  Author         = {Zou, Qinghua and Liu, Shaorong and Chu, Wesley W.},
  Title          = {Using a compact tree to index and query XML data},
  BookTitle      = {CIKM '04: Proceedings of the thirteenth ACM
                   international conference on Information and knowledge
                   management},
  Pages          = {234--235},
  Address        = {New York, NY, USA},
  Publisher      = {ACM},
  doi            = {http://doi.acm.org/10.1145/1031171.1031219},
  isbn           = {1-58113-874-1},
  location       = {Washington, D.C., USA},
  year           = 2004
}

@InProceedings{Czar99a,
  Author         = {Krzysztof Czarnecki and Ulrich Eisenecker},
  Title          = {Synthesizing Objects},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {18-42},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper argues that the current OO technology does
                   not support reuse and configurability in an effective
                   way. This problem can be addressed by augmenting OO
                   analysis and design with feature modeling and by
                   applying generative implementation techniques. Feature
                   modeling allows capturing the variability of domain
                   concepts. Concrete concept instances can then be
                   synthesized from abstract specifications. Using a
                   simple example of a configurable list component, we
                   demonstrate the application of feature modeling and how
                   to implement a feature model as a generator. We
                   introduce the concepts of configuration repositories
                   and configuration generators and show how to implement
                   them using object-oriented, generic, and generative
                   language mechanisms. The configuration generator
                   utilizes C++ template metaprogramming, which enables
                   its execution at compile-time.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Book{Budi03a,
  Author         = {Frank Budinsky and David Steinberg and Ed Merks and
                   Raymond Ellersick and Timothy Grose},
  Title          = {Eclipse Modeling Framework},
  Publisher      = {Addison Wesley Professional},
  year           = 2003
}

@InProceedings{Frol93a,
  Author         = {Svend Fr\/olund and Gul Agha},
  Title          = {A Language Framework for Multi-Object Coordination},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {346-360},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {We have developed language support for the expression
                   of multi-object coordination. In our language,
                   coordination patterns can be specified abstractly,
                   independent of the protocols needed to implement them.
                   Coordination patterns are expressed in the form of
                   constraints that restrict invocation of a group of
                   objects. Constraints are defined in terms of the
                   interface of the objects being invoked rather than
                   their internal representation. Invocation constraints
                   enforce properties, such as temporal ordering and
                   atomicity, that hold when invoking objects in a group.
                   A constraint can permanently control access to a group
                   of objects, thereby expressing an inherent access
                   restriction associated with the group. Furthermore, a
                   constraint can temporarily enforce access restrictions
                   during the activity of individual clients. In that way,
                   constraints can express specialized access schemes
                   required by a group of clients.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Article{Valv02a,
  Author         = {S. Valverde and R. Ferrer Cancho and RV Sole},
  Title          = {Scale-free networks from optimal design},
  Journal        = {Europhysics Letters},
  Volume         = {60},
  Number         = {4},
  Pages          = {512--517},
  year           = 2002
}

@MastersThesis{Twai84a,
  Author         = {Kenneth J. Twaites},
  Title          = {An Object-based Programming Environment for Office
                   Information Systems},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis},
  keywords       = {olit-oopl oz ois},
  year           = 1984
}

@TechReport{Feil91a,
  Author         = {Peter H. Feiler},
  Title          = {Configuration Management Models in Commercial
                   Environments},
  Institution    = {Carnegie-Mellon University},
  Type           = {Technical Report CMU/SEI-91-TR-7},
  keywords       = {scm},
  month          = mar,
  year           = 1991
}

@InProceedings{Doi88a,
  Author         = {Norihisa Doi and Yasushi Kodama and Ken Hirose},
  Title          = {An Implementation of an Operating System Kernel Using
                   Concurrent Object-Oriented Language {ABCL}/c+},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {250-266},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@TechReport{Wuyt99a,
  Author         = {Wuyts, Roel and Mens, Kim and D'Hondt, Theo},
  Title          = {Explicit Support for Software Development Styles
                   throughout the Complete Life Cycle},
  Institution    = {Vrije Universiteit Brussel},
  Number         = {vub-prog-tr-99-07},
  abstract       = {Throughout its entire life cycle software development
                   is subject to many rules constraining and guiding
                   construction of software systems. Examples are
                   best-practice patterns, idioms, coding conventions,
                   design guidelines, architectural patterns, etc.
                   Although such regulations are widely used, their usage
                   is currently implicit or ad-hoc, and most soft- ware
                   development environments do not explicitly support
                   them. We present an approach to declare explicitly
                   software development styles in an open declarative
                   system that allows querying, conformance check- ing and
                   enforcement of these declarations on the source code.
                   We validate the approach by expressing and supporting
                   several software development styles in a real-world
                   case.},
  annote         = {notrefereed},
  keywords       = {scg-old scg-pub skipdoi},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Wuyt99a.pdf},
  year           = 1999
}

@Book{UML97a,
  Author         = {Rational Software and Microsoft and Hewlett-Packard
                   and Oracle and Sterling Software and MCI Systemhouse
                   and Unisys and ICON Computing and IntelliCorp and
                   i-Logix and IBM and ObjecTime and Platinum Technology
                   and Ptech and Taskon and Reich Technologies and Softeam},
  Title          = {Unified Modeling Language (version 1.1)},
  Publisher      = {Rational Software Corporation},
  keywords       = {olit UML},
  month          = sep,
  year           = 1997
}

@InProceedings{Ache00a,
  Author         = {Franz Achermann and Stefan Kneub\"uhl and Oscar
                   Nierstrasz},
  Title          = {Scripting Coordination Styles},
  BookTitle      = {Coordination '2000},
  Editor         = {Ant{\'o}nio Porto and Gruia-Catalin Roman},
  Volume         = 1906,
  Series         = {LNCS},
  Pages          = {19-35},
  Address        = {Limassol, Cyprus},
  Publisher      = {Springer-Verlag},
  abstract       = {The fact that so many different kinds of coordination
                   models and languages have been proposed suggests that
                   no one single approach will be the best for all
                   coordination problems. Different coordination styles
                   exhibiting different properties may be more suitable
                   for some problems than others. Like other architectural
                   styles, coordination styles can be expressed in terms
                   of components, connectors and composition rules. We
                   propose an approach in which coordination styles are
                   expressed as component algebras: components of various
                   sorts can be combined using operators that realize
                   their coordination, yielding other sorts of components.
                   We show how several coordination styles can be defined
                   and applied using Piccola, a small language for
                   composing software components. We furthermore show how
                   glue abstractions can be used to bridge coordination
                   styles when more than one style is needed for a single
                   application.},
  annote         = {internationalconference},
  keywords       = {olit scg-pub skipdoi piccola jb00 snf00 scg-coord-00},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Ache00aScriptingCoordStyles.pdf},
  year           = 2000
}

@InProceedings{Rami01a,
  Author         = {Juan Ramil and Manny Lehman},
  Title          = {Defining and Applying Metrics in the Context of
                   Continuing Software Evolution},
  BookTitle      = {Proceedings of the 7th International Symposium on
                   Software Metrics (METRICS '01)},
  Pages          = {199-209},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  year           = 2001
}

@Article{Kapp89b,
  Author         = {Gerti Kappel and Jan Vitek and Oscar Nierstrasz and
                   Betty Junod and Marc Stadelmann},
  Title          = {Scripting Applications in the Public Administration
                   Domain},
  Journal        = {SIGOIS Bulletin},
  Volume         = {10},
  Number         = {4},
  Pages          = {21-32},
  abstract       = { Scripting is an approach for constructing open
                   applications from prepackaged software components. A
                   scripting model characterizes and standardizes the
                   interconnection interfaces of software components
                   appropriate to an application domain. We present a
                   scripting model for the domain of public administration
                   applications, and we provide a scenario of scripting
                   applications in this domain. This scripting model is
                   being incorporated into a prototype visual scripting
                   tool which provides a graphical editing facility for
                   interactively scripting applications. },
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/77250.77253},
  keywords       = {olit-ithaca osg scripting vst},
  month          = dec,
  year           = 1989
}

@InProceedings{Yoko86a,
  Author         = {Yasuhiko Yokote and Mario Tokoro},
  Title          = {The Design and Implementation of
                   {Concurrent}{Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {331-340},
  keywords       = {olit-obcl concurrentsmalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Marc06a,
  Author         = {Guillaume Marceau and Gregory H. Cooper and Jonathan
                   P. Spiro and Shriram Krishnamurthi and Steven P. Reiss},
  Title          = {The Design and Implementation of a Dataflow Language
                   for Scriptable Debugging},
  Journal        = {Automated Software Engineering Journal},
  year           = 2006
}

@InProceedings{Agha92a,
  Author         = {Gul Agha and S. Fr\/olund and R. Panwar and D. Sturman},
  Title          = {A Linguistic Framework for Dynamic Composition of
                   Dependability Protocols},
  BookTitle      = {Proceedings of the IFIP Conference on Dependable
                   Computing for Critical Applications},
  Address        = {Sicily},
  abstract       = {We present a language framework for describing
                   dependable systems which emphasizes {\it modularity}
                   and {\it composition}. Dependability and functionality
                   aspects of an application may be described separately
                   providing a separation of design concerns. Furthermore,
                   the dependability protocols of an application may be
                   constructed bottom-up as simple protocols that are
                   composed into more complex protocols. Composition makes
                   it easier to reason about dependability and supports
                   the construction of general reusable dependability
                   schemes. A significant aspect of our language framework
                   is that dependability protocols may be loaded into a
                   running application and installed dynamically. Dynamic
                   installation makes it possible to impose additional
                   dependability protocols on a server as clients with new
                   dependability demands are integrated into a system.
                   Similarly, if a given dependability protocol is only
                   necessary during some critical phase of execution, it
                   may be installed during that period only.},
  keywords       = {olit-obc},
  url            = {ftp://biobio.cs.uiuc.edu/pub/papers/dcca3.ps.Z},
  year           = 1992
}

@Proceedings{Papa98a,
  Title          = {Distributed Computing Systems},
  Editor         = {Michael Papazoglou and Makoto Takizawa and Bernd
                   Kramer and Samuel Chanson},
  Address        = {Amsterdam},
  Publisher      = {IEEE},
  Note           = {Proceedings of the 18th International Conference on
                   Distributed Computing Systems},
  isbn           = {0-8186-8292-0},
  keywords       = {distributed scglib},
  month          = may,
  year           = 1998
}

@InProceedings{Gens94a,
  Author         = {Jerome Gensel},
  Title          = {Expression et satisfaction de contraintes dans
                   {TROPES}},
  BookTitle      = {RPO},
  Pages          = {51-62},
  year           = 1993
}

@TechReport{Stro84b,
  Author         = {Bjarne Stroustrup},
  Title          = {Data Abstraction in {C}},
  Institution    = {AT\&T Bell Laboratories},
  Type           = {Computing Science Technical Report},
  Number         = {#109},
  Address        = {Murray Hill, New Jersey 07974},
  keywords       = {olit-oopl c++},
  month          = jan,
  year           = 1984
}

@Article{Clea93b,
  Author         = {Rance Cleaveland},
  Title          = {Testing Equivalence as a Bisimulation Equivalence},
  Journal        = {Formal Aspects of Computing},
  Volume         = {5},
  Pages          = {1-20},
  abstract       = {In this paper we show how the testing equivalences and
                   preorders on transition systems may be interpreted as
                   instances of generalized bisimulation equivalences and
                   prebisimulation preorders. The characterization relies
                   on defining transformations on the transition systems
                   in such a way that the testing relations on the
                   original systems correspond to (pre)bisimulation
                   relations on the altered systems. On the basis of these
                   results, it is possible to use algorithms for
                   determining the (pre)bisimulation relations in the case
                   of finite-state transition systems to compute the
                   testing relations.},
  keywords       = {concurrency pcalc},
  url            = {ftp://science.csc.ncsu.edu//pub/papers/fac93.dvi.gz},
  year           = 1993
}

@TechReport{Sang96a,
  Author         = {Davide Sangiorgi},
  Title          = {An interpretation of Typed Objects into Typed
                   Pi-calculus},
  Institution    = {INRIA Sophia-Antipolis},
  Type           = {RR},
  Number         = {3000},
  keywords       = {oopl types pi},
  month          = sep,
  url            = {ftp://zenon.inria.fr/meije/theorie-par/davides/piOCtyped.ps.gz},
  year           = 1996
}

@Book{Shaw96a,
  Author         = {Mary Shaw and David Garlan},
  Title          = {Software Architecture: Perspectives on an Emerging
                   Discipline},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-182957-2},
  keywords       = {olit scglib composition architecture sclit oorp},
  year           = 1996
}

@Article{Food94a,
  Author         = {Michael Foody},
  Title          = {Providing Object System Interoperability},
  Journal        = {??},
  Volume         = {??},
  Number         = {??},
  Pages          = {??-??},
  keywords       = {interoperability binder},
  year           = 1994
}

@InProceedings{Kris83b,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   Birger M{\/o}ller-Pedersen and Kristen Nygaard},
  Title          = {Abstraction Mechanisms in the {BETA} Programming
                   Language},
  BookTitle      = {Proceedings POPL '83},
  Pages          = {285-298},
  Address        = {Austin, Texas},
  keywords       = {olit-oopl beta popl83},
  misc           = {Jan 24-26},
  month          = jan,
  year           = 1983
}

@InProceedings{Gers95a,
  Author         = {Nahum Gershon and Joshua LeVasseur and Joel Winstead
                   and James Croall and Ari Pernick and William Ruh},
  Title          = {Case Study Visualizing Internet Resources},
  BookTitle      = {Proceedings of the Conference on Information
                   Visualization (INFOVIZ '95)},
  Pages          = {122-128},
  Organization   = {IEEE},
  keywords       = {dotplot},
  year           = 1995
}

@InProceedings{Benn87a,
  Author         = {John K. Bennett},
  Title          = {The Design and Implementation of Distributed
                   {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {318-330},
  keywords       = {olit-oopl oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Tsic88c,
  Author         = {Dennis Tsichritzis and Oscar Nierstrasz},
  Title          = {Application Development Using Objects},
  BookTitle      = {Information Technology for Organisational Systems,
                   Proceedings EURINFO '88},
  Editor         = {H-J. Bullinger et al.},
  Pages          = {15-23},
  Publisher      = {Elsevier Science Publishers B.V. (North-Holland)},
  abstract       = {Much of the cost of developing and maintaining
                   applications can be attributed to our disposition to
                   build systems largely from scratch. An application
                   development support system would shift the emphasis
                   from programming of arbitrary systems to {\it
                   configuration} of certain classes of applications from
                   pre-packaged software. In order for this style of
                   application development to be successful, we argue that
                   it should be carried out in an object-oriented software
                   environment. Such an environment would consist of an
                   object-oriented language and system that integrates
                   various object-oriented approaches, user interface
                   tools for monitoring and interacting with active
                   objects, object design tools, and support for evolving
                   application-oriented objects.},
  annote         = {internationalconference},
  keywords       = {olit skipdoi osg aoe88},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Tsic88cAppDevtUsingObjects.pdf},
  year           = 1988
}

@Article{Stef83a,
  Author         = {Mark Stefik and Daniel G. Bobrow and Sanja Mittal and
                   L. Conway},
  Title          = {Knowledge Programming in {LOOPS}: Report on an
                   Experimental Course},
  Journal        = {The AI Magazine},
  Pages          = {3-13},
  keywords       = {olit-oopl loops knowrep},
  year           = 1983
}

@InCollection{John98a,
  Author         = {Ralph Johnson and Bobby Wolf},
  Title          = {Type Object},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  Editor         = {Robert C. Martin and Dirk Riehle and Frank Buschmann},
  Chapter        = {4},
  Note           = {ISBN:0-201-31011-2},
  year           = 1998
}

@InCollection{Rieh95,
  Author         = {Dirk Riehle and Heinz Z\"{u}llighoven},
  Title          = {A pattern language for tool construction and
                   integration based on the tools and materials metaphor},
  BookTitle      = {Pattern languages of program design 1},
  Publisher      = {ACM Press/Addison-Wesley Publishing Co.},
  Pages          = {9--42},
  Address        = {New York, NY, USA},
  isbn           = {0-201-60734-4},
  year           = 1995
}

@Book{Chab97a,
  Editor         = {Chabanne Oussalah and Et Alii},
  Title          = {Ing\'enierie Object: Concepts et techniques},
  Publisher      = {InterEditions},
  isbn           = {2-7296-0642-4},
  keywords       = {olit scglib},
  year           = 1997
}

@Book{Dijk76,
  Author         = {Edsger Wybe Dijkstra},
  Title          = {A Discipline of Programming},
  Publisher      = {Prentice Hall},
  year           = 1976
}

@Article{Hedi97b,
  Author         = {G{\"o}rel Hedin},
  Title          = {Language Support for Design Patterns Using Attribute
                   Extension},
  Journal        = {Lecture Notes in Computer Science},
  Volume         = {1357},
  Pages          = {137-140},
  year           = 1998
}

@InProceedings{Pede89a,
  Author         = {Claus H. Pedersen},
  Title          = {Extending Ordinary Inheritance Schemes to Include
                   Generalization},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {407-418},
  keywords       = {olit-inheritance oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Roth02a,
  Author         = {Gregg Rothermel and Sebastian Elbaum and Alexey
                   Malishevsky and Praveen Kallakuri and Brian Davia},
  Title          = {The Impact of Test Suite Granularity on the
                   Cost-Effectiveness of Regression Testing},
  BookTitle      = {Proceedings ICSE-24},
  Pages          = {230-240},
  keywords       = {testing},
  month          = may,
  year           = 2002
}

@Article{Trip88a,
  Author         = {Anand Tripathi and Mehmet Aksit},
  Title          = {Communication, Scheduling and Resource Management in
                   {SINA}},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {2},
  Number         = {4},
  Pages          = {24-36},
  keywords       = {olit-obcl sina joop},
  month          = nov,
  year           = 1988
}

@Article{Hare88a,
  Author         = {D. Harel},
  Title          = {On Visual Formalisms},
  Journal        = {CACM},
  Volume         = {31},
  Number         = {5},
  Pages          = {514-530},
  keywords       = {visprog higraphs statecharts},
  month          = may,
  year           = 1988
}

@InProceedings{Stat95a,
  Author         = {Raymie Stata and John V. Guttag},
  Title          = {Modular reasoning in the presence of subclassing},
  BookTitle      = {Proceedings of the 10th Annual Conference on
                   Object-oriented Programming Systems, Languages, and
                   Applications (OOPSLA '95)},
  Pages          = {200-214},
  Publisher      = {ACM Press},
  isbn           = {0-89791-703-0},
  location       = {Austin, Texas, United States},
  year           = 1995
}

@Book{Roma01a,
  Editor         = {Alexander Romanovsky and Christophe Dony and Jorgen
                   Lindskov Kundsen and Anand Tripathi},
  Title          = {Advances in Exception Handling Techniques},
  Publisher      = {Springer},
  isbn           = {1-56592-005-8},
  keywords       = {dce scglib},
  year           = 1992
}

@Manual{Rose98a,
  Title          = {Rational Rose 98: Roundtrip Engineering with C++},
  Organization   = {Rational Software Corporation},
  keywords       = {olit scglib book},
  year           = 1998
}

@InProceedings{More06a,
  Author         = {A. Moreira and J. Ara\'{u}jo and J. Whittle},
  Title          = {Modeling Volatile Concerns as Aspects},
  BookTitle      = {Proceedings of the 18th Conference on Advanced
                   Information Systems Engineering (CAiSE 2006)},
  Series         = {LNCS},
  Address        = {Luxembourg},
  Publisher      = {Springer-Verlag},
  month          = jun,
  year           = 2006
}

@Misc{Schu01a,
  Author         = {Peter Schuh and Stephanie Punke},
  Title          = {{ObjectMother}, Easing Test Object Creation in {XP}},
  Note           = {http://www.xpuniverse.com/2001/pdfs/Testing03.pdf},
  keywords       = {testing mocks},
  url            = {http://www.xpuniverse.com/2001/pdfs/Testing03.pdf},
  year           = 2001
}

@Book{Tsic93a,
  Editor         = {D. Tsichritzis},
  Title          = {Visual Objects},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg vo93 book scglib},
  month          = jul,
  year           = 1993
}

@Article{Nier04c,
  Author         = {Oscar Nierstrasz and St\'ephane Ducasse},
  Title          = {Moose--a Language-Independent Reengineering
                   Environment},
  Journal        = {European Research Consortim for Informatics and
                   Mathematics (ERCIM) News},
  Volume         = {58},
  Pages          = {24-25},
  abstract       = {Aging software systems are difficult and expensive to
                   maintain. Moose is a language-independent environment
                   that supports a wide range of tools to visualise,
                   analyse and manipulate complex software systems.},
  annote         = {notrefereed},
  cvs            = {ERCIM_ASE},
  keywords       = {scg-pub skipdoi jb04 stefPub recast04 moose-pub},
  month          = jul,
  url            = {http://www.ercim.org/publication/Ercim_News/enw58/nierstrasz.html},
  year           = 2004
}

@InProceedings{Bobr84a,
  Author         = {Daniel G. Bobrow},
  Title          = {If Prolog is the Answer, What is the Question?},
  BookTitle      = {Proceedings of the International Conference on Fifth
                   Generation Computer Systems},
  Pages          = {138-145},
  keywords       = {misc ai prolog},
  month          = nov,
  year           = 1984
}

@Book{Hell90a,
  Author         = {Dan Heller},
  Title          = {XView Programming Manual: for XView Version 3.2},
  Publisher      = {O'Reilly \& Associates},
  isbn           = {0-937175-87-0},
  keywords       = {book scglib},
  year           = 1993
}

@InProceedings{Kons93a,
  Author         = {Dimitri Konstantas},
  Title          = {Object-Oriented Interoperability},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {80-102},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Object Oriented Interoperability is an extension and
                   generalization of the Procedure Oriented
                   Interoperability approaches taken in the past. It
                   provides an interoperability support frame by
                   considering the object as the basic interoperation
                   unit. This way interoperation is based on higher level
                   abstractions and it is independent of the specific
                   interface through which a service is used. A prototype
                   implementation demonstrates both the feasibility of the
                   ideas and the related implementation issues.},
  keywords       = {olit ecoop93proc osg-ftp vo93},
  month          = jul,
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/objectOrientedInterop.pdf},
  year           = 1993
}

@InProceedings{Case93b,
  Author         = {Yves Caseau},
  Title          = {Efficient Handling of Multiple Inheritance Hierarchies},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {271-287},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Book{Toko92a,
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Title          = {Proceedings of the {ECOOP}'91 Workshop on Object-Based
                   Concurrent Computing},
  Publisher      = {Springer-Verlag},
  Volume         = 612,
  Series         = {LNCS},
  doi            = {http://dx.doi.org/10.1007/3-540-55613-3},
  isbn           = {3-540-55613-3},
  keywords       = {olit-obc obc91 book scglib},
  url            = {http://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-1379120-0},
  year           = 1992
}

@TechReport{Gibb93c,
  Author         = {Simon Gibbs and Christian Breiteneder and Dennis
                   Tsichritzis},
  Title          = {Data Modeling of Time-Based Media},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {Many aspects of time-based media --- complex data
                   encoding, compression, "quality factors," timing ---
                   appear problematic from a data modeling standpoint.
                   This paper proposes timed streams as the basic
                   abstraction for modeling time-based media. Several
                   media-independent structuring mechanisms are introduced
                   and a data model is presented which, rather than
                   leaving the interpretation of multimedia data to
                   applications, addresses the complex organization and
                   relationships present in multimedia.},
  editor         = {D. Tsichritzis},
  keywords       = {olit xos osg vo93},
  month          = jul,
  pages          = {1-21},
  year           = 1993
}

@InProceedings{John95a,
  Author         = {J.~Howard Johnson},
  Title          = {Using Textual Redundancy to Understand Change},
  BookTitle      = {Proceedings of CASCON '95},
  keywords       = {clones},
  year           = 1995
}

@InProceedings{Meij97a,
  Author         = {Theo Dirk Meijler and Serge Demeyer and Robert Engel},
  Title          = {Making Design Patterns Explicit in {FACE}, a Framework
                   Adaptive Composition Environment},
  BookTitle      = {Proceedings ESEC/FSE '97},
  Editor         = {M. Jazayeri and H. Schauer},
  Volume         = {1301},
  Series         = {LNCS},
  Pages          = {94-110},
  Publisher      = {Springer-Verlag},
  abstract       = {Tools incorporating design patterns combine the
                   advantage of having a high-abstraction level of
                   describing a system and the possibility of coupling
                   these abstractions to some underlying implementation.
                   Still, all cur-rent tools are based on generating
                   source code in which the design patterns become
                   implicit. After that, further extension and adaptation
                   of the software is needed but this can no longer be
                   supported at the same level of abstraction. This paper
                   presents FACE, an environment based on an explicit
                   representa-tion of design patterns, sustaining an
                   incremental development style without abandoning the
                   higher-level design pattern abstraction. A visual
                   composition tool for FACE has been developed in the
                   Self programming language.},
  doi            = {http://dx.doi.org/10.1007/3-540-63531-9_9},
  keywords       = {olit famoos-papref scg-pub toBeChecked snf97 jb97
                   sergedem-papref},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Meij97aExplicitDesignPatterns.pdf},
  year           = 1997
}

@InProceedings{Bezi87a,
  Author         = {Jean B\'ezivin},
  Title          = {Some Experiments In Object-Oriented Simulation},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {394-405},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Baez00a,
  Author         = {Ricardo A. Baeza-Yates and Gonzalo Navarro},
  Title          = {Block Addressing Indices for Approximate Text
                   Retrieval},
  Journal        = {Journal of the American society of Information
                   Sciences},
  Volume         = {51},
  Number         = {1},
  Pages          = {69-82},
  url            = {citeseer.ist.psu.edu/article/baeza-yates97block.html},
  year           = 2000
}

@Article{Cost84a,
  Author         = {G. Costa and Colin Stirling},
  Title          = {A Fair Calculus of Communicating Systems},
  Journal        = {Acta Informatica},
  Volume         = {21},
  Number         = {5},
  Pages          = {417-442},
  keywords       = {pcalc ccs fairness READ},
  year           = 1984
}

@Article{Maso01a,
  Author         = {Mason John H., Watson Anne},
  Title          = {Getting Students To Create Boundary Examples},
  Journal        = {MSOR Connections},
  Volume         = {1},
  Number         = {1},
  Pages          = {9-11},
  keywords       = {examples},
  url            = {http://ltsn.mathstore.ac.uk/newsletter/feb2001/pdf/boundary.pdf},
  year           = 2001
}

@InProceedings{Scha02f,
  Author         = {Schattkowsky, T. and Lohmann, M.},
  Title          = {Rapid development of modular dynamic Web sites using
                   UML},
  BookTitle      = {UML 2002 Conference},
  Number         = {2460},
  Series         = {LNCS},
  Pages          = {336--350},
  year           = 2002
}

@Article{Elrad01a,
  Author         = {Elrad, Tzilla and Filman, Robert E. and Bader, Atef},
  Title          = {Aspect-Oriented Programming},
  Journal        = {cacm},
  Volume         = 44,
  Number         = 10,
  month          = oct,
  year           = 2001
}

@MastersThesis{Aebi03a,
  Author         = {Tobias Aebi},
  Title          = {Extracting Architectural Information using Different
                   Levels of Collaboration},
  School         = {University of Bern},
  Type           = {Diploma Thesis},
  abstract       = {In software reengineering one of the main problems is
                   missing or out-of-date documentation of a system.
                   Considering not only the collaboration between the
                   components of the high-level model but also the
                   collaboration within the components improves
                   considerably the value of information the extracted
                   model provides. Our approach extracts dynamic and
                   static collaboration information of a system and shows
                   different levels of collaboration in one single view
                   without loosing the architectural overview of the
                   system. We validate the benefits of our approach by
                   comparing the high-level models represented by
                   collaboration-views to strict high-level models based
                   on structural information. Our case studies show that
                   we do not only reach better understanding of the system
                   but additionally detect meaningful collaboration
                   patterns and possible unfavorable dependencies in the
                   system.},
  keywords       = {scg-msc snf03 jb04},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Aebi03a.pdf},
  year           = 2003
}

@InProceedings{Deme97n,
  Author         = {Serge Demeyer and Theo Dirk Meijler and Matthias
                   Rieger},
  Title          = {Towards Design Pattern Transformations},
  BookTitle      = {Object-Oriented Technology (ECOOP '97 Workshop Reader)},
  Editor         = {Jan Bosch and Stuart Mitchell},
  Volume         = 1357,
  Series         = {LNCS},
  Pages          = {280-281},
  Publisher      = {Springer-Verlag},
  abstract       = {-No abstract, the paper is only 2 pages-},
  keywords       = {olit famoos-papunr scg-wp snf97 sergedem-papunr},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme97n/
                   http://www.iam.unibe.ch/~demeyer/Deme97n/ECOOP97.html},
  year           = 1997
}

@InProceedings{Moug03a,
  Author         = {Philippe Mougin and St\'ephane Ducasse},
  Title          = {{OOPAL}: Integrating Array Programming in
                   Object-Oriented Programming},
  BookTitle      = {Proceedings of 17th International Conference on
                   Object-Oriented Programming Systems, Languages and
                   Applications (OOPSLA'03)},
  Pages          = {65-77},
  abstract       = {Array programming shines in its ability to express
                   computations at a high-level of abstraction, allowing
                   one to manipulate and query whole sets of data at once.
                   This paper presents the OPA model that enhances
                   object-oriented programming with array programming
                   features. The goal of OPA is to determine a minimum set
                   of modifications that must be made to the traditional
                   object model in order to take advantage of the
                   possibilities of array programming. It is based on a
                   minimal extension of method invocation and the
                   definition of a kernel of methods implementing
                   fundamental array programming operations. The OPA model
                   presents a generalization of traditional message
                   passing in the sense that a message can be send to an
                   entire set of objects. The model is validated in FS, a
                   new scripting language.},
  annote         = {internationalconference topconference},
  doi            = {http://doi.acm.org/10.1145/949305.949312},
  keywords       = {snf04 scg-pub jb04 stefPub},
  misc           = {acceptance rate: 26/142 = 18\%},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Moug03aOOPALOOPSLA.pdf},
  year           = 2003
}

@InProceedings{Li03a,
  Author         = {Junwei Li and Yun Yang and Andrew Walenstein},
  Title          = {Clone Detector Benchmark Suite and Results Archive},
  BookTitle      = {Proceedings IWPC 2003},
  Address        = {Portland, Oregon},
  month          = may,
  year           = 2003
}

@InProceedings{Cimi98a,
  Author         = {A. Cimitile and DeCarlini, U. and DeLucia, A.},
  Title          = {On the Knowledge Required to Understand a Program},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {59-69},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Misc{Star00X,
  Author         = {Roel Wuyts},
  Title          = {{Star} {Browser}},
  Note           = {http://www.iam.unibe.ch/$\sim$wuyts/StarBrowser/},
  key            = {StarBrowser}
}

@InProceedings{Wand88a,
  Author         = {Mitchell Wand and Daniel Friedman},
  Title          = {{The Mystery of the Tower Revealed: A Non-Reflective
                   Description of the Reflective Tower}},
  BookTitle      = {Meta-level Architectures and Reflection},
  Editor         = {North-Holland, P. Maes and D. Nardi},
  Pages          = {111-134},
  year           = 1988
}

@InProceedings{Yan04a,
  Author         = {Hong Yan and David Garlan and Bradley Schmerl and
                   Jonathan Aldrich and Rick Kazman},
  Title          = {DiscoTect: A System for Discovering Architectures from
                   Running Systems},
  BookTitle      = {International Conference on Software Engineering
                   (ICSE)},
  Pages          = {470-479},
  year           = 2004
}

@InCollection{Dyso97a,
  Author         = {Paul Dyson and Bruse Anderson},
  Title          = {State Patterns},
  BookTitle      = {Pattern Languages of Program Design 3},
  Publisher      = {Addison Wesley},
  Editor         = {Robert Martin and Dirk Riehle and Frank Buschmann},
  keywords       = {olit patterns oorp},
  year           = 1997
}

@InProceedings{Duca00b,
  Author         = {Ducasse, St\'ephane and Lanza, Michele and Tichelaar,
                   Sander},
  Title          = {Moose: an {Extensible} {Language}-{Independent}
                   {Environment} for {Reengineering} {Object}-{Oriented}
                   {Systems}},
  BookTitle      = {Proceedings of CoSET '00 (2nd International Symposium
                   on Constructing Software Engineering Tools)},
  abstract       = {Surprising as it may seem, many of the early adopters
                   of the object-oriented paradigm already face a number
                   of problems typically encountered in large-scale legacy
                   systems. The reengineering of those systems often poses
                   problems because of the considerable size and
                   complexity of such systems. In the context of the
                   FAMOOS project we have developed a language independent
                   environment called Moose which can deal with that
                   complexity. This paper describes the architecture of
                   Moose, the tools which have been developed around it
                   and the industrial experiences we have obtained.},
  annote         = {internationalworkshop},
  keywords       = {components scg-pub skipdoi snf00 jb00 repository abb
                   oorp stefPub moose-pub},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00bMooseCoset.pdf},
  year           = 2000
}

@Misc{JavaME,
  Title          = {Java Micro Edition},
  Note           = {http://java.sun.com/javame/index.jsp},
  key            = {JavaME}
}

@TechReport{Atta85a,
  Author         = {Giuseppe Attardi and Andrea Corradini and M. De Cecco
                   and M. Simi},
  Title          = {Building Expert Systems with Omega},
  Institution    = {Delphi},
  Type           = {Technical Report},
  Number         = {ESP/85/2-3},
  Address        = {Milano, Italy},
  keywords       = {misc appl omega experts},
  month          = mar,
  year           = 1985
}

@TechReport{Nier98a,
  Author         = {Oscar Nierstrasz},
  Title          = {Identify the Champion},
  Institution    = {Washington University},
  Type           = {Proceedings of PLoP 98, TR},
  Number         = {\#WUCS-98-25},
  abstract       = {The peer review process for technical contributions to
                   conferences in computing sciences is very thorough, and
                   can be as stringent as the review process for journal
                   publications in other domains. The programme committee
                   for such a conference will typically convene at a
                   meeting, where submitted papers are discussed, and
                   accepted or rejected for presentation at the
                   conference. Experience shows that discussions are more
                   focussed, and the entire process runs more smoothly if
                   most of the time is devoted to those papers that are
                   actually "championed" by some committee member. In
                   order to make this work effectively, however, the
                   notion of "championing" must be introduced early in the
                   review process. This paper presents a set of process
                   patterns that help to achieve this goal.},
  keywords       = {snf-none olit scg-pub skipdoi jb98},
  url            = {http://www.iam.unibe.ch/~oscar/Champion/champion.pdf
                   http://www.iam.unibe.ch/~oscar/Champion/index.html},
  year           = 1998
}

@InProceedings{Pala97a,
  Author         = {Catuscia Palamidessi},
  Title          = {Comparing the Expressive Power of the Synchronous and
                   the Asynchronous {$\pi$}-calculus},
  BookTitle      = {Conference Record of {POPL}~'97},
  Pages          = {256-265},
  Address        = {Paris, France},
  month          = jan,
  year           = 1997
}

@InProceedings{Higo02a,
  Author         = {Yoshiki Higo and Yasushi Ueda and Toshihro Kamiya and
                   Shinji Kusumoto and Katsuro Inoue},
  Title          = {On Software Maintenance Process Improvement based on
                   Code Clone Analysis},
  BookTitle      = {Proceedings 4th International Conference on Product
                   Focused Software Process Improvement (Profes 2002)},
  keywords       = {clones dotplot},
  month          = dec,
  url            = {http://iip-lab.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/394/394.pdf},
  year           = 2002
}

@InProceedings{Bloc89a,
  Author         = {F.P. Block and N.C. Chan},
  Title          = {An Extended Frame Language},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {151-158},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Few04a,
  Author         = {Stephen Few},
  Title          = {Show me the numbers: Designing Tables and Graphs to
                   Enlighten},
  Publisher      = {Analytics Press},
  isbn           = {0-970-60199-9},
  keywords       = {scglib},
  year           = 2004
}

@PhdThesis{Moon90a,
  Author         = {Carol Elizabeth Moon},
  Title          = {The Roles of Instructions and Examples in learning a
                   Second Language from an Instructional Text: A
                   Computational Model},
  School         = {University of Michigan},
  Type           = {Ph.{D}. Thesis},
  abstract       = {Many second language instructional texts are written
                   in a format in which the learner is presented with an
                   instruction followed by a set of examples. This thesis
                   discusses the roles played by both instruction and
                   examples in learning from such a text and gives
                   functional reasons of why both forms of input are
                   necessary. A computer model of second language
                   learning, called ANT, was built to investigate these
                   roles. Input to the system is similar to what is found
                   in an instructional text. ANT's learning with this
                   input is compared to two alternatives: learning from
                   only examples and learning from only instructions. I
                   discuss why, from a functional or processing
                   standpoint, learning from a mixed input is more
                   effective than either of the alternatives. An empirical
                   comparison was done of ANT's performance on input
                   containing instructions and examples versus performance
                   of the system when given instructions only or examples
                   only. The results of the comparison support the
                   hypothesis as to the utility of mixed input. In
                   addition, a psychological experiment was done with
                   human subjects, the results of which justified the
                   hypotheses of the ANT model. Through the study it was
                   found that the roles instructions play are that they:
                   (1) focus the learner's attention on the nature of the
                   difference between the native and second language; (2)
                   focus the learner's attention on features in the
                   examples relevant to those changes; (3) tell the
                   learner how far the rule can be generalized; (4) allow
                   the learner to alter expectations about the second
                   language input; and (5) tell the learner to which rules
                   the change applies. The roles examples play are that
                   they: (1) help to identify relevant previous knowledge;
                   (2) help to form the new rules; and (3) provide details
                   essential to the rule which are omitted in the
                   instruction. The study also discusses constraints which
                   language learning puts on knowledge representation.},
  year           = 1990
}

@Article{Etzk99a,
  Author         = {Letha Etzkorn and Jagdish Bansiya and Carl Davis},
  Title          = {Design and Code Complexity Metrics for OO Classes},
  Journal        = {Journal of Object-Oriented Programming},
  Pages          = {35-40},
  keywords       = {olit metrics},
  year           = 1999
}

@Book{Mahe06a,
  Author         = {Michael Mahemoff},
  Title          = {Ajax Design Patterns},
  Publisher      = {O'Relly Media},
  isbn           = {0-596-10180-5},
  year           = 2006
}

@InProceedings{Caia98a,
  Author         = {E.G. Caiani and A. Porta and G. Turiel and M.
                   Muzzupappa and S. Pieruzzi and F. Grema and C. Malliani
                   and A. Cerutti and S. Cerutti},
  Title          = {Warped-average template technique to track on a
                   cycle-by-cycle basis the cardiac filling phases on left
                   ventricular volume.},
  BookTitle      = {IEEE Computers in Cardiology},
  Volume         = {25},
  year           = 1998
}

@InProceedings{VanE02a,
  Author         = {Eva {van Emden} and Leon Moonen},
  Title          = {Java Quality Assurance by Detecting Code Smells},
  BookTitle      = {Proc. 9th Working Conf. Reverse Engineering},
  Pages          = {97-107},
  Publisher      = {IEEE Computer Society Press},
  month          = oct,
  year           = 2002
}

@Book{Reis91a,
  Author         = {Martin Reiser},
  Title          = {The Oberon System, User Guide and Programmer;s Manual},
  Publisher      = {ACM Press},
  isbn           = {0-201-54422-9},
  keywords       = {olit-oopl oobib(oopl) book},
  year           = 1991
}

@Book{Tuft97a,
  Author         = {Edward R. Tufte},
  Title          = {Visual Explanations},
  Publisher      = {Graphics Press},
  keywords       = {scglib},
  year           = 1997
}

@InProceedings{Corb94a,
  Author         = {P. Corbellini and Della Vigna and F. Mercalli and M.
                   Pugliese},
  Title          = {Object-Oriented Approach to the Integration of Online
                   Services into Office Automation Environments},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {359-370},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Book{Beck03,
  Author         = {Kent Beck},
  Title          = {Test Driven Development: By Example},
  Publisher      = {Addison-Wesley},
  isbn           = {0-321-14653-0},
  keywords       = {olit scglib oorp},
  year           = 2003
}

@InProceedings{Ages95a,
  Author         = {Ole Agesen},
  Title          = {The Cartesian Product Algorithm},
  BookTitle      = {Proceedings ECOOP '95},
  Editor         = {W. Olthoff},
  Volume         = {952},
  Series         = {LNCS},
  Pages          = {2-26},
  Address        = {Aarhus, Denmark},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop95proc},
  month          = aug,
  year           = 1995
}

@Book{Wall90a,
  Author         = {Larry Wall and Randal L. Schwartz},
  Title          = {Programming Perl},
  Publisher      = {O'Reilly \& Associates, Inc.},
  isbn           = {0-937175-64-1},
  keywords       = {pl perl binder book},
  year           = 1990
}

@InProceedings{Malo89a,
  Author         = {John Maloney and Alan Borning and Bjorn N.
                   Freeman-Benson},
  Title          = {Constraint Technology fur User-Interface Construction
                   in ThingLab {II}},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {381-388},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Cast94a,
  Author         = {S. Castano and V. De Antonellis},
  Title          = {Reuse in Object-Oriented Information Systems
                   Development},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {346-358},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Gutt77a,
  Author         = {John Guttag},
  Title          = {Abstract Data Types and the Development of Data
                   Structures},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {6},
  Pages          = {396-404},
  keywords       = {types olit data abstraction binder},
  month          = jun,
  year           = 1977
}

@InProceedings{Shao93a,
  Author         = {Zhong Shao and Andrew W. Appel},
  Title          = {Smartest recompilation},
  BookTitle      = {Principles of Programming Languages},
  Publisher      = {ACM},
  url            = {ftp://ftp.cs.princeton.edu/techreports/1992/395.ps.gz},
  year           = 1993
}

@Book{Kris82a,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   M{\/o}ller-Pedersen,Birger and Kristen Nygaard},
  Title          = {{BETA} project working notes 1-8},
  Publisher      = {Norwegian Computing Center, Oslo, Computer Sciences
                   department, Aarhus University},
  keywords       = {olit-oopl beta},
  year           = 1982
}

@InProceedings{Gree96a,
  Author         = {R. Mark Greenwood},
  Title          = {Cooperting Evolving Components --- a rigorous approach
                   to evolving large software system},
  BookTitle      = {Proceedings 18th International Conference of Software
                   Enginnering 1996},
  keywords       = {coordination},
  url            = {ftp://ftp.cs.man.ac.uk/pub/IPG/gws96.ps.Z},
  year           = 1996
}

@InCollection{Yama93b,
  Author         = {Kenishi Yamazaki and Yoshiji Amagai and Masaharu
                   Yoshida and Ikuo Takeuchi},
  Title          = {{TAO}: an object orientation kernel},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {61-76},
  abstract       = {This paper proposes an object-oriented programming
                   language framework that deliberately separates
                   mechanism from policy. Mechanisms such as slot access
                   and message passing are designed to have a natural
                   semantics and to be efficient. Conventional and
                   controversial concepts such as class, inheritance, and
                   method combination, on the other hand, are classified
                   as policy, and are left open to the user by providing
                   so-called hook mechanisms. TAO is a language conforming
                   to this framework and has only a few more than twenty
                   primitives for object-oriented programming. This paper
                   also gives examples illustrating how conventional
                   concepts of object-oriented programming can be
                   implemented on top of these primitives.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Maiz81a,
  Author         = {J.V. Maizel Jr. and R.P. Lenk},
  Title          = {Enhanced Graphic Matrix Analysis of Nucleic Acid and
                   Amino Acid Sequences},
  BookTitle      = {Proceedings of the National Academy of Sciences,
                   Genetics},
  Volume         = {78},
  Pages          = {7665-7669},
  keywords       = {dotplot},
  year           = 1981
}

@InCollection{Hara93a,
  Author         = {Yasunori Harada},
  Title          = {A Type Mechanism Based on Restricted {CCS} for
                   Distributed Active Objects},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {475-488},
  abstract       = {Ordinary object type is a one-to-one relation between
                   caller and callee. When communication patters are
                   introduced into object types, they must be extended to
                   relations among to two-or-more object. We propose a new
                   type framework that expresses communication patters and
                   two-or-more object connections, and its implementation
                   on asynchronous faulty networks using future
                   communication property. Although our type is static and
                   not higher order, we can construct a computational
                   model with dynamic properties.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@InProceedings{Ditt86a,
  Author         = {K. Dittrich and W. Gotthard and P. Lockemann},
  Title          = {DAMOKLES, a Database System for Software Engineering
                   Environments},
  BookTitle      = {Proceedings of the International Workshop on Advanced
                   Programming Environments},
  Volume         = {LNCS 244},
  Pages          = {353-371},
  keywords       = {scm},
  year           = 1986
}

@InProceedings{Born86b,
  Author         = {A. H. Borning},
  Title          = {Classes versus prototypes in object-oriented languages},
  BookTitle      = {Proceedings of the ACM/IEEE Fall Joint Computer
                   Conference},
  Pages          = {36-40},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-8186-4743-4},
  location       = {Dallas, Texas, United States},
  year           = 1986
}

@TechReport{Mey91b,
  Author         = {Vicki de Mey and Betty Junod and Serge Renfer and Marc
                   Stadelmann and Ino Simitsek},
  Title          = {The Implementation of Vista --- {A} Visual Scripting
                   Tool},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {This paper describes the implementation of a visual
                   scripting tool called Vista. Vista is being developed
                   within the scope of ITHACA, an Esprit II project. Major
                   implementation issues are highlighted, implementation
                   experience is discussed and code examples are included.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-ithaca osg vista oc91},
  month          = jun,
  pages          = {31-56},
  year           = 1991
}

@InProceedings{Wier94a,
  Author         = {Roel Wieringa and Wiebren de Jonge and Paul Spruit},
  Title          = {Roles and Dynamic Subclasses: {A} Modal Logic Approach},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {32-59},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Cons93c,
  Author         = {Charles Consel and Olivier Danvy},
  Title          = {Tutorial Notes on Partial Evaluation},
  BookTitle      = {Conference Record of {POPL}~'93},
  Pages          = {493-501},
  Organization   = {ACM},
  month          = jan,
  year           = 1993
}

@Book{Barn95a,
  Author         = {John Barnes},
  Title          = {Programming in Ada '95},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-87700-7},
  keywords       = {olit-oopl ada},
  year           = 1995
}

@Article{Mey92c,
  Author         = {Vicki de Mey and Simon Gibbs},
  Title          = {Working with Multimedia},
  Journal        = {OUTPUT, special issue on Informatik-Szene Schweiz 1993},
  Pages          = {54-56},
  keywords       = {olit-ithaca osg},
  misc           = {Dec. 11},
  month          = dec,
  year           = 1992
}

@InProceedings{Myer06a,
  Author         = {Brad A. Myers and David A. Weitzman and Andrew J. Ko
                   and Duen H. Chau},
  Title          = {Answering why and why not questions in user interfaces},
  BookTitle      = {CHI '06: Proceedings of the SIGCHI conference on Human
                   Factors in computing systems},
  Pages          = {397--406},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1124772.1124832},
  year           = 2006
}

@Article{Will96b,
  Author         = {Linda Wills and Cross, II, James H.},
  Title          = {Recent Trends and Open Issues in Reverse Engineering},
  Journal        = {Automated Software Engineering},
  Volume         = {3},
  Number         = {1-2},
  Pages          = {165-172},
  keywords       = {reveng famoos oorp},
  month          = jun,
  publisher      = {Kluwer Academic Publishers},
  year           = 1996
}

@InProceedings{Mats88a,
  Author         = {Satoshi Matsuoka and Satoru Kawai},
  Title          = {Using Tuple Space Communication in Distributed
                   Object-Oriented Languages},
  BookTitle      = {Proceedings OOPSLA '88, ACM SIGPLAN Notices},
  Volume         = {23},
  Pages          = {276-284},
  keywords       = {olit oopsla88},
  month          = nov,
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla88-tuplespace.ps.gz},
  year           = 1988
}

@InProceedings{Eden01a,
  Author         = {Eden, Amnon H.},
  Title          = {Visualization of Object-Oriented Architectures},
  BookTitle      = {International ICSE workshop on Software Visualization},
  month          = may,
  year           = 2001
}

@InProceedings{Paep89a,
  Author         = {Andreas Paepcke},
  Title          = {{PCLOS}: {A} Critical Review},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {221-254},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Meye93c,
  Author         = {Bertrand Meyer},
  Title          = {Systematic Concurrent Object-Oriented Programming},
  Journal        = {Communications of the ACM},
  Volume         = {36},
  Number         = {9},
  Pages          = {56-80},
  keywords       = {olit oobib concurrency eiffel},
  month          = sep,
  url            = {ftp://ftp.eiffel.com/pub/doc/concurrency/concurrency.ps.Z},
  year           = 1993
}

@InProceedings{Char06b,
  Author         = {Anis Charfi and Michel Riveill and Mireille
                   Blay-Fornarino and Anne-Marie Pinna-Dery},
  Title          = {Transparent and Dynamic Aspect Composition},
  BookTitle      = {In Proceedings of the 4th Software Engineering
                   Properties of Languages and Aspect Technologies (SPLAT)
                   Workshop},
  month          = mar,
  url            = {http://aosd.net/workshops/splat/2006/papers/charfi.pdf},
  year           = 2006
}

@InProceedings{Math94a,
  Author         = {L. Mathiassen and A. Munk-Madsen and P. A. Nielsen and
                   J. Stage},
  Title          = {Combining two Approaches to Object-Oriented Analysis},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {158-170},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@TechReport{Sann93a,
  Author         = {M. Sannella},
  Title          = {The skyblue constraint solver},
  Institution    = {Department of Computer Science and Engineering,
                   University of Washington},
  Number         = {92-07-01},
  month          = feb,
  year           = 1993
}

@Article{Wyck99a,
  Author         = {P. Wyckoff and S.W. McLaughry and T.J. Lehman and D.A.
                   Ford},
  Title          = {T Spaces},
  Journal        = {IBM Systems Journal},
  Volume         = 37,
  Number         = 3,
  year           = 1999
}

@InProceedings{Cahi93a,
  Author         = {Vinny Cahill and Se\'an Baker and Chris Horn and
                   Gradimir Starovic},
  Title          = {The Amadeus {GRT} --- Generic Runtime Support for
                   Distributed Persistent Programming},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {144-161},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Rieh95a,
  Author         = {Dirk Riehle},
  Title          = {{How and Why to Encapsulate Class Tree}},
  BookTitle      = {Proceedings of OOPSLA '95},
  Pages          = {251-264},
  Address        = {Austin},
  Organization   = {ACM},
  month          = oct,
  year           = 1995
}

@Book{Alle96b,
  Author         = {Michael Alley},
  Title          = {The Craft of Scientific Writting Third Edition},
  Publisher      = {Springer-Verlag},
  Edition        = {Third},
  isbn           = {0387947663},
  keywords       = {scglib},
  year           = 1996
}

@Unpublished{Case92a,
  Author         = {Yves Caseau and Laurent Perron},
  Title          = {A Type System for Object-Oriented Database Programming
                   and Querying Languages},
  Note           = {draft},
  keywords       = {olit-types laure binder},
  month          = may,
  year           = 1992
}

@InProceedings{Reis03a,
  Author         = {Steven P. Reiss},
  Title          = {Visualizing {Java} in Action},
  BookTitle      = {Proceedings of SoftVis 2003 (ACM Symposium on Software
                   Visualization)},
  Pages          = {57-66},
  year           = 2003
}

@Misc{MSDN,
  Title          = {{The} {Microsoft} {Developer} {Network}},
  Note           = {http://msdn.microsoft.com/},
  key            = {MSDN}
}

@InCollection{Gass92a,
  Author         = {Les Gasser and Jean-Pierre Briot},
  Title          = {Object-Based Concurrent Programming and Distributed
                   Artificial Intelligence},
  BookTitle      = {Distributed Artificial Intelligence: Theory and Praxis},
  Publisher      = {Kluwer},
  Editor         = {N.M. Avouris \& L. Gasser},
  Pages          = {81-107},
  keywords       = {agents},
  year           = 1992
}

@InProceedings{Wang92a,
  Author         = {Michael F. Wangler and Peeter Hansen},
  Title          = {Visualizing Objects: Methods for Exploring Human
                   Computer Interaction Concepts},
  BookTitle      = {Proceedings OOPSLA '92, ACM SIGPLAN Notices},
  Volume         = {27},
  Pages          = {146-153},
  keywords       = {olit oopsla92},
  month          = oct,
  year           = 1992
}

@InCollection{Olde85a,
  Author         = {Ernst-R{\"u}diger Olderog},
  Title          = {Process Theory: Semantics, Specification and
                   Verification},
  BookTitle      = {Current Trends in Concurrency},
  Publisher      = {Springer-Verlag},
  Editor         = {J.W. de Bakker and W-P. de Roever and G. Rozenberg},
  Series         = {LNCS 224},
  Pages          = {442-509},
  keywords       = {pcalc binder(csp)},
  year           = 1985
}

@InProceedings{Pahl01a,
  Author         = {Claus Pahl},
  Title          = {A Pi-Calculus based Framework for the Composition and
                   Replacement of Components},
  BookTitle      = {Workshop on Specification and Verification of
                   Component-Based Systems (OOPSLA 2001)},
  url            = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/},
  year           = 2001
}

@Article{Kras80a,
  Author         = {G. Krasner},
  Title          = {Machine Tongues {VIII}: the Design of a {Smalltalk}
                   Music System},
  Journal        = {Computer Music Journal},
  Volume         = {4},
  Number         = {4},
  keywords       = {olit-appl music smalltalk casais},
  year           = 1980
}

@Book{Muss96a,
  Author         = {David R. Musser and Atul Saini},
  Title          = {{STL} Tutorial and Reference Guide},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-6339-8-1},
  keywords       = {olit-oopl},
  year           = 1996
}

@InProceedings{Brio89b,
  Author         = {Jean-Pierre Briot},
  Title          = {Actalk: {A} Testbed for Classifying and Designing
                   Actor Languages in the {Smalltalk}-80 Environment},
  BookTitle      = {Proceedings ECOOP '89},
  Editor         = {S. Cook},
  Pages          = {109-129},
  Address        = {Nottingham},
  Publisher      = {Cambridge University Press},
  keywords       = {olit-obcl actalk smalltalk binder actors ecoop89proc},
  misc           = {July 10-14},
  month          = jul,
  url            = {http://web.yl.is.u-tokyo.ac.jp/members/briot/actalk/papers/actalk-ecoop89.ps.Z},
  year           = 1989
}

@Book{Ross02a,
  Author         = {Mary Beth Rosson and John M. Carroll},
  Title          = {Usability Engineering},
  Publisher      = {Morgan Kauffmann},
  Address        = {San Francisco, USA},
  isbn           = {1-55860-712-9},
  keywords       = {binder(shelf) book scglib},
  year           = 2002
}

@TechReport{Papa91a,
  Author         = {Michael Papathomas and Oscar Nierstrasz},
  Title          = {Supporting Software Reuse in Concurrent
                   Object-Oriented Languages: Exploring the Language
                   Design Space},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {The design of programming languages that cleanly
                   integrate obc constructs and object-oriented features
                   that promote software reuse is an open problem. We
                   describe a design space that characterizes approaches
                   to object-oriented obc in terms of a number of language
                   design choices concerning the relationship between
                   objects and obc. We identify requirements for software
                   reuse and, with the help of an example that illustrates
                   several of these requirements, explore the design space
                   in order to evaluate which design choices interfere
                   with reuse and which appear to adequately support it.
                   We conclude by highlighting open research issues which,
                   we believe, are essential for achieving effective reuse
                   of concurrent software.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc skipdoi osg-ftp oc91},
  month          = jun,
  pages          = {189-204},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Papa91aSWReuseinCOOLs.pdf},
  year           = 1991
}

@InProceedings{Xing04b,
  Author         = {Zhenchang Xing and Eleni Stroulia},
  Title          = {Understanding Phases and Styles of Object-Oriented
                   Systems' Evolution},
  BookTitle      = {Proceedings 20th IEEE International Conference on
                   Software Maintenance (ICSM '04)},
  Pages          = {242--251},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  location       = {Illinois, USA},
  mon            = sep,
  year           = 2004
}

@Article{Miln83a,
  Author         = {Robin Milner},
  Title          = {Calculi for Synchrony and Asynchrony},
  Journal        = {Theoretical Computer Science},
  Volume         = {25},
  Pages          = {267-310},
  keywords       = {pcalc equivalence ccs binder(ccs)},
  publisher      = {North-Holland},
  year           = 1983
}

@Book{Card99b,
  Editor         = {Stuart K. Card and Jock D. Mackinlay and Ben
                   Shneiderman},
  Title          = {Readings in Information Visualization --- Using Vision
                   to Think},
  Publisher      = {Morgan Kaufmann},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Curr82a,
  Author         = {Gael Curry and Larry Baer and Daniel Lipkie and Bruce
                   Lee},
  Title          = {{TRAITS}: an Approach to Multiple Inheritance
                   Subclassing},
  BookTitle      = {Proceedings ACM SIGOA, Newsletter},
  Volume         = {3},
  Address        = {Philadelphia},
  keywords       = {olit-oopl mesa traits oobib(oopl)},
  month          = jun,
  year           = 1982
}

@InProceedings{Schw91a,
  Author         = {Robert W. Schwanke},
  Title          = {An intelligent tool for re-engineering software
                   modularity},
  BookTitle      = {Proceedings of the 13th International Conference on
                   Software Engineering},
  Pages          = {83-92},
  keywords       = {clustering},
  month          = may,
  year           = 1991
}

@InProceedings{Lort94a,
  Author         = {Victor B. Lortz and Kang G. Shin},
  Title          = {Combining Contracts and Exemplar-Based Programming for
                   Class Hiding and Customization},
  BookTitle      = {Proceedings of OOPSLA '94},
  Editor         = {ACM},
  Volume         = {29},
  Number         = {10},
  Series         = {ACM Sigplan Notices},
  Pages          = {453-467},
  Address        = {Portland},
  Organization   = {ACM},
  month          = oct,
  year           = 1994
}

@Article{Derr85a,
  Author         = {Nigel Derrett and William Kent and P. Lyngbaek},
  Title          = {Some Aspects of Operations in an Object-Oriented
                   Database},
  Journal        = {IEEE Database Engineering},
  Volume         = {8},
  Number         = {4},
  Pages          = {66-74},
  keywords       = {olit-db iris},
  month          = dec,
  year           = 1985
}

@Misc{SmaCC,
  Author         = {John Brant and Don Roberts},
  Title          = {{SmaCC}, a {Smalltalk} {Compiler}-{Compiler}},
  Note           = {\\ \url{http://www.refactoryworkers.com/SmaCC/index.html}},
  key            = {SmaCC},
  keywords       = {smalltalk parser scanner compiler},
  url            = {http://www.refactoryworkers.com/SmaCC/index.html},
  month = aug,
  year = 2010,

}

@Book{Coul94a,
  Author         = {George Coulouris and Jean Dollimore and Tim Kindberg},
  Title          = {Distributed Systems Concepts and Design},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-62433-8},
  keywords       = {scglib},
  year           = 1994
}

@InProceedings{Mins87a,
  Author         = {Naftaly H. Minsky and David Rozenshtein},
  Title          = {A Law-Based Approach to Object-Oriented Programming},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {482-493},
  keywords       = {olit-oopl darwin oopsla87},
  month          = dec,
  year           = 1987
}

@TechReport{Obri02a,
  Author         = {Liam O'Brien and Christoph Stoermer and Chris Verhoef},
  Title          = {Software Architecture Reconstruction: Practice Needs
                   and Current Approaches},
  Institution    = {Carnegie Mellon University},
  Number         = {CMU/SEI-2002-TR-024},
  month          = aug,
  year           = 2002
}

@TechReport{Hogg81a,
  Author         = {John Hogg and Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Form Procedures},
  Institution    = {Computer Systems Research Group, University of Toronto},
  Type           = {Omega Alpha, CSRG Technical Report},
  Number         = {127},
  abstract       = { This paper outlines an effort to introduce automation
                   into an office forms system (OFS) OFS allows its users
                   to perform a set of operations on electronic forms.
                   Actions are triggered automatically when forms or
                   combinations of forms arrive at particular nodes in the
                   network of stations. The actions deal with operations
                   on forms. This paper discusses the facilities provided
                   for the specification of form-oriented automatic
                   procedures and sketches their implementation. },
  editor         = {D. Tsichritzis},
  keywords       = {oislit skipdoi forms tla},
  month          = mar,
  pages          = {101-133},
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Hogg81aTLA.pdf},
  year           = 1981
}

@InProceedings{Lope05a,
  Author         = {Roberto E. Lopez-Herrejon and Don Batory and William
                   Cook},
  Title          = {Evaluating Support for Features in Advanced
                   Modularization Technologies},
  BookTitle      = {Proceedings ECOOP 2005},
  year           = 2005
}

@InProceedings{Wale03a,
  Author         = {Andrew Walenstein and Nitin Jyoti and Junwei Li and
                   Yun Yang and Arun Lakhotia},
  Title          = {Problems Creating Task-relevant Clone Detection
                   Reference Data},
  BookTitle      = {Proceedings 10th Working Conference on Reverse
                   Engineering (WCRE'03)},
  Pages          = {285-295},
  Address        = {Victoria, B.C., Canada},
  Organization   = {IEEE},
  month          = nov,
  year           = 2003
}

@Article{Morr03a,
  Author         = {Steven Morris and Benyam Asnake and Gary Yen},
  Title          = {Dendrogram seriation using simulated annealing},
  Journal        = {Information Visualization},
  Volume         = {2},
  Number         = {2},
  Pages          = {95--104},
  issn           = {1473-8716},
  keywords       = {clustering},
  publisher      = {Palgrave Macmillan},
  year           = 2003
}

@Book{Wins84a,
  Author         = {P.H. Winston and B.K.P. Horn},
  Title          = {{LISP}},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  Edition        = {second},
  keywords       = {fpl lisp},
  year           = 1984
}

@Article{Igar00,
  Author         = {Atsushi Igarashi and Benjamin C. Pierce},
  Title          = {On Inner Classes},
  Journal        = {Lecture Notes in Computer Science},
  Volume         = {1850},
  year           = 2000
}

@Article{Duca03w,
  Author         = {St\'ephane Ducasse},
  Title          = {Seaside: Des composants pour le web},
  Journal        = {Programmez! Le Magazine du D\'eveloppement},
  Volume         = 1,
  Number         = 53,
  annote         = {notrefereed},
  keywords       = {stefPub},
  month          = may,
  url            = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html},
  year           = 2003
}

@InProceedings{Elli82a,
  Author         = {Clarence Ellis and M. Bernal},
  Title          = {OfficeTalk-{D}: An Experimental Office Information
                   System},
  BookTitle      = {Proceedings First ACM SIGOA Conference},
  Pages          = {131-140},
  Address        = {Philadelphia},
  keywords       = {oislit officetalk},
  month          = jun,
  year           = 1982
}

@InProceedings{Niga91a,
  Author         = {L. Nigay and J. Coutaz},
  Title          = {Building user interfaces: organizing software agents},
  BookTitle      = {Esprit '91 Conference Proceedings},
  Editor         = {ACM},
  year           = 1991
}

@InProceedings{Guer92b,
  Author         = {Rachid Guerraoui and Riccardo Capobianchi and Agnes
                   Lanusse and Pierre Roux},
  Title          = {Atomic Asynchronous Objects Invocations in a
                   Fault-Tolerant Distributed System},
  BookTitle      = {Proceedings IEEE FTDS},
  Address        = {Boston},
  keywords       = {olit-obcl karos binder},
  year           = 1992
}

@Article{Mann84a,
  Author         = {Zohar Manna and Pierre Wolper},
  Title          = {Synthesis of Communicating Processes from Temporal
                   Logic Specifications},
  Journal        = {ACM TOPLAS},
  Volume         = {6},
  Number         = {1},
  Pages          = {68-93},
  keywords       = {temporal-logic csp binder(csp)},
  month          = jan,
  year           = 1984
}

@Book{Newm79a,
  Author         = {W.M. Newman and R.F. Sproull},
  Title          = {Principles of Interactive Computer Graphics},
  Publisher      = {McGraw-Hill},
  Series         = {Computer Science Series},
  Edition        = {Second},
  keywords       = {misc graphics},
  year           = 1979
}

@Book{Boeh81a,
  Author         = {Barry W. Boehm},
  Title          = {Software Engineering Economics},
  Publisher      = {Prentice-Hall},
  year           = 1981
}

@InProceedings{Ko04,
  Author         = {Andrew J. Ko and Brad A. Myers},
  Title          = {Designing the whyline: a debugging interface for
                   asking questions about program behavior},
  BookTitle      = {Proceedings of ACM CHI 2004 Conference on Human
                   Factors in Computing Systems},
  Volume         = {1},
  Pages          = {151-158},
  year           = 2004
}

@Article{ACM94e,
  Author         = {{ACM}},
  Title          = {Internet Technology},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {8},
  institution    = {ACM},
  keywords       = {scglib},
  month          = aug,
  year           = 1994
}

@InProceedings{Sato94a,
  Author         = {Ichiro Satoh and Mario Tokoro},
  Title          = {Semantics for Real-Time Object-Oriented Programming
                   Language},
  BookTitle      = {Proceedings of IEEE Conference on Computer Languages},
  Publisher      = {IEEE Computer Society},
  keywords       = {olit binder},
  year           = 1994
}

@Misc{Brun02,
  Author         = {E. Bruneton and R. Lenglet and T. Coupaye},
  Title          = {{ASM}: A Code Manipulation Tool to Implement Adaptable
                   Systems},
  Note           = {in: Proceedings of Adaptable and extensible component
                   systems},
  month          = {nov},
  year           = 2002
}

@InProceedings{Glab90a,
  Author         = {R.J. van Glabbeek},
  Title          = {The Linear Time --- Branching Time Spectrum},
  BookTitle      = {Proceedings of CONCUR '90},
  Editor         = {J.C.M. Baeten and J.W. Klop},
  Volume         = {458},
  Series         = {LNCS},
  Pages          = {278-297},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence concur90 binder},
  year           = 1990
}

@Manual{Adob90a,
  Title          = {PostScript Language Reference Manual},
  Organization   = {Adobe Systems Incorporated},
  isbn           = {0-201-18127-4},
  keywords       = {scglib book},
  publisher      = {Addison Wesley},
  year           = 1990
}

@Article{Kazm96a,
  Author         = {Rick Kazman and Gregory Abowd and Len Bass and Paul
                   Clements},
  Title          = {Scenario-Based Analysis of Software Architecture},
  Journal        = {IEEE Software},
  Volume         = {13},
  Number         = {6},
  Pages          = {47-55},
  keywords       = {olit architecture},
  month          = nov,
  year           = 1996
}

@TechReport{Lang95c,
  Author         = {D.B. Lange and Y. Nakamura},
  Title          = {Object-Oriented Program Tracing and Visualization},
  Institution    = {IBM Research, Tokyo Research Laboratory},
  Type           = {Research Report},
  Number         = {RT0111},
  year           = 1995
}

@PhdThesis{Bosc01a,
  Author         = {Robert Bosch},
  Title          = {Using Visualization to Understand the Behaviour of
                   Computer Systems},
  School         = {Stanford University},
  month          = aug,
  year           = 2001
}

@InCollection{Brio96a,
  Author         = {Jean-Pierre Briot},
  Title          = {An Experiment in Classification and Specialization of
                   Synchronization Schemes},
  BookTitle      = {2nd Int. Symposium on Object Tecchnologies for
                   Advanced Software},
  Publisher      = {Springer Verlag},
  Pages          = {227-249},
  Note           = {Published as LNCS, volume 1049},
  keywords       = {olit-obcl actalk obib-concurrency},
  url            = {ftp://camille.is.s.u-tokyo.ac.jp/pub/actalk/papers/synchro-todai-report-95-07.ps.gz},
  year           = 1996
}

@InProceedings{Stoe03a,
  Author         = {Christoph Stoermer and Liam O'Brien and Chris Verhoef},
  Title          = {Moving Towards Quality Attribute Driven Software
                   Architecture Reconstruction},
  BookTitle      = {Working Conference on Reverse Engineering (WCRE)},
  Pages          = {46--56},
  Address        = {Los Alamitos, CA, USA},
  Publisher      = {IEEE Computer Society},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.2003.1287236},
  issn           = {1095-1350},
  year           = 2003
}

@InProceedings{Dugg00a,
  Author         = {Dominic Duggan},
  Title          = {A Mixin-Based, Semantics-Based Approach to Reusing
                   Domain-Specific Programming Languages},
  BookTitle      = {Proceedings ECOOP 2000},
  Editor         = {Elisa bertino},
  Volume         = {1850},
  Series         = {LNCS},
  Pages          = {179-200},
  Address        = {Berlin Heidelberg},
  Publisher      = {Springer-Verlag},
  keywords       = {ecoop ecoop02 2002 module mixin},
  year           = 2000
}

@InProceedings{Ryss03c,
  Author         = {Filip Van Rysselberghe and Serge Demeyer},
  Title          = {Reconstruction of Successful Software Evolution Using
                   Clone Detection},
  BookTitle      = {Proc. of International Workshop on Principles of
                   Software Evolution (IWPSE)},
  Pages          = {126-130},
  url            = {http://www.win.ua.ac.be/~fvrys/publications/},
  year           = 2003
}

@InProceedings{Till03a,
  Author         = {Thomas Tilley and Richard Cole and Peter Becker and
                   Peter Eklund},
  Title          = {A Survey of Formal Concept Analysis Support for
                   Software Engineering Activities},
  BookTitle      = {Proceedings of ICFCA '03 (1st International Conference
                   on Formal Concept Analysis)},
  Editor         = {Gerd Stumme},
  Publisher      = {Springer-Verlag},
  month          = feb,
  url            = {http://citeseer.nj.nec.com/588051.html},
  year           = 2003
}

@Article{Eick95b,
  Author         = {Stephen G. Eick and Graham J. Wills},
  Title          = {High Interaction Graphics},
  Journal        = {European Journal of Operational Research},
  Volume         = {84},
  Pages          = {445-459},
  url            = {citeseer.ist.psu.edu/eick94high.html},
  year           = 1995
}

@InProceedings{Wen03a,
  Author         = {Zhihua Wen and Vassilios Tzerpos},
  Title          = {An Optimal Algorithm for {MoJo} Distance},
  BookTitle      = {Proceedings 11th IEEE International Workshop on
                   Program Comprehension (IWPC 2003)},
  Pages          = {227--236},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  year           = 2003
}

@InProceedings{Toko94a,
  Author         = {Mario Tokoro and Kazunori Takashio},
  Title          = {Toward Languages and Formal Systems for Distributed
                   Computing},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {93-110},
  Publisher      = {Springer-Verlag},
  abstract       = {In this paper, we attempt to reveal the most essential
                   properties of distributed computations. We claim that
                   the notions of asynchrony, real-time, and autonomy are
                   vitally important to a widely distributed, open-ended,
                   ever-changing environment. We then propose a
                   programming language, called DROL, for asynchronous
                   real-time computing. It supports self-contained active
                   objects that have threads of control and a clock, and
                   introduces the notion of timed invocation, that
                   guarantees the survivability of each active object. We
                   place DROL as a first step in constructing programming
                   languages to realize the above three notions. We also
                   classify distributed computation into four forms
                   according to asynchrony and real-time properties, and
                   try to develop formalisms for the four categories based
                   on a process calculus. The formalisms allow us to
                   describe and analyze both globally and locally temporal
                   properties as well as the behavioral properties of
                   distributed objects and the interactions among them. We
                   discuss issues remaining to be solved and suggest some
                   possibilities for future work.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@Article{Abra87a,
  Author         = {Samson Abramsky},
  Title          = {Observation Equivalence as a Testing Equivalence},
  Journal        = {Theoretical Computer Science},
  Volume         = {53},
  Pages          = {225-241},
  keywords       = {pcalc equivalence binder(conc)},
  publisher      = {North-Holland},
  year           = 1987
}

@Misc{CME,
  Title          = {Concern Manipulation Environment (CME)},
  Note           = {http://www.research.ibm.com/cme/},
  key            = {CME}
}

@Book{Clin95a,
  Author         = {Marshall P. Cline and Greg A. Lomow},
  Title          = {{C}++ FAQs},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-58958-3},
  keywords       = {oolit-oopl book},
  year           = 1995
}

@InProceedings{Knud88b,
  Author         = {J\/orgen Lindskov Knudsen},
  Title          = {Name Collision in Multiple Classification Hierarchies},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {93-109},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Article{Ande92b,
  Author         = {Birger Andersen},
  Title          = {Ellie: a General, Fine-Grained First-Class,
                   Object-Based Language},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {5},
  Number         = {2},
  Pages          = {35-42},
  keywords       = {olit-obcl ellie joop},
  month          = may,
  year           = 1992
}

@TechReport{Aho78a,
  Author         = {Alfred V. Aho and B. Kernighan and P. Weinberger},
  Title          = {Awk --- {A} Pattern Scanning and Processing Language},
  Institution    = {Bell Telephone Laboratories},
  Type           = {Report},
  keywords       = {unix awk searching},
  month          = sep,
  year           = 1978
}

@Article{Mori90a,
  Author         = {R. Mori and M. Kawahara},
  Title          = {Superdistribution: The Concept and the Architecture},
  Journal        = {Transactions of the IEICE},
  Volume         = {E 73},
  Number         = {7},
  Pages          = {1133-1146},
  keywords       = {olit},
  month          = jul,
  year           = 1990
}

@InProceedings{Vand98a,
  Author         = {Arie van Deursen and Tobias Kuipers},
  Title          = {Identifying Objects using Cluster and Concept Analysis},
  BookTitle      = {Proceedings of ICSE '99 (21st International Conference
                   on Software Engineering)},
  Pages          = {246-255},
  Publisher      = {ACM Press},
  keywords       = {fca},
  year           = 1999
}

@InCollection{Nier89b,
  Author         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Title          = {Integrated Office Systems},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {199-215},
  Address        = {Reading, Mass.},
  abstract       = {New techniques are sorely needed to aid in the
                   development and maintenance of large application
                   systems. The problem with traditional approaches to
                   software engineering is well in evidence in the field
                   of office information systems: it is costly and
                   difficult to extend existing applications, and to get
                   unrelated applications to ``talk'' to each other. The
                   object-oriented approach is already being tentatively
                   applied in the modeling of ``office objects'' and in
                   the presentation of these entities to users as such in
                   ``desktop'' interfaces to office software. In order to
                   fully exploit the approach to achieve integrated office
                   systems, we need to use object-oriented programming
                   languages, object-oriented run-time support, and
                   object-oriented software engineering environments.},
  keywords       = {olit-appl skipdoi survey osg-ftp aoe88 oocda89},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Nier89bIntegOfficeSystems.pdf},
  year           = 1989
}

@InProceedings{DAmb06a,
  Author         = {Marco D'Ambros and Michele Lanza},
  Title          = {Software Bugs and Evolution: A Visual Approach to
                   Uncover Their Relationship},
  BookTitle      = {Proceedings of CSMR 2006 (10th IEEE European
                   Conference on Software Maintenance and Reengineering)},
  Pages          = {227 - 236},
  Publisher      = {IEEE Computer Society Press},
  mon            = mar,
  year           = 2006
}

@Book{Gonz77a,
  Author         = {R. Gonzalez and P. Wintz},
  Title          = {Digital Image Processing},
  Publisher      = {Addison Wesley},
  Address        = {Reading, Mass.},
  keywords       = {misc image book},
  year           = 1977
}

@Book{SmalltalkDesignPatterns,
  Author         = {Sherman R. Alpert, Kyle Brown and Bobby Woolf},
  Title          = {The Design Patterns Smalltalk Companion},
  Publisher      = {Addison Wesley},
  Address        = {},
  Edition        = {1st},
  year           = 1998
}

@Unpublished{Vasc92b,
  Author         = {Vasco Vasconcelos and Kohei Honda},
  Title          = {Principle Typing-Schemes in a Polyadic $pi$-calculus
                   (extanded abstract)},
  Note           = {Keio University},
  keywords       = {pcalc-obc mobility types binder},
  misc           = {Nov 14},
  month          = nov,
  type           = {draft},
  year           = 1992
}

@Article{Holl94a,
  Author         = {Joseph E. Hollingsworth and Sethu Sreerama and Bruce
                   W. Weide and Sergey Zhupanov},
  Title          = {Part IV: {RESOLVE} components in {Ada} and {C++}},
  Journal        = {SIGSOFT Softw. Eng. Notes},
  Volume         = {19},
  Number         = {4},
  Pages          = {52-63},
  doi            = {http://doi.acm.org/10.1145/190679.190684},
  issn           = {0163-5948},
  publisher      = {ACM Press},
  year           = 1994
}

@TechReport{Norm90a,
  Author         = {Kurt Normark},
  Title          = {Simulation of Object-Oriented Concepts and Mechanisms
                   in Scheme},
  Institution    = {Aalborg University},
  Type           = {Institute for Electronic Systems Technical Report},
  Number         = {90-01},
  Address        = {Aalborg, Denmark},
  keywords       = {olit-oopl scheme (smc)},
  month          = jan,
  year           = 1990
}

@InProceedings{Bree89c,
  Author         = {D.E. Breen and V. Kuehn},
  Title          = {Message-Based Object-Oriented Interaction Modeling},
  BookTitle      = {Proceedings of Eurographics '89 Proceedings},
  Pages          = {489-503},
  Address        = {Hamburg},
  Publisher      = {Elsevier Science Publishers B.V.},
  abstract       = {This paper describes a message-based object-oriented
                   tool for exploring mathematically-based interactions
                   which produce complex motions for computer animation.
                   The tool has been implemented as a class in the
                   object-oriented computer animation system The
                   Clockworks. It supports the definition of complex
                   interactions between geometric objects through the
                   specification of messages to the interacting objects.
                   Our approach is general, flexible and powerful. The
                   tool itself is not hardcoded to a particular
                   application. It simply sends the messages specified by
                   the user. Messages are specified as strings which may
                   be stored, modified and interpreted. Since the tool is
                   part of The Clockworks it may utilize many of the
                   powerful features of the system, including data
                   structuring, mathematical, geometric modeling, and
                   rendering objects. The tool has been used to explore a
                   general spring and mass model, and the response of
                   objects in a vector field.},
  keywords       = {olit},
  month          = sep,
  year           = 1989
}

@InProceedings{Mett92a,
  Author         = {LTC Erik Mettala and Marc H. Graham},
  Title          = {The Domain Specific Software Architecture Program},
  BookTitle      = {Proceedings of the DARPA Software Technology
                   Conference},
  keywords       = {architecture binder},
  month          = apr,
  url            = {ftp://ftp.sei.cmu.edu/pub/documents/92.reports/ps/sr09.92.ps},
  year           = 1992
}

@InProceedings{Till93b,
  Author         = {Scott R. Tilley and Hausi A. M{\"u}ller and Michael J.
                   Whitney and Kenny Wong},
  Title          = {Domain-Retargetable Reverse Engineering},
  BookTitle      = {Proceedings of CSM '93 The Conference on Software
                   Maintenance},
  Pages          = {142-151},
  Publisher      = {IEEE Computer Society},
  keywords       = {reverse engineering binder},
  month          = sep,
  year           = 1993
}

@MastersThesis{Rati03a,
  Author         = {Daniel Ra\c{t}iu},
  Title          = {Time-Based Detection Strategies},
  School         = {Faculty of Automatics and Computer Science,
                   "Politehnica" University of Timi\c{s}oara},
  keywords       = {jb04 evolution ratiu moose-pub},
  month          = sep,
  year           = 2003
}

@InProceedings{Shaw97a,
  Author         = {Mary Shaw and Paul Clements},
  Title          = {Toward Boxology: Preliminary Classification of
                   Architectural Styles},
  BookTitle      = {Joint Proceedings of the Second International Software
                   Architecture Workshop and International Workshop on
                   Multiple Perspectives in Software Development},
  Pages          = {50-54},
  year           = 1997
}

@InProceedings{Land90a,
  Author         = {T. Landauer and M. Littmann},
  Title          = {Fully automatic cross-language document retrieval
                   using latent semantic indexing},
  BookTitle      = {In Proceedings of the 6th Conference of the UW Centre
                   for the New Oxford English Dictionary and Text Research},
  Pages          = {31-38},
  year           = 1990
}

@InProceedings{Berg05d,
  Author         = {Alexandre Bergel and St\'ephane Ducasse},
  Title          = {Supporting Unanticipated Changes with {Traits} and
                   {Classboxes}},
  BookTitle      = {{Net}.{ObjectDays} (NODE'05)},
  Pages          = {61-75},
  Address        = {Erfurt, Germany},
  abstract       = {On the one hand, traits are a powerful way of
                   structuring classes. Traits support the reuse of method
                   collections over several classes. However, traits
                   cannot be used when specifying unanticipated changes to
                   an application. On the other hand, classboxes are a new
                   module system that supports the local redefinition of
                   classes: a collection of classes can be locally
                   extended with variables and/or methods and the existing
                   clients do not get impacted by changes. However, an
                   extension applied to a class by a classbox cannot be
                   reused for other classes. This paper describes how
                   combining Traits and Classboxes supports the safe
                   introduction of crosscutting collaborations: safe
                   because the existing clients of the classes do not get
                   impacted, crosscutting because collaborations between
                   several classes can be put in place in a unanticipated
                   manner. In the resulting system, a collaboration is
                   represented by a classbox and a role by a trait.},
  annote         = {nationalconference},
  keywords       = {snf05 jb06 scg-pub skipdoi alexPub stefPub listic},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05dTraitsClassbox.pdf},
  year           = 2005
}

@InProceedings{Baer98a,
  Author         = {Holger B\"ar and Oliver Cuipke},
  Title          = {Exploiting design heuristics for automatic problem
                   detection},
  BookTitle      = {Object-Oriented Technology (ECOOP '98 Workshop Reader)},
  Editor         = {Serge Demeyer and Jan Bosch},
  Volume         = {1543},
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  keywords       = {olit famoos-pub skipdoi sergedem-papunr snf98 jb98},
  month          = jul,
  year           = 1998
}

@InProceedings{Bake98a,
  Author         = {Brenda S. Baker and Udi Manber},
  Title          = {Deducing Similarities in {Java} Sources from Bytecodes},
  BookTitle      = {Proc. of Usenix Annual Technical Conf.},
  Pages          = {179-190},
  keywords       = {clones},
  url            = {citeseer.ist.psu.edu/baker98deducing.html},
  year           = 1998
}

@InProceedings{Beec88b,
  Author         = {D. Beech and B. Mahbod},
  Title          = {Generalised Version Control in an Object-oriented
                   Database},
  BookTitle      = {4th IEEE International Conference on Data Engineering},
  Pages          = {14-22},
  Address        = {Los Angeles, CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {olit-oodb versions (smc)},
  year           = 1988
}

@Article{Teit81a,
  Author         = {W. Teitelman and Larry Masinter},
  Title          = {The Interlisp Programming Environment},
  Journal        = {IEEE Computer},
  Volume         = {14},
  Number         = {4},
  Pages          = {25-34},
  keywords       = {plang seelit interlisp},
  month          = apr,
  year           = 1981
}

@Article{Matt03a,
  Author         = {Jacob Matthews and Robert Bruce Findler and Paul
                   Graunke and Shriram Krishnamurthi and Matthias
                   Felleisen},
  Title          = {Automatically Restructuring Programs for the Web},
  Journal        = {Automated Software Engineering: An International
                   Journal},
  year           = 2003
}

@InProceedings{Scha02a,
  Author         = {Nathanael Sch{\"a}rli and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Classes = Traits + States + Glue (Beyond mixins and
                   multiple inheritance)},
  BookTitle      = {Proceedings of the International Workshop on
                   Inheritance},
  abstract       = {We present a simple, component-based model of mixins,
                   called traits, and argue that this simple model
                   sidesteps many of the practical problems with other
                   approaches to mixins and multiple inheritance. With our
                   model, classes are built from a set of traits by
                   specifying glue code that connects them together and
                   accesses the necessary state. We briefly discuss
                   practical experience with an implementation of traits
                   for Squeak, and we list a number of open questions for
                   discussion.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi scg-traits jb02 snf02 stefPub schaerli},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Scha02aTraitsPlusGlue2002.pdf},
  year           = 2002
}

@InProceedings{Lipp91a,
  Author         = {Ernst Lippe and Gert Florijn},
  Title          = {Implementation Techniques for Integral Version
                   Management},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {342-359},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InCollection{Brow95a,
  Author         = {Na\"ima Brown},
  Title          = {Correctness Preserving Transformations for the Design
                   of Parallel Programs},
  BookTitle      = {Object-Based Models and Languages for Concurrent
                   Systems},
  Publisher      = {Springer-Verlag},
  Editor         = {Paolo Ciancarini and Oscar Nierstrasz and Akinori
                   Yonezawa},
  Volume         = {924},
  Series         = {LNCS},
  Pages          = {29-48},
  abstract       = {This paper is about how to design correct computer
                   programs. In particular it concerns formal methods for
                   the construction and verification of parallel
                   algorithms. We develop the theoretical foundations of a
                   language and a programming methodology for designing
                   parallel algorithms and illustrate the methodology by
                   presenting a concrete program derivation. The goal of
                   the methodology is to define a mapping of a program
                   specification into a concurrent programming language.
                   The methodology is developed in the context of the {\it
                   Unity} formalism. We put special emphasis on derivation
                   of parallel algorithms thar are correct with respect to
                   some high-level program specification. The issue of
                   efficiency in the sense of execution time and space is
                   outside the scope of the present paper.},
  keywords       = {olit OBM94-12},
  year           = 1995
}

@InCollection{Baro95a,
  Author         = {Ed Baroth and Chris Hartsough},
  Title          = {Visual Programming in the Real World},
  BookTitle      = {Visual Object-Oriented Programming},
  Publisher      = {Manning Publishing Co.},
  Editor         = {Margeret M. Burnett and Adele Goldberg and Ted G.
                   Lewis},
  Pages          = {21-42},
  year           = 1995
}

@Article{Bos83a,
  Author         = {Jan van den Bos and M.J. Plasmeijer and P.H. Hartel},
  Title          = {Input-output Tools: {A} Language Facility for
                   Interactive and Real-Time Systems},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-9},
  Number         = {3},
  Pages          = {247-259},
  keywords       = {uilit real-time tugs},
  month          = may,
  year           = 1983
}

@Article{Eick95a,
  Author         = {Stephen G. Eick and Paul J. Lucas},
  Title          = {Displaying Trace Files},
  Journal        = {Software Practice and Experience},
  Volume         = {26},
  Number         = {4},
  Pages          = {399-409},
  year           = 1995
}

@Unpublished{Barb93a,
  Author         = {Franck Barbier and Jean Bezivin},
  Title          = {Object-Oriented Design: The {OSM} scheme},
  Note           = {Universit\'e de Nantes},
  keywords       = {oobib(gen) olit binder},
  type           = {Draft},
  year           = 1993
}

@InProceedings{Bala99a,
  Author         = {Magdalena Balazinska and Ettore Merlo and Michel
                   Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis},
  Title          = {Measuring Clone Based Reengineering Opportunities},
  BookTitle      = {Metrics '99},
  Pages          = {292-303},
  keywords       = {clones},
  url            = {http://nms.lcs.mit.edu/~mbalazin/publications/metrics99Balazinska.ps},
  year           = 1999
}

@Article{Dega88a,
  Author         = {P. Degano and Rocco De Nicola and Ugo Montanari},
  Title          = {A Distributed Operational Semantics for {CCS} Based on
                   Condition/Event Systems},
  Journal        = {Acta Informatica},
  Volume         = {26},
  Number         = {1/2},
  Pages          = {59-92},
  keywords       = {pcalc ccs},
  year           = 1988
}

@InProceedings{Boud97a,
  Author         = {G\'erard Boudol},
  Title          = {The pi-calculus in direct style},
  BookTitle      = {Conference Record of {POPL}~'97},
  Pages          = {228-241},
  keywords       = {pcalc mobility blue calculus pisem},
  url            = {http://www-sop.inria.fr/meije/personnel/Gerard.Boudol/blue.html},
  year           = 1997
}

@InProceedings{Mads89b,
  Author         = {O. L. Madsen and B. Moller-Pedersen},
  Title          = {Virtual classes: a powerful mechanism in
                   object-oriented programming},
  BookTitle      = {Conference proceedings on Object-oriented programming
                   systems, languages and applications},
  Pages          = {397-406},
  Publisher      = {ACM Press},
  isbn           = {0-89791-333-7},
  location       = {New Orleans, Louisiana, United States},
  year           = 1989
}

@InProceedings{Snel98b,
  Author         = {Gregor Snelting},
  Title          = {Concept {Analysis} -- A {New} {Framework} for
                   {Program} {Understanding}},
  BookTitle      = {SIGPLAN/SIGSOFT Workshop on Program Analysis for
                   Software Tools and Engineering (PASTE)},
  Pages          = {1-10},
  Address        = {Montreal, Canada},
  Publisher      = {ACM Press},
  keywords       = {fca},
  month          = jun,
  year           = 1998
}

@InProceedings{Redd88a,
  Author         = {Uday Reddy},
  Title          = {Objects as closures: abstract semantics of
                   object-oriented languages},
  BookTitle      = {LFP '88: Proceedings of the 1988 ACM conference on
                   LISP and functional programming},
  Pages          = {289--297},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/62678.62721},
  isbn           = {0-89791-273-X},
  location       = {Snowbird, Utah, United States},
  year           = 1988
}

@Article{Edel88a,
  Author         = {M. Edel},
  Title          = {The Tinkertoy Graphical Programming Environment},
  Journal        = {IEEE Trans on Software Engineering},
  Volume         = {SE-14},
  Number         = {8},
  Pages          = {1110-1115},
  keywords       = {visprog ptyping},
  month          = aug,
  year           = 1988
}

@Misc{JVMTI,
  Title          = {Sun Microsystems, Inc. JVM Tool Interface (JVMTI).},
  key            = {JVMTI},
  url            = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/}
}

@InProceedings{Garl00b,
  Author         = {David Garlan},
  Title          = {Software architecture: a roadmap},
  BookTitle      = {{ICSE} - Future of {SE} Track},
  Pages          = {91-101},
  year           = 2000
}

@Book{Witt00a,
  Author         = {Ian Witten and Eibe Frank},
  Title          = {Data Mining},
  Publisher      = {Morgan Kauffmann},
  isbn           = {1-55860-552-5},
  keywords       = {scglib},
  year           = 2000
}

@InCollection{Died89a,
  Author         = {Jim Diederich and Jack Milton},
  Title          = {Objects, Messages and Rules in Database Design},
  BookTitle      = {Object-Oriented Concepts, Databases and Applications},
  Publisher      = {ACM Press and Addison Wesley},
  Editor         = {W. Kim and F. Lochovsky},
  Pages          = {177-197},
  Address        = {Reading, Mass.},
  keywords       = {olit-db design oocda89},
  year           = 1989
}

@InProceedings{Gold80b,
  Author         = {Ira P. Goldstein and Daniel G. Bobrow},
  Title          = {Extending Object-Oriented Programming in {Smalltalk}},
  BookTitle      = {Proceedings of the Lisp Conference},
  Pages          = {75-81},
  keywords       = {olit-oopl smalltalk pie},
  month          = aug,
  year           = 1980
}

@InProceedings{Schw89a,
  Author         = {Robert W. Schwanke and Rita Z. Altucher and Michael A.
                   Platoff},
  Title          = {Discovering, {Visualizing}, and {Controlling}
                   {Software} {Structure}},
  BookTitle      = {Proceedings of International Workshop on Software
                   Specification and Design},
  Pages          = {147-150},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {clustering},
  year           = 1989
}

@Article{Ossh86a,
  Author         = {Harold Ossher},
  Title          = {A Mechanism for Specifying the Structure of Large,
                   Layered, Object-Oriented Programs},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {143-152},
  keywords       = {olit concepts oopws86},
  month          = oct,
  year           = 1986
}

@InProceedings{Brac92b,
  Author         = {Gilad Bracha and Gary Lindstrom},
  Title          = {Modularity Meets Inheritance},
  BookTitle      = {Proceedings of the IEEE International Conference on
                   Computer Languages},
  Pages          = {282-290},
  keywords       = {olit},
  month          = apr,
  year           = 1992
}

@Manual{Dyla92a,
  Title          = {Dylan: an object-oriented dynamic language},
  Organization   = {Apple Computer, Eastern Research and Technology},
  month          = apr,
  year           = 1992
}

@InCollection{Will81a,
  Author         = {R.R. Willis},
  Title          = {{AIDES}: Computer Aided Design of Software Systems ---
                   {II}},
  BookTitle      = {Software Engineering Environments},
  Publisher      = {North-Holland Publishing Co.},
  Editor         = {H. H{\"u}nke},
  Pages          = {27-48},
  keywords       = {misc selit aides cad},
  year           = 1981
}

@Book{Fell98a,
  Author         = {Matthias Felleisen and Daniel P. Friedman},
  Title          = {A Little {Java}, {A} Few Patterns},
  Publisher      = {MIT Press},
  isbn           = {0-262-56115-8},
  keywords       = {java scglib new-entry},
  year           = 1998
}

@InProceedings{Klae00a,
  Author         = {H. Klaeren and E. Pulverm\"{u}ller and A. Raschid and
                   A. Speck},
  Title          = {Aspect Composition Applying the Design by Contract
                   Principle},
  BookTitle      = {Proceedings of the 2nd International Symposium on
                   Generative and Component-Based Software Engineering
                   (GCSE 2000)},
  Volume         = {2177},
  Series         = {LNCS},
  Pages          = {57-69},
  Publisher      = {Springer-Verlag},
  year           = 2000
}

@Article{Deur00a,
  Author         = {Deursen {Arie van} and Paul Klint and Joost Visser},
  Title          = {Domain-Specific Languages: An Annotated Bibliography},
  Journal        = {ACM SIG{\-}PLAN Notices},
  Volume         = {35},
  Number         = {6},
  Pages          = {26-36},
  month          = jun,
  year           = 2000
}

@InProceedings{Scha95a,
  Author         = {Albert Schappert and Peter Sommerlad and Wolfgang Pree},
  Title          = {Automated Support for Software Development with
                   Frameworks},
  BookTitle      = {Proceedings SSR '95 ACM SIGSOFT Symposium on Software
                   Reusability},
  year           = 1995
}

@InProceedings{Tarr99a,
  Author         = {Peri Tarr and Harold Ossher and William Harrison and
                   Sutton, Jr, Stanley M.},
  Title          = {{N Degrees of Separation: Multi-dimensional Separation
                   of Concerns}},
  BookTitle      = {Proceedings of ICSE '99},
  Pages          = {107-119},
  Address        = {Los Angeles CA, USA},
  keywords       = {hypermodules},
  year           = 1999
}

@MastersThesis{Horv04a,
  Author         = {Marc-Philippe Horvath},
  Title          = {Automatic Recognition of Class Blueprint Patterns},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {In reverse engineering, class blueprint patterns are
                   an efficient way to determine the purpose and abilities
                   of a class. Finding those patterns is not trivial
                   because the graphical representation of a large
                   software system is too complex to be grasped by a
                   software reengineer or a group of reengineers to find
                   all the similarities and patterns in it. This thesis
                   presents a technique to discover known and unknown
                   class patterns automatically in a software system. Our
                   approach is based on the theory of graph pattern
                   recognition, mainly graph edit distance and maximal
                   common subgraph (MCS) algorithms. Using MCS and
                   hierarchical clustering we automatically detect known
                   and unknown patterns.},
  keywords       = {scg-msc recast05 jb05},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Horv04a.pdf},
  year           = 2004
}

@InProceedings{McAl86a,
  Author         = {David McAllester and Ramin Zabih},
  Title          = {Boolean Classes},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {417-423},
  keywords       = {types olit oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Ferr89a,
  Author         = {Patrick J. Ferrel and Robert F. Meyer},
  Title          = {Vamp: The Aldus Application Framework},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {185-190},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Article{Fich92a,
  Author         = {Robert G. Fichman and Chris F. Kemerer},
  Title          = {Object-Oriented and Conventional Analysis and Design
                   Methodologies},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {22-39},
  keywords       = {olit-oopl ieee},
  month          = oct,
  year           = 1992
}

@InProceedings{Anto05a,
  Author         = {Giuliano Antoniol and Yann-Ga\"el Gu\'eh\'eneuc},
  Title          = {Feature Identification: a Novel Approach and a Case
                   Study},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM 2005)},
  Pages          = {357--366},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature},
  month          = sep,
  year           = 2005
}

@Article{Card85a,
  Author         = {Luca Cardelli and R. Pike},
  Title          = {Squeak: a Language for Communicating with Mice},
  Journal        = {ACM SIGGRAPH '85},
  Volume         = {19},
  Number         = {3},
  Pages          = {199-204},
  keywords       = {concurrency squeak ui},
  month          = jul,
  year           = 1985
}

@InProceedings{Yell94a,
  Author         = {Daniel M. Yellin and Robert E. Strom},
  Title          = {{Interfaces, Protocols, and the Semi-Automatic
                   Construction of Software Adaptors}},
  BookTitle      = {Proceedings of OOPSLA '94},
  Pages          = {176-190},
  Organization   = {ACM},
  month          = oct,
  year           = 1994
}

@TechReport{Eert91a,
  Author         = {Henk Eertink and Dietmar Wolz},
  Title          = {Symbolic Execution of {LOTOS} Specifications},
  Institution    = {University of Twente},
  Type           = {Memoranda Informatica 91-47, TIOS},
  Number         = {91/016},
  keywords       = {pcalc lotos binder},
  month          = may,
  year           = 1991
}

@InProceedings{Fost02b,
  Author         = {Jeffrey S. Foster and Tachio Terauchi and Alex Aiken},
  Title          = {Flow-Sensitive Type Qualifiers},
  BookTitle      = {Proceedings of PLDI '02 Conference on Programming
                   Language Design and Implementation},
  Pages          = {1-12},
  Publisher      = {ACM Press},
  keywords       = {nonstandard types},
  url            = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf},
  year           = 2002
}

@TechReport{CWM03a,
  Author         = {{Object} {Management} {Group}},
  Title          = {Common Warehouse Metamodel},
  Institution    = {{Object} {Management} {Group}},
  keywords       = {data warehouse, data mining, metadata, record,
                   repository, XML},
  url            = {http://www.omg.org/cgi-bin/doc?formal/03-03-02},
  year           = 2003
}

@Article{Miln79a,
  Author         = {G. Milne and Robin Milner},
  Title          = {Concurrent Processes and Their Syntax},
  Journal        = {Journal of the ACM},
  Volume         = {26},
  Number         = {2},
  Pages          = {302-321},
  keywords       = {pcalc semantics domains},
  month          = apr,
  year           = 1979
}

@TechReport{Bobr88a,
  Author         = {D.G. Bobrow and L.G. DeMichiel and R.P. Gabriel and S.
                   Keene and G. Kiczales and D.A. Moon},
  Title          = {Common Lisp Object System Specification, X3J13},
  Institution    = {(ANSI COMMON LISP)},
  Number         = {88-003},
  keywords       = {clos},
  year           = 1988
}

@Proceedings{Cian96a,
  Title          = {Coordination Languages and Models},
  Editor         = {Paolo Ciancarini and Chris Hankin},
  Number         = 1061,
  Series         = {LNCS},
  Publisher      = {Springer-Verlag},
  booktitle      = {Proceedings of the First International Conference,
                   COORDINATION '96},
  isbn           = {3-540-61052-9},
  keywords       = {coordination coord96 scglib},
  month          = apr,
  year           = 1996
}

@Misc{Wirf96a,
  Author         = {Allen Wirfs-Brock},
  Title          = {Subsystems --- Proposal},
  HowPublished   = {OOPSLA 1996 Extending Smalltalk Workshop},
  month          = oct,
  year           = 1996
}

@Book{Smol95b,
  Author         = {Gert Smolka},
  Title          = {An Oz Primer},
  Publisher      = {DFKI Oz Documentation Series},
  keywords       = {oobib(concurrency) oz binder},
  month          = feb,
  url            = {http://www.mozart-oz.org/index.html},
  year           = 1995
}

@InProceedings{Kim92a,
  Author         = {Won Kim},
  Title          = {On Unifying Relational and Object-Oriented Database
                   Systems},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {1-18},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-db ecoop92proc},
  month          = jun,
  year           = 1992
}

@Article{Tung96a,
  Author         = {Sho-Huan Simon Tung and R. Kent Dybvig},
  Title          = {Reliable Interactive Programming with Modules},
  Journal        = {Lisp and Symbolic Computation},
  Volume         = {9},
  Number         = {4},
  Pages          = {343-358},
  url            = {http://citeseer.nj.nec.com/tung95reliable.html},
  year           = 1996
}

@InProceedings{Snyd86a,
  Author         = {Alan Snyder},
  Title          = {Encapsulation and Inheritance in Object-Oriented
                   Programming Languages},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {38-45},
  doi            = {http://doi.acm.org/10.1145/28697.28702},
  keywords       = {olit-inheritance concepts oopsla86 binder(oop)
                   oobib(inh)},
  month          = nov,
  year           = 1986
}

@InProceedings{Xing04a,
  Author         = {Zhenchang Xing and Eleni Stroulia},
  Title          = {Understanding Class Evolution in Object-Oriented
                   Software},
  BookTitle      = {Proceedings 12th IEEE International Workshop on
                   Program Comprehension (IWPC'04)},
  Pages          = {34--43},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  mon            = jun,
  year           = 2004
}

@InCollection{Schn99b,
  Author         = {Jean-Guy Schneider and Oscar Nierstrasz},
  Title          = {Components, Scripts and Glue},
  BookTitle      = {Software Architectures --- Advances and Applications},
  Publisher      = {Springer-Verlag},
  Editor         = {Leonor Barroca and Jon Hall and Patrick Hall},
  Pages          = {13-25},
  abstract       = {Experience has shown us that object-oriented
                   technology alone is not enough to guarantee that the
                   systems we develop will be flexible and adaptable. Even
                   ``well-designed'' object-oriented software may be
                   difficult to understand and adapt to new requirements.
                   We propose a conceptual framework that will help yield
                   more flexible object-oriented systems by encouraging
                   explicit separation of computational and compositional
                   elements. We distinguish between components that adhere
                   to an architectural style, scripts that specify
                   compositions, and glue that may be needed to adapt
                   components' interfaces and contracts. We also discuss a
                   prototype of an experimental composition language
                   called Piccola that attempts to combine proven ideas
                   from scripting languages, coordination models and
                   languages, glue techniques, and architectural
                   specification.},
  isbn           = {1-85233-636-6},
  keywords       = {scg-pub skipdoi scripting glue architectures sa cose
                   snf98 csg99 omnrep scg-coord-99 piccola jb99},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Schn99bComptsScriptsAndGlue.pdf},
  year           = 1999
}

@Article{Pitt93a,
  Author         = {Matthew Pittman},
  Title          = {Lessons Learned in Managing Object-Oriented
                   Development},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {43-53},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@InCollection{Clem96a,
  Author         = {Paul C. Clements and Linda Northrop},
  Title          = {Software Architecture: An Executive Overview},
  BookTitle      = {Component-Based Software Engineering},
  Publisher      = {IEEE Press},
  Editor         = {Alan W. Brown},
  Pages          = {55-68},
  keywords       = {composition},
  year           = 1997
}

@Book{Lind97a,
  Author         = {Tim Lindholm and Frank Yellin},
  Title          = {The {Java} Virtual Machine Specification},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63452-X},
  keywords       = {olit java scglib new-enty},
  year           = 1997
}

@InProceedings{Laur87a,
  Author         = {Jane Laursen and Robert Atkinson},
  Title          = {Opus: {A} {Smalltalk} Production System},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {377-387},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InCollection{Kris87a,
  Author         = {Bent Bruun Kristensen and Ole Lehrmann Madsen and
                   Birger M{\/o}ller-Pedersen and Kristen Nygaard},
  Title          = {The {BETA} Programming Language},
  BookTitle      = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Editor         = {B. Shriver and P. Wegner},
  Pages          = {7-48},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-obcl beta concurrency rdoop87 binder(oop)
                   oobib(obcp)},
  year           = 1987
}

@InProceedings{Mill03a,
  Author         = {Todd Millstein and Mark Reay and Craig Chambers},
  Title          = {Relaxed MultiJava: balancing extensibility and modular
                   typechecking},
  BookTitle      = {Proceedings of the 18th ACM SIGPLAN conference on
                   Object-oriented programing, systems, languages, and
                   applications},
  Pages          = {224-240},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/949305.949325},
  isbn           = {1-58113-712-5},
  keyword        = {oopsla multijava},
  location       = {Anaheim, California, USA},
  year           = 2003
}

@InProceedings{Deme05b,
  Author         = {Serge Demeyer and Kim Mens and Roel Wuyts and
                   Yann-Ga\"el Gu\'e{e}h\'{e}neuc and Andy Zaidman and
                   Neil Walkinshaw and Ademar Aguiar and St\'ephane
                   Ducasse},
  Title          = {Report of the 6th ECOOP'05 Workshop on Object-Oriented
                   Reengineering},
  BookTitle      = {Object-Oriented Technology. ECOOP'05 Workshop Reader},
  Series         = {LNCS (Lecture Notes in Computer Science)},
  Publisher      = {Springer-Verlag},
  annote         = {workshopproceedings},
  keywords       = {scg-pub stefPub},
  url            = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_report/WR_2006_ECOOP2005_WOOR.pdf},
  year           = 2006
}

@InProceedings{Dmit01a,
  Author         = {M. Dmitriev},
  Title          = {Towards Flexible and Safe Technology for Runtime
                   Evolution of {Java} Language Applications},
  BookTitle      = {Proceedings of the Workshop on Engineering Complex
                   Object-Oriented Systems for Evolution, in association
                   with OOPSLA 2001},
  keywords       = {java dynamic class modification hotswap},
  month          = oct,
  year           = 2001
}

@InProceedings{Dony96a,
  Author         = {Daniel Bardou and Christophe Dony},
  Title          = {Split Objects: a Disciplined Use of Delegation within
                   Objects},
  BookTitle      = {Proceedings of OOPSLA '96},
  Pages          = {122-137},
  keywords       = {ioom-prototype oopsla96},
  month          = oct,
  year           = 1996
}

@TechReport{Pint93b,
  Author         = {Xavier Pintado},
  Title          = {New Approaches for the Visualization of Financial
                   Information},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {The availability of affordable fast graphics hardware
                   will have considerable impact on the way people deal
                   with information. Highly interactive interfaces relying
                   on fast 2-dimensional bitmap operations, and fast
                   3-dimensional image synthesis are becoming available.
                   This paper explores some new representation techniques
                   based on fast graphics primitives. We present first
                   financial information radars as a flexible data
                   representation technique for financial information. The
                   concept of information radar takes inspiration on
                   traditional oscilloscopes and radars. Information
                   radars are 2D visualization tools that display multiple
                   superimposed translucent data representation layers.
                   Each representation layer being translucent allows the
                   layers that lay behind it to be seen. The radar
                   provides multiple interaction modes so that the user
                   can interact with the various layers either to modify
                   representations, to explore data relationships, or to
                   access other tools. Information radars rely on fast
                   a-channel operations to visualize multiple
                   representation layers simultaneously. The second data
                   representation technique is based on fast 3-dimensional
                   image synthesis. The idea is that a virtual camera
                   allows for the visualization of a virtual world
                   composed of objects that exhibit dynamic behaviours.
                   The camera is driven by a fuzzy controller to which
                   users can specify viewing interests expressed as rules
                   in terms of fuzzy logic linguistic variables. The fuzzy
                   controller drives the movement of the camera so that
                   the camera shows what the user expressed interest in.
                   This technique is particularly well suited for the
                   visualization of real time financial data.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg vo93},
  month          = jul,
  pages          = {111-128},
  year           = 1993
}

@InProceedings{Lang86a,
  Author         = {Kevin J. Lang and Barak A. Pearlmutter},
  Title          = {Oaklisp: an Object-Oriented Scheme with First Class
                   Types},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {30-37},
  keywords       = {olit-oopl oaklisp lisp tfc oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Bake97a,
  Author         = {Brenda S. Baker},
  Title          = {Parameterized Duplication in Strings: Algorithms and
                   an Application to Software Maintenance},
  Journal        = {SIAM Journal of Computing},
  keywords       = {clones},
  month          = oct,
  url            = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-4.ps.gz},
  year           = 1997
}

@PhdThesis{Grav89a,
  Author         = {Justin Graver},
  Title          = {Type-Checking and Type-Inference for Object-Oriented
                   Programming Languages},
  School         = {University of Illinois at Urbana-Champaign},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-oopl smalltalk types binder (shelf)},
  month          = aug,
  number         = {UIUC DCS-R-89-1539},
  year           = 1989
}

@TechReport{Dami92a,
  Author         = {Laurent Dami},
  Title          = {{HOP}: Hierarchical Objects with Ports},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Frameworks},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg of92},
  month          = jul,
  pages          = {41-77},
  year           = 1992
}

@TechReport{Miln91c,
  Author         = {Robin Milner},
  Title          = {The Polyadic $\pi$ Calculus: a tutorial},
  Institution    = {Computer Science Dept., University of Edinburgh},
  Type           = {{ECS-LFCS-91-180}},
  keywords       = {pcalc mobility binder},
  month          = oct,
  url            = {ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z},
  year           = 1991
}

@Article{Buss94a,
  Author         = {E. Buss and W.M. Gentleman and H.A. M{\"u}ller and M.
                   Stanley and S.R. Tilley and K. Wong},
  Title          = {Investigating Reverse Engineering Technologies for the
                   {CAS} Program understanding Project},
  Journal        = {IBM Systems Journal},
  Volume         = {33},
  Number         = {3},
  Pages          = {477-500},
  keywords       = {reverse engineering binder},
  year           = 1994
}

@Book{Muhl96a,
  Editor         = {Max M{\"u}hlh{\"a}user},
  Title          = {Special Issues in Object-Oriented Programming
                   ({ECOOP}'96 Workshop Reader)},
  Publisher      = {dpunkt.verlag},
  Address        = {Linz, Austria},
  isbn           = {3-920993-67-51},
  keywords       = {ecoop96wr workshops olit},
  month          = jul,
  year           = 1996
}

@Article{Gibb70,
  Author         = {A.J. Gibbs and G.A. McIntyre},
  Title          = {The diagram: a method for comparing sequences. Its use
                   with amino acid and nucleotide sequences.},
  Journal        = {Eur. J. Biochem.},
  Volume         = 16,
  Pages          = {1-11},
  annote         = {This is the original work about dotplots!},
  keywords       = {dotplot; biology},
  year           = 1970
}

@InProceedings{Freb87a,
  Author         = {Karl Freburger},
  Title          = {{RAPID}: Prototyping Control Panel Interfaces},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {416-422},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Fisc98a,
  Author         = {Bernd Fischer},
  Title          = {Specification-based {Browsing} of {Software}
                   {Component} {Libraries}},
  BookTitle      = {Proceedings of ASE '98(13th Conference on Automated
                   Software Engineering},
  Pages          = {74-83},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  url            = {http://citeseer.nj.nec.com/fischer99specificationbased.html},
  year           = 1998
}

@InProceedings{Cruz98b,
  Author         = {Juan Carlos Cruz and Sander Tichelaar},
  Title          = {Managing Evolution of Coordination Aspects in Open
                   Systems},
  BookTitle      = {Ninth International Workshop on Database and Expert
                   Systems Applications},
  Editor         = {Roland R. Wagner},
  Pages          = {578-582},
  Address        = {Vienna, Austria},
  Publisher      = {IEEE Computer Press},
  abstract       = {Most of the work on coordination technology so far has
                   focused on the development of special coordination
                   languages and environments that provide the basic
                   mechanisms for realizing the coordination layer of an
                   open system. It is clear that the idea of managing
                   separately the coordination aspect from the computation
                   in a language has a lot of advantages in the
                   development of those systems. Nevertheless, most of the
                   coordination languages do not take care that
                   additionally to managing coordination requirements,
                   they must manage other kinds of "openness" related
                   requirements in Open Systems. The most important
                   requirement being to support the evolution of the
                   coordination requirements themselves. This problem
                   manifests during the software development process by
                   the development over and over again of solutions to
                   similar coordination problems. To tackle this problem,
                   and instead of proposing a new language, we are
                   attempting to develop an open set of adaptable and
                   reusable software components that realize various
                   useful coordination abstractions. With these components
                   we provide explicit separation of coordination from
                   computation, and facilitate reuse and evolution of
                   coordination aspects in Open Systems.},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/DEXA.1998.707460},
  keywords       = {snf-none scg-pub scg-coord-98 jb98 tich-papunr},
  misc           = {August 26-28},
  month          = aug,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Cruz98bManagingEvolution.pdf},
  year           = 1998
}

@InProceedings{Born87a,
  Author         = {Alan Borning and Robert Duisberg and Bjorn
                   Freeman-Benson and Axel Kramer and Michael Woolf},
  Title          = {Constraint Hierarchies},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {48-60},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Szyp92a,
  Author         = {Clemens A. Szyperski},
  Title          = {Import is Not Inheritance --- Why We Need Both:
                   Modules and Classes},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {19-32},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-inheritance ecoop92proc},
  month          = jun,
  year           = 1992
}

@InProceedings{Lorm06a,
  Author         = {M. Lormans and A. van Deursen},
  Title          = {Can LSI help Reconstructing Requirements Traceability
                   in Design and Test?},
  BookTitle      = {Proceedings of the 10th European Conference on
                   Software Maintenance and Reengineering (CSMR'06)},
  Publisher      = {IEEE Computer Society},
  year           = 2006
}

@InProceedings{Lins88a,
  Author         = {Yngve Linsj\/orn and Dag Sj\/oberg},
  Title          = {Database Concepts Discussed in Object-Oriented
                   Perspective},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Volume         = {322},
  Series         = {LNCS},
  Pages          = {300-318},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@TechReport{Agha93a,
  Author         = {Gul Agha and Ian Mason and Scott Smith and Carolyn
                   Talcott},
  Title          = {A Foundation for Actor Computation},
  Institution    = {UIUC},
  Type           = {technical report},
  abstract       = {We present an actor language which is an extension of
                   a simple functional language, and provide a precise
                   operational semantics for this extension. Actor
                   configurations are open distributed systems, meaning we
                   explicitly take into account the interface with
                   external components in the specification of an actor
                   system. We define and study various notions of
                   equivalence on actor expressions and configurations.},
  keywords       = {olit-obc actors semantics binder},
  url            = {ftp://sail.stanford.edu/pub/MT/95actors.ps.Z},
  year           = 1993
}

@MastersThesis{Stei01a,
  Author         = {Lukas Steiger},
  Title          = {Recovering the Evolution of Object Oriented Software
                   Systems Using a Flexible Query Engine},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  keywords       = {oobib scg-pub skipdoi scg-msc jb01 snf02},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Stei01a.pdf},
  year           = 2001
}

@Article{Chid94a,
  Author         = {Shyam R. Chidamber and Chris F. Kemerer},
  Title          = {A Metrics Suite for Object Oriented Design},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {20},
  Number         = {6},
  Pages          = {476-493},
  keywords       = {olit},
  month          = jun,
  year           = 1994
}

@InProceedings{Till93a,
  Author         = {Scott R. Tilley and Hausi A. M{\"u}ller},
  Title          = {Using Virtual Subsystems in Project Management},
  BookTitle      = {Proceedings of CASE '93 6th International Workshop on
                   Computer-Aided Software Engineering},
  Publisher      = {IEEE Computer Society},
  keywords       = {project management case93 binder},
  month          = jul,
  year           = 1993
}

@InProceedings{Sull97a,
  Author         = {Kevin J. Sullivan and John Socha and Mark Marchukov},
  Title          = {Using Formal Methods to Reason about Architectural
                   Standards},
  BookTitle      = {Proceedings of ICSE 97},
  Pages          = {503-513},
  Address        = {Boston MA},
  month          = may,
  year           = 1997
}

@InProceedings{Nier83b,
  Author         = {Oscar Nierstrasz and John Mooney and Kenneth J.
                   Twaites},
  Title          = {Using Objects to Implement Office Procedures},
  BookTitle      = {Proceedings of the Canadian Information Processing
                   Society Conference},
  Pages          = {65-73},
  Address        = {Ottawa},
  abstract       = {Office information systems (OISs) provide facilities
                   for automatically triggering procedures when certain
                   conditions become true or particular events take place
                   such as receipt of mail. Such systems are characterized
                   by a high degree of parallel activity that cooperates
                   with but may run independently of user processes.
                   Traditional high-level programming languages do not
                   readily capture this sort of behaviour. This makes
                   building a customized OIS a painful process. "Objects"
                   are entities with contents and a set of rules
                   describing their use. We believe that objects are a
                   useful primitive for designing and building such
                   systems quickly.},
  annote         = {internationalconference},
  keywords       = {olit-oopl skipdoi oz ois},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/UofT/Nier83bOz.pdf},
  year           = 1983
}

@TechReport{Cama95a,
  Author         = {Carlos Camarao de Figueiredo},
  Title          = {A Proof System for a Sequential Object-Based Language},
  Institution    = {Departament of Comp. Science, University of Manchester},
  Type           = {Technical Report},
  Number         = {UMCS-95-1-1},
  Address        = {Oxford, Manchester, England},
  abstract       = {This thesis presents a proof system to support the
                   formal verification of the correctness of sequential
                   object-based programs written in a simple programming
                   language named A1. The proof system uses a
                   specification language named L1, that is based on
                   Hoare-style assertions. The syntax and formal semantics
                   of the programming and specification languages are
                   given. A formal semantics of correctness formulas (for
                   partial corretness) is then defined. Axiom schemes and
                   proof rules associated with commands of A1, which
                   compose a proof system named P1, are presented. Example
                   are shown where these axioms schemes and proof rules
                   are used to derive program correctness. The proof
                   system P1 is shown to be sound according to the given
                   semantics of A1 and of the correctness formulas.},
  keywords       = {obib-semantics logic binder},
  url            = {http://www.cs.man.ac.uk/csonly/cstechrep/Abstracts/UMCS-95-1-1.html},
  year           = 1995
}

@TechReport{Kazm05a,
  Author         = {Rick Kazman and Len Bass},
  Title          = {Categorizing Business Goals for Software Architectures},
  Institution    = {Carnegie Mellon University, Software Engineering
                   Institute},
  Type           = {CMU/SEI-2005-TR-021},
  month          = dec,
  url            = {http://www.sei.cmu.edu/publications/documents/05.reports/05tr021.html
                   http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tr021.pdf},
  year           = 2005
}

@Article{Lee72a,
  Author         = {E.T. Lee},
  Title          = {Proximity Measures for the Classification of Geometric
                   Figures},
  Journal        = {Journal of Cybernetics},
  Volume         = {2},
  Number         = {4},
  Pages          = {43-59},
  keywords       = {misc},
  year           = 1972
}

@InCollection{Kenn83a,
  Author         = {J. Kennaway and M. Sleep},
  Title          = {Syntax and Informal Semantics of DyNe, a Parallel
                   Language},
  BookTitle      = {The Analysis of Concurrent Systems},
  Publisher      = {Springer-Verlag},
  Volume         = {207},
  Series         = {LNCS},
  Pages          = {222-230},
  keywords       = {pcalc mobility (uwe)},
  year           = 1983
}

@TechReport{Pint90b,
  Author         = {Xavier Pintado},
  Title          = {Selection and Exploration in an Object-Oriented
                   Environment: The Affinity Browser},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Reusability is widely believed to be a key to
                   improving software development productivity. However,
                   in practice, effective reuse is more an achievement of
                   good development environments than a strategy for
                   software development. It seems natural that a reduction
                   of the effort needed for reuse should have a positive
                   impact on reuse. Among the various lines of attack that
                   may lead to a reduction of the reuse effort, we address
                   the problem of finding and understanding reusable
                   functionality in an object-oriented software
                   environment. This paper presents the Affinity Browser,
                   a selection and exploration tool based on the notion of
                   affinity between objects. The user is presented with a
                   two dimensional display where the objects are displayed
                   in such a way that their relative positions convey
                   their affinity i.e., objects lying closer together are
                   more strongly related than objects lying farther apart.
                   The browser provides for different views of the
                   relationships among objects. Each view is based on a
                   different measure of affinity and thus portrays a
                   different relationship. We discuss the rationale behind
                   the Affinity Browser tool and discuss the way users can
                   take advantage of it to understand the functionality
                   provided by a set of classes. The Affinity Browser's
                   ability to help understanding relationships between
                   objects will be illustrated by two examples of view
                   construction.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse osg-ftp om90},
  month          = jul,
  pages          = {79-88},
  url            = {http://cuiwww.unige.ch/OSG/publications/OO-articles/affinityBrowsing.pdf},
  year           = 1990
}

@InProceedings{Duca02a,
  Author         = {St\'ephane Ducasse and Roel Wuyts},
  Title          = {Supporting Objects as An Anthropomorphic View at
                   Computation or Why {Smalltalk} for Teaching Objects?},
  BookTitle      = {Proceedings of the Ecoop'02 International Educator
                   Symposium},
  abstract       = {In this paper we stress the fact that a language and
                   an environment for teaching object-oriented programming
                   should support the anthropomorphic metaphor promoted by
                   the paradigm. We show that all the cultural aspects of
                   Smalltalk, i.e., the vocabulary and the syntax support
                   the object metaphor. In addition, we stress that the
                   programming environment should also support the
                   metaphor. We show that Smalltalk environments offer an
                   important property we named liveness or object
                   proximity that promotes the anthropomorphic perception
                   of objects. By providing excerpt from our forth coming
                   book, we show how Squeak with the Morphic framework
                   reinforces this ability to make object into living
                   entities.},
  annote         = {internationalworkshop},
  keywords       = {snf-none stefPub scg-pub skipdoi jb04},
  url            = {http://www.iam.unibe.ch/~scg/Duca02aTeacherWorkshop.pdf},
  year           = 2002
}

@InProceedings{Proe90a,
  Author         = {Anna-Kristin Pr{\"o}frock and Martin Ader and Gerhard
                   M{\"u}ller and Dennis Tsichritzis},
  Title          = {{ITHACA}: An Overview},
  BookTitle      = {Proceedings of the Spring 1990 EUUG Conference},
  Pages          = {99-105},
  keywords       = {olit-ithaca},
  year           = 1990
}

@Article{Boeh88a,
  Author         = {Barry W. Boehm},
  Title          = {A Spiral Model of Software Development and Enhancement},
  Journal        = {IEEE Computer},
  Volume         = {21},
  Number         = {5},
  Pages          = {61-72},
  keywords       = {oorp},
  year           = 1988
}

@InCollection{Papa95a,
  Author         = {Michael Papathomas},
  Title          = {Concurrency in Object-Oriented Programming Languages},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {31-68},
  abstract       = {An essential motivation behind concurrent
                   object-oriented programming is to exploit the software
                   reuse potential of object-oriented features in the
                   development of concurrent systems. Early attempts to
                   introduce concurrency to object-oriented languages
                   uncovered interferences between object-oriented and
                   concurrency features that limited the extent to which
                   the benefits of objectoriented programming could be
                   realized for developing concurrent systems. This has
                   fostered considerable research into languages and
                   approaches aiming at a graceful integration of
                   object-oriented and concurrent programming. We will
                   examine the issues underlying concurrent
                   object-oriented programming, examine and compare how
                   different approaches for language design address these
                   issues. Although it is not our intention to make an
                   exhaustive survey of concurrent object-oriented
                   languages, we provide a broad coverage of the research
                   in the area.},
  keywords       = {olit-obc osg OOSC02 sclit},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@InProceedings{Duca05h,
  Author         = {St\'ephane Ducasse and Lukas Renggli and Roel Wuyts},
  Title          = {SmallWiki---A Meta-Described Collaborative Content
                   Management System},
  BookTitle      = {Proceedings ACM International Symposium on Wikis
                   (WikiSym'05)},
  Pages          = {75-82},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Computer Society},
  abstract       = {Wikis are often implemented using string-based
                   approaches to parse and generate their pages. While
                   such approaches work well for simple wikis, they hamper
                   the customization and adaptability of wikis to the
                   variety of end-users when more sophisticated needs are
                   required (i.e., different output formats,
                   user-interfaces, wiki managment, security policies,
                   ...). In this paper we present SmallWiki, the second
                   version of a fully object-oriented implementation of a
                   wiki. SmallWiki is implemented with objects from the
                   top to the bottom and it can be customized easily to
                   accommodate new needs. In addition, SmallWiki is based
                   on a powerful meta-description called Magritte that
                   allows one to create user-interface elements
                   declaratively.},
  annote         = {internationalconference},
  cvs            = {SmallWikiTwoOOPSLASymp2005},
  doi            = {http://doi.acm.org/10.1145/1104973.1104981},
  keywords       = {jb06 scg-pub stefPub moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca05hSmallwikiWikiSymp05.pdf},
  year           = 2005
}

@Unpublished{Hond92b,
  Author         = {Kohei Honda},
  Title          = {Representing Functions in an Object Calculus},
  Note           = {submitted for publicatedKeio University},
  keywords       = {pcalc-obc mobility binder},
  misc           = {Oct. 20},
  month          = oct,
  type           = {draft},
  year           = 1992
}

@Article{Vino93a,
  Author         = {Steve Vinoski},
  Title          = {Distributed Object Computing with Corba},
  Journal        = {{C}++ Report Magazine},
  keywords       = {odp},
  month          = jul,
  year           = 1993
}

@InProceedings{Paep88a,
  Author         = {Andreas Paepcke},
  Title          = {{PCLOS}: {A} Flexible Implementation of {CLOS}
                   Persistence},
  BookTitle      = {Proceedings ECOOP '88},
  Editor         = {S. Gjessing and K. Nygaard},
  Series         = {LNCS 322},
  Pages          = {374-389},
  Address        = {Oslo},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop88proc},
  misc           = {August 15-17},
  month          = apr,
  year           = 1988
}

@Article{Dijk75a,
  Author         = {Edsgar W. Dijkstra},
  Title          = {Guarded Commands, Nondeterminacy, and Formal
                   Derivation of Programs},
  Journal        = {CACM},
  Volume         = {18},
  Number         = {8},
  Pages          = {453-457},
  keywords       = {concurrency},
  month          = aug,
  year           = 1975
}

@Proceedings{Kilo93a,
  Title          = {Workshop on Specification of Behavioural Semantics in
                   Object-Oriented Information Modeling ({OOPSLA} '93)},
  Editor         = {Haim Kilov and Bill Harvey},
  keywords       = {olit semantics binder (shelf)},
  month          = sep,
  year           = 1993
}

@Book{Gord79b,
  Author         = {M.J.C. Gordon},
  Title          = {The Denotational Description of Programming Languages},
  Publisher      = {Springer-Verlag},
  keywords       = {pl-semantics},
  year           = 1979
}

@Article{Kruc95a,
  Author         = {Philippe B. Kruchten},
  Title          = {The 4+1 View Model of Architecture},
  Journal        = {IEEE Software},
  Volume         = {12},
  Number         = {6},
  Pages          = {42-50},
  keywords       = {olit architecture},
  month          = nov,
  year           = 1995
}

@Book{Orfa97b,
  Author         = {Robert Orfali and Dan Harkey and Jeri Edwards},
  Title          = {Instant Corba},
  Publisher      = {Wiley},
  isbn           = {0-471-18333-4},
  keywords       = {corba scglib},
  year           = 1997
}

@InProceedings{Maie86a,
  Author         = {David Maier and Jacob Stein and Allen Otis and Alan
                   Purdy},
  Title          = {Development of an Object-Oriented {DBMS}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {472-482},
  keywords       = {olit-db gemstone oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Grau03a,
  Author         = {Paul Graunke and Shriram Krishnamurthi and Van Der
                   Hoeven, Steve and Matthias Felleisen},
  Title          = {Modeling Web Interactions},
  BookTitle      = {Proceedings of ESOP 2003},
  Volume         = {2618},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {122--136},
  year           = 2003
}

@PhdThesis{Banb02a,
  Author         = {M. Banbara},
  Title          = {Design and Implementation of Linear Logic Programming
                   Languages},
  School         = {The Graduate School of Science and Technology of Kobe
                   University},
  month          = sep,
  year           = 2002
}

@TechReport{Mey90b,
  Author         = {Vicki de Mey},
  Title          = {Vista User's Guide},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {ITHACA report},
  Number         = {CUI.90.E.4.#2},
  keywords       = {olit-ithaca vista scripting},
  month          = dec,
  year           = 1990
}

@InProceedings{Mens99a,
  Author         = {Kim Mens and Roel Wuyts and Theo D'Hondt},
  Title          = {Declaratively Codifying Software Architectures using
                   Virtual Software Classifications},
  BookTitle      = {Proceedings of TOOLS-Europe 99},
  Pages          = {33-45},
  annote         = {internationalconference},
  keywords       = {SOUL},
  month          = jun,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens99a.pdf},
  year           = 1999
}

@Book{Vali02a,
  Author         = {Gabriel Valiente},
  Title          = {Algorithms on Trees and Grahs},
  Publisher      = {Springer},
  keywords       = {scglib},
  year           = 2002
}

@Article{Crem02a,
  Author         = {Katja Cremer and Andr{\'e} Marburger and Bernhard
                   Westfechtel},
  Title          = {Graph-based tools for re-engineering},
  Journal        = {Journal of Software Maintenance},
  Volume         = {14},
  Number         = {4},
  Pages          = {257-292},
  doi            = {http://doi.wiley.com/10.1002/smr.254},
  issn           = {1040-550X},
  keywords       = {design-recovery},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2002
}

@Article{Gesc77a,
  Author         = {C.M. Geschke and Morris, Jr., J.H. and E.H.
                   Satterthwaite},
  Title          = {Early Experience with Mesa},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {8},
  Pages          = {540-553},
  keywords       = {olit-oopl mesa},
  month          = aug,
  year           = 1977
}

@InProceedings{Gens94b,
  Author         = {J. Gensel and P. Girard and O. Schmeltzer},
  Title          = {Int\'egration de contraintes, d'objets composites et
                   de t\^aches dans un mod\`ele de repr\'esentation de
                   connaissances par objets},
  BookTitle      = {9eme Congr\`es Reconnaissance des Formes et
                   Intelligence Artificielle},
  Volume         = {2},
  Pages          = {281-292},
  Address        = {Paris},
  month          = jan,
  year           = 1994
}

@Book{Cole94a,
  Author         = {Derek Coleman and Patrick Arnold and Stephanie Bodoff
                   and Chris Dollin and Helena Gilchrist and Fiona Hayes},
  Title          = {Object-Oriented Development: The Fusion Method},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-338823-9},
  keywords       = {oobib(gen) olit book scglib},
  year           = 1994
}

@InProceedings{Gros87a,
  Author         = {Mark Grossman and Raimund K. Ege},
  Title          = {Logical Composition of Object-Oriented Interfaces},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {295-306},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Riva95a,
  Author         = {Fred\`eric Rivard},
  Title          = {{Extension du compilateur Smalltalk: application \`a
                   la param\'etrisation de l'envoi de message}},
  BookTitle      = {JFLA95},
  year           = 1995
}

@InProceedings{Deme99m,
  Author         = {Serge Demeyer},
  Title          = {Structural Computing: The Case for Reengineering Tools},
  BookTitle      = {Proceedings of the 1st Workshop on Structural
                   Computing -- Hypertext '99},
  Editor         = {Peter Nuernberg},
  abstract       = {-No abstract, the paper is only 2 pages-},
  keywords       = {olit famoos-papunr scg-pub skipdoi toBeChecked
                   sergedem-papunr snf99 jb99},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme99m/
                   http://www.iam.unibe.ch/~demeyer/Deme99m/ht99_02.html},
  year           = 1999
}

@InProceedings{Nier04a,
  Author         = {Oscar Nierstrasz},
  Title          = {Software Evolution as the Key to Productivity},
  BookTitle      = {Radical Innovations of Software and Systems
                   Engineering in the Future},
  Editor         = {M. Wirsing, A. Knapp and S. Balsamo},
  Volume         = {2941},
  Series         = {LNCS},
  Pages          = {274-282},
  Publisher      = {Springer-Verlag},
  abstract       = { Despite the existence of a seemingly continuous
                   stream of new technologies and methods, software
                   productivity remains universally unimpressive. We argue
                   that, as long as industry remains focused on short-term
                   goals, and maintains a technology-centric view of
                   software development, no progress will be made. A clear
                   symptom of this problem is the fact that the metaphors
                   we apply to software development are largely obsolete.
                   Instead of thinking about software as we do about
                   bridges, buildings or hardware components, we should
                   encourage a view of software as a living and evolving
                   entity that is developed and maintained by {\it
                   people}. We begin with some assertions that are
                   intended as food for thought. We continue by reviewing
                   what we consider to be some of the key difficulties
                   with software development today. We conclude with a few
                   recommendations for research into software practices
                   that take evolution into account. },
  annote         = {invited},
  cvs            = {RadicalInnovation},
  doi            = {http://dx.doi.org/10.1007/b96009},
  keywords       = {scg-pub jb04 snf04 rissef},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier04aEvolution.pdf},
  year           = 2004
}

@Book{Beau94a,
  Author         = {Michel Beaudouin-Lafon},
  Title          = {Object-oriented Languages: Basic principles and
                   programming techniques},
  Publisher      = {Chapman \& Hall},
  isbn           = {0-412-55800-9},
  keywords       = {oobib book},
  year           = 1994
}

@InProceedings{Deme94m,
  Author         = {Serge Demeyer and Patrick Steyaert and Koen De Hondt},
  Title          = {Techniques for Building Open Hypermedia Systems},
  BookTitle      = {Proceedings of the 1rst Workshop on Open Hypermedia
                   Systems -- Hypertext '94},
  Editor         = {Uffe Kock Wiil and Kasper Osterbye},
  Series         = {R-94-2038},
  Publisher      = {Institute for Electronic Systems --- Department of
                   Mathematics and Computer Science --- Frederik Bajers
                   Vej 7 --- DK 9220 Aalborg --- Denmark},
  abstract       = {This paper describes a methodology the authors found
                   very useful in the development of open systems for
                   object-oriented languages, user-interface builders and
                   hypermedia. We promote the idea of "open designs" as
                   being a key factor for success and discuss software
                   engineering techniques useful in implementing such
                   designs.},
  keywords       = {olit hypermedia zypher sergedem-papunr},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme94m/
                   http://www.iam.unibe.ch/~demeyer/Deme94m/tchohs.html
                   http://www.daimi.aau.dk/~kock/OHS-ECHT94/},
  year           = 1994
}

@InProceedings{Siek06a,
  Author         = {Jeremy G. Siek and Walid Taha},
  Title          = {Gradual Typing for Functional Languages},
  BookTitle      = {Proceedings, Scheme and Functional Programming
                   Workshop 2006},
  Pages          = {81-92},
  Publisher      = {University of Chicago TR-2006-06},
  url            = {http://scheme2006.cs.uchicago.edu/13-siek.pdf},
  year           = 2006
}

@InProceedings{Ishi90a,
  Author         = {Yutaka Ishikawa and Hideyuki Tokuda},
  Title          = {Object-Oriented Real-Time Language Design: Constructs
                   for Timing Constraints},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {289-298},
  keywords       = {olit oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Henn92a,
  Author         = {Matthew Hennessy},
  Title          = {Concurrent Testing of Processes},
  BookTitle      = {Proceedings of CONCUR '92},
  Editor         = {W.R. Cleaveland},
  Volume         = {630},
  Series         = {LNCS},
  Pages          = {94-107},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence concurrency concur92},
  year           = 1992
}

@TechReport{Comp94a,
  Author         = {Adriana B. Compagnoni},
  Title          = {Subtyping in {${F}^\omega_\wedge$} is decidable},
  Institution    = {LFCS, University of Edinburgh},
  Type           = {ECS-LFCS-94-281},
  keywords       = {olit-types},
  month          = jan,
  year           = 1994
}

@TechReport{Lisk93c,
  Author         = {Barbara Liskov and Jeannette M. Wing},
  Title          = {Family Values: {A} Behavioral Notion of Subtyping},
  Institution    = {Carnegie Mellon University},
  Type           = {{CMU-CS-93-187}},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {ftp://reports.adm.cs.cmu.edu/usr/anon/1993/CMU-CS-93-187.ps},
  year           = 1993
}

@InProceedings{Alle97a,
  Author         = {Robert Allen and R\'emi Douence and David Garlan},
  Title          = {Specifying Dynamism in Software Architectures},
  BookTitle      = {Proceedings of ESEC '97 Workshop on Foundations of
                   Component-Based Systems},
  Editor         = {Gary T. Leavens and Murali Sitaraman},
  Pages          = {11-22},
  Address        = {Zurich},
  keywords       = {sa wright csp sa architecture focbs97},
  month          = sep,
  url            = {http://www.cs.iastate.edu/~leavens/FoCBS/allen.ps},
  year           = 1997
}

@TechReport{ECMA83a,
  Author         = {{ECMA}},
  Title          = {Office Document Architecture},
  Institution    = {ECMA},
  Type           = {TC 29/83/56, Fourth Working Draft},
  keywords       = {olit-appl oda ois documents},
  year           = 1983
}

@Book{Guer94a,
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Title          = {Proceedings of the {ECOOP}'93 Workshop on Object-Based
                   Distributed Programming},
  Publisher      = {Springer-Verlag},
  Volume         = {791},
  Series         = {LNCS},
  doi            = {http://dx.doi.org/10.1007/BFb0017530},
  isbn           = {3-540-57932-X},
  keywords       = {olit-obc obdp93 book scglib jb94},
  year           = 1994
}

@InProceedings{Hart92b,
  Author         = {Thorsten Hartmann and Ralf Jungclaus},
  Title          = {Abstract Description of Distributed Object Systems},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {227-244},
  Publisher      = {Springer-Verlag},
  keywords       = {olit-obc obc91},
  year           = 1992
}

@InProceedings{Steel88a,
  Author         = {Luc Steels},
  Title          = {Meaning in knowledge representation},
  BookTitle      = {Meta-level Architectures and Reflection},
  Editor         = {North-Holland, P. Maes and D. Nardi},
  Pages          = {51-59},
  year           = 1988
}

@Article{Anto02b,
  Author         = {Giuliano Antoniol and Gerardo Canfora and Gerardo
                   Casazza and Andrea {De Lucia} and Ettore Merlo},
  Title          = {Recovering Traceability Links between Code and
                   Documentation},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {10},
  Pages          = {970--983},
  year           = 2002
}

@InProceedings{Sand86a,
  Author         = {David Sandberg},
  Title          = {An Alternative to Subclassing},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {424-428},
  keywords       = {olit-inheritance concepts smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Tone99a,
  Author         = {Paolo Tonella and Giuliano Antoniol},
  Title          = {Object Oriented Design Pattern Inference},
  BookTitle      = {Proceedings of ICSM '99 (International Conference on
                   Software Maintenance)},
  Pages          = {230-238},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {fca},
  month          = oct,
  year           = 1999
}

@InProceedings{Lieb89a,
  Author         = {Karl J. Lieberherr and Arthur J. Riel},
  Title          = {Contributions to Teaching Object Oriented Design and
                   Programming},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {11-22},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Lope06a,
  Author         = {Roberto Lopez-Herrejon and Don Batory and Christian
                   Lengauer},
  Title          = {A disciplined approach to aspect composition},
  BookTitle      = {PEPM '06: Proceedings of the 2006 ACM SIGPLAN
                   symposium on Partial evaluation and semantics-based
                   program manipulation},
  Pages          = {68--77},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1111542.1111554},
  isbn           = {1-59593-196-1},
  location       = {Charleston, South Carolina},
  year           = 2006
}

@InProceedings{Liu06,
  Author         = {Jing Liu and Robyn Lutz and Hridesh Rajan},
  Title          = {The Role of Aspects in Modeling Product Line
                   Variabilities},
  BookTitle      = {Proceedings of the 1st Workshop on Aspect-oriented
                   Product Line Engineering (AOPLE' 06)},
  Address        = {Portland, OR, USA},
  Note           = {In conjunction with GPCE'06},
  year           = 2006
}

@PhdThesis{Wern99a,
  Author         = {Michael M. Werner},
  Title          = {Facilitating Schema Evolution With Automatic Program
                   Transformation},
  School         = {Northeastern University},
  keywords       = {refactoring java},
  month          = jul,
  year           = 1999
}

@InProceedings{Henn90a,
  Author         = {Matthew Hennessy and A. Ing\'olfsd\'ottir},
  Title          = {A Theory of Communicating Processes with Value Passing},
  BookTitle      = {Proceedings ICALP '90},
  Editor         = {M.S. Paterson},
  Volume         = {443},
  Series         = {LNCS},
  Pages          = {209-219},
  Address        = {Warwick U.},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc equivalence icalp90 binder},
  month          = jul,
  year           = 1990
}

@InProceedings{Mens01c,
  Author         = {Tom Mens and Tom Tourw\'e},
  Title          = {A Declarative Evolution Framework for Object-Oriented
                   Design Patterns},
  BookTitle      = {Proc. Int. Conf. Software Maintenance},
  Pages          = {570-579},
  Publisher      = {IEEE Computer Society Press},
  year           = 2001
}

@InProceedings{Hond92d,
  Author         = {Kohei Honda and Mario Tokoro},
  Title          = {On Asynchronous Communication Semantics},
  BookTitle      = {Proceedings of the ECOOP '91 Workshop on Object-Based
                   Concurrent Computing},
  Editor         = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner},
  Volume         = 612,
  Series         = {LNCS},
  Pages          = {21-51},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc-obc mobility equivalence concurrency91 binder},
  year           = 1992
}

@InProceedings{Odeh93a,
  Author         = {Mohammed H. Odeh and Julian A. Padget},
  Title          = {Object-Oriented Execution of OPS5 Production Systems},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {178-190},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@Misc{Meye93b,
  Author         = {Bertrand Meyer and Jean-Marc Nerson},
  Title          = {Object-Oriented Applications},
  isbn           = {13-013789-7},
  keywords       = {olit-appl book scglib},
  year           = 1993
}

@InProceedings{Cox87a,
  Author         = {Brad J. Cox and Kurt J. Schmucker},
  Title          = {Producer: {A} Tool for Translating {Smalltalk}-80 to
                   Objective-{C}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {423-429},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Thom91a,
  Author         = {Simon Thompson},
  Title          = {Type Theory and Functional Programming},
  Publisher      = {Addison Wesley},
  Series         = {International Computer Science Series},
  Address        = {Reading, Mass.},
  isbn           = {0-201-41667-0},
  keywords       = {types dependent pl book scglib},
  year           = 1991
}

@Booklet{Duca00z,
  Title          = {Caro, Dis-moi c'est quoi programmer?},
  Author         = {St\'ephane Ducasse and Florence Ducasse},
  Note           = {Support de cours de Technologie, 150 pages,
                   http://www.iam.unibe.ch/~ducasse/},
  annote         = {lectures},
  keywords       = {scg-old scg-misc stefPub},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca00zCaroLecturesFr.pdf},
  year           = 2000
}

@InProceedings{Gull92a,
  Author         = {Bjorn Gulla},
  Title          = {Improved Maintenance Support by Multi-Version
                   Visualizations},
  BookTitle      = {Proceedings Conference on Software Maintenance (ICSM
                   1992)},
  Pages          = {376-383},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {evolution},
  month          = nov,
  year           = 1992
}

@Article{Liebe89b,
  Author         = {K. Lieberherr and I. Holland},
  Title          = {Assuring a Good Style for Object-Oriented Programs},
  Journal        = {IEEE Software},
  Pages          = {38-48},
  month          = sep,
  year           = 1989
}

@PhdThesis{Steg92a,
  Author         = {Robert A. Stegwee},
  Title          = {Division for {Conquest} --- {Decision} {Support} for
                   {Information} {Architecture} {Specification}},
  School         = {University of Groningen, Groningen, The Netherlands},
  Type           = {Ph.{D}. Thesis},
  keywords       = {clustering},
  year           = 1992
}

@InProceedings{Kicz92b,
  Author         = {Gregor Kiczales},
  Title          = {Towards a {New} {Model} of {Abstraction} in the
                   {Engineering} of {Software}},
  BookTitle      = {Proc. of IMSA '92 Workshop on Reflection and
                   Meta-Level Architecture},
  year           = 1992
}

@InProceedings{Bunk06a,
  Author         = {H. Bunke and P. Dickinson and A. Humm and Ch. Irniger
                   and M. Kraetzl},
  Title          = {Computer network monitoring and abnormal event
                   detection using graph matching and multidimensional
                   scaling},
  BookTitle      = {Advances in Data Mining, Proc.\ 6th Industrial
                   Conference on Data Mining, ICDM},
  Editor         = {Perner, P.},
  Series         = {LNAI 4065},
  Pages          = {576--590},
  Address        = {Leipzig, Germany},
  Publisher      = {Springer},
  doi            = {http://dx.doi.org/10.1007/11790853_45},
  month          = jul,
  year           = 2006
}

@InProceedings{Star93a,
  Author         = {Mike Stark},
  Title          = {Impacts of Object-Oriented Technologies: Seven Years
                   of {SEL} Studies},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {365-373},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InCollection{Nier95d,
  Author         = {Oscar Nierstrasz},
  Title          = {Regular Types for Active Objects},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {99-121},
  abstract       = {Previous work on type-theoretic foundations for
                   object-oriented programming languages has mostly
                   focused on applying or extending functional type theory
                   to functional "objects." This approach, while
                   benefiting from a vast body of existing literature, has
                   the disadvantage of dealing with state change either in
                   a roundabout way or not at all, and completely
                   sidestepping issues of concurrency. In particular,
                   dynamic issues of non-uniform service availability and
                   conformance to protocols are not addressed by
                   functional types. We propose a new type framework that
                   characterizes objects as regular (finite state)
                   processes that provide guarantees of service along
                   public channels. We also propose a new notion of
                   subtyping for active objects, based on Brinksma's
                   notion of extension, that extends Wegner and Zdonik's
                   "principle of substitutability" to non-uniform service
                   availability. Finally, we formalize what it means to
                   "satisfy a client's expectations," and we show how
                   regular types can be used to tell when sequential or
                   concurrent clients are satisfied.},
  keywords       = {olit-obc osg OOSC04 scg-pub skipdoi toBeChecked snf95
                   rtao jb94 omnrep},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Book{Deme02a,
  Author         = {Serge Demeyer and St{\'e}phane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Object-Oriented Reengineering Patterns},
  Publisher      = {Morgan Kaufmann},
  abstract       = {The rapid growth of object-oriented development over
                   the past twenty years has given rise to many
                   object-oriented systems that are large, complex and
                   hard to maintain. Object-Oriented Reengineering
                   Patterns addresses the problem of understanding and
                   reengineering such object-oriented legacy systems. This
                   book collects and distills successful techniques in
                   planning a reengineering project, reverse-engineering,
                   problem detection, migration strategies and software
                   redesign. The material in this book is presented as a
                   set of "reengineering patterns" -- recurring solutions
                   that experts apply while reengineering and maintaining
                   object-oriented systems. The principles and techniques
                   described in this book have been observed and validated
                   in a number of industrial projects, and reflect best
                   practice in object-oriented reengineering.},
  annote         = {book},
  isbn           = {1-55860-639-4},
  keywords       = {olit scg-pub skipdoi jb02 patterns reeng snf02 stefPub
                   moose-pub},
  url            = {http://www.iam.unibe.ch/~scg/OORP},
  year           = 2002
}

@Article{Inve95a,
  Author         = {Paola Inverardi and Alexander L. Wolf},
  Title          = {Formal Specification and Analysis of Software
                   Architectures Using the Chemical Abstract Machine Model},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {21},
  Number         = {4},
  keywords       = {cham concurrency binder},
  month          = apr,
  url            = {ftp://ftp.cs.colorado.edu/users/alw/papers/tse0495.ps.Z},
  year           = 1995
}

@InProceedings{Vasc94a,
  Author         = {Vasco T. Vasconcelos},
  Title          = {Typed Concurrent Objects},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {100-117},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  url            = {ftp://ftp.cs.keio.ac.jp/pub/keio-cs-papers/mt/theory/1994/vasco-ecoop94.dvi.gz},
  year           = 1994
}

@TechReport{Deme96b,
  Author         = {Serge Demeyer and Theo Dirk Meijler and Robb Nebbe},
  Title          = {State-of-the-Art in Software Models},
  Institution    = {University of Bern},
  month          = nov,
  year           = 1996
}

@Book{Tsic91d,
  Editor         = {D. Tsichritzis},
  Title          = {Object Composition},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg oc91 book scglib},
  month          = jun,
  year           = 1991
}

@InProceedings{Gil96a,
  Author         = {Joseph Gil and David H. Lorenz},
  Title          = {{Environmental} {Acquisition} -- {A} New
                   Inheritance-Like Abstraction Mechanism},
  BookTitle      = {Proceedings of OOPSLA'96},
  Pages          = {214-231},
  year           = 1996
}

@InProceedings{Metz94a,
  Author         = {Igor Metz},
  Title          = {Finding Neighbours in d-dimensional Binary Digital
                   Images Represented by Bintrees},
  BookTitle      = {Proceedings of the Fourth Conference on Discrete
                   Geometry for Computer Imagery},
  Address        = {Grenoble},
  abstract       = {An algorithm for moving between adjacent regions in a
                   binary digital image representated by a bintree is
                   presented. This algorithm differs from other
                   neighbour-finding algorithms in hierarchical image
                   representations, as it exploits the nature of bintrees
                   and thus can perform independently of any specific
                   dimension of image or space. The algorithm is hybrid in
                   its nature, as it uses a linear tree notation
                   (locational codes) to find its way in a tree
                   implemented with pointers.},
  keywords       = {snf-none olit toBeChecked jb94},
  month          = sep,
  year           = 1994
}

@InProceedings{Mese90b,
  Author         = {Jos\'e Meseguer},
  Title          = {A Logical Theory of Concurrent Objects},
  BookTitle      = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices},
  Volume         = {25},
  Pages          = {101-115},
  keywords       = {olit-obcl maude semantics oopsla90 ecoop90proc},
  month          = oct,
  year           = 1990
}

@InProceedings{Cous85a,
  Author         = {Guy Cousineau and Pierre-Louis Curien and M. Mauny},
  Title          = {The Categorical Abstract Machine},
  BookTitle      = {Proceedings Functional Programming languages and
                   Computer Architecture},
  Editor         = {J-P. Jouannaud},
  Volume         = {201},
  Series         = {LNCS},
  Pages          = {50-64},
  Publisher      = {Springer-Verlag},
  keywords       = {fpl caml semantics binder},
  year           = 1985
}

@TechReport{Kons90a,
  Author         = {Dimitri Konstantas},
  Title          = {A Dynamically Scalable Distributed Object-Oriented
                   System},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {We present a model of a distributed system that
                   preserves the personal aspects of today's advanced
                   personal workstations. Its advantages over conventional
                   distributed systems are described, and design issues
                   are presented. Finally, we sketch the extensions needed
                   to convert the object oriented language and system,
                   Hybrid, to the new distributed system model.},
  editor         = {D. Tsichritzis},
  keywords       = {olit hybrid osg om90},
  month          = jul,
  pages          = {245-254},
  year           = 1990
}

@InProceedings{Swee85a,
  Author         = {R.E. Sweet},
  Title          = {The Mesa Programming Environment},
  BookTitle      = {Proceedings ACM SIGPLAN 85 Symposium on Language
                   Issues in Programming Environments, ACM SIGPLAN Notices},
  Volume         = {20},
  Pages          = {216-229},
  keywords       = {olit-oopl mesa},
  month          = jul,
  year           = 1985
}

@InProceedings{Furn86a,
  Author         = {George W. Furnas},
  Title          = {Generalized {Fisheye} {View}},
  BookTitle      = {Proceedings of CHI '86 (Conference on Human Factors in
                   Computing Systems)},
  Pages          = {16-23},
  Publisher      = {ACM Press},
  location       = {Massachusetts, USA},
  year           = 1986
}

@InProceedings{Oden97a,
  Author         = {Georg Odenthal and Klaus Quibeldey-Cirkel},
  Title          = {Using Patterns for Design and Documentation},
  BookTitle      = {Proceedings of ECOOP '97},
  Volume         = 1241,
  Series         = {LNCS},
  Pages          = {511-529},
  Publisher      = {Springer-Verlag},
  month          = jun,
  year           = 1997
}

@MastersThesis{Gibb79a,
  Author         = {Simon Gibbs},
  Title          = {{OFS}: An Office Form System for a Network
                   Architecture},
  School         = {Department of Computer Science, University of Toronto},
  Type           = {M.Sc. thesis},
  keywords       = {oislit ofs forms networks},
  year           = 1979
}

@PhdThesis{Lump99a,
  Author         = {Markus Lumpe},
  Title          = {A Pi-Calculus Based Approach to Software Composition},
  School         = {University of Bern, Institute of Computer Science and
                   Applied Mathematics},
  Type           = {Ph.{D}. Thesis},
  abstract       = {Present-day applications are increasingly required to
                   be flexible, or "open" in a variety of ways. By
                   flexibility we mean that these applications have to be
                   portable (to different hardware and software
                   platforms), interoperable (with other applications),
                   extendible (to new functionality), configurable (to
                   individual users' or clients' needs), and maintainable.
                   These kinds of flexibility are currently best supported
                   by component-oriented software technology: components,
                   by means of abstraction, support portability,
                   interoperability, and maintainability. Extendibility
                   and configurability are supported by different forms of
                   binding technology, or "glue": application parts, or
                   even whole applications can be created by composing
                   software components; applications stay flexible by
                   allowing components to be replaced or reconfigured,
                   possibly at runtime. This thesis develops a formal
                   language for software composition that is based on the
                   Pi-calculus. More precisely, we present the L-calculus,
                   a variant of the Pi-calculus in which agents
                   communicate by passing extensible, labeled records, or
                   so-called "forms", rather than tuples. This approach
                   makes it much easier to model compositional
                   abstractions than it is possible in the plain
                   Pi-calculus, since the contents of communication are
                   now independent of position, agents are more naturally
                   polymorphic since communication forms can be easily
                   extended, and environmental arguments can be passed
                   implicitly. The L-calculus is developed in three
                   stages: (i) we analyse whether the Pi-calculus is
                   suitable to model composition abstractions, (ii) driven
                   by the insights we got using the Pi-calculus, we de ne
                   a new calculus that has better support for software
                   composition (e.g., provides support for inherently
                   extensible software construction), and (iii), we de ne
                   a first-order type system with subtype polymorphism and
                   sound record concatenation that allows us to check
                   statically an agent system in order to prevent the
                   occurrences of run-time errors. We conclude with
                   defining a first Java-based composition system and
                   Piccola, a prototype composition language based on the
                   L-calculus. The composition system provides support for
                   integrating arbitrary compositional abstractions using
                   both Piccola and standard bridging technologies like
                   RMI and CORBA. Furthermore, the composition systems
                   maintains a composition library that provides
                   components in a uniform way.},
  keywords       = {scg-pub skipdoi toBeChecked scg-phd pil olit pi cose
                   glue piccola snf99 scg-coord-99 jb99},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/lumpe-phd.pdf
                   http://www.iam.unibe.ch/~scg/Archive/PhD/lumpe-phd.ps.gz},
  year           = 1999
}

@Book{Smit05b,
  Author         = {James E. Smith and Ravi Nair},
  Title          = {Virtual Machines},
  Publisher      = {Morgan Kaufmann},
  isbn           = {1-55860-910-5},
  keywords       = {scglib},
  year           = 2005
}

@Book{Shar97a,
  Author         = {Alec Sharp},
  Title          = {{Smalltalk} by Example},
  Publisher      = {McGraw-Hill},
  keywords       = {book smalltalk scglib oorp},
  url            = {http://www.iam.unibe.ch/~ducasse/FreeBooks/ByExample/SmalltalkByExampleON2.pdf
                   http://www.iam.unibe.ch/~ducasse/FreeBooks/ByExample/},
  year           = 1997
}

@Misc{Simm02a,
  Author         = {Dave Simmons},
  Title          = {SmallScript},
  url           = {http://web.archive.org/web/20071011013213/http://www.smallscript.com/},
  Note           = {\\ \url{http://web.archive.org/web/20071011013213/http://www.smallscript.com/}},
  key            = {SS},
  year           = 2007,
  month          = jan
}

@Misc{JWIG,
  Title          = {{JWIG}, Java Extensions for High-Level Web Service
                   Development},
  Note           = {http://www.brics.dk/JWIG/},
  key            = {JWIG}
}

@Book{Hump97a,
  Author         = {Watts Humphrey},
  Title          = {Introduction to the Personal Software Process},
  Publisher      = {Addison Wesley},
  Series         = {SEI Series in Software Engineering},
  isbn           = {0-201-54809-7},
  keywords       = {scglib},
  year           = 1997
}

@InProceedings{Gold03a,
  Author         = {Nicolas Gold and Andrew Mohan},
  Title          = {A Framework for Understanding Conceptual Changes in
                   Evolving Source Code},
  BookTitle      = {Proceedings of International Conference on Software
                   Maintenance 2003 (ICSM 2003)},
  Pages          = {432-439},
  keywords       = {olit},
  month          = sep,
  year           = 2003
}

@InProceedings{Ichi02a,
  Author         = {Yuuji Ichisugi and Akira Tanaka},
  Title          = {Difference-based modules: A class independent module
                   mechanism},
  BookTitle      = {Proceedings ECOOP 2002},
  Volume         = 2374,
  Series         = {LNCS},
  Address        = {Malaga, Spain},
  Publisher      = {Springer Verlag},
  keyword        = {modules mixjuice},
  month          = jun,
  url            = {http://staff.aist.go.jp/y-ichisugi/mj/},
  year           = 2002
}

@InCollection{Nier95c,
  Author         = {Oscar Nierstrasz and Laurent Dami},
  Title          = {Component-Oriented Software Technology},
  BookTitle      = {Object-Oriented Software Composition},
  Publisher      = {Prentice-Hall},
  Editor         = {Oscar Nierstrasz and Dennis Tsichritzis},
  Pages          = {3-28},
  abstract       = {Modern software systems are increasingly required to
                   be open and distributed. Such systems are open not only
                   in terms of network connections and interoperability
                   support for heterogeneous hardware and software
                   platforms, but, above all, in terms of evolving and
                   changing requirements. Although object-oriented
                   technology offers some relief, to a large extent the
                   languages, methods and tools fail to address the needs
                   of open systems because they do not escape from
                   traditional models of software development that assume
                   system requirements to be closed and stable. We argue
                   that open systems requirements can only be adequately
                   addressed by adopting a component-oriented as opposed
                   to a purely object-oriented software development
                   approach, by shifting emphasis away from programming
                   and towards generalized software composition.},
  keywords       = {olit osg OOSC01 scg-pub skipdoi toBeChecked snf95 jb94
                   sclit omnrep},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html},
  year           = 1995
}

@Article{Robb98a,
  Author         = {Jason E. Robbins and David F. Redmiles},
  Title          = {Software Architecture Critics in the Argo Design
                   Environment},
  Journal        = {Knowledge-Based Systems},
  Volume         = {11},
  Number         = {1},
  Pages          = {47--60},
  doi            = {10.1016/S0950-7051(98)00055-0},
  publisher      = {Elsevier},
  year           = 1998
}

@InProceedings{Kiel95b,
  Author         = {T. Kielmann and Guido Wirtz},
  Title          = {Coordination Requirements for Open Distributed Systems},
  BookTitle      = {Proc. of PARCO '95},
  Address        = {Gent, Belgium},
  Publisher      = {Elsevier},
  keywords       = {olit coordination},
  month          = sep,
  year           = 1995
}

@Misc{Rain99a,
  Title          = {RainCode},
  key            = {RC},
  url            = {www.raincode.com}
}

@TechReport{Bueh03a,
  Author         = {Thomas B\"uhler},
  Title          = {{MooseGager}, a Software Metrics Tool based on {Moose}},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Moose is a tool environment to reverse engineer and
                   reengineer object-oriented systems. One feature of this
                   environment is to compute software measurements based
                   on the underlying FAMIX model. A problem of this
                   service was that many measurements were computed but
                   could not be used in an efficient manner because they
                   were not presented to the user. The solution to this
                   problem is a tool that displays the computed
                   measurements using a graphical user interface. In this
                   project, we developed the tool MooseGager. This tool
                   displays the computed measurements of the entities of
                   the underlying model in a simple way and also offers
                   the possibility to generate charts based on these
                   measurements. These and other features of this tool
                   provide an interface to the Moose reengineering
                   environment that helps the user to use the available
                   measurements efficiently.},
  keywords       = {scg-ip jb04 recast04 moose-pub},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Bueh03a.pdf},
  year           = 2003
}

@InProceedings{Rill02a,
  Author         = {Juergen Rilling and S. P. Mudur},
  Title          = {On the Use of Metaballs to Visually Map Source Code
                   Structures and Analysis Results onto 3D Space},
  BookTitle      = {WCRE 2002 Proceedings},
  Editor         = {A. van Deursen and Elizabeth Burd},
  Pages          = {299-308},
  Organization   = {IEEE},
  Publisher      = {IEEE Computer Society},
  year           = 2002
}

@Book{Mont96a,
  Editor         = {Ugo Montarini and Vladimiro Sassone},
  Title          = {Proceedings {CONCUR}'96},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 1119},
  Address        = {Pisa-Italy},
  isbn           = {3-540-616047},
  keywords       = {olit concur96 scglib},
  month          = aug,
  year           = 1996
}

@InProceedings{Kea03a,
  Author         = {Roger Keays and Andry Rakotonirainy},
  Title          = {Context-oriented programming},
  BookTitle      = {MobiDe '03: Proceedings of the 3rd ACM international
                   workshop on Data engineering for wireless and mobile
                   access},
  Pages          = {9--16},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/940923.940926},
  isbn           = {1-58113-767-2},
  keywords       = {cop-lit},
  location       = {San Diego, CA, USA},
  year           = 2003
}

@Book{Lore95a,
  Author         = {Mark Lorenz},
  Title          = {Rapid Software Development with {Smalltalk}},
  Publisher      = {SIGS Books},
  keywords       = {book scglib smalltalk},
  year           = 1995
}

@InProceedings{Dega93a,
  Author         = {P. Degano and R. Gorrieri and S. Vigna},
  Title          = {On Relating Some Models for Concurrency},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {15-30},
  Publisher      = {Springer-Verlag},
  keywords       = {concurrency tapsoft93},
  month          = apr,
  year           = 1993
}

@Book{Gore96a,
  Author         = {Jacob Gore},
  Title          = {Object Structures: Building Object-Oriented Software
                   Components with Eiffel},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63480-5},
  keywords       = {olit-oopl eiffel components},
  year           = 1996
}

@InProceedings{Penn87a,
  Author         = {D. Jason Penney and Jacob Stein},
  Title          = {Class Modification in the GemStone Object-Oriented
                   {DBMS}},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {111-117},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Alen91a,
  Author         = {Antonio J. Alencar and Joseph A. Goguen},
  Title          = {{OOZE}: An Object-Oriented {Z} Environment},
  BookTitle      = {Proceedings ECOOP '91},
  Editor         = {P. America},
  Volume         = 512,
  Series         = {LNCS},
  Pages          = {180-199},
  Address        = {Geneva, Switzerland},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop91proc},
  misc           = {July 15--19},
  month          = jul,
  year           = 1991
}

@InProceedings{Hook84a,
  Author         = {J.G. Hook},
  Title          = {Understanding Russell: {A} First Attempt},
  BookTitle      = {Proceedings, Semantics of Data Types},
  Editor         = {Kahn and MacQueen and Plotkin},
  Volume         = {173},
  Series         = {LNCS},
  Pages          = {69-85},
  Address        = {Sophia-Antipolis},
  Publisher      = {Springer-Verlag},
  keywords       = {fpl russell tfc},
  year           = 1984
}

@InProceedings{Rieh98a,
  Author         = {Dirk Riehle and Thomas Gross},
  Title          = {Role Model Based Framework Design and Integration},
  BookTitle      = {Proceedings OOPSLA '98, ACM SIGPLAN Notices},
  Pages          = {117-133},
  keywords       = {olit oopsla98 oorp},
  month          = oct,
  year           = 1998
}

@InProceedings{Vieg00a,
  Author         = {John Viega and Paul Reynolds and Reimer Behrends},
  Title          = {Automating Delegation in Class-Based Languages},
  BookTitle      = {Proceedings of TOOLS 34'00},
  Pages          = {171-182},
  month          = jul,
  year           = 2000
}

@InProceedings{Abad95e,
  Author         = {M. Abadi and L. Cardelli},
  Title          = {An imperative object calculus: Basic typing and
                   soundness},
  BookTitle      = {{SIPL} '95 - Proc. Second {ACM} {SIGPLAN} Workshop on
                   State in Programming Languages},
  Publisher      = {Technical Report UIUCDCS-R-95-1900, Department of
                   Computer Science, University of Illinois at
                   Urbana-Champaign},
  url            = {citeseer.ist.psu.edu/article/abadi95imperative.html},
  year           = 1995
}

@Book{Jons94a,
  Editor         = {Bengt Jonson and Joachim Parrow},
  Title          = {Proceedings {CONCUR}'94},
  Publisher      = {Springer-Verlag},
  Volume         = {836},
  Series         = {LNCS},
  Address        = {Uppsala, Sweden},
  isbn           = {3-540-58329-7},
  keywords       = {olit concur94 scglib},
  month          = aug,
  year           = 1994
}

@InProceedings{Tone97a,
  Author         = {Paolo Tonella and Giuliano Antoniol and Roberto Fiutem
                   and Ettore Merlo},
  Title          = {Flow Insensitive C++ Pointers and Polymorphism
                   Analysis and its Application to Slicing},
  BookTitle      = {Proceedings ICSE '97},
  Organization   = {IEEE},
  keywords       = {fca},
  month          = may,
  year           = 1997
}

@Article{Mens03a,
  Author         = {Tom Mens and Roel Wuyts and Kris De Volder and Kim
                   Mens},
  Title          = {Workshop Proceedings --- Declarative Meta Programming
                   to Support Software Development},
  Journal        = {ACM SIGSOFT Software Engineering Notes},
  Volume         = {28},
  Number         = {2},
  abstract       = {This paper reports on the results of the workshop on
                   Declarative Meta Programming to Support Software
                   Development in Edinburgh on September 23, 2002. It
                   enumerates the presentations made, classifies the
                   contributions and lists the main results of the
                   discussions held at the workshop. As such it provides
                   the context for future workshops around this topic.},
  annote         = {workshopproceedings},
  doi            = {http://doi.acm.org/10.1145/638750.638770},
  keywords       = {snf03 scg-pub jb03},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Mens03a.pdf},
  year           = 2003
}

@Article{Hend02a,
  Author         = {Dean Hendrix and Cross II, James H. and Saeed
                   Maghsoodloo},
  Title          = {The {Effectiveness} of {Control} {Structure}
                   {Diagrams} in {Source} {Code} {Comprehension}
                   {Activities}},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {28},
  Number         = {5},
  Pages          = {463-477},
  month          = may,
  year           = 2002
}

@Book{Coop99a,
  Author         = {Alan Cooper},
  Title          = {The Inmates are running the Asylum},
  Publisher      = {SAMS},
  keywords       = {scglib},
  year           = 1999
}

@Book{Kane97a,
  Author         = {Jonni Kanerva},
  Title          = {The {Java} {FAQ}},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63456-2},
  keywords       = {java scglib},
  year           = 1997
}

@InProceedings{Sato05a,
  Author         = {Yoshiki Sato and Shigeru Chiba},
  Title          = {Loosely-separated ``Sister'' Namespaces in {Java}},
  BookTitle      = {Proceedings ECOOP 2005},
  year           = 2005
}

@InCollection{Card91b,
  Author         = {Luca Cardelli},
  Title          = {Typeful programming},
  BookTitle      = {Formal Description of Programming Concepts},
  Publisher      = {Springer-Verlag},
  Editor         = {E. J. Neuhold and M. Paul},
  Series         = {IFIP State of the Art Reports Series},
  Pages          = {431-507},
  url            = {http://www.luca.demon.co.uk/Bibliography.htm},
  year           = 1991
}

@Book{Harv94a,
  Author         = {Brian Harvey and Matthew Wright},
  Title          = {Simply {Scheme}: introducing computer science},
  Publisher      = {MIT Press},
  year           = 1994
}

@Article{ACM94b,
  Author         = {{ACM}},
  Title          = {Reverse Engineering},
  Journal        = {Communications of the ACM},
  Volume         = {37},
  Number         = {5},
  institution    = {ACM},
  keywords       = {scglib},
  month          = may,
  year           = 1994
}

@Article{Deux90a,
  Author         = {O. Deux and et al.},
  Title          = {The Story of O2},
  Journal        = {IEEE Transactions on Knowledge and Data Engineering},
  Volume         = {2},
  Number         = {1},
  Pages          = {91-108},
  abstract       = {This is a complete description of the O2 system. O2 is
                   an object-oriented database system. It thus has the
                   functionality of a DBMS (persistence, disk management,
                   sharing, and query language) and that of an
                   object-oriented system (complex objects, object
                   identity, encapsulation, typing, inheritance,
                   overriding, extensibility, and completeness). It also
                   includes a set of user interface generation tools and a
                   complete programming environment. O2 supports a
                   multilanguage paradigm, a dual mode of operation
                   (development and execution), and operates on a
                   workstation/server configuration. We describe the
                   system as seen from the programmer's point of view, and
                   as seen through the programming environment. We also
                   provide a complete description of the implementation.
                   Finally, we give an evaluation of the prototype.},
  keywords       = {olit-oodb (smc)},
  month          = mar,
  year           = 1990
}

@Article{Bent86a,
  Author         = {Jon Louis Bentley},
  Title          = {Programming Pearls: Little Languages},
  Journal        = {Communications of the ACM},
  Volume         = {29},
  Number         = {8},
  Pages          = {711-721},
  abstract       = {Discusses the design of {\em ad hoc} languages for
                   specialist tasks, such as {\GRAP}.},
  annote         = {Description of the {\em pic\/} language.},
  keywords       = {programming pearls},
  month          = aug,
  year           = 1986
}

@InProceedings{Fere94b,
  Author         = {Szabolcs Ferenczi},
  Title          = {Concurrent Objects with Inherited Synchronizations},
  BookTitle      = {Proceedings of the 2nd International Workshop on
                   Massive Parallelism: Hardware, Software and
                   Applications},
  Editor         = {M. Mango Furnari},
  Series         = {World Scientific Publishing Co., 1994},
  Pages          = {80-89},
  Address        = {Capri, Italy},
  keywords       = {olit-obc distributed-processes concurrency inheritance
                   binder},
  misc           = {Oct. 3-7},
  month          = oct,
  url            = {http://www.kfki.hu/~ferenczi/MP94.html},
  year           = 1994
}

@Book{Sedg92a,
  Author         = {Robert Sedgewick},
  Title          = {Algorithms in C++},
  Publisher      = {Addison Wesley},
  keywords       = {olit},
  year           = 1992
}

@Book{Gosl96c,
  Author         = {James Gosling and Frank Yelling and The {Java} Team},
  Title          = {The {Java} Application Programming Interface Volume 2},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63459-7},
  keywords       = {olit oopl java scglib},
  year           = 1996
}

@InProceedings{Math05a,
  Author         = {Kirsten Matheus and Rolf Morich and Cornelius Menig
                   and Andreas L\"{u}bke and Bernd Rech and Will Specks},
  Title          = {Car-to-Car Communication - Market Introduction and
                   Success Factors},
  BookTitle      = {In the Proceedings of the 5th European Congress and
                   Exhibition on Intelligent Transport Systems and
                   Services (ITS'05)},
  year           = 2005
}

@InProceedings{Lano92a,
  Author         = {K.C. Lano and H. Haughton},
  Title          = {Reasoning and Refinement in Object-Oriented
                   Specification Languages},
  BookTitle      = {Proceedings ECOOP '92},
  Editor         = {O. Lehrmann Madsen},
  Volume         = {615},
  Series         = {LNCS},
  Pages          = {78-97},
  Address        = {Utrecht, the Netherlands},
  Publisher      = {Springer-Verlag},
  keywords       = {olit specification ecoop92proc},
  month          = jun,
  year           = 1992
}

@Article{Andr98a,
  Author         = {Jean-Marc Andreoli and Francois Pacull and Daniele
                   Pagani and Remo Pareschi},
  Title          = {Multiparty Negotiation of Dynamic Distributed Object
                   Services},
  Journal        = {The Journal of Science of Computer Programming},
  Volume         = {??},
  Number         = {??},
  Pages          = {??},
  keywords       = {coordination binder},
  year           = 1998
}

@InProceedings{Mayr96b,
  Author         = {Jean Mayrand and Claude Leblanc and Ettore M. Merlo},
  Title          = {Automatic detection of Function Clones in a Software
                   System using Metrics},
  BookTitle      = {Proceedings of ICSM (International Conference on
                   Software Maintenance)},
  year           = 1996
}

@InProceedings{Kahn86a,
  Author         = {Ken Kahn and Eric Dean Tribble and Mark S. Miller and
                   Daniel G. Bobrow},
  Title          = {Objects in Concurrent Logic Programming Languages},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {242-257},
  keywords       = {olit-obcl vulcan prolog oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Laem01a,
  Author         = {Ralf L\"ammel and Chris Verhoef},
  Title          = {Semi-automatic Grammar Recovery},
  Journal        = {Software---Practice \& Experience},
  Volume         = {31},
  Number         = {15},
  Pages          = {1395-1438},
  doi            = {http://doi.wiley.com/10.1002/spe.423.abs},
  keywords       = {parsing},
  month          = dec,
  url            = {http://www.cs.vu.nl/grammars/ge.html},
  year           = 2001
}

@InProceedings{Heuz03a,
  Author         = {Dirk Heuzeroth and Thomas Holl and Gustav H\"ogstr\"om
                   and Welf L\"owe},
  Title          = {Automatic Design Pattern Detection},
  BookTitle      = {International Workshop on Program Comprehension},
  Pages          = {94-104},
  issn           = {1092-8138},
  year           = 2003
}

@Article{Conw63a,
  Author         = {Melvin E. Conway},
  Title          = {Design of a separable transition-diagram compiler},
  Journal        = {Commun. ACM},
  Volume         = {6},
  Number         = {7},
  Pages          = {396--408},
  address        = {New York, NY, USA},
  doi            = {http://doi.acm.org/10.1145/366663.366704},
  issn           = {0001-0782},
  publisher      = {ACM Press},
  year           = 1963
}

@Article{Kosk04a,
  Author         = {Jussi Koskinen and Airi Salminen and Jukka Paakki},
  Title          = {Hypertext support for the information needs of
                   software maintainers},
  Journal        = {Journal on Software Maintenance Evolution: Research
                   and Practice},
  Volume         = {16},
  Number         = {3},
  Pages          = {187--215},
  address        = {New York, NY, USA},
  doi            = {http://dx.doi.org/10.1002/smr.292},
  issn           = {1532-060X},
  publisher      = {John Wiley \& Sons, Inc.},
  year           = 2004
}

@Misc{JSR292,
  Title          = {{JSR-000292} {Supporting} {Dynamically} {Typed} {Languages} on the {Java} {Platform}},
  Note           = {\\ \url{http://jcp.org/aboutJava/communityprocess/edr/jsr292/index.html}},
  key            = {java jsr invoke dynamic},
  url            = {http://jcp.org/aboutJava/communityprocess/edr/jsr292/index.html},
  month = 2010,
  year = aug
}

@TechReport{Tich97c,
  Author         = {Sander Tichelaar},
  Title          = {A Framework-based Approach to Coordination},
  Institution    = {University of Bern},
  Type           = {SCG working paper},
  keywords       = {odp coordination frameworks scg-wp snf96 scg-coord-old},
  year           = 1997
}

@Misc{JHotDraw,
  Title          = {JHotDraw: a Java GUI framework for technical and
                   structured Graphics},
  Note           = {\url{www.jhotdraw.org}},
  key            = {JHotDraw},
  url            = {http://www.jhotdraw.org}
}

@InProceedings{Marq89a,
  Author         = {Jos\'e Alves Marques and Paulo Guedes},
  Title          = {Extending the Operating System to Support an
                   Object-Oriented Environment},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {113-122},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Lien06a,
  Author         = {Adrian Lienhard and St\'ephane Ducasse and Tudor
                   G\^irba and Oscar Nierstrasz},
  Title          = {Capturing How Objects Flow At Runtime},
  BookTitle      = {Proceedings International Workshop on Program
                   Comprehension through Dynamic Analysis (PCODA 2006)},
  Pages          = {39--43},
  abstract       = {Most of today's dynamic analysis approaches are based
                   on method traces. However, in the case of
                   object-orientation understanding program execution by
                   analyzing method traces is complicated because the
                   behavior of a program depends on the sharing and the
                   transfer of object references (aliasing). We argue that
                   trace-based dynamic analysis is at a too low level of
                   abstraction for object-oriented systems. We propose a
                   new approach that captures the life cycle of objects by
                   explicitly taking into account object aliasing and how
                   aliases propagate during the execution of the program.
                   In this paper, we present in detail our new meta-model
                   and discuss future tracks opened by it.},
  annote         = {internationalworkshop},
  keywords       = {scg-pub skipdoi stefPub girba jb07 fb06 snf07},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Lien06aCapturingHowObjectsFlowPCODA06.pdf
                   http://www.lore.ua.ac.be/Events/PCODA2006/index.html},
  year           = 2006
}

@InProceedings{Coin89a,
  Author         = {Jean-Pierre Briot and Pierre Cointe},
  Title          = {{Programming with Explicit Metaclasses in
                   {Smalltalk}-80}},
  BookTitle      = {Proceedings OOPSLA '89},
  Pages          = {419-432},
  month          = oct,
  year           = 1989
}

@InProceedings{Male01a,
  Author         = {Jonathan I. Maletic and Andrian Marcus},
  Title          = {Supporting Program Comprehension Using Semantic and
                   Structural Information},
  BookTitle      = {Proceedings of the 23rd International Conference on
                   Software Engineering (ICSE 2001)},
  Pages          = {103--112},
  keywords       = {lsi},
  month          = may,
  year           = 2001
}

@InCollection{Reis87b,
  Author         = {S.P. Reiss},
  Title          = {An Object-Oriented Framework for Conceptual
                   Programming},
  BookTitle      = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Editor         = {B. Shriver and P. Wegner},
  Pages          = {189-218},
  keywords       = {visprog olit},
  year           = 1987
}

@Book{Elma94a,
  Author         = {Ramez Elmasri and Shamkant B. Navathe},
  Title          = {Fundamentals of Database Systems},
  Publisher      = {Benjamin/Cummings},
  isbn           = {0-8053-1753-8},
  keywords       = {dblit binder(shelf) scglib},
  year           = 1994
}

@InProceedings{Drie93a,
  Author         = {Karel Driesen},
  Title          = {Selector Table Indexing \& Sparse Arrays},
  BookTitle      = {Proceedings OOPSLA '93, ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {259-270},
  keywords       = {olit oopsla93},
  month          = oct,
  year           = 1993
}

@InProceedings{Tich00a,
  Author         = {Sander Tichelaar and Juan Carlos Cruz and Serge
                   Demeyer},
  Title          = {Design Guidelines for Coordination Components},
  BookTitle      = {Proceedings ACM SAC 2000},
  Editor         = {Janice Carroll and Ernesto Damiani and Hisham Haddad
                   and Dave Oppenheim},
  Pages          = {270-277},
  Publisher      = {ACM},
  abstract       = {The distributed nature of a typical web application
                   combined with the rapid evolution of underlying
                   platforms demands for a plug-in component architecture.
                   Nevertheless, code for controlling distributed
                   activities is usually spread over multiple subsystems,
                   which makes it hard to dynamically reconfigure
                   coordination services. This paper investigates
                   coordination components as a way to encapsulate the
                   coordination of a distributed system into a separate,
                   pluggable entity. In an object-oriented context we
                   introduce two design guidelines (namely, "turn
                   contracts into objects" and "turn configuration into a
                   factory object") that help developers to separate
                   coordination from computation and to develop reusable
                   and flexible solutions for coordination in distributed
                   systems.},
  doi            = {http://doi.acm.org/10.1145/335603.335758},
  keywords       = {coordination components scg-pub tich-papref
                   sergedem-papref scg-coord-00 snf00 jb00},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Tich00aDesignGuidelines.pdf},
  year           = 2000
}

@InProceedings{Hend95a,
  Author         = {R. J. Hendley and N. S. Drew and A. M. Wood and R.
                   Beale},
  Title          = {Narcissus: Visualising Information},
  BookTitle      = {Proceedings InfoVis 1995 (IEEE Symposium on
                   Information Visualization},
  Organization   = {IEEE},
  Publisher      = {IEEE Press},
  year           = 1995
}

@MastersThesis{Wyss05a,
  Author         = {Christoph Wysseier},
  Title          = {Interactive {3-D} Visualization of Feature-Traces},
  School         = {University of Berne, Switzerland},
  Type           = {Master's thesis},
  abstract       = {The maintenance or reengineering of object-oriented
                   system includes its reverse engineering, i.e. their
                   internal structure and behaviour needs to be
                   understood. Many researchers proposed different
                   techniques to support this work by static code or
                   dynamic behaviour analysis. Whereas the static code
                   analysis does not explore the behaviour of the running
                   system, the data collection for the dynamic behaviour
                   analysis produces a large amount of data.\\ In this
                   thesis we propose a novel visualization technique which
                   combines static code with dynamic behaviour analysis.
                   This technique supports the software engineer to
                   understand the behaviour of software systems by
                   visualizing it on the basis of the internal structure.
                   Using this technique we focus on features, their
                   detection within the source code, hotspots of behaviour
                   and feature interaction as methods to understand how
                   different features behave in the target software
                   system.},
  keywords       = {scg-msc jb06 recast06},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Wyss05a.pdf},
  year           = 2005
}

@Book{Davi05a,
  Author         = {Martha Davis},
  Title          = {Scientific Papers and Presentations},
  Publisher      = {Elsevier Academic Press},
  isbn           = {0120884240},
  keywords       = {scglib book},
  year           = 2005
}

@Article{Kenn04a,
  Author         = {Andrew Kennedy and Don Syme},
  Title          = {Transposing F to C\#: Expressivity of polymorphism in
                   an object-oriented language},
  Journal        = {Concurrency and Computation: Practice and Experience},
  Volume         = {16},
  Number         = {7},
  year           = 2004
}

@InProceedings{Itko04a,
  Author         = {Jonne Itkonen and Minna Hillebrand and Vesa
                   Lappalainen},
  Title          = {Application of Relation Analysis to a Small {Java}
                   Software},
  BookTitle      = {Proceedings of the Conference on Software Maintenance
                   and Reengineering (CSMR 2004)},
  Pages          = {233-239},
  keywords       = {oorp},
  year           = 2004
}

@Article{Duca03a,
  Author         = {St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts},
  Title          = {Composing Embedded Real-Time Software Components: the
                   {PECOS} Data-Centric Approach},
  Journal        = {ERCIM News},
  Volume         = 52,
  abstract       = {Although component-based software development (CBSD)
                   has become mainstream for conventional applications, it
                   has remained elusive for embedded applications due to
                   non-functional constraints. The PECOS project has
                   demonstrated that CBSD can also be applied to severely
                   constrained embedded devices, with timing and memory
                   requirements being taken into account.},
  annote         = {notrefereed},
  cvs            = {ErcimPecos},
  keywords       = {scg-pub skipdoi pecos jb03 stefPub},
  month          = jan,
  url            = {http://www.ercim.org/publication/Ercim_News/enw52/nierstrasz.html},
  year           = 2003
}

@MastersThesis{Riva98a,
  Author         = {Claudio Riva},
  Title          = {Visualizing Software Release Histories: The Use of
                   Color and Third Dimension},
  School         = {Politecnico di Milano, Milan},
  year           = 1998
}

@MastersThesis{Blum00a,
  Author         = {Roger Blum},
  Title          = {Entwicklung eines Prototypen f{\"u}r die aktive
                   Schicht {ALFRED}},
  School         = {University of Bern},
  Type           = {Diploma thesis},
  abstract       = {Die zunehmende Automatisierung von
                   Gesch\"aftsprozessen und -regeln hat dazu gef\"uhrt,
                   dass herk\"ommliche Datenbankmanagementsysteme, mit
                   denen in praktisch allen modernen Unternehmungen die
                   Daten verwaltet werden, den Anforderungen nicht mehr
                   gen\"ugen. Als ein m\"oglicher Ausweg haben sich die
                   aktiven DBMS erwiesen. Aktive Datenbanksysteme
                   erweitern herk\"ommliche Datenbanksysteme um die
                   F\"ahigkeit, selbst\"andig auf gewisse Situationen zu
                   reagieren. Am Institut f\"ur Wirtschaftsinformatik,
                   Abteilung Information Engineering, der Universit\"at
                   Bern wird die aktive Schicht ALFRED (Active Layer For
                   Rule Execution in Database Systems) entwickelt. Mit
                   dieser kann prinzipiell jedes beliebige (passive)
                   Datenbanksystem in ein aktives verwandelt werden. In
                   dieser Arbeit wird die Entwicklung eines Prototypen
                   beschrieben, in dem einige der entwickelten Konzepte
                   realisiert sind. Ein erster Teil beschreibt den Entwurf
                   und die Implementierung. Im zweiten Teil wird die
                   Leistungsf\"ahigkeit des realisierten Prototypen und
                   damit die prinzipielle Realisierbarkeit der
                   erarbeiteten Konzepte gezeigt.},
  keywords       = {snf-none scg-pub skipdoi scg-msc jb00},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Blum00a.pdf},
  year           = 2000
}

@InProceedings{Arms98a,
  Author         = {M.N. Armstrong and C. Trudeau},
  Title          = {Evaluating Architectural Extractors},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {30-39},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@TechReport{Hogg87b,
  Author         = {John Hogg},
  Title          = {Modelling Coordination Among Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Objects and Things},
  editor         = {D. Tsichritzis},
  keywords       = {olit-obc petri nets osg oat87},
  month          = mar,
  pages          = {165-181},
  year           = 1987
}

@InProceedings{Stor01a,
  Author         = {M.-A. D. Storey, C. Best and J. Michaud},
  Title          = {{SHriMP Views}: An Interactive and Customizable
                   Environment for Software Exploration},
  BookTitle      = {Proceedings of International Workshop on Program
                   Comprehension (IWPC '2001)},
  year           = 2001
}

@InProceedings{Nels85a,
  Author         = {G. Nelson},
  Title          = {A constraint-based graphics system},
  BookTitle      = {Proceedings of SIGGRAPH '85},
  Pages          = {235-243},
  year           = 1985
}

@InProceedings{Kerr87a,
  Author         = {R.K. Kerr and D.B. Percival},
  Title          = {Use of Object-Oriented Programming in a Time Series
                   Analysis System},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {1-10},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Book{Mins67a,
  Author         = {M. Minsky},
  Title          = {Computation: Finite and Infinite Machines},
  Publisher      = {Prentice-Hall},
  keywords       = {misc computability},
  year           = 1967
}

@InProceedings{Wegn94a,
  Author         = {Peter Wegner},
  Title          = {Models and Paradigms of Interaction},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {1-32},
  Publisher      = {Springer-Verlag},
  abstract       = {Objects have inherently greater computation power than
                   functions because they provide clients with continuing
                   services over time. They determine a \fImarriage
                   contract\fP for interactive services that cannot be
                   expressed by a pattern of time-independent \fIsales
                   contracts\fP. Objects express the
                   programming-in-the-large paradigm of software
                   engineering, while functions express the
                   programming-in-the-small paradigm of the analysis of
                   algorithms. Objects have a \fIfunctional semantics\fP
                   specified by their interface, a \fIserial semantics\fP
                   specified by traces of interface procedures, and a
                   \fIfully abstract semantics\fP that specifies behavior
                   over time for all possible interactions. They assign
                   meaning to the time between the execution of interface
                   procedures as well as to algorithmic effects. Church's
                   thesis that computable functions capture the intuitive
                   notion of effective computation for algorithms cannot
                   be extended to objects. Components are defined by
                   generalizing from accidental to necessary properties of
                   persistent interaction units. Scalability for software
                   problems, defined as ``asymptotic openness'', is shown
                   to be the analog of complexity for algorithmic
                   problems. Paradigms of interaction are examined for
                   functions and procedures, objects and processes, APIs
                   and frameworks, databases, GUIs, robots, and
                   virtual-reality systems. Early models of computing
                   stressed computation over interaction for both
                   theoretical reasons (greater tractability) and
                   practical reasons (there were no software components
                   with which to interact). However, scalable software
                   systems, personal computers, and databases require a
                   balance between algorithmic and interactive problem
                   solving. Models of interaction express the behavior of
                   actual software systems and therefore capture the
                   intuitive notion of truly effective computation more
                   completely than mere algorithms.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@Article{Rajl00a,
  Author         = {Vaclav Rajlich and Keith Bennett},
  Title          = {A Staged Model for the Software Life Cycle},
  Journal        = {IEEE Computer},
  Volume         = {33},
  Number         = {7},
  Pages          = {66-71},
  year           = 2000
}

@InCollection{Liu93a,
  Author         = {Ling Liu},
  Title          = {An Object-Centered Approach for Manipulating
                   Hierarchically Complex Objects},
  BookTitle      = {Object Technologies for Advanced Software, First JSSST
                   International Symposium},
  Publisher      = {Springer-Verlag},
  Volume         = {742},
  Series         = {Lecture Notes in Computer Science},
  Pages          = {194-219},
  abstract       = {We present an object-centered approach for
                   manipulating hierarchically complex objects, which
                   covers an extended object model and an object-centered
                   query algebra. Extensions of the object model are
                   mainly based on a separation of structural and semantic
                   elements in modeling complex objects, including a
                   general distinction between aggregation reference and
                   association reference, and introduction of type
                   inheritance into aggregation hierarchies and a support
                   for combination of aggregation inheritance with subtype
                   inheritance. Based on the extensions, we develop a
                   query algebra as an integral part of the model. Unlike
                   most of existing algebra-based query languages, our
                   object algebra takes complex object collectively as a
                   unit of high level queries and allows complex objects
                   to be accessed at all levels of aggregation hierarchies
                   without having resort to any king of path expressions.
                   Features of aggregation hierarchies, such as acyclicity
                   and aggregation inheritance, have played important
                   roles in such a development. We have also formally
                   described the output type of each operator in order for
                   dynamic classification of query results in the IsA
                   type/class lattice. Although the design is based on the
                   chosen object-oriented model, other object-oriented
                   databases are possible. We feel that the proposal
                   largely covers the query requirements for complex
                   objects, and meanwhile provides users with an
                   opportunity to remain within the framework of the model
                   of complex objects while querying database. As a
                   consequence, the flexibility and adaptability of the
                   object-oriented model against schema changes are
                   increased.},
  keywords       = {olit isotas93},
  month          = nov,
  year           = 1993
}

@Article{Casa94a,
  Author         = {Eduardo Casais},
  Title          = {Automatic Reorganization of Object-Oriented
                   Hierarchies: {A} Case Study},
  Journal        = {Object-Oriented Systems},
  Volume         = {1},
  Number         = {2},
  Pages          = {95-115},
  keywords       = {olit binder},
  month          = dec,
  publisher      = {Chapman \& Hall},
  year           = 1994
}

@InProceedings{Chid91a,
  Author         = {Shyam R. Chidamber and Chris F. Kemerer},
  Title          = {Towards a Metrics Suite for Object Oriented Design},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {197-211},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@InProceedings{KoAu05a,
  Author         = {Andrew J. Ko and Htet Aung and Brad A. Myers},
  Title          = {Eliciting design requirements for maintenance-oriented
                   IDEs: a detailed study of corrective and perfective
                   maintenance tasks},
  BookTitle      = {ICSE '05: Proceedings of the 27th international
                   conference on Software engineering},
  Pages          = {125--135},
  doi            = {http://doi.acm.org/10.1145/1062455.1062492},
  isbn           = {1-59593-963-2},
  location       = {St. Louis, MO, USA},
  year           = 2005
}

@Book{Spen01a,
  Author         = {Robert Spence},
  Title          = {Information Visualization},
  Publisher      = {Adisson-Wesley},
  keywords       = {scglib book},
  year           = 2001
}

@Article{Card95a,
  Author         = {Luca Cardelli},
  Title          = {A Language with Distributed Scope},
  Journal        = {Computing Systems},
  Volume         = {8},
  Number         = {1},
  Pages          = {27-59},
  keywords       = {olit-obdpi oobib(obcl) binder obliq scripting},
  url            = {http://www.research.digital.com/SRC/personal/Luca_Cardelli/Papers/Obliq.A4.ps},
  year           = 1995
}

@Book{Voge97a,
  Author         = {Andreas Vogel and Keith Duddy},
  Title          = {{Java} Programming with Corba},
  Publisher      = {Wiley},
  isbn           = {0-471-17986-8},
  keywords       = {corba java scglib},
  year           = 1997
}

@InProceedings{Miln93b,
  Author         = {Robin Milner},
  Title          = {Action Calculi and the $pi$-calculus},
  BookTitle      = {Proceedings of the NATO Summer School on Logic and
                   Computation},
  Address        = {Marktoberdorf},
  Publisher      = {Computer Science Dept., University of Edinburgh},
  keywords       = {pcalc},
  month          = nov,
  url            = {ftp://ftp.cl.cam.ac.uk/users/rm135/ap.ps.Z},
  year           = 1993
}

@InProceedings{Vite94a,
  Author         = {Jan Vitek and R. Nigel Horspool},
  Title          = {Taming Message Passing: Efficient Method Look-up for
                   Dynamically Typed Languages},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {432-449},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Bisc92b,
  Author         = {Walter R. Bischofberger},
  Title          = {Sniff: A Pragmatic Approach to a C++ Programming
                   Environment},
  BookTitle      = {C++ Conference},
  Pages          = {67-82},
  url            = {http://citeseer.nj.nec.com/bischofberger92sniff.html},
  year           = 1992
}

@TechReport{Pint88a,
  Author         = {Xavier Pintado and Dennis Tsichritzis},
  Title          = {An Affinity Browser},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Active Object Environments},
  editor         = {D. Tsichritzis},
  keywords       = {olit affinity browser osg aoe88},
  month          = jun,
  pages          = {51-60},
  year           = 1988
}

@TechReport{Mey91a,
  Author         = {Vicki de Mey},
  Title          = {Flexible Graphic Design Systems},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  Note           = {A version of the following was presented as a position
                   paper at the Second Eurographics Workshop on
                   Object-Oriented Graphics, Texel, the Netherlands, June
                   4-7, 1991.},
  abstract       = {Today's graphic design systems do not sufficiently
                   support the designer. Advances have been made and there
                   is no doubt that the computer is here to stay in the
                   design community but not with out further
                   modifications. This paper discusses the current
                   situation and attempts to highlight some of the key
                   areas where computer support is needed. A flexible
                   graphic design system is proposed and some useful
                   technologies for its conception are presented.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {145-155},
  year           = 1991
}

@Book{Weis96b,
  Author         = {Michael Weiss and Andy Jhonson and Joe Kiniry},
  Title          = {The {Java} and HotJava Object Models},
  Publisher      = {Open Software Foundation Version 2.1},
  keywords       = {java olit binder},
  month          = feb,
  year           = 1996
}

@Book{Your79a,
  Author         = {Edward Yourdon},
  Title          = {Classics in Software Engineering},
  Publisher      = {Yourdon Press},
  year           = 1979
}

@InProceedings{Gibb89a,
  Author         = {Simon Gibbs},
  Title          = {{LIZA}: An extensible groupware toolkit},
  BookTitle      = {Proceedings of the ACM SIGCHI Conference on Human
                   Factors in Computing Systems},
  Pages          = {29-35},
  Address        = {Austin, Texas},
  Publisher      = {ACM, New York},
  keywords       = {olit liza},
  misc           = {April 30-May 4},
  month          = apr,
  year           = 1989
}

@InProceedings{Benn00a,
  Author         = {Keith H. Bennett and Vaclav T. Rajlich},
  Title          = {Software maintenance and evolution: a roadmap},
  BookTitle      = {ICSE '00: Proceedings of the Conference on The Future
                   of Software Engineering},
  Pages          = {73--87},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/336512.336534},
  isbn           = {1-58113-253-0},
  location       = {Limerick, Ireland},
  year           = 2000
}

@InProceedings{Curr86a,
  Author         = {Gael Curry},
  Title          = {An approach to type safety in a traits system},
  BookTitle      = {Proceedings of 1986 joint computer conference},
  Pages          = {25-30},
  keywords       = {olit-inheritance mesa traits},
  year           = 1986
}

@TechReport{Reng03a,
  Author         = {Lukas Renggli},
  Title          = {{SmallWiki}: Collaborative Content Management},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  Note           = {http://smallwiki.unibe.ch/smallwiki},
  abstract       = {A Wiki is a collaborative software to do content
                   management. Although there are a lot of different Wiki
                   implementations available today, they all lack the
                   possibility to be extended and to adapt to the needs of
                   their users. SmallWiki is a new and fully
                   object-oriented Wiki framework in Smalltalk, that has
                   got a lot of unit-tests included. This documentation
                   gives an overview how to run it, about its design and
                   implementation, and provides a few examples on writing
                   extensions},
  cvs            = {SmallWiki},
  keywords       = {scg-ip jb04 snf04},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Reng03a.pdf},
  year           = 2003
}

@InProceedings{Robe96a,
  Author         = {Don Roberts and John Brant and Ralph E. Johnson and
                   Bill Opdyke},
  Title          = {An Automated Refactoring Tool},
  BookTitle      = {Proceedings of ICAST '96, Chicago, IL},
  month          = apr,
  year           = 1996
}

@Article{Roth03a,
  Author         = {Gregg Rothermel and Sebastian Elbaum},
  Title          = {{Putting} {Your} {Best} {Tests} {Forward}},
  Journal        = {IEEE Software},
  Volume         = {5},
  Number         = {20},
  Pages          = {74-77},
  month          = sep,
  publisher      = {IEEE Computer Society},
  year           = 2003
}

@Article{Deme98a,
  Author         = {Serge Demeyer and Koen De Hondt and Patrick Steyaert},
  Title          = {Consistent Framework Documentation with Computed Links
                   and Framework Contracts},
  Journal        = {Computing Surveys},
  Note           = {To appear in March 2000},
  abstract       = {Since an object-oriented framework is an evolving
                   artifact, ensuring consistency between its
                   documentation and its implementation is difficult. This
                   paper reports on the use of open hypermedia to keep
                   framework documentation up-to-date. In particular, we
                   demonstrate how one can feed framework contracts into
                   computational hypermedia links to ensure the
                   consistency between the source code and the framework
                   cookbook.},
  keywords       = {olit hypermedia snf98 zypher scg-wp sergedem-papref
                   jb98},
  publisher      = {ACM},
  url            = {http://www.iam.unibe.ch/~demeyer/Deme98a/
                   http://www.iam.unibe.ch/~demeyer/Deme98a/paper.html},
  year           = 1998
}

@TechReport{Halt02a,
  Author         = {Beat Halter and Mauricio Seeberger and Susanne Wenger
                   and Vivian Kilchherr},
  Title          = {eXtreme Programming in der Praxis --- das
                   Sentinet-Projekt},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {snf-none scg-ip skip-abstract jb03},
  month          = dec,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Halt02aSentinet.pdf},
  year           = 2002
}

@Book{Deme97a,
  Editor         = {Serge Demeyer and Harald Gall},
  Title          = {Proceedings of the {ESEC}/{FSE} Workshop on
                   Object-Oriented Re-engineering},
  Publisher      = {Technical University of Vienna --- Information Systems
                   Institute --- Distributed Systems Group},
  Series         = {TUV-1841-97-10},
  keywords       = {olit famoos-wrkproc scg-pub skip-abstract skipdoi
                   toBeChecked snf97 jb97 sergedem-wrkproc oorp},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~demeyer/Deme97a/},
  year           = 1997
}

@Book{Gaud93a,
  Editor         = {Marie-Claude Gaudel and Jean-Pierre Jouannaud},
  Title          = {Proceeding of {TAPSOFT} '93 on Theory and Practice of
                   Software Development},
  Publisher      = {Springer-Verlag},
  Volume         = {668},
  Series         = {LNCS},
  keywords       = {book scglib},
  year           = 1993
}

@InProceedings{Bria99b,
  Author         = {Lionel C. Briand and John W. Daly and J\"urgen K.
                   W\"ust},
  Title          = {Using Coupling Measurement for Impact Analysis in
                   Object-Oriented Systems},
  BookTitle      = {Proceedings of the 21st International Conference on
                   Software Engineering (ICSE 1999)},
  Pages          = {475-482},
  doi            = {http://doi.ieeecs.org/10.1109/ICSM.1999.792645
                   http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf},
  keywords       = {metrics design-recovery},
  url            = {http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf},
  year           = 1999
}

@TechReport{Robe00a,
  Author         = {Philippe C.D.Robert},
  Title          = {{BURST}, A Bug Reporting system for {OpenStep}
                   compliant systems},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  Note           = {(in German)},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Robe00a.pdf},
  year           = 2000
}

@InProceedings{Ashf93a,
  Author         = {Colin Ashford},
  Title          = {The {OSI} Managed-Object Model},
  BookTitle      = {Proceedings ECOOP '93},
  Editor         = {Oscar Nierstrasz},
  Volume         = {707},
  Series         = {LNCS},
  Pages          = {185-196},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {The challenge facing the International Organization
                   for Standardization (ISO) in the early eighties, in
                   developing Open Systems Interconnection (OSI) protocol
                   standards for network management, was to ensure that
                   such protocols should, on the one hand, be standardised
                   but, on the other, be capable of managing a myriad of
                   resource types. ISO met the challenge by developing a
                   single internationally-standardised carriage protocol
                   (CMIP), and tools to produce information models that
                   would reflect the resources being managed. Such an
                   approach makes it possible for the same carriage
                   protocol to carry management messages for many
                   different types of resources. In developing its
                   information modelling tools and services, ISO has
                   adopted an object-oriented approach: the resources to
                   be managed are modelled as managed objects or
                   aggregates of managed objects. The managed-object model
                   is similar to popular object-oriented
                   programming-language models but it includes a number of
                   features that reflect the special requirements of
                   network management. These requirements include:
                   asynchronous operation, active resources, a distributed
                   environment, compatibility, and feature optionality.
                   Fulfilling these requirements lead to the inclusion of
                   concepts such as event-notification, multiple
                   object-selection, packages, and allomorphism. The next
                   generation of network-management standards will need to
                   address the demands of large, multi-protocol, mutable
                   networks. How these requirements might affect the
                   evolution of the managed-object model and services is
                   considered.},
  keywords       = {olit ecoop93proc},
  month          = jul,
  url            = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm},
  year           = 1993
}

@Book{Lutz01a,
  Author         = {Mark Lutz},
  Title          = {Programming {Python} (2nd edition)},
  Publisher      = {O'Reilly \& Associates, Inc.},
  isbn           = {0596000855},
  keywords       = {scglib},
  year           = 1996
}

@Book{Boeh05a,
  Editor         = {Barry Boehm and Hans Dieter Rombach and Marvin V.
                   Zelkowitz},
  Title          = {Foundations of Empirical Software Engineering},
  Publisher      = {Springer-Verlag},
  Address        = {Berlin, Germany},
  isbn           = {3-540-24547-2},
  keywords       = {scglib},
  year           = 2005
}

@InProceedings{Anto00b,
  Author         = {Giuliano Antoniol and Gerardo Canfora and Gerardo
                   Casazza and Andrea {De Lucia}},
  Title          = {Identifying the Starting Impact Set of a Maintenance
                   Request: {A} Case Study},
  BookTitle      = {European Conference on Software Maintenance and
                   Reengineering (CSMR 2000)},
  Pages          = {227--230},
  year           = 2000
}

@InProceedings{Gogu99a,
  Author         = {Joseph Goguen and Grigore Ro{\c{s}}u},
  Title          = {Hiding More of Hidden Algebra},
  BookTitle      = {Proceedings of FM '99},
  Pages          = {1704-1719},
  Address        = {Toulouse, France},
  month          = aug,
  url            = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html},
  year           = 1999
}

@InProceedings{Blac99a,
  Author         = {Andrew P. Black},
  Title          = {Object-Oriented Programming: Regaining the Excitement},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {519-528},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {This paper is based on a speech delivered at the ECOOP
                   '98 Conference Banquet. It is not a literal
                   transcription of my talk, since no recording was made,
                   but has been reconstructed ex post facto based upon my
                   speaker's notes and my memory. I have also taken the
                   opportunity to add some headings and references.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@TechReport{Moss95b,
  Author         = {Hanspeter M{\"o}ssenb{\"o}ck},
  Title          = {Scenario-Based Browsing of Object-Oriented Systems
                   with Scene},
  Institution    = {Institut f{\"u}r Informatik, Johannes Kepler
                   Universit{\"a}t Linz},
  Type           = {Report},
  Number         = {4},
  keywords       = {olit binder},
  month          = aug,
  year           = 1995
}

@Book{Gilb93a,
  Author         = {Tom Gilb and Dorothy Graham},
  Title          = {Software Inspection},
  Publisher      = {Addison Wesley},
  keywords       = {oorp},
  year           = 1993
}

@Book{Feil96a,
  Author         = {Jesse Feiler and Anthony Meadow},
  Title          = {Essential OpenDoc},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-47958-3},
  keywords       = {olit-obc oobib(obdp) scglib},
  year           = 1996
}

@InProceedings{Ferb88a,
  Author         = {Jacques Ferber and Jean-Pierre Briot},
  Title          = {Design of a Concurrent Language for Distributed
                   Artificial Intelligence},
  BookTitle      = {Proc. of FGCS '88 ICOT},
  Volume         = {2},
  Pages          = {755-762},
  Address        = {Tokyo Japan},
  keywords       = {agents},
  misc           = {Nov-Dec},
  month          = nov,
  url            = {http://web.yl.is.u-tokyo.ac.jp/members/briot/papers/cl4dai-fgcs88.ps.Z},
  year           = 1988
}

@Book{Frye04a,
  Author         = {Curtis Frye and Wayne S. Freeze and Felicia K.
                   Buckingham},
  Title          = {Microsoft Office Excell 2003 Programming},
  Publisher      = {Microsoft Press},
  keywords       = {book scglib},
  year           = 2004
}

@InProceedings{Ferr96b,
  Author         = {William Ferreira and Matthew Hennessy and Alan Jeffrey},
  Title          = {A Theory of Weak Bisimulation for Core {CML}},
  BookTitle      = {Proceedings of the 1996 {ACM} {SIGPLAN} International
                   Conference on Functional Programming},
  Pages          = {201-212},
  Address        = {Philadelphia, Pennsylvania},
  month          = may,
  year           = 1996
}

@Book{Ryde88a,
  Author         = {David E. Rydeheard and Rod M. Burstall},
  Title          = {Computational Category Theory},
  Publisher      = {Prentice-Hall},
  Series         = {Prentice Hall international series in computer science},
  Address        = {New York},
  keywords       = {misc category theory},
  year           = 1988
}

@Article{Quei04a,
  Author         = {Christian Queinnec},
  Title          = {Continuations and web servers},
  Journal        = {Higher-Order and Symbolic Computation: an
                   International Journal},
  Pages          = {1--16},
  volumes        = {123},
  year           = 2004
}

@Book{Booc99a,
  Author         = {Grady Booch and James Rumbaugh and Ivar Jacobson},
  Title          = {The Unified Modeling Language User Guide},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-57168-4},
  keywords       = {olit-ood book scglib},
  year           = 1999
}

@InProceedings{Kend99a,
  Author         = {Elizabeth Kendall},
  Title          = {Role Model Design and Implementations with
                   {Aspect}-{Oriented} Programming},
  BookTitle      = {Proceedings of OOPSLA '99},
  Series         = {ACM Sigplan Notices},
  Pages          = {353-369},
  month          = nov,
  year           = 1999
}

@InCollection{Kicz93b,
  Author         = {Gregor Kiczales and J.Michael Ashley and Luis
                   Rodriguez and Amin Vahdat and Daniel G. Bobrow},
  Title          = {Metaobject protocols: Why we want them and what else
                   they can do},
  BookTitle      = {Object-Oriented Programming: the {CLOS} Perspective},
  Publisher      = {MIT Press},
  Pages          = {101-118},
  year           = 1993
}

@Book{Cohn04a,
  Author         = {Mike Cohn},
  Title          = {User Stories Applied: For Agile Software Development},
  Publisher      = {Addison Wesley Longman Publishing Co., Inc.},
  Address        = {Redwood City, CA, USA},
  isbn           = {0321205685},
  year           = 2004
}

@InProceedings{Gall93a,
  Author         = {E. Gallesio},
  Title          = {Embedding a Scheme Interpreter in the Tk Toolkit},
  BookTitle      = {First Tcl/Tk Workshop},
  Pages          = {103-109},
  month          = jun,
  year           = 1993
}

@Book{Pepp03a,
  Author         = {K. Pepple and B. Down and D. Levy},
  Title          = {Migrating to the Solaris Operating System},
  Publisher      = {Prentice Hall},
  Edition        = {First},
  isbn           = {0-13-150263-8},
  keywords       = {book scglib},
  year           = 2003
}

@InCollection{Skar87a,
  Author         = {Andrea H. Skarra and Stanley B. Zdonik},
  Title          = {The Management of Changing Types in an Object-Oriented
                   Database},
  BookTitle      = {Research Directions in Object-Oriented Programming},
  Publisher      = {MIT Press},
  Editor         = {B. Shriver and P. Wegner},
  Pages          = {393-415},
  Address        = {Cambridge, Mass.},
  keywords       = {types olit oodb versions rdoop87 oobib(oodb)},
  year           = 1987
}

@Misc{UnCommonWeb,
  Author         = {Marco Baringer},
  Title          = {{UnCommon} Web},
  Note           = {http://www.\-com\-mon-lisp.\-net/pro\-ject/ucw/},
  key            = {UnCommonWeb}
}

@InProceedings{Kral97a,
  Author         = {Andreas Krall and Jan Vitek},
  Title          = {On Extending {Java}},
  BookTitle      = {Proc. of The Joint Modular Languages Conference JMLC},
  Address        = {Linz, Austria},
  keywords       = {olit-oopl obib(oopl) binder},
  year           = 1997
}

@Book{Ryan97a,
  Author         = {Timothy W. Ryan},
  Title          = {Distributed Object Technology},
  Publisher      = {Hewlett-Packard Professional Books},
  keywords       = {scglib},
  year           = 1997
}

@InProceedings{Pric90a,
  Author         = {R.T. Price and R. Girardi},
  Title          = {A Class Rerieval Tool for an Object-Oriented
                   Environment},
  BookTitle      = {Proceedings of TOOLS '90 on Technology on O.O.
                   Languages and Systems},
  keywords       = {tools90 olit binder},
  year           = 1990
}

@Misc{West05a,
  Author         = {Westphal, Frank},
  Title          = {JUnit 4.0},
  Note           = {\url{www.frankwestphal.de/JUnit4.0.html}},
  date-added     = {2006-08-12 13:05:03 +0200},
  date-modified  = {2006-08-12 14:33:22 +0200},
  keywords       = {testing},
  month          = {jul},
  url            = {http://www.frankwestphal.de/JUnit4.0.html},
  year           = 2005
}

@InProceedings{Diec99a,
  Author         = {Sylvia Dieckmann and Urs H{\"o}lzle},
  Title          = {A Study of the Allocation Behavior of the SPECjvm98
                   {Java} Benchmarks},
  BookTitle      = {Proceedings ECOOP '99},
  Editor         = {R. Guerraoui},
  Volume         = 1628,
  Series         = {LNCS},
  Pages          = {92-115},
  Address        = {Lisbon, Portugal},
  Publisher      = {Springer-Verlag},
  abstract       = {We present an analysis of the memory usage for six of
                   the {Java} programs in the SPECjvm98 benchmark suite.
                   Most of the programs are real- world applications with
                   high demands on the memory system. For each program, we
                   measured as much low level data as possible, including
                   age and size distribution, type distribution, and the
                   overhead of object alignment. Among other things, we
                   found that non-pointer data usually represents more
                   than 50% of the allocated space for instance objects,
                   that {Java} objects tend to live longer than objects in
                   Smalltalk or ML, and that they are fairly small.},
  keywords       = {olit ecoop99proc},
  month          = jun,
  year           = 1999
}

@Manual{Comp00a,
  Title          = {COMPOST},
  Organization   = {University of Karlsruhe},
  Note           = {http://i44www.info.uni-karlsruhe.de/~compost},
  url            = {http://i44www.info.uni-karlsruhe.de/~compost},
  year           = 1996
}

@Article{Mull93c,
  Author         = {Hausi A. M\"uller and M. A. Orgun and S. R. Tilley and
                   J. S. Uhl},
  Title          = {A reverse engineering approach to subsystem structure
                   identification},
  Journal        = {International Journal of Software Engineering and
                   Knowledge Engineering},
  Volume         = {5},
  Number         = {4},
  Pages          = {181-204},
  keywords       = {clustering},
  month          = dec,
  year           = 1993
}

@InProceedings{Win03a,
  Author         = {Joel Winstead and David Evans},
  Title          = {Towards Differential Program Analysis},
  BookTitle      = {Proceedings ICSE International Workshop on Dynamic
                   Analysis (WODA 2003)},
  Pages          = {37--40},
  Address        = {Portland, Oregon},
  keywords       = {dynamic analysis},
  month          = may,
  year           = 2003
}

@Article{Lamp80a,
  Author         = {Butler W. Lampson and D.D. Redell},
  Title          = {Experience with Processes and Monitors in Mesa},
  Journal        = {CACM},
  Volume         = {23},
  Number         = {2},
  Pages          = {105-117},
  keywords       = {olit-oopl mesa},
  month          = feb,
  year           = 1980
}

@InProceedings{Berg04c,
  Author         = {Alexandre Bergel and Christophe Dony and St\'ephane
                   Ducasse},
  Title          = {Prototalk: an Environment for Teaching, Understanding,
                   Designing and Prototyping Object-Oriented Languages},
  BookTitle      = {Proceedings of 12th International Smalltalk Conference
                   (ISC'04)},
  Pages          = {107-130},
  abstract       = {With prototype-based languages, concretization and
                   abstraction are unified into a single concept a
                   prototype. Prototype-based languages are based on a
                   simple set of principles: object-centered
                   representation, dynamic reshape of objects, cloning and
                   possibly message delegation. However, they all differ
                   in the interpretation and combination of these
                   principles. Therefore there is a need to compare and
                   understand. In this paper we present Prototalk, a
                   research and teaching vehicle to understand, implement
                   and compare prototype-based languages. Prototalk is a
                   framework that offers a predefined set of language data
                   structures and mechanisms that can be composed and
                   extended to generate various prototype-based language
                   interpreters. It presents a classification of languages
                   based on different mechanisms in an operational manner.},
  annote         = {internationalconference},
  cvs            = {PrototalkESUG04},
  keywords       = {scg-pub skipdoi jb05 snf04 stefPub alexPub
                   alexandrePub noWorkshop},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Berg04cprototalk.pdf},
  year           = 2004
}

@Book{Wein98a,
  Author         = {Gerald M. Weinberg},
  Title          = {The Psychology of Computer Programming},
  Publisher      = {Dorset House},
  Edition        = {Silver Anniversary Edition},
  keywords       = {scglib},
  year           = 1998
}

@Article{Ferb84a,
  Author         = {J. Ferber},
  Title          = {Quelques aspects du caract\`ere self r\'eflexif du
                   langage {MERING}},
  Journal        = {Bigre + Globule},
  Volume         = {41},
  Number         = {41},
  Pages          = {277-290},
  Note           = {Deuxi\`eme journ\'ee d'\'etude du groupe de travail
                   AFCET sur les langages orient\'ees objets},
  year           = 1984
}

@TechReport{Li91a,
  Author         = {Jiarong Li},
  Title          = {{ADL} and Its Compiler},
  Institution    = {Bull SA},
  Type           = {ITHACA Report},
  Number         = {Bull.91.U2.#3},
  Address        = {Massy, France},
  keywords       = {olit-ithaca adl},
  misc           = {June 28},
  month          = jun,
  year           = 1991
}

@InCollection{Royc87a,
  Author         = {Royce, W. W.},
  Title          = {Managing the Development of Large Software Systems},
  BookTitle      = {Tutorial: Software Engineering Project Management},
  Publisher      = {IEEE Computer Society},
  Editor         = {Thayer, R.H.},
  Pages          = {118-127},
  Address        = {Washington},
  Note           = {fca},
  year           = 1987
}

@InProceedings{Cohe06a,
  Author         = {Tal Cohen and Joseph (Yossi) Gil and Itay Maman},
  Title          = {{JTL}: the {Java} tools language},
  BookTitle      = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN
                   conference on Object-oriented programming languages,
                   systems, and applications},
  Pages          = {89--108},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1167473.1167481},
  isbn           = {1-59593-348-4},
  location       = {Portland, Oregon, USA},
  year           = 2006
}

@InProceedings{Lowe03a,
  Author         = {Welf L{\"o}we and Jonas Lundberg},
  Title          = {A Low-Level Analysis Library for Architecture Recovery},
  BookTitle      = {ETAPS SC'03 Workshop on Software Composition},
  year           = 2003
}

@Article{Murp96c,
  Author         = {Gail C. Murphy and David Notkin},
  Title          = {Lightweight Lexical Source Model Extraction},
  Journal        = {ACM Transactions on Software Engineering and
                   Methodology},
  Volume         = {5},
  Number         = {3},
  Pages          = {262-292},
  month          = jul,
  year           = 1996
}

@Proceedings{Gall95a,
  Title          = {Proceedings of ESEC '95},
  Editor         = {H. Gall and R. Klosch and R. Mittermeir \&T
                   Object-Oriented Re-Architecturing},
  Volume         = {989},
  Series         = {LNCS},
  year           = 1995
}

@Book{OMG96a,
  Editor         = {?},
  Title          = {The Common Object Request Broker: Architecture and
                   Specification},
  Publisher      = {Object Management Group},
  keywords       = {corba iiop},
  month          = jul,
  url            = {http://www.omg.org/corba/c2indx.htm},
  year           = 1996
}

@InProceedings{Boya02a,
  Author         = {C. Boyapati and S. Khurshid and D. Marinov},
  Title          = {Korat: Automated testing based on {Java} predicates},
  BookTitle      = {{ISSTA}'02},
  Pages          = {123-133},
  Address        = {Roma, Italy},
  Publisher      = {ACM},
  keywords       = {unit tests testing preconditions},
  year           = 2002
}

@InProceedings{Anco99a,
  Author         = {D. Ancona and E. Zucca},
  Title          = {A Primitive Calculus for Module Systems},
  BookTitle      = {Principles and Practice of Declarative Programming},
  Editor         = {G. Nadathur},
  Number         = {1702},
  Series         = {LNCS},
  Pages          = {62-79},
  Publisher      = {Springer Verlag},
  url            = {citeseer.nj.nec.com/article/ancona99primitive.html
                   http://www.disi.unige.it/person/AnconaD/Conferences.html#AnconaZucca99},
  year           = 1999
}

@InProceedings{Pier95a,
  Author         = {Benjamin C. Pierce and David N. Turner},
  Title          = {Concurrent Objects in a Process Calculus},
  BookTitle      = {Proceedings Theory and Practice of Parallel
                   Programming (TPPP 94)},
  Editor         = {Takayasu Ito and Akinori Yonezawa},
  Pages          = {187-215},
  Address        = {Sendai, Japan},
  Publisher      = {Springer LNCS 907},
  keywords       = {olit-obc pcalc pict semantics binder},
  url            = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/copc.ps.gz},
  year           = 1995
}

@InProceedings{Alle01a,
  Author         = {E. Allen and T. Khoshgoftaar},
  Title          = {Measuring Coupling and Cohesion of Software Modules:
                   An Information Theory Approach},
  BookTitle      = {Seventh International Software Metrics Symposium},
  year           = 2001
}

@InProceedings{Dubo87a,
  Author         = {Eric Dubois and Jacques Hagelstein},
  Title          = {Reasoning on Formal Requirements: {A} Lift Control
                   System},
  BookTitle      = {Proceedings of the Fourth International Workshop on
                   Software Specifications and Design},
  Address        = {Monterey, CA},
  keywords       = {concurrency logic binder},
  misc           = {April 3-4},
  month          = apr,
  year           = 1987
}

@Article{Deme97b,
  Author         = {Serge Demeyer and Theo Dirk Meijler and Oscar
                   Nierstrasz and Patrick Steyaert},
  Title          = {Design Guidelines for Tailorable Frameworks},
  Journal        = {Communications of the ACM},
  Volume         = {40},
  Number         = {10},
  Pages          = {60-64},
  abstract       = {Since the early 1980s, object-oriented frameworks have
                   demonstrated that programmers can encapsulate a
                   reusable, tailorable software architecture as a
                   collection of collaborating, extensible object classes.
                   Such frameworks are particularly important for
                   developing open systems in which not only functionality
                   but architecture is reused across a family of related
                   applications. Unfortunately, the design of frameworks
                   remains an art rather than a science, because of the
                   inherent conflict between reuse --- packaging software
                   components that can be reused in as many contexts as
                   possible --- and tailorability --- designing software
                   architectures easily adapted to target requirements. },
  annote         = {internationaljournal},
  doi            = {http://doi.acm.org/10.1145/262793.262805},
  keywords       = {olit famoos-papref hypermedia zypher scg-pub snf97
                   jb97 sergedem-papref},
  month          = oct,
  publisher      = {ACM Press},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme97bDesignGuidelines.pdf},
  year           = 1997
}

@Unpublished{Hofm94b,
  Author         = {Martin Hofmannn and Benjamin Pierce},
  Title          = {Positive Subtyping},
  Note           = {Department of Computer Science, University of
                   Edinburgh},
  keywords       = {subtyping olit binder},
  misc           = {July 22},
  month          = jul,
  type           = {Draft},
  year           = 1994
}

@InProceedings{Racz99a,
  Author         = {Ferenc D\'{o}sa R\'{a}cz and Kai Koskimies},
  Title          = {Tool-Supported Compression of UML Class Diagrams},
  BookTitle      = {Proceedings UML '99 (The Second International
                   Conference on The Unified Modeling Language)},
  Editor         = {Bernhard Rumpe},
  Series         = {LNCS 1723},
  Pages          = {172-187},
  Address        = {Kaiserslautern, Germany},
  Publisher      = {Springer-Verlag},
  month          = oct,
  year           = 1999
}

@InProceedings{Berg96a,
  Author         = {J.A. Bergstra and P. Klint},
  Title          = {The ToolBus Coordination Architecture},
  BookTitle      = {Proceedings of COORDINATION '96},
  Editor         = {P. Ciancarini and Chris Hankin},
  Volume         = {1061},
  Series         = {LNCS},
  Pages          = {75-88},
  Address        = {Cesena, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination open systems coordination96},
  year           = 1996
}

@Book{Lenc00,
  Author         = {Raimondas Lencevicius},
  Title          = {Advanced Debugging Methods},
  Publisher      = {Kluwer Academic Publishers},
  keywords       = {scglib},
  year           = 2000
}

@InCollection{Brow96d,
  Author         = {Kyle Brown and Bruce G. Whitenack},
  Title          = {Crossing Chasms: A Pattern Language for Object-RDBMS
                   Integration},
  BookTitle      = {Pattern Languages of Program Design 2},
  Publisher      = {Addison Wesley},
  Editor         = {John M. Vlissides and James O. Coplien and Norman L.
                   Kerth},
  Pages          = {227-238},
  keywords       = {oorp},
  year           = 1996
}

@InProceedings{Duca06d,
  Author         = {St\'ephane Ducasse and Tudor G\^irba},
  Title          = {Using {Smalltalk} as a Reflective Executable
                   Meta-Language},
  BookTitle      = {International Conference on Model Driven Engineering
                   Languages and Systems (Models/UML 2006)},
  Volume         = {4199},
  Series         = {LNCS},
  Pages          = {604--618},
  Address        = {Berlin, Germany},
  Publisher      = {Springer-Verlag},
  abstract       = {Object-oriented meta-languages such as MOF or EMOF are
                   often used to specify domain specific languages.
                   However, these meta-languages lack the ability to
                   describe behavior or operational semantics. Several
                   approaches used a subset of Java mixed with OCL as
                   executable meta-languages. In this paper, we report our
                   experience of using Smalltalk as an executable and
                   integrated meta-language. We validated this approach in
                   incrementally building over the last decade, Moose, a
                   meta-described reengineering environment. The
                   reflective capabilities of Smalltalk support a uniform
                   way of letting the base developer focus on his tasks
                   while at the same time allowing him to meta-describe
                   his domain model. The advantage of our this approach is
                   that the developer uses the same tools and environment},
  annote         = {internationalconference},
  doi            = {http://dx.doi.org/10.1007/11880240_42},
  keywords       = {scg-pub jb07 fb06 girba moose-pub stefPub recast07
                   norex06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Duca06dMOOSEMODELS2006.pdf},
  year           = 2006
}

@TechReport{Vite90a,
  Author         = {Jan Vitek and Betty Junod and Oscar Nierstrasz and
                   Serge Renfer and Claudia Werner},
  Title          = {Events and Sensors: Enhancing the Reusability of
                   Objects},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Management},
  abstract       = {Object-oriented programming methods promote the
                   development of software from reusable components. In
                   practice, reuse of object-oriented software is limited
                   by a closed-world constraint: only components that are
                   compatible --- that conform to an agreed-upon protocol
                   --- may be composed. We seek to facilitate software
                   composition. To this end, we propose an approach based
                   on events and sensors that enhances the openness of
                   objects, and thus increases the possibilities for their
                   reuse.},
  editor         = {D. Tsichritzis},
  keywords       = {olit-reuse skipdoi scripting osg om90},
  month          = jul,
  pages          = {345-356},
  url            = {http://www.iam.unibe.ch/~scg/Archive/OSG/Vite90aEventsAndSensors.pdf},
  year           = 1990
}

@Article{Casta95a,
  Author         = {Guiseppe Castagna},
  Title          = {Covariance and Contravariance: Conflict without a
                   Cause},
  Journal        = {ACM Transactions on Programming Languages and Systems},
  Volume         = {17},
  Number         = {3},
  Pages          = {431-447},
  keywords       = {olit-oopl types languages theory binder},
  month          = mar,
  url            = {ftp://ftp.ens.fr/pub/dmi/users/castagna/covariance.ps.Z},
  year           = 1995
}

@Article{Thom84a,
  Author         = {Ken Thompson},
  Title          = {Reflection on Trusting Trust},
  Journal        = {CACM},
  Volume         = {27},
  Number         = {8},
  Pages          = {761-763},
  keywords       = {security unix},
  month          = aug,
  year           = 1984
}

@InProceedings{Nguy05a,
  Author         = {Tien Nguyen and Ethan Munson and John Boyland},
  Title          = {An Infrastructure for Development of Object-Oriented,
                   Multi-level Configuration Management Services},
  BookTitle      = {Internationl Conference on Software Engineering (ICSE
                   2005)},
  Pages          = {215--224},
  Publisher      = {ACM Press},
  keywords       = {evolution},
  year           = 2005
}

@Article{Simo03a,
  Author         = {Anthony J. H. Simons},
  Title          = {The Theory of Classification, Part 5: Axioms,
                   Assertions and Suptyping},
  Journal        = {Journal of Object Technology},
  Volume         = {2},
  Number         = {1},
  Pages          = {13-21},
  keywords       = {ioom-types},
  misc           = {January-February},
  month          = jan,
  url            = {http://www.jot.fm/issues/issue_2003_01/column2},
  year           = 2003
}

@Book{Keen89a,
  Author         = {Sonia E. Keene},
  Title          = {Object-Oriented Programming in Common-Lisp},
  Publisher      = {Addison Wesley},
  year           = 1989
}

@InProceedings{Helm91a,
  Author         = {Richard Helm and Yo\"elle S. Maarek},
  Title          = {Integrating Information Retrieval and Domain Specific
                   Approaches for Browsing and Retrieval in
                   Object-Oriented Class Libraries},
  BookTitle      = {Proceedings OOPSLA '91, ACM SIGPLAN Notices},
  Volume         = {26},
  Pages          = {47-61},
  keywords       = {olit oopsla91},
  month          = nov,
  year           = 1991
}

@TechReport{Hill06a,
  Author         = {Rebecca Hiller},
  Title          = {{SEDEXfield} --- {PDA} {Programm} zur {Beurteilung}
                   von {Wildb\"achen}},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = { SEDEXfield is a PDA (Personal Digital Assistant)
                   program to evaluate the sediment delivery in mountain
                   torrents. The program is written in SuperWaba, an open
                   source programming language which is similar to Java,
                   but specially developed for PDA devices. Using this
                   programming language, it was possible to develop a
                   program running on Palm OS as well as under Windows CE.
                   SEDEX itself is a tool to estimate the sediment
                   delivery of a mountain torrent in case of a flood or a
                   debris flow. It shall help specialists to make their
                   analysis more efficient and to get a more transparent
                   and traceable result which is, for example, used for
                   hazard maps. The tool is developed by the Institute for
                   Geography of the University of Bern in order of the
                   Civil Engineering Office of the canton of Bern. The PDA
                   software was developed at the Institute of Computer
                   Science and Applied Mathematics of the University of
                   Bern as a project in computer science with the
                   Institute for Geography as costumer. This document
                   shall give an overview on the developing process
                   including the project requirements. Furthermore, a
                   technical manual and a user handbook is included into
                   the report.},
  keywords       = {snf-none scg-bp jb06 fb06},
  month          = mar,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Hill06a.pdf},
  year           = 2006
}

@InProceedings{Kazm98a,
  Author         = {R. Kazman and S.G. Woods and S.J. Carri\'ere},
  Title          = {Requirements for Integrating Software Architecture and
                   Reengineering Models: CORUM II},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {154-163},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@InProceedings{Nava00a,
  Author         = {Gonzalo Navarro and Erkki Sutinen and Jani Tanninen
                   and Jorma Tarhio},
  Title          = {Indexing Text with Approximate q-Grams},
  BookTitle      = {Proceedings of the 11th Annual Symposium on
                   Combinatorial Pattern Matching},
  Number         = {1848},
  Series         = {LNCS},
  Pages          = {350-363},
  Publisher      = {Springer Verlag, London},
  year           = 2000
}

@Article{Wegn72b,
  Author         = {Peter Wegner},
  Title          = {The Vienna Definition Language},
  Journal        = {ACM Computing Surveys},
  Volume         = {4},
  Number         = {1},
  Pages          = {5-63},
  keywords       = {pl-semantics vdl binder},
  month          = mar,
  year           = 1972
}

@InProceedings{Gray81a,
  Author         = {J. Gray},
  Title          = {The Transaction Concept: Virtues and Limitations},
  BookTitle      = {Proceedings of the Seventh International Conference on
                   Very Large Data Bases},
  Pages          = {144-154},
  keywords       = {dblit transactions},
  year           = 1981
}

@Article{Walk95a,
  Author         = {David Walker},
  Title          = {Objects in the {$\pi$}-Calculus},
  Journal        = {Information and Computation},
  Volume         = {116},
  Number         = {2},
  Pages          = {253-271},
  keywords       = {pcalc-obc mobility semantics ccs binder (shelf)},
  month          = feb,
  url            = {ftp://ftp.dcs.warwick.ac.uk/pub/reports/rr/217/all.ps.gz},
  year           = 1995
}

@InCollection{Card97a,
  Author         = {Luca Cardelli},
  Title          = {Type Systems},
  BookTitle      = {The Computer Science and Engineering Handbook},
  Publisher      = {CRC Press},
  Editor         = {Allen B. Tucker},
  Chapter        = {103},
  Pages          = {2208-2236},
  Address        = {Boca Raton, FL},
  keywords       = {olit-types},
  url            = {http://research.microsoft.com/Users/luca/Papers/TypeSystems.ps},
  year           = 1997
}

@InProceedings{Carz94a,
  Author         = {A. Carzaniga and G. P. Picco and G. Vigna},
  Title          = {Designing and Implementing Inter-Client Communication
                   in the O2 Object-Oriented Database Management System},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {53-64},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@Article{Bern99a,
  Author         = {Philip A. Bernstein and Thomas Bergstr{\"a}sser and
                   Jason Carlson and Shankar Pal and Paul Sanders and
                   David Shutt},
  Title          = {{Microsoft Repository Version 2 and the Open
                   Information Model}},
  Journal        = {Information Systems},
  Volume         = {24},
  Number         = {2},
  Pages          = {71-98},
  keywords       = {olit repository abb com com+ visual basic},
  url            = {http://msdn.microsoft.com/repository/technical/infosys/default.asp},
  year           = 1999
}

@InProceedings{Koze93a,
  Author         = {Dexter Kozen and Jens Palsberg and Michael I.
                   Schwartzbach.},
  Title          = {Efficient Recursive Subtyping},
  BookTitle      = {Proceedings POPL '93},
  Pages          = {419-428},
  keywords       = {types olit popl93},
  url            = {http://www.cs.purdue.edu/homes/palsberg/publications.html},
  year           = 1993
}

@InProceedings{Erns03a,
  Author         = {E. Ernst},
  Title          = {Higher-order hierarchies},
  BookTitle      = {Proceedings European Conference on Object-Oriented
                   Programming (ECOOP 2003)},
  Series         = {LNCS},
  Pages          = {303--329},
  Address        = {Heidelberg},
  Publisher      = {Springer Verlag},
  keywords       = {ecoop ecoop03 2003 virtual classes},
  location       = {Darmstadt, Germany},
  month          = jul,
  year           = 2003
}

@Article{Snyd86b,
  Author         = {Alan Snyder},
  Title          = {CommonObjects: An Overview},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {19-28},
  keywords       = {olit-oopl commonobjects lisp flavors oopws86
                   oobib(oopl)},
  month          = oct,
  year           = 1986
}

@InProceedings{Zdon84a,
  Author         = {Stanley Zdonik},
  Title          = {Object Management System Concepts},
  BookTitle      = {Proceedings of the Second ACM SIGOA Conference},
  Pages          = {13-19},
  keywords       = {olit-db ois},
  year           = 1984
}

@InProceedings{Oder95a,
  Author         = {Martin Odersky},
  Title          = {Applying $\pi$: Towards a Basis for Concurrent
                   Imperative Programming},
  BookTitle      = {Proc. 2nd {ACM} {SIGPLAN} Workshop on State in
                   Programming Languages},
  month          = jan,
  year           = 1995
}

@InProceedings{Kemp87b,
  Author         = {Renate Kempf and Marilyn Stelzner},
  Title          = {Teaching Object-Oriented Programming with the {KEE}
                   System},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {11-25},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Article{Mage89a,
  Author         = {Jeff Magee and Jeffrey Kramer and M. Sloman},
  Title          = {Constructing Distributed Systems in Conic},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {SE-15},
  Number         = {6},
  Pages          = {663-675},
  keywords       = {visprog scripting},
  year           = 1989
}

@Unpublished{Hond92e,
  Author         = {Kohei Honda},
  Title          = {On Interaction Types},
  Note           = {submitted for publicatedKeio University},
  keywords       = {pcalc-obc mobility types binder},
  misc           = {Aug 17},
  month          = aug,
  type           = {draft},
  year           = 1992
}

@TechReport{Boud87a,
  Author         = {G\'erard Boudol and Ilaria Castellani},
  Title          = {Concurrency and Atomicity},
  Institution    = {INRIA},
  Type           = {Report no.},
  Number         = {748},
  keywords       = {concurrency binder},
  month          = nov,
  year           = 1987
}

@InProceedings{Strei03a,
  Author         = {Detlef Streitferdt and Matthias Riebisch and Ilka
                   Philippow},
  Title          = {Details of Formalized Relations in Feature Models
                   Using OCL},
  BookTitle      = {Proceedings of the 10th IEEE International Conference
                   and Workshop on the Engineering of Computer-Based
                   Systems (ECBS'03)},
  keywords       = {features architecture},
  month          = apr,
  year           = 2003
}

@Article{Shaw90a,
  Author         = {M. Shaw},
  Title          = {Prospects for an Engineering Discipline of Software},
  Journal        = {IEEE Software},
  Volume         = {7},
  Number         = {6},
  Pages          = {15-24},
  keywords       = {olit},
  month          = nov,
  year           = 1990
}

@InProceedings{Poni06a,
  Author         = {Laura Ponisio and Oscar Nierstrasz},
  Title          = {Using Context Information to Re-architect a System},
  BookTitle      = {Proceedings of the 3rd Software Measurement European
                   Forum 2006 (SMEF'06)},
  Pages          = {91-103},
  abstract       = {Successful software systems cope with complexity by
                   organizing classes into packages. However, a particular
                   organization may be neither straightforward nor obvious
                   for a given developer. As a consequence, classes can be
                   misplaced, leading to duplicated code and ripple
                   effects with minor changes effecting multiple packages.
                   We claim that contextual information is the key to
                   rearchitecture a system. Exploiting contextual
                   information, we propose a technique to detect misplaced
                   classes by analyzing how client packages access the
                   classes of a given provider package. We define locality
                   as a measure of the degree to which classes reused by
                   common clients appear in the same package. We then use
                   locality to guide a simulated annealing algorithm to
                   obtain optimal placements of classes in packages. The
                   result is the identification of classes that are
                   candidates for relocation. We apply the technique to
                   three applications and validate the usefulness of our
                   approach via developer interviews.},
  annote         = {internationalconference},
  cvs            = {AlchemistSimulatedAnnealingSMEF06},
  keywords       = {jb06 fb06 scg-pub skipdoi oscarPub recast06},
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Poni06aSimulatedAnnealing.pdf},
  year           = 2006
}

@Book{Inst97,
  Author         = {{American National Standards Institute, Inc.}},
  Title          = {Draft American National Standard for Information
                   Systems - {Programming Languages} - {Smalltalk}},
  Publisher      = {American National Standards Institute},
  institution    = {American National Standards Institute, Inc.},
  keywords       = {plang smalltalk},
  year           = 1997
}

@TechReport{Gibb84a,
  Author         = {Simon Gibbs},
  Title          = {An Object-Oriented Office Data Model},
  Institution    = {University of Toronto},
  Type           = {CSRG Technical Report},
  Number         = {154},
  keywords       = {olit ois},
  year           = 1984
}

@Article{Reic87a,
  Author         = {J.G. Reich and W. Meiske},
  Title          = {A Simple Statistical Significance Test of Window
                   Scores in Large Dot Matrices obtained from Protein or
                   Nucleic Acid Sequences},
  Journal        = {Comput. Appl. Biosci.},
  Volume         = {3},
  Pages          = {25-30},
  keywords       = {dotplot},
  year           = 1987
}

@InProceedings{Sefi96c,
  Author         = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell},
  Title          = {Monitoring Complicance of a Software System with Its
                   High-Level Design Models},
  BookTitle      = {Proceedings ICSE-18},
  Pages          = {387-396},
  month          = mar,
  year           = 1996
}

@InProceedings{Gale91a,
  Author         = {William A. Gale and Kenneth W. Church},
  Title          = {Identifying Word Correspondences in Parallel Texts},
  BookTitle      = {Proceedings of the Fourth DARPA Workshop on Speech and
                   Natural Language},
  Pages          = {152-157},
  Address        = {Pacific Grove, CA},
  Publisher      = {Morgan Kaufman},
  month          = feb,
  year           = 1991
}

@Book{Bigg89b,
  Author         = {T.J. Biggerstaff and A.J. Perlis},
  Title          = {Software Reusability Volume {II}: Applications and
                   Experience},
  Publisher      = {ACM Press \& Addison Wesley},
  Volume         = {II},
  Address        = {Reading, Mass.},
  isbn           = {0-201-50018-3},
  keywords       = {olit-reuse book scglib},
  year           = 1989
}

@Book{Weis96a,
  Author         = {Michael Weiss and Andy Jhonson and Joe Kiniry},
  Title          = {Overview of {Java} and HotJava},
  Publisher      = {Open Software Foundation Version 2.1},
  keywords       = {java olit binder},
  month          = feb,
  year           = 1996
}

@Article{Horn87a,
  Author         = {M.F. Hornick and Stanley B. Zdonik},
  Title          = {A Shared, Segmented Memory System for an
                   Object-Oriented Database},
  Journal        = {ACM TOOIS},
  Volume         = {5},
  Number         = {1},
  Pages          = {70-95},
  keywords       = {olit-db encore},
  month          = jan,
  year           = 1987
}

@Misc{Tryg03a,
  Author         = {Trygve M. H. Reenskaug},
  Title          = {The Model-View-Controller (MVC) -- Its Past and
                   Present},
  Note           = {JavaZONE, Oslo, 2003}
}

@InProceedings{Deck94a,
  Author         = {Karsten M. Decker and Jiri J. Dvorak and Ren\'e M.
                   Rehmann},
  Title          = {A tool environment for parallel programming ---
                   User-driven development of a novel programming
                   environment for distributed memory parallel processor
                   systems},
  BookTitle      = {Priority Programme Informatics Research, Information
                   Conference Module 3 on Massively parallel systems},
  Pages          = {40-47},
  month          = nov,
  year           = 1994
}

@Book{Cock03a,
  Author         = {Alistair Cockburn},
  Title          = {Writting Effective Use Cases},
  Publisher      = {Addison Wesley},
  isbn           = {0201702258},
  keywords       = {scglib book},
  year           = 2003
}

@TechReport{Yama02a,
  Author         = {Tetsuo Yamamoto and Makoto Matsushita and Toshihiro
                   Kamiya and Katsuro Inoue},
  Title          = {Measuring Similarity of Large Software Systems Based
                   on Source Code Correspondence},
  Institution    = {Osaka University, Department of Information and
                   Computer Scineces, IIP Lab},
  Number         = {IIP-03-03-02},
  keywords       = {clones},
  month          = mar,
  url            = {http://sel.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/contents.en/369.html},
  year           = 2002
}

@InProceedings{Choi89a,
  Author         = {Choi, B. J. and DeMillo, R. A. and Krauser, E. W. and
                   Martin, R. J. and Mathur, A. P. and Offutt, A. J. and
                   Pan, H. and Spafford, E. H.},
  Title          = {The Mothra Tool Set (Software Testing)},
  BookTitle      = {System Sciences},
  Volume         = {2},
  Pages          = {275-284},
  abstract       = {Mothra is a software test environment that supports
                   mutation-based testing of software systems. Mutation
                   analysis is a powerful software testing technique that
                   evaluates the adequacy of test data based on its
                   ability to differentiate between the program under test
                   and its mutants, where mutants are constructed by
                   inserting single, simple errors into the program under
                   test. This evaluation process also provides guidance in
                   the creation of new test cases to provide more adequate
                   testing. Mothra consists of a collection of individual
                   tools, each of which implements a separate, independent
                   function for the testing system. The initial Mothra
                   tool set, for the most part, duplicates functionality
                   existing in previous mutation analysis systems. Current
                   efforts are concentrated on extending this basic tool
                   set to include capabilities previously unavailable to
                   the software testing community. The authors describe
                   Mothra tool set and extensions planned for the future},
  date-added     = {2007-02-01 14:05:28 +0100},
  date-modified  = {2007-02-01 14:11:26 +0100},
  institution    = {Dept. of Computer Science, Purdue Univiversity, West
                   Lafayette, IN},
  journal        = {System Sciences, 1989. Vol.II: Software Track,
                   Proceedings of the Twenty-Second Annual Hawaii
                   International Conference on},
  keywords       = {program testing; programming environments; software
                   tools; Mothra tool set; basic tool set; error
                   insertion; evaluation process; mutants; mutation
                   analysis systems; mutation-based testing; new test
                   cases; software systems; software test environment;
                   software testing technique; test data},
  month          = {jan},
  year           = 1989
}

@Article{Sang93d,
  Author         = {Sangiorgi, Davide},
  Title          = {Locality and Non-interleaving Semantics in Calculi for
                   Mobile Processes},
  Journal        = {Theoretical Computer Science},
  Volume         = {155},
  Pages          = {39-83},
  Note           = {An extract appeared in {\em {Proc}. {TACS} '94}},
  year           = 1996
}

@Article{Wong94a,
  Author         = {Kenny Wong and Scott R. Tilley and Hausi A. M{\"u}ller
                   and Margaret-Anne D. Storey},
  Title          = {Structural Redocumentation: {A} Case Study},
  Journal        = {IEEE Software},
  keywords       = {reverse engineering documentation binder},
  month          = jan,
  year           = 1994
}

@InProceedings{Cord88a,
  Author         = {James R. Cordy and Charles D. Halpern and Eric
                   Promislow},
  Title          = {{TXL}: {A} Rapid Prototyping System for Programming
                   Language Dialects},
  BookTitle      = {Proceedings of The International Conference of
                   Computer Languages},
  Pages          = {280-285},
  Address        = {Miami, FL},
  keywords       = {patterns olit txl binder},
  misc           = {Oct. 9-13},
  month          = oct,
  year           = 1988
}

@Book{Tsic97a,
  Editor         = {D. Tsichritzis},
  Title          = {Objects at Large},
  Publisher      = {Centre Universitaire d'Informatique, University of
                   Geneva},
  keywords       = {olit osg scglib},
  month          = jul,
  year           = 1997
}

@Article{Faya97a,
  Author         = {Mohamed E. Fayad and Douglas C. Schmidt},
  Title          = {Object-Oriented Application Frameworks (Special Issue
                   Introduction)},
  Journal        = {Communications of the ACM},
  Volume         = {40},
  Number         = {10},
  Pages          = {39-42},
  keywords       = {olit frameworks},
  month          = oct,
  year           = 1997
}

@Book{Flan99a,
  Author         = {David Flanagan},
  Title          = {Java In a Nutshell: 3rd Edition},
  Publisher      = {O'Reilly},
  Edition        = {3rd},
  keywords       = {scglib olit},
  year           = 1999
}

@InProceedings{Rich97b,
  Author         = {Richards, D. and Compton, P.},
  Title          = {Combining Formal Concept Analysis and Ripple Down
                   Rules to Support Reuse},
  BookTitle      = {Proceedings of Software Engineering Knowledge
                   Engineering SEKE'97},
  Address        = {Madrid},
  Publisher      = {Springer-Verlag},
  keywords       = {fca},
  month          = jun,
  year           = 1997
}

@Article{Chi89a,
  Author         = {Michelene T. H. Chi and Miriam Bassok and Matthew W.
                   Lewis and Peter Reimann and Robert Glaser},
  Title          = {Self-Explanations: How students study and use examples
                   in learning to solve problems.},
  Journal        = {Cognitive Science},
  Volume         = {13},
  Number         = {2},
  Pages          = {145-182},
  keywords       = {examples},
  month          = apr,
  year           = 1989
}

@Article{Work86a,
  Author         = {{OOP Workshop}},
  Title          = {Object-Oriented Programming Workshop},
  Journal        = {ACM SIGPLAN Notices (Special Issue)},
  Volume         = {21},
  Number         = {10},
  editor         = {P. Wegner and B. Shriver},
  institution    = {OOP Workshop},
  keywords       = {olit survey oopws86 oobib(gen)},
  month          = oct,
  year           = 1986
}

@Misc{OTI98,
  Title          = {{E}{N}{V}{Y}/{Manager} {User} {Manual} 4.0},
  Note           = {Object Technology International Inc.},
  key            = {OTI98},
  year           = 1998
}

@Book{Bal94a,
  Author         = {Henri E. Bal and Dick Grune},
  Title          = {Programming Language Essentials},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-63179-2},
  keywords       = {olit scglib},
  year           = 1994
}

@InCollection{Tayl00a,
  Author         = {Paul Taylor},
  Title          = {Capable, Productive, and Satisfied: Some
                   Organizational Patterns for Protecting Productive
                   People},
  BookTitle      = {Pattern Languages of Program Design},
  Publisher      = {Addison Wesley},
  Editor         = {N. Harrison and B. Foote and H. Rohnert},
  Volume         = {4},
  Pages          = {611-636},
  keywords       = {olit oorp},
  year           = 2000
}

@InBook{Geha96a,
  Author         = {Narain Gehani and H.V. Jagadish},
  Title          = {Active Database Facilities in Ode},
  Chapter        = {8},
  Pages          = {208-232},
  Publisher      = {Morgan Kaufman Publishers},
  year           = 1996
}

@InProceedings{Wils89a,
  Author         = {Paul R. Wilson and Thomas G. Moher},
  Title          = {Design of the Opportunistic Garbage Collector},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {23-36},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Heil90a,
  Author         = {D. Heiler and S. Zdonik},
  Title          = {Object Views: Extending the Vision},
  BookTitle      = {Proceedings of the Sixth International Conference on
                   Data Engineering},
  Pages          = {86-93},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  abstract       = {We present a mechanism for producing views in an
                   object-oriented system. The results are analogous to
                   database views in traditional database systems, except
                   that our object views hide or expose methods as well as
                   data. The mechanism is based on built-in facilities of
                   our project model for defining data and procedure
                   abstractions and for constructing new types and
                   objects. It uses the type system and the query language
                   of the model to support arbitrary transformations of
                   the underlying representations in designing database
                   views. Careful use of the query language allows one to
                   define updatable views. We also indicate how our
                   abstraction and view mapping capabilities can be used
                   to support federation of heterogeneous software and
                   databases.},
  keywords       = {olit-oodb (smc)},
  year           = 1990
}

@InProceedings{Lore97a,
  Author         = {David H. Lorenz},
  Title          = {Tiling design patterns\
a case study using the
                   interpreter pattern},
  BookTitle      = {OOPSLA '97: Proceedings of the 12th ACM SIGPLAN
                   conference on Object-oriented programming, systems,
                   languages, and applications},
  Pages          = {206--217},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/263698.263737},
  isbn           = {0-89791-908-4},
  location       = {Atlanta, Georgia, United States},
  year           = 1997
}

@Article{Jeze94a,
  Author         = {J-M. J\'ez\'equel and F. Guidec and F. Hamelin},
  Title          = {Parallelizing Object-Oriented Software trough the
                   Reuse of Parallel Components},
  Journal        = {Object-Oriented Systems},
  Volume         = {1},
  Number         = {2},
  Pages          = {149-170},
  keywords       = {olit binder},
  month          = dec,
  publisher      = {Chapman \& Hall},
  year           = 1994
}

@PhdThesis{Zeng03a,
  Author         = {Matthias Zenger},
  Title          = {Programming Language Abstractions for Extensible
                   Software Components},
  School         = {University of Lausanne, EPFL},
  keywords       = {keris virtual class},
  year           = 2003
}

@InProceedings{Jack86a,
  Author         = {Jonathan Jacky and Ira Kalet},
  Title          = {An Object-Oriented Approach to a Large Scientific
                   Application},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {368-376},
  keywords       = {olit-appl radiation therapy pascal oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Merl03a,
  Author         = {Ettore Merlo and Giuliano Antoniol and Massimiliano
                   {Di Penta}},
  Title          = {Complexity and Feasibility Issues in Object Oriented
                   Clone detection},
  BookTitle      = {Proceedings of 2nd International Workshop on Software
                   Clones (IWDSC'2003)},
  Address        = {Victoria, British Columbia, Canada},
  keywords       = {clones},
  month          = nov,
  url            = {http://www.bauhaus-stuttgart.de/iwdsc2003/},
  year           = 2003
}

@TechReport{Moos07a,
  Author         = {Marc Mooser},
  Title          = {Parsing the {Ada} Programming Language},
  Institution    = {University of Bern},
  Type           = {Bachelor's thesis},
  abstract       = {In this technical report we show how to produce a
                   parser for the Ada 83 programming language. It features
                   general ideas about parsing and the parser definitions
                   for main parts of Ada 83. Using SmaCC (Smalltalk
                   Compiler Compiler), a LR-parser-generator, we produce
                   different parsers which are able to parse different
                   parts or also the full language. Our SmaCC-version runs
                   in VisualWorks Smalltalk and we show how our parsers
                   are compiled there, how one can use Smalltalk
                   programming to produce a syntax tree out of the source
                   code and also fetch and process the structure of these
                   codes. The structure and corresponding contents is
                   imported as models into Moose - a tool to measure,
                   analyze, visualize and reengineer legacy applications
                   written in different programming languages in a
                   abstracted way using their concrete model. And there is
                   a discussion about problems one encounters when trying
                   to find exact machine-directives to parse texts in
                   general, how one may fix them and what specific
                   problems arised while this project.},
  keywords       = {snf-none scg-bp jb07},
  month          = feb,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Moos07a.pdf},
  year           = 2007
}

@InProceedings{Free89a,
  Author         = {Bjorn N. Freeman-Benson},
  Title          = {A Module Mechanism for Constraints in {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {389-396},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Acke96a,
  Author         = {Philipp Ackermann},
  Title          = {Developing Object-Oriented Multimedia Software},
  Publisher      = {dpunkt},
  Address        = {Heidelberg},
  isbn           = {3-920993-52-7},
  keywords       = {olit frameworks MET++ scglib},
  year           = 1996
}

@Article{Dijk68c,
  Author         = {Edsger W. Dijkstra},
  Title          = {Go To Statement Considered Harmful},
  Journal        = {Communications of the ACM},
  Volume         = {11},
  Number         = {3},
  Pages          = {147-148},
  month          = mar,
  year           = 1968
}

@InProceedings{Land97a,
  Author         = {T. Landauer and S. Dumais},
  Title          = {The Latent Semantic Analysis Theory of Acquisition,
                   Induction, and Representation of Knowledge},
  BookTitle      = {Psychological Review},
  Volume         = {104/2},
  Pages          = {211-240},
  year           = 1991
}

@InProceedings{Nako01a,
  Author         = {Preslav Nakov},
  Title          = {Latent Semantic Analysis for German Literature
                   Investigation},
  BookTitle      = {Proceedings of the International Conference, 7th Fuzzy
                   Days on Computational Intelligence, Theory and
                   Applications},
  Pages          = {834-841},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-42732-5},
  year           = 2001
}

@InProceedings{Carm95a,
  Author         = {Carmichael, Ian and Tzerpos, Vassilios and Holt, Rick
                   C.},
  Title          = {Design Maintenance: Unexpected Architectural
                   Interactions},
  BookTitle      = {International Conference on Software Maintenance
                   (ICSM)},
  Pages          = {134-140},
  Publisher      = {IEEE CS},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.1995.526535},
  issn           = {1063-6773},
  year           = 1995
}

@InProceedings{Cox00a,
  Author         = {Anthony Cox and Charles Clarke},
  Title          = {A comparative evaluation of techniques for syntactic
                   level source-code analysis},
  BookTitle      = {Proceedings 7th Asia-Pacific Software Engineering
                   Conference (APSEC)},
  month          = dec,
  year           = 2000
}

@InProceedings{Kno03a,
  Author         = {Jens Knodel and Martin Pinzger},
  Title          = {Improving Fact Extraction of Framework-based Software
                   Systems},
  BookTitle      = {Proceedings of WCRE '03},
  Pages          = {186-195},
  Publisher      = {IEEE Computer Society},
  month          = nov,
  year           = 2003
}

@Article{YuSe05a,
  Author         = {Yu-Seung Ma and Jeff Offutt and Yong Rae Kwon},
  Title          = {MuJava : An Automated Class Mutation System},
  Journal        = {Journal of Software Testing, Verification and
                   Reliability},
  Volume         = {15},
  Number         = {2},
  Pages          = {97-133},
  date-added     = {2007-01-31 10:27:08 +0100},
  date-modified  = {2007-01-31 10:27:08 +0100},
  month          = {jun},
  url            = {http://ise.gmu.edu/~offutt/mujava/},
  year           = 2005
}

@Book{Hofm00a,
  Author         = {Christine Hofmeister and Robert L. Nord and Dilip Soni},
  Title          = {Applied Software Architecture},
  Publisher      = {Addison Wesley},
  year           = 2000
}

@Book{Pedri98a,
  Author         = {Doug Pedrick and Jonathan Weedon and Jon Golberg and
                   Erik Bleifield},
  Title          = {Programming with VisiBroker},
  Publisher      = {Wiley},
  isbn           = {0-471-23901-1},
  keywords       = {olit corba visibroker},
  year           = 1998
}

@Book{Weav98a,
  Author         = {Lynn Weaver},
  Title          = {Inside {Java} Workshop 2.0},
  Publisher      = {Prentice-Hall},
  isbn           = {0-13-899584-2},
  keywords       = {java},
  year           = 1998
}

@TechReport{Teti97a,
  Author         = {Sani M. Tetik},
  Title          = {Datenbank f{\"u}r ``Clinical Study Notification
                   Forms'' ({BAG})},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  keywords       = {scg-ip skip-abstract jb-none},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Teti97a.pdf},
  year           = 1997
}

@InProceedings{Eixe98c,
  Author         = {Wolfgang Eixelsberger and Gall, Harald},
  Title          = {Describing Software Architectures by System Structure
                   and Properties},
  BookTitle      = {International Computer Software and Applications
                   Conference (COMPSAC)},
  Pages          = {106-111},
  Publisher      = {IEEE Computer Society},
  url            = {http://csdl2.computer.org/dl/proceedings/compsac/1998/8585/00/85850106.pdf},
  year           = 1998
}

@TechReport{Ndja93a,
  Author         = {Gilbert Ndjatou},
  Title          = {Modelling Objects, Knowledge and Learning in
                   Distributed Object-Based Systems},
  Institution    = {The City University of new York},
  Type           = {TR-93-04-02},
  keywords       = {olit-obc binder (shelf)},
  year           = 1993
}

@Manual{Jone07,
  Title          = {Roundup: an Issue-Tracking System for Knowledge
                   Workers},
  Author         = {Richard Jones},
  url            = http://roundup.sourceforge.net/doc-1.0/index.html,
  year           = 2007
}

@Article{Buch88a,
  Author         = {A.H. Reisner and C.A. Bucholtz},
  Title          = {The use of various properties of amino acids in color
                   and monochrome dot-matrix analyses for protein
                   homologies},
  Journal        = {CABIOS},
  Volume         = {4},
  Number         = {3},
  Pages          = {395-402},
  keywords       = {dotplot},
  year           = 1988
}

@InProceedings{Barb00a,
  Author         = {Fernanda Barbosa and Cunha, Jos{\'e} C.},
  Title          = {A Coordination Language for Collective Agent Based
                   Systems: {GroupLog}},
  BookTitle      = {Proceedings of SAC '00},
  Address        = {Como, Italy},
  Publisher      = {ACM},
  keywords       = {distributed scglib coordination},
  month          = mar,
  year           = 2000
}

@InProceedings{Pnue85a,
  Author         = {Amir Pnueli},
  Title          = {Linear and Branching Structures in the Semantics and
                   Logics of Reactive Systems},
  BookTitle      = {Proceedings ICALP '85},
  Editor         = {W. Brauer},
  Series         = {LNCS 194},
  Pages          = {15-32},
  Address        = {Nafplion},
  Publisher      = {Springer-Verlag},
  keywords       = {pcalc ccs icalp85 binder(conc)},
  month          = jul,
  year           = 1985
}

@Article{Bake93b,
  Author         = {Brenda S. Baker},
  Title          = {On Finding Duplication in Strings and Software},
  Journal        = {Journal of Algorithms},
  Note           = {To appear},
  annote         = {incomplete},
  keywords       = {clones},
  url            = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-1.ps.gz},
  year           = 1993
}

@InProceedings{Beaz98a,
  Author         = {David M. Beazley},
  Title          = {Interfacing {C/C++} and {Python} with {SWIG}},
  BookTitle      = {7th International Python Conference, SWIG Tutorial},
  keywords       = {swig scripting},
  year           = 1998
}

@InProceedings{Turs81a,
  Author         = {W. Turski},
  Title          = {Software Stability},
  BookTitle      = {Proceedings for the 6th ACM Conference on Systems
                   Architecture},
  year           = 1981
}

@InProceedings{Canf99a,
  Author         = {Gerardo Canfora and Aniello Cimitile and Andrea {De
                   Lucia} and Giuseppe A. {Di Lucca}},
  Title          = {A {Case} {Study} of {Applying} an {Eclectic}
                   {Approach} to {Identify} {Objects} in {Code}},
  BookTitle      = {Proceedings of IWPC '99 (7th International Workshop on
                   Program Comprehension)},
  Pages          = {136-143},
  Organization   = {IEEE},
  Publisher      = {IEEE Computer Society},
  keywords       = {fca},
  location       = {Pittsburg, {USA}},
  month          = may,
  year           = 1999
}

@Article{Basi87a,
  Author         = {Victor Basili and Richard Selby},
  Title          = {Comparing the Effectiveness of Software Testing
                   Strategies},
  Journal        = {IEEE Transactions on Software Engineering},
  Volume         = {12},
  Number         = {12},
  Pages          = {1278-1296},
  month          = dec,
  year           = 1987
}

@TechReport{Harr93b,
  Author         = {William Harrison and Harold Ossher},
  Title          = {{PCTE} {SDS}'s for Modeling {OOTIS} Control
                   Integration},
  Institution    = {IBM Research Division},
  Type           = {RC 18827},
  Number         = {(82339)},
  keywords       = {olit binder},
  year           = 1993
}

@Book{Mili02a,
  Author         = {Hafedh Mili and Ali Mili and Sherif Yacoub and Edward
                   Andy},
  Title          = {Reuse-Based Software Engineering},
  Publisher      = {John Wiley and Sons},
  keywords       = {scglib new},
  year           = 2002
}

@InProceedings{Form94a,
  Author         = {Ira R. Forman and Scott Danforth and Hari Madduri},
  Title          = {Composition of Before/After Metaclasses in {SOM}},
  BookTitle      = {Proceedings of OOPSLA '94},
  Editor         = {ACM},
  Volume         = {29},
  Number         = {10},
  Series         = {ACM Sigplan Notices},
  Pages          = {427-439},
  Address        = {Portland},
  Organization   = {ACM},
  month          = oct,
  year           = 1994
}

@InProceedings{Kaeh86a,
  Author         = {Ted Kaehler},
  Title          = {Virtual Memory on a Narrow Machine for an
                   Object-Oriented Language},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {87-106},
  keywords       = {olit-oopl smalltalk memory loom oopsla86},
  month          = nov,
  year           = 1986
}

@Article{Atki00a,
  Author         = {Atkinson, C. and Kuehne, T. and Henderson-Sellers, B.},
  Title          = {To meta or not to meta: that is the question},
  Journal        = {Journal of Object-Oriented Programming},
  Volume         = {8},
  Number         = {13},
  Pages          = {32--35},
  year           = 2000
}

@Book{Giff98a,
  Author         = {Dwayne Gifford et al.},
  Title          = {Access 97 Unleashed},
  Publisher      = {Sams},
  keywords       = {db scglib book},
  year           = 1998
}

@InProceedings{Arev03c,
  Author         = {Gabriela Ar{\'e}valo and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {{X-Ray} Views: Understanding the Internals of Classes},
  BookTitle      = {Proceedings of 18th Conference on Automated Software
                   Engineering (ASE'03)},
  Pages          = {267-270},
  Publisher      = {IEEE Computer Society},
  Note           = {Short paper},
  abstract       = { Understanding the internal workings of classes is a
                   key prerequisite to maintaining an object-oriented
                   software system. Unfortunately, classical editing and
                   browsing tools offer mainly linear and textual views of
                   classes and their implementation. These views fail to
                   expose the semantic relationships between the internal
                   parts of a class. We propose XRay views --a technique
                   based on Concept Analysis-- which reveal the internal
                   relationships between groups of methods and attributes
                   of a class. XRay views are composed out of elementary
                   collaborations between attributes and methods, and help
                   the engineer to build a mental model of how a class
                   works internally. In this paper we present XRay views,
                   and illustrate the approach by applying it on the
                   Smalltalk class UIBuilder. },
  annote         = {internationalconference},
  cvs            = {ConAnASE03XRayViews},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ASE.2003.1240318},
  keywords       = {recast03 scg-pub stefPub moose-pub arevalo jb04},
  month          = oct,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev03cASE03XRayViews.pdf},
  year           = 2003
}

@InProceedings{Goer89a,
  Author         = {Steven K. Goering and Simon M. Kaplan},
  Title          = {Visual Concurrent Programming in {GARP}},
  BookTitle      = {Proceedings PARLE '89, Vol II},
  Editor         = {E. Odijk and J-C. Syre},
  Volume         = {366},
  Series         = {LNCS},
  Pages          = {165-180},
  Address        = {Eindhoven},
  Publisher      = {Springer-Verlag},
  keywords       = {visprog olit obc garp binder(visprog)},
  month          = jun,
  year           = 1989
}

@InProceedings{Atki86a,
  Author         = {Robert G. Atkinson},
  Title          = {Hurricane: An Optimizing Compiler for {Smalltalk}},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {151-158},
  keywords       = {olit-oopl smalltalk oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Merl93a,
  Author         = {P. Merlo and I. {McAdam} and R. {De~Mori}},
  Title          = {Source Code Informal Information Analysis Using
                   Connectionist Models},
  BookTitle      = {Proceedings of International Joint Conference on
                   Artificial Intelligence (IJCAI'93)},
  Volume         = {1},
  Pages          = {1339--1345},
  year           = 1993
}

@InProceedings{Dewa99a,
  Author         = {Rick Dewar},
  Title          = {Characteristics of Legacy System Reengineering},
  BookTitle      = {Proceedings of EuroPLoP 1999},
  keywords       = {olit oorp},
  url            = {http://www.argo.be/europlop/writers.htm},
  year           = 1999
}

@Misc{SqueakIRCClient,
  title          = {Squeak {IRC} Client},
  note           = {\\ \url{http://www.preeminent.org/squeak/irc-help/irc-help.html}},
  key            = {SqueakIRCClient},
  keywords       = {squeak irc},
  url            = {http://www.preeminent.org/squeak/irc-help/irc-help.html}
}

@InProceedings{Lakh00a,
  Author         = {Lakhotia and Gravley},
  Title          = {Toward Experimental Evaluation of Subsystem
                   Classification Recovery Techniques},
  BookTitle      = {Proceedings of Working Conference on Reverse
                   Engineering (WCRE)},
  Pages          = {262-272},
  Publisher      = {IEEE CS},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/WCRE.1995.514714},
  year           = 1995
}

@InProceedings{Brio89a,
  Author         = {Jean-Pierre Briot and Pierre Cointe},
  Title          = {Programming with Explicit Metaclasses in
                   {Smalltalk}-80},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {419-432},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@Book{Cian99a,
  Editor         = {Paolo Ciancarini and Alesandro Fantechi and Roberto
                   Gorrieri},
  Title          = {{FMOODS}'99},
  Publisher      = {Kluer Academic Publishers},
  Address        = {Florence, Italy},
  isbn           = {0-7923-8429-6},
  keywords       = {FMOODS '99 scglib},
  month          = feb,
  year           = 1999
}

@InProceedings{Byrd82a,
  Author         = {R.J. Byrd and S.E. Smith and Peter de Jong},
  Title          = {An Actor-Based Programming System},
  BookTitle      = {Proceedings ACM SIGOA, Newsletter},
  Volume         = {3},
  Pages          = {67-78},
  Address        = {Philadelphia},
  keywords       = {olit-oopl actors},
  month          = jun,
  year           = 1982
}

@PhdThesis{Maes87b,
  Author         = {Patricia Maes},
  Title          = {Computational {Reflection}},
  School         = {Laboratory for Artificial Intelligence},
  Address        = {Vrije Universiteit Brussel, Brussels Belgium},
  month          = jan,
  year           = 1987
}

@MastersThesis{Lien04a,
  Author         = {Adrian Lienhard},
  Title          = {Bootstrapping {Traits}},
  School         = {University of Bern},
  abstract       = {This thesis discusses the implementation of traits.
                   The result it presents is a new Smalltalk kernel
                   bootstrapped with traits. The implementation is fully
                   done in Squeak, an open-source dialect of Smalltalk. It
                   is planned that the next generation of Squeak will
                   include traits. Because traits are simple and
                   completely backward compatible with single inheritance,
                   implementing traits in a reflective single inheritance
                   language like Squeak is unproblematic. However, an
                   implementation with a sophisticated and clean design,
                   with the robustness to be used in production and the
                   flexibility to be used as a vehicle for future
                   research, is not trivial. Furthermore our work is aimed
                   at serving as a reference implementation for the
                   introduction of traits in other languages. Hence, we
                   focused on building a simple but powerful system for
                   the future. Consequently following the fundamental idea
                   of a reflective language --- using the features of the
                   language to define the behavior of the language itself
                   --- we bootstrapped the new kernel which, eventually,
                   allowed us to fully express the system itself with
                   traits. The refactoring of the core of the Smalltalk
                   language as a composition of traits not only improved
                   its quality but also enhanced its understandability.
                   This has the advantage that it is easier maintainable
                   and it facilitates experimentation with the language
                   because the different aspects of the kernel are now
                   available as traits and can therefore be recomposed to
                   create new kernel classes with different properties.},
  keywords       = {scg-msc snf05 jb05 scg-pub skipdoi},
  month          = nov,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Diploma/Lien04a.pdf},
  year           = 2004
}

@Book{Gosl05a,
  Author         = {James Gosling and Bill Joy and Guy Steele and Gilad
                   Bracha},
  Title          = {The {Java} Language Specification (Third Edition)},
  Publisher      = {Addison Wesley},
  isbn           = {0-321-24678-0},
  keywords       = {olit oopl java},
  year           = 2005
}

@InProceedings{John94b,
  Author         = {J. Howard Johnson},
  Title          = {Visualizing Textual Redundancy in Legacy Source},
  BookTitle      = {Proceedings of CASCON '94},
  Pages          = {9-18},
  year           = 1994
}

@TechReport{Hank92a,
  Author         = {Chris Hankin and Daniel Le M{\'e}tayer and David Sands},
  Title          = {A Calculus of Gamma Programs},
  Institution    = {INRIA-Rennes},
  Type           = {Report No.},
  Number         = {1758},
  keywords       = {concurrency gamma binder},
  month          = oct,
  year           = 1992
}

@InProceedings{Bran96a,
  Author         = {S\/oren Brandt and J\/orgen Lindskov Knudsen},
  Title          = {Generalising the {BETA} Type System},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Volume         = {1098},
  Series         = {LNCS},
  Pages          = {421-448},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Wild93a,
  Author         = {Norman Wilde and Paul Matthews and Ross Hutt},
  Title          = {Maintaining Object-Oriented Software},
  Journal        = {IEEE Software (Special Issue on "Making O-O Work")},
  Volume         = {10},
  Number         = {1},
  Pages          = {75-80},
  keywords       = {olit ieee},
  month          = jan,
  year           = 1993
}

@Article{Lisk77a,
  Author         = {Barbara Liskov and Alan Snyder and Robert Atkinson and
                   Craig Schaffert},
  Title          = {Abstraction Mechanisms in {CLU}},
  Journal        = {CACM},
  Volume         = {20},
  Number         = {8},
  Pages          = {564-576},
  keywords       = {olit lang clu data abstraction},
  month          = aug,
  year           = 1977
}

@InProceedings{Guer94b,
  Author         = {Rachid Guerraoui},
  Title          = {Atomic Object Composition},
  BookTitle      = {Proceedings ECOOP '94},
  Editor         = {M. Tokoro and R. Pareschi},
  Volume         = {821},
  Series         = {LNCS},
  Pages          = {118-138},
  Address        = {Bologna, Italy},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop94proc},
  month          = jul,
  year           = 1994
}

@InProceedings{Bry99a,
  Author         = {Ciaran Bryce and Manuel Oriol and Jan Vitek},
  Title          = {A Coordination Model for Agents Based on Secure Spaces},
  BookTitle      = {Proceedings of Coordination '99 (Coordination
                   Languages and Models},
  Number         = 1594,
  Series         = {LNCS},
  Pages          = {4-20},
  Publisher      = {Springer-Verlag},
  keywords       = {olit coordination99},
  year           = 1999
}

@TechReport{John75a,
  Author         = {S.C. Johnson},
  Title          = {Yacc: Yet Another Compiler Compiler},
  Institution    = {Bell Laboratories},
  Type           = {Computer Science Technical Report},
  Number         = {\#32},
  Address        = {Murray Hill, NJ},
  keywords       = {misc unix yacc compiler},
  year           = 1975
}

@InProceedings{Lafo88a,
  Author         = {Yves Lafont},
  Title          = {Introduction to Linear Logic},
  BookTitle      = {Lecture notes for the Summer School on Constructive
                   Logics and Category Theory},
  Address        = {Isle of Thorna},
  keywords       = {linear-logic binder},
  month          = aug,
  year           = 1988
}

@Book{Miln90a,
  Author         = {Robin Milner and M. Tofte and R. Harper},
  Title          = {The definition of standard {ML}.},
  Publisher      = {MIT Press},
  Address        = {Cambridge},
  isbn           = {0-262-63132-6},
  keywords       = {fpl ml semantics book scglib},
  year           = 1990
}

@InProceedings{Bell97c,
  Author         = {Berndt Bellay and Harald Gall},
  Title          = {A Comparison of Four Reverse Engineering Tools},
  BookTitle      = {Proceedings of WCRE (Working Conference on Reverse
                   Engineering)},
  Pages          = {2-11},
  Publisher      = {IEEE Computer Society Press: Los Alamitos CA},
  year           = 1997
}

@InProceedings{Meht02a,
  Author         = {Alok Mehta and George Heineman},
  Title          = {Evolving legacy systems features using regression test
                   cases and components},
  BookTitle      = {Proceedings ACM International Workshop on Principles
                   of Software Evolution},
  Pages          = {190-193},
  Address        = {New York NY},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/602461.602507},
  isbn           = {1-58113-508-4},
  location       = {Vienna, Austria},
  year           = 2002
}

@TechReport{Ovli02a,
  Author         = {Johan Ovlinger and Karl Lieberherr and David Lorenz},
  Title          = {Aspects and Modules Combined},
  Institution    = {College of Computer Science, Northeastern University},
  Number         = {NU-CCS-02-03},
  Address        = {Boston, MA},
  Note           = {http://www.ccs.neu.edu/research/demeter/papers/ac-aspectj-hyperj},
  month          = mar,
  year           = 2002
}

@Article{Stee99a,
  Author         = {Guy Steele},
  Title          = {Growing a Language},
  Journal        = {Higher-Order and Symbolic Computation},
  Volume         = {12},
  Number         = {3},
  Pages          = {221-236},
  address        = {(Hingham, MA)},
  doi            = {http://dx.doi.org/10.1023/A:1010085415024},
  issn           = {1388-3690},
  month          = oct,
  publisher      = {Kluwer Academic Publishers},
  url            = {http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf},
  year           = 1999
}

@Article{Hoad03a,
  Author         = {Timothy C. Hoad and Justin Zobel},
  Title          = {Methods for Identifying Versioned and Plagiarized
                   Documents},
  Journal        = {Journal of the American Society for Information
                   Science and Technology},
  Volume         = {54},
  Number         = {3},
  Pages          = {203-215},
  keywords       = {plagiarism},
  url            = {http://goanna.cs.rmit.edu.au/~jz/Papers.html},
  year           = 2003
}

@InProceedings{Girb04b,
  Author         = {Tudor G\^irba and St\'ephane Ducasse and Michele Lanza},
  Title          = {{Yesterday's} {Weather}: Guiding Early Reverse
                   Engineering Efforts by Summarizing the Evolution of
                   Changes},
  BookTitle      = {Proceedings of 20th IEEE International Conference on
                   Software Maintenance (ICSM'04)},
  Pages          = {40--49},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society},
  abstract       = {Knowing where to start reverse engineering a large
                   software system, when no information other than the
                   system`s source code itself is available, is a daunting
                   task. Having the history of the code (i.e., the
                   versions) could be of help if this would not imply
                   analyzing a huge amount of data. In this paper we
                   present an approach for identifying candidate classes
                   for reverse engineering and reengineering efforts. Our
                   solution is based on summarizing the changes in the
                   evolution of object-oriented software systems by
                   defining history measurements. Our approach, named
                   Yesterday`s Weather, is an analysis based on the
                   retrospective empirical observation that classes which
                   changed the most in the recent past also suffer
                   important changes in the near future. We apply this
                   approach on two case studies and show how we can obtain
                   an overview of the evolution of a system and pinpoint
                   its classes that might change in the next versions.},
  annote         = {internationalconference},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2004.1357788},
  keywords       = {scg-pub evolution stefPub van moose-pub girba recast05
                   jb05},
  location       = {Illinois, USA},
  misc           = {acceptance rate: 38/122 = 31\%},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Girb04bYesterdayWeather.pdf},
  year           = 2004
}

@Article{Hall90a,
  Author         = {Anthony Hall},
  Title          = {Seven Myths of Formal Methods},
  Journal        = {IEEE Software},
  Volume         = {7},
  Number         = {5},
  Pages          = {11-19},
  misc           = {Sept.},
  month          = sep,
  year           = 1990
}

@InProceedings{Sekh02a,
  Author         = {K. Chandra Sekharaiah and D. Janaki Ram},
  Title          = {Object Schizophrenia Problem in Object Role System
                   Design},
  BookTitle      = {OOIS '02: Proceedings of the 8th International
                   Conference on Object-Oriented Information Systems},
  Volume         = {2425/2002},
  Pages          = {494--506},
  Address        = {London, UK},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-44087-9},
  year           = 2002
}

@Article{Horr02a,
  Author         = {I. Horrocks},
  Title          = {DAML+OIL: a description logic for the Semantic Web},
  Journal        = {IEEE Data Eng Bull},
  Volume         = {25},
  Number         = {1},
  Pages          = {4--9},
  year           = 2002
}

@InProceedings{Kay93a,
  Author         = {Alan C. Kay},
  Title          = {The Early History of {Smalltalk}},
  BookTitle      = {ACM SIGPLAN Notices},
  Volume         = {28},
  Pages          = {69-95},
  Publisher      = {ACM Press},
  keywords       = {smalltalk},
  month          = mar,
  url            = {http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_Abstract.html},
  year           = 1993
}

@Book{Enja94a,
  Editor         = {P. Enjalbert and E.W. Mayr and K.W. Wagner},
  Title          = {Proceedings of {STACS} '94 11th Annual Symposium on
                   Theoretical Aspects of Computer Science},
  Publisher      = {Springer-Verlag},
  Volume         = {775},
  Series         = {LNCS},
  isbn           = {3-540-57785-8},
  keywords       = {book scglib},
  year           = 1994
}

@Misc{Bail89a,
  Author         = {S.C. Bailin},
  Title          = {An Object-Oriented Requirements Specification Method},
  address        = {CACM},
  keywords       = {olit READ},
  month          = may,
  number         = {5},
  pages          = {608-623},
  volume         = {32},
  year           = 1989
}

@InProceedings{Bijn94a,
  Author         = {Stijn Bijnens and Wouter Joosen and Pierre Verbaeten},
  Title          = {A Reflective Invocation Scheme to Realise Advanced
                   Object Management},
  BookTitle      = {Proceedings of the ECOOP '93 Workshop on Object-Based
                   Distributed Programming},
  Editor         = {Rachid Guerraoui and Oscar Nierstrasz and Michel
                   Riveill},
  Volume         = {791},
  Series         = {LNCS},
  Pages          = {139-151},
  Publisher      = {Springer-Verlag},
  abstract       = {The integration of the notion of distribution in an
                   object-oriented language not only introduces a need for
                   location independent object invocation but also has to
                   cope with various object management operations. These
                   meta-operations include object migration, object
                   replication and granularity control. Additionally, in a
                   multithreaded environ- ment, the concurrency control
                   specifications defined on an object by the application
                   programmer must be realised correctly. Our object
                   invocation scheme offers mechanisms for realising these
                   management operations and concurrency control
                   transparently. This scheme {based on reference objects}
                   is generic in the sense that it can be extented to
                   realise some additional object management operations
                   currently not supported by our prototype. This
                   prototype is realised in a C++ environment on various
                   distributed memory platforms.},
  keywords       = {olit-obc obdp93},
  year           = 1994
}

@Book{Gong99a,
  Author         = {Li Gong},
  Title          = {Inside {Java} 2 Platform Security},
  Publisher      = {Addison Wesley},
  Series         = {The {Java} Series},
  keywords       = {java scglib},
  year           = 1999
}

@Book{Gran98b,
  Author         = {Mark Grant},
  Title          = {Patterns in {Java} Volume 1},
  Publisher      = {Willey},
  isbn           = {0-471-25839-3},
  keywords       = {olit-oopl java patterns scglib},
  year           = 1998
}

@InProceedings{Deco86a,
  Author         = {Dominique Decouchant},
  Title          = {Design of a Distributed Object Manager for the
                   {Smalltalk}-80 System},
  BookTitle      = {Proceedings OOPSLA '86, ACM SIGPLAN Notices},
  Volume         = {21},
  Pages          = {444-452},
  keywords       = {olit-oopl smalltalk distribution oopsla86},
  month          = nov,
  year           = 1986
}

@InProceedings{Gree06a,
  Author         = {Orla Greevy and Michele Lanza and Christoph Wysseier},
  Title          = {Visualizing live Software Systems in 3{D}},
  BookTitle      = {Proceedings of SoftVis 2006 (ACM Symposium on Software
                   Visualization)},
  abstract       = { The analysis of the runtime behavior of a software
                   system yields vast amounts of information, making
                   accurate interpretations difficult. Filtering or
                   compression techniques are often applied to reduce the
                   volume of data without loss of key information vital
                   for a specific analysis goal. Alternatively,
                   visualization is generally accepted as a means of
                   effectively representing large amounts of data. The
                   challenge lies in creating effective and expressive
                   visual representations that not only allows for a
                   global picture, but also enables us to inspect the
                   details of the large data sets. We define the focus of
                   our analysis to be the runtime behavior of features.
                   Static structural visualizations of a system are
                   typically represented in two dimensions. We exploit a
                   third dimension to visually represent the dynamic
                   information, namely object instantiations and message
                   sends. We introduce a novel 3D visualization technique
                   that supports animation of feature behavior and
                   integrates zooming, panning, rotating and on-demand
                   details. As proof of concept, we apply our
                   visualization technique to feature execution traces of
                   an example system.},
  annote         = {internationalconference},
  cvs            = {TraceCrawlerSoftVis2006},
  doi            = {http://doi.acm.org/10.1145/1148493.1148501},
  keywords       = {scg-pub greevy jb07 fb06 Feature Feature-Traces
                   Dynamic Analysis 3D moose-pub recast07},
  month          = sep,
  peer           = {yes},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree06aTraceCrawlerSoftVis2006.pdf},
  year           = 2006
}

@InProceedings{Barr82a,
  Author         = {John L. Barron},
  Title          = {Dialogue and Process Design for Interactive
                   Information Systems using Taxis},
  BookTitle      = {Proceedings ACM SIGOA},
  Pages          = {12-20},
  Address        = {Philadelphia},
  keywords       = {olit-oopl taxis},
  month          = jun,
  year           = 1982
}

@Book{Wilc45a,
  Author         = {Frank Wilcoxon},
  Title          = {Individual Comparisons by Ranking Methods},
  Publisher      = {International Biometric Society},
  booktitle      = {Biometrics I},
  pages          = {80-83},
  year           = 1945
}

@InProceedings{Lung07a,
  Author         = {Mircea Lungu and Michele Lanza},
  Title          = {Exploring Inter-Module Relationships in Evolving
                   Software Systems},
  BookTitle      = {Proceedings of CSMR 2007 (11th European Conference on
                   Software Maintenance and Reengineering)},
  Pages          = {xxx-xxx},
  Address        = {Los Alamitos CA},
  Publisher      = {IEEE Computer Society Press},
  year           = 2007
}

@Article{Feld79a,
  Author         = {J.A. Feldman},
  Title          = {High Level Programming for Distributed Computing},
  Journal        = {CACM},
  Volume         = {22},
  Number         = {6},
  keywords       = {misc modules messages},
  month          = jun,
  year           = 1979
}

@Article{Wirt06a,
  Author         = {Niklaus Wirth},
  Title          = {Good Ideas, through the Looking Glass},
  Journal        = {Computer},
  Volume         = {39},
  Number         = {1},
  Pages          = {28-39},
  abstract       = {Computing's history has been driven by many good and
                   original ideas, but a few turned out to be less
                   brilliant than they first appeared to be.},
  address        = {Los Alamitos, CA, USA},
  doi            = {http://doi.ieeecomputersociety.org/10.1109/MC.2006.20},
  issn           = {0018-9162},
  publisher      = {IEEE Computer Society},
  url            = {http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf},
  year           = 2006
}

@InProceedings{Cros98a,
  Author         = {Cross II, James H. and T. Dean Hendrix and Larry A.
                   Barowsky and Karl S. Mathias},
  Title          = {Scalable Visualizations to Support Reverse
                   Engineering: A Framework for Evaluation},
  BookTitle      = {Proceedings of WCRE '98},
  Pages          = {201-210},
  Publisher      = {IEEE Computer Society},
  Note           = {ISBN: 0-8186-89-67-6},
  year           = 1998
}

@Article{Doda93b,
  Author         = {Mahesh Dodani},
  Title          = {Teaching Practical Object-Oriented Engineering},
  Journal        = {OOPS Messenger},
  Volume         = {4},
  Number         = {2},
  Pages          = {251-257},
  keywords       = {obib(gen) binder},
  year           = 1993
}

@InProceedings{Arno93a,
  Author         = {A. Arno},
  Title          = {Verification and Comparison of Transition Systems},
  BookTitle      = {Proceedings TAPSOFT '93},
  Volume         = {668},
  Series         = {LNCS},
  Pages          = {121-135},
  Publisher      = {Springer-Verlag},
  keywords       = {verification transitions tapsoft93},
  month          = apr,
  year           = 1993
}

@TechReport{Abra90a,
  Author         = {Samson Abramsky},
  Title          = {Computational Interpretations of Linear Logic},
  Institution    = {Imperial College},
  Type           = {Research Report DOC},
  Number         = {90/20},
  Address        = {London},
  keywords       = {concurrency linear logic binder (shelf)},
  month          = oct,
  year           = 1990
}

@Book{Papa82a,
  Author         = {C.H. Papadimitriou and K. Steiglitz},
  Title          = {Combinatorial Optimization},
  Publisher      = {Prentice-Hall},
  keywords       = {misc combinatorics book},
  year           = 1982
}

@InProceedings{Rabi78a,
  Author         = {L. Rabiner and A. Rosenberg and S. Levinson},
  Title          = {Considerations in dynamic time warping algorithms for
                   discrete word recognition},
  BookTitle      = {IEEE Transactions. Acoustics, Speech and Signal
                   Processing},
  Pages          = {572-582},
  Publisher      = {IEEE},
  vol            = {26},
  year           = 1978
}

@InProceedings{Smit94a,
  Author         = {Walter R.Smith},
  Title          = {The Newton Application Architecture},
  BookTitle      = {Proceedings of the 39th IEEE Computer Society
                   International Conference},
  Pages          = {156-161},
  keywords       = {ioom ioom-prototype uilit star},
  month          = jun,
  year           = 1994
}

@Book{Ande95a,
  Editor         = {Birger Anderson and Carlos Baquero and Rui Oliveira},
  Title          = {Proceedings of {ECOOP}'95 Workshop on Mobility and
                   Replication},
  Publisher      = {??},
  keywords       = {oobib(mobility) olit binder},
  month          = aug,
  year           = 1995
}

@Misc{Strongtalk,
  title          = {The Strongtalk Type System for Smalltalk},
  note           = {\\ \url{http://bracha.org/nwst.html}},
  key            = {Strongtalk},
  keywords       = {smalltalk strongtalk optional type system},
  url            = {http://bracha.org/nwst.html}
}

@Proceedings{WCRE99,
  Title          = {Sixth Working Conference on Reverse Engineering},
  Organization   = {IEEE Computer Society},
  keywords       = {scglib},
  year           = 1999
}

@InProceedings{Lehm96a,
  Author         = {Manny Lehman},
  Title          = {Laws of Software Evolution Revisited},
  BookTitle      = {European Workshop on Software Process Technology},
  Pages          = {108--124},
  Address        = {Berlin},
  Publisher      = {Springer},
  keywords       = {evolution},
  year           = 1996
}

@InProceedings{Grim87a,
  Author         = {Andrew S. Grimshaw and Jane W.S. Liu},
  Title          = {Mentat: An Object-Oriented Macro Data Flow System},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {35-47},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@Misc{Smit03,
  Author         = {Smith, David A. and Alan Kay and Andreas Raab and
                   David P. Reed},
  Title          = {Croquet, {A} {Collaboration} {System} {Architecture}},
  Note           = {in: Proceedings of the First Conference on Creating,
                   Connecting and Collaborating through Computing},
  year           = 2003
}

@InProceedings{Smit87a,
  Author         = {Karen E. Smith and Stanley B. Zdonik},
  Title          = {Intermedia: {A} Case Study of the Differences Between
                   Relational and Object-Oriented Database Systems},
  BookTitle      = {Proceedings OOPSLA '87, ACM SIGPLAN Notices},
  Volume         = {22},
  Pages          = {452-465},
  keywords       = {olit oopsla87},
  month          = dec,
  year           = 1987
}

@InProceedings{Harr89a,
  Author         = {William H. Harrison and Peter F. Sweeney and John J.
                   Shilling},
  Title          = {Good News, Bad News: Experience Building a Software
                   Development Environment Using the Object-Oriented
                   Paradigm},
  BookTitle      = {Proceedings OOPSLA '89, ACM SIGPLAN Notices},
  Volume         = {24},
  Pages          = {85-94},
  keywords       = {olit oopsla89},
  month          = oct,
  year           = 1989
}

@InProceedings{Ryss03a,
  Author         = {Filip van Rysselberghe and Serge Demeyer},
  Title          = {Evaluating Clone Detection Techniques},
  BookTitle      = {Proceedings of the International Workshop on Evolution
                   of Large Scale Industrial Applications (ELISA)},
  Pages          = {25-36},
  url            = {http://www.win.ua.ac.be/~fvrys/publications/},
  year           = 2003
}

@InProceedings{Chen94c,
  Author         = {Yih-Farn Chen and David S. Rosenblum and Kiem-Phong Vo},
  Title          = {TestTube: a system for selective regression testing},
  BookTitle      = {Proceedings of the 16th international conference on
                   Software engineering},
  Pages          = {211-220},
  Publisher      = {IEEE Computer Society Press},
  isbn           = {0-8186-5855-X},
  keywords       = {testing},
  location       = {Sorrento, Italy},
  year           = 1994
}

@TechReport{Kim87b,
  Author         = {H-J Kim and H.F. Horth},
  Title          = {{PSYCHO}: a Graphical Language for Supporting Schema
                   Evolution in Object-oriented Databases},
  Institution    = {University of Texas},
  Type           = {TR-87-43},
  keywords       = {olit-oodb schema evolution (smc)},
  year           = 1987
}

@InProceedings{Roux94a,
  Author         = {C. Rouxel and J. P. Velu and M. Texier and D. Leroy},
  Title          = {Object-Oriented Methodologies for Large Scale
                   Projects: does it work?},
  BookTitle      = {Proceedings, Object-Oriented Methodologies and Systems},
  Editor         = {E. Bertino and S. Urban},
  Volume         = {858},
  Series         = {LNCS},
  Pages          = {79-95},
  Publisher      = {Springer-Verlag},
  keywords       = {olit isooms94},
  year           = 1994
}

@TechReport{Budd91a,
  Author         = {Timothy A. Budd},
  Title          = {Multiparadigm Data Structures in Leda},
  Institution    = {Oregon State University},
  Type           = {Research paper},
  keywords       = {olit-oopl leda binder},
  misc           = {April 29},
  month          = apr,
  year           = 1991
}

@Book{Stee90a,
  Author         = {Guy L. Steele},
  Title          = {Common Lisp The Language},
  Publisher      = {Digital Press},
  Edition        = {Second},
  isbn           = {1-55558-049-1},
  year           = 1990
}

@InProceedings{Bala96a,
  Author         = {N.V. Balasubramanian},
  Title          = {Object-Oriented Metrics},
  BookTitle      = {Proc. 3rd Int'l Asia-Pacific Software Engineering
                   Conf. (ASPEC '96)},
  Pages          = {30-34},
  Publisher      = {IEEE Computer Society Press},
  year           = 1996
}

@TechReport{Schm94c,
  Author         = {Douglas C. Schmidt},
  Title          = {The Service Configurator Framework},
  Institution    = {Comp. Science Department, Washington University},
  Type           = {Technical Report},
  keywords       = {concurrency networks pattern reuse ACE binder},
  url            = {http://www.cs.wustl.edu/~schmidt/IWCDS.ps},
  year           = 1994
}

@Book{Lloy78a,
  Author         = {Sam Lloyd and Martin Gardner},
  Title          = {Mathematische {R}\"atsel und {Spiele}},
  Publisher      = {Dumont},
  isbn           = {3-7701-1049-8},
  keywords       = {puzzles},
  year           = 1978
}

@Misc{DolphinSmalltalk,
  Title          = {{Doplhin} {Smalltalk}},
  note           = {\\ \url{http://www.object-arts.com/content/navigation/products/dce.html}},
  url            = {http://www.object-arts.com/content/navigation/products/dce.html},
  key            = {DoplphinSmalltalk},
  month          = aug,
  year           = 2010
}

@PhdThesis{Lesc92a,
  Author         = {Lo\"ic Lescaudron},
  Title          = {Prototypage d'environnements de programmation pours
                   les langages \`a objets concurrents: une r\'ealisation
                   en Smalltak-80 pour Actalk},
  School         = {Universit\'e Paris VI},
  Type           = {Ph.{D}. Thesis},
  keywords       = {olit-obcl actalk concurrency scglib},
  year           = 1992
}

@InCollection{Park81a,
  Author         = {David Park},
  Title          = {Concurrency and Automata on Infinite Sequences},
  BookTitle      = {Theoretical Computer Science, 5th GI-Conf.},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 104},
  Pages          = {167-183},
  Address        = {Karlsruhe},
  keywords       = {pcalc equivalence bisimulation binder},
  month          = mar,
  year           = 1981
}

@Book{Chan98a,
  Author         = {Patrick Chan and Rosanna Lee},
  Title          = {The {Java} Class Libraries},
  Publisher      = {Addison Wesley},
  Edition        = {Second},
  isbn           = {0-201-31003-1},
  keywords       = {olit oopl java scglib},
  year           = 1998
}

@Book{Bell97a,
  Author         = {David Bellin and Susan Suchman Simone},
  Title          = {The {CRC} Card Book},
  Publisher      = {Addison Wesley},
  isbn           = {0-201-89535-8},
  keywords       = {smalltalk scglib oorp},
  year           = 1997
}

@InProceedings{DeVo00a,
  Author         = {De Volder, Kris and Fabry, Johan and Wuyts, Roel},
  Title          = {Logic Meta Components as a Generic Component Model},
  BookTitle      = {Proceedings of the ECOOP '2000: Fifth International
                   Workshop on Component-Oriented Programming},
  annote         = {internationalworkshop},
  keywords       = {scg-old scg-pub skip-abstract skipdoi},
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/DeVo00a.pdf},
  year           = 2000
}

@InProceedings{Moss89a,
  Author         = {Peter D. Mosses},
  Title          = {Unified Algebras and Action Semantics},
  BookTitle      = {Proceedings of the 6th Annual Symposium on Theoretical
                   Aspects of Computer Science, STACS '89},
  Series         = {LNCS 349},
  Pages          = {17-35},
  Address        = {Paderborn},
  Publisher      = {Springer-Verlag},
  keywords       = {pl-semantics},
  month          = feb,
  year           = 1989
}

@InProceedings{Saff04b,
  Author         = {David Saff and Michael D. Ernst},
  Title          = {Automatic mock object creation for test factoring},
  BookTitle      = {Workshop on Program Analysis for Software Tools and
                   Engineering PASTE 2004},
  Organization   = {ACM},
  keywords       = {continuous testing mocks},
  month          = jun,
  url            = {http://pag.csail.mit.edu/~mernst/pubs/mock-factoring-paste2004.pdf},
  year           = 2004
}

@Book{Nish93a,
  Editor         = {Shojiro Nishio and Akiro Yonezawa},
  Title          = {Object Technologies for Advanced Software},
  Publisher      = {Springer-Verlag},
  Series         = {LNCS 742},
  isbn           = {3-540-57342-9},
  keywords       = {olit isotas93 scglib proceedings},
  year           = 1993
}

@InProceedings{Stey96a,
  Author         = {Patrick Steyaert and Carine Lucas and Kim Mens and
                   Theo D'Hondt},
  Title          = {Reuse {Contracts}: {Managing} the {Evolution} of
                   {Reusable} {Assets}},
  BookTitle      = {Proceedings of OOPSLA '96 (International Conference on
                   Object-Oriented Programming, Systems, Languages, and
                   Applications)},
  Pages          = {268-285},
  Publisher      = {ACM Press},
  keywords       = {olit oopsla96 oorp contract-types},
  year           = 1996
}

@InProceedings{Igar99b,
  Author         = {Atsushi Igarashi and Benjamin C. Pierce and Philip
                   Wadler},
  Title          = {Featherweight {Java}: a minimal core calculus for
                   {Java} and {GJ}},
  BookTitle      = {Proceedings OOPSLA '99, ACM SIGPLAN Notices},
  Pages          = {132-146},
  doi            = {http://doi.acm.org/10.1145/320384.320395},
  keywords       = {types fj},
  month          = nov,
  year           = 1999
}

@InProceedings{Oder98a,
  Author         = {Martion Odersky},
  Title          = {Programming with Variable Functions},
  BookTitle      = {Proc. International Conference on Functional
                   Programming},
  Address        = {Baltimore},
  month          = sep,
  year           = 1998
}

@TechReport{Herz94b,
  Author         = {R. Herzig and M. Gogolla},
  Title          = {On a Better Formal Basis for Stating {SQL}-like
                   Queries in Value- and Object-Based {DBS}},
  Institution    = {Universit{\"a}t Bremen},
  Type           = {Report},
  Number         = {9/94},
  issn           = {0722-8996},
  keywords       = {olit binder},
  year           = 1994
}

@InProceedings{Repp91a,
  Author         = {John H. Reppy},
  Title          = {{CML}: {A} Higher-Order Concurrent Language},
  BookTitle      = {ACM SIGPLAN '91 Conference on Programming Language
                   Design and Implementation, SIGPLAN Notices},
  Volume         = 26,
  Number         = 6,
  Pages          = {293-305},
  Address        = {Toronto},
  keywords       = {concurrency fpl cml binder},
  month          = jun,
  year           = 1991
}

@PhdThesis{Rich02b,
  Author         = {Tamar Richner},
  Title          = {Recovering Behavioral Design Views: a Query-Based
                   Approach},
  School         = {University of Berne},
  abstract       = {The reality of software development is such that
                   engineers must often perform maintenance tasks with
                   missing or out-of-date documentation and without the
                   support of the original developers. To understand the
                   software as it is now, engineers use reverse
                   engineering tools to recover information from the code
                   itself. Most such tools analyze only static information
                   about the system and so provide engineers with
                   structural, rather than behavioral models. It is,
                   however, critical to understand the behavioral aspect
                   of the software system in order to carry out certain
                   maintenance tasks. To better understand program
                   behavior engineers turn to tools which use dynamic
                   information collected during program execution. Such
                   tools typically display all the dynamic information at
                   very fine granularity, making it difficult to extract
                   manageable models of behavior. They then rely on
                   visualization and navigation techniques to help the
                   engineer locate information relevant to the change
                   task. In this dissertation we propose an approach to
                   recovering behavioral models from object-oriented
                   software which is based on perspectives. Our approach
                   enables an engineer to declaratively define
                   perspectives through which the dynamic information can
                   be viewed. It supports an iterative recovery process in
                   which successive views of the software system help the
                   engineer to answer questions related to the maintenance
                   task to be performed. We claim that such an approach
                   can overcome the difficulties of recovering succinct
                   and focused views of object-oriented software from
                   dynamic information. A perspective is a model of the
                   kind of information that an engineer is interested in.
                   Our approach supports the construction of principally
                   two kinds of such models: component-connector models
                   and collaboration models. We first identify a
                   meta-model for describing object-oriented software and
                   its execution, then develop a simple declarative way to
                   express perspectives in terms of this meta-model:
                   component-connector perspectives express a range of
                   static groupings and dynamic relations; collaboration
                   perspectives abstract from execution sequences to class
                   collaborations. Using case studies we demonstrate the
                   validity of our approach by showing how perspectives
                   are used in an iterative process to recover both
                   high-level and low-level succinct behavioral views.},
  keywords       = {scg-pub skipdoi jb02 scg-phd snf02 moose-pub},
  month          = may,
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/richner-phd.pdf},
  year           = 2002
}

@Unpublished{Chou95a,
  Author         = {M-P. Chou and M. Dodani and C. Hughes and K. Kinsley},
  Title          = {{CADDET}: {A} Configurable Automated Database Design
                   Engineering Tool},
  Note           = {University of Iowa},
  keywords       = {olit-oodb binder},
  type           = {Draft},
  year           = 1995
}

@Article{Smit96a,
  Author         = {Randall B. Smith and Dave Ungar},
  Title          = {A Simple and Unifying Approach to Subjective Objects},
  Journal        = {TAPOS special issue on Subjectivity in Object-Oriented
                   Systems},
  Volume         = {2},
  Number         = {3},
  Pages          = {161-178},
  doi            = {http://dx.doi.org/10.1002/(SICI)1096-9942(1996)2:3%3C161::AID-TAPO3%3E3.0.CO;2-Z},
  keywords       = {cop-lit},
  url            = {http://www.mip.sdu.dk/~bnj/library/Us_Ungar.pdf},
  year           = 1996
}

@Article{Chan89a,
  Author         = {Shi-Kuo Chang and M.J. Tauber and B. Yu and J-S. Yu},
  Title          = {A Visual Language Compiler},
  Journal        = {IEEE Transaction on Software Engineering},
  Volume         = {SE-15},
  Number         = {5},
  Pages          = {506-525},
  keywords       = {visprog},
  month          = may,
  year           = 1989
}

@InCollection{Yoko87a,
  Author         = {Yasuhiko Yokote and Mario Tokoro},
  Title          = {Concurrent Programming in {Concurrent}{Smalltalk}},
  BookTitle      = {Object-Oriented Concurrent Programming},
  Publisher      = {MIT Press},
  Editor         = {A. Yonezawa and M. Tokoro},
  Pages          = {129-158},
  Address        = {Cambridge, Mass.},
  keywords       = {olit-obcl concurrentsmalltalk oobib(obcp)},
  year           = 1987
}

@InProceedings{Hamm81a,
  Author         = {Michael Hammer and R. Ilson and T. Anderson and E.
                   Gilbert and M. Good and B. Niamir and Larry Rosenstein
                   and S. Schoichet},
  Title          = {The Implementation of Etude, an Integrated and
                   Interactive Document Production System},
  BookTitle      = {Proceedings of the ACM SIGPLAN SIGOA Symposium on Text
                   Manipulation},
  Address        = {Portland, Oregon},
  keywords       = {uilit text etude},
  misc           = {June 8-10},
  month          = jun,
  year           = 1981
}

@InProceedings{Tzer96a,
  Author         = {Vassilios Tzerpos and Richard C. Holt},
  Title          = {A hybrid process for recovering software architecture},
  BookTitle      = {CASCON},
  Pages          = {38},
  ee             = {http://doi.acm.org/10.1145/782090},
  year           = 1996
}

@InProceedings{Tyag01a,
  Author         = {Satyam Tyagi and Paul Tarau},
  Title          = {A Most Specific Method Finding Algorithm for
                   Reflection Based Dynamic Prolog-to-Java Interfaces},
  BookTitle      = {Practical Aspects of Declarative Languages},
  Editor         = {I. V. Ramakrishnan},
  Volume         = 1990,
  Series         = {LNCS},
  Pages          = {322-336},
  Publisher      = {Springer-Verlag},
  year           = 2001
}

@InProceedings{Riva96c,
  Author         = {Fred Rivard},
  Title          = {Smalltalk: a Reflective Language},
  BookTitle      = {Proceedings of REFLECTION '96},
  Pages          = {21-38},
  month          = apr,
  year           = 1996
}

@InProceedings{Hsi00a,
  Author         = {Idris Hsi and Colin Potts},
  Title          = {Studying the Evolution and Enhancement of Software
                   Features},
  BookTitle      = {Proceedings IEEE International Conference on Software
                   Maintenance (ICSM 2000)},
  Pages          = {143--151},
  Address        = {New York NY},
  Publisher      = {IEEE Computer Society Press},
  keywords       = {feature},
  year           = 2000
}

@InProceedings{Moer92a,
  Author         = {Guido Moerkotte and Andreas Zachmann},
  Title          = {Multiple Substitutability Without Affecting the
                   Taxonomy},
  BookTitle      = {Proceedings EDBT '92},
  keywords       = {olit-db binder},
  year           = 1992
}

@Article{Berg05c,
  Author         = {Alexandre Bergel and St\'ephane Ducasse and Oscar
                   Nierstrasz},
  Title          = {Analyzing Module Diversity},
  Journal        = {Journal of Universal Computer Science},
  Volume         = {11},
  Number         = {10},
  Pages          = {1613-1644},
  abstract       = {Each object-oriented programming language proposes
                   various grouping mechanisms to bundle interacting
                   classes (i.e., packages, modules, selector namespaces,
                   etc). To understand such diversity and to compare the
                   different approaches, a common foundation is needed. As
                   far as we are aware of, no major attempt that would go
                   in that direction has been realized. In this paper we
                   present a simple module calculus together with a set of
                   operators for modeling the composition semantics of
                   different grouping mechanisms. Using this module
                   calculus we are able to express the semantics of {Java}
                   packages, C# namespaces, Ruby modules, selector
                   namespaces, gbeta classes, classboxes, MZScheme units,
                   and MixJuice modules. This calculus supports the
                   identification of system families sharing similar
                   characteristics. In addition it provides a uniform way
                   to represent and analyze fine-grained module semantics.},
  annote         = {internationaljournal},
  cvs            = {ModuleAnalysisJUCS05},
  keywords       = {scg-pub skipdoi jb06 classbox snf06 stefPub alexPub
                   listic},
  misc           = {SCI impact factor 0.337},
  month          = nov,
  url            = {http://www.jucs.org/jucs_11_10/analyzing_module_diversity
                   http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05cModuleDiversity.pdf},
  year           = 2005
}

@Article{Bria98a,
  Author         = {Lionel C. Briand and John W. Daly and J{\"u}rgen
                   W{\"u}st},
  Title          = {A {Unified} {Framework} for {Cohesion} {Measurement}
                   in {Object}-{Oriented} {Systems}},
  Journal        = {Empirical Software Engineering: An International
                   Journal},
  Volume         = {3},
  Number         = {1},
  Pages          = {65-117},
  publisher      = {Kluwer Academic Publishers},
  year           = 1998
}

@Proceedings{Morv98a,
  Title          = {Theoretical aspects of Computer Science},
  Editor         = {Michel Morvan and Cristoph Meine and Daniel Krob},
  Series         = {LNCS 1373},
  Address        = {Paris, France},
  Publisher      = {Springer-Verlag},
  booktitle      = {STACS '98},
  isbn           = {3-540-64230-7},
  keywords       = {stacs98 scglib},
  month          = feb,
  year           = 1998
}

@Book{Card83a,
  Author         = {Stuart K. Card and Allen Newell and Thomas P. Moran},
  Title          = {The Psychology of Human-Computer Interaction},
  Publisher      = {Lawrence Erlbaum Associates, Inc.},
  Address        = {Mahwah, NJ, USA},
  isbn           = {0898592437},
  keywords       = {goms},
  year           = 1983
}

@Book{Loud93a,
  Author         = {Kenneth C. Louden},
  Title          = {Programming Languages: Principles and Practice},
  Publisher      = {PWS Publishing (Boston)},
  isbn           = {0-534-93277-0},
  keywords       = {pl book scglib},
  year           = 1993
}

@InProceedings{Jahn97a,
  Author         = {Jens Jahnke and Albert Z{\"u}ndorf},
  Title          = {Rewriting poor Design Patterns by Good Design Patterns},
  BookTitle      = {Proceedings of the ESEC/FSE Workshop on
                   Object-Oriented Re-engineering},
  Editor         = {Serge Demeyer and Harald Gall},
  Publisher      = {Technical University of Vienna, Information Systems
                   Institute, Distributed Systems Group},
  Note           = {Technical Report TUV-1841-97-10},
  keywords       = {olit designpatterns},
  month          = sep,
  url            = {http://www.iam.unibe.ch/~scg/Archive/famoos/ESEC97/index.html},
  year           = 1997
}

@InProceedings{Qian96a,
  Author         = {Zhenyu Qian and Bernd Krieg-Br{\"u}ckner},
  Title          = {Typed Object-Oriented Functional Programming with Late
                   Binding},
  BookTitle      = {Proceedings ECOOP '96},
  Editor         = {P. Cointe},
  Series         = {LNCS 1098},
  Pages          = {48-72},
  Address        = {Linz, Austria},
  Publisher      = {Springer-Verlag},
  keywords       = {olit ecoop96proc},
  month          = jul,
  year           = 1996
}

@Article{Bria96a,
  Author         = {Lionel C. Briand and Sandro Morasca and Victor Basili},
  Title          = {Property-Based Software Engineering Measurement},
  Journal        = {Transactions on Software Engineering},
  Volume         = {22},
  Number         = {1},
  Pages          = {68-86},
  year           = 1996
}

@InProceedings{Rich02d,
  Author         = {Debbie Richards and Kathrin B{\"o}ttger},
  Title          = {A {Controlled} {Language} to {Assist} {Conversion} of
                   {Use} {Case} {Descriptions} into {Concept} {Lattices}},
  BookTitle      = {Proceedings of AI '02 (15th Australian Joint
                   Conference on Artificial Intelligence)},
  Number         = {2557},
  Series         = {LNAI},
  Pages          = {579-590},
  Address        = {Canberra, Australia},
  Publisher      = {Springer Verlag},
  keywords       = {fca},
  year           = 2002
}

@InProceedings{Lisk86a,
  Author         = {Barbara Liskov and Maurice Herlihy and L. Gilbert},
  Title          = {Limitations of Synchronous Communication with Static
                   Process Structure in Languages for Distributed
                   Computing},
  BookTitle      = {Proceedings POPL '86},
  Address        = {St. Petersburg Beach, Florida},
  keywords       = {concurrency popl86},
  misc           = {Jan 13-15},
  month          = jan,
  year           = 1986
}

@InCollection{Sand98a,
  Author         = {David Sands},
  Title          = {Computing with Contexts: {A} simple approach},
  BookTitle      = {Second Workshop on Higher-Order Operational Techniques
                   in Semantics (HOOTS II)},
  Publisher      = {Elsevier Science Publishers B.V.},
  Editor         = {A. D. Gordon and A. M. Pitts and C. L. Talcott},
  Volume         = {10},
  Series         = {Electronic Notes in Theoretical Computer Science},
  keywords       = {pisem},
  year           = 1998
}

@Article{Zdon86b,
  Author         = {Stanley B. Zdonik},
  Title          = {Maintaining Consistency in a Database with Changing
                   Types},
  Journal        = {ACM SIGPLAN Notices},
  Volume         = {21},
  Number         = {10},
  Pages          = {120-127},
  keywords       = {olit-db versions oopws86 oobib(oodb)},
  month          = oct,
  year           = 1986
}

@Article{Wegn84a,
  Author         = {Peter Wegner},
  Title          = {Capital-Intensive Software Technology},
  Journal        = {IEEE Software},
  Volume         = {1},
  Number         = {3},
  keywords       = {olit-reuse},
  month          = jul,
  year           = 1984
}

@InProceedings{Aldr02b,
  Author         = {Jonathan Aldrich and Valentin Kostadinov and Craig
                   Chambers},
  Title          = {Alias Annotations for Program Understanding},
  BookTitle      = {Proceedings OOPSLA 2002},
  Volume         = {37(11)},
  Pages          = {311-330},
  month          = nov,
  year           = 2002
}

@InProceedings{Murp96b,
  Author         = {Gail C. Murphy and David Notkin and Erica S.-C. Lan},
  Title          = {An Emperical Study of Static Call Graph Extractors},
  BookTitle      = {Proceedings of the ICSE-18},
  Pages          = {90-99},
  Organization   = {IEEE Computer Society Press},
  month          = mar,
  year           = 1996
}

@Book{Fowl05a,
  Author         = {Martin Fowler},
  Title          = {Patterns of Enterprise Application Architecture},
  Publisher      = {Addison Wesley},
  isbn           = {0321127420},
  keywords       = {olit design scglib uml},
  year           = 2005
}

@InProceedings{Elba00a,
  Author         = {Sebastian G. Elbaum and Alexey G. Malishevsky and
                   Gregg Rothermel},
  Title          = {Prioritizing test cases for regression testing},
  BookTitle      = {International Symposium on Software Testing and
                   Analysis},
  Pages          = {102-112},
  Publisher      = {ACM Press},
  keywords       = {testing},
  year           = 2000
}

@InProceedings{Schw89b,
  Author         = {Robert W. Schwanke and Michael A. Platoff},
  Title          = {Cross {References} are {Features}},
  BookTitle      = {Proceedings of Second International Workshop on
                   Software Configuration Management},
  Pages          = {86-95},
  Publisher      = {ACM Press},
  keywords       = {clustering},
  year           = 1989
}

@InProceedings{Schmidt02a,
  Author         = {Albrecht Schmidt and Florian Waas and Martin Kersten
                   and Michael J. Carey and Ioana Manolescu and Ralph
                   Busse},
  Title          = {XMark: A Benchmark for XML Data Management},
  BookTitle      = {In VLDB},
  Pages          = {974--985},
  year           = 2002
}

@InProceedings{Duca94a,
  Author         = {St\'ephane Ducasse and Mireille Fornarino},
  Title          = {Protocole pour la gestion des d\'ependances entre
                   objets gr\^ace au contr\^ole des fonctions
                   g\'en\'eriques},
  BookTitle      = {Actes des Journ\'ees Francophones des Langages
                   Applicatifs (JFLA'94)},
  Editor         = {Pierre Cointe, Christian Queinnec et Bernard Serpette},
  Pages          = {239-258},
  annote         = {nationalconference},
  keywords       = {stefPub flo},
  year           = 1994
}

@TechReport{Juno93a,
  Author         = {Betty Junod and Xavier Pintado and Fr\'ed\'eric Pot},
  Title          = {Building an Object-Oriented Financial Framework},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Visual Objects},
  abstract       = {This paper discusses the modeling of a set of
                   important classes for the financial domain. Grounded on
                   the Portfolio and TimeSeries classes, we developed a
                   portfolio analysis and visualization tool with the goal
                   of exploring constrained global optimization algorithms
                   for portfolios assets allocation and of providing a
                   comparative visual perspective for portfolio
                   management.Our effort is motivated by the need to
                   create an open framework for financial software
                   components which can be easily integrated and
                   incrementally modified.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg vo93},
  month          = jul,
  pages          = {89-109},
  year           = 1993
}

@InProceedings{Lanz04b,
  Author         = {Michele Lanza},
  Title          = {CodeCrawler --- Polymetric Views in Action},
  BookTitle      = {Proceedings of ASE 2004 (19th IEEE International
                   Conference on Automated Software Engineering)},
  Pages          = {394-395},
  Publisher      = {IEEE CS Press},
  keywords       = {mlanza moose-pub},
  year           = 2004
}

@InProceedings{Rosn00a,
  Author         = {Peter Rosner and Tracy Hall and Tobias Mayer},
  Title          = {Measuring {Object}-{Orientedness}: {The} {Invocation}
                   {Profile}},
  BookTitle      = {Proceedings of IWSM '00 (10th International Workshop
                   on New Approaches in Software Measurement)},
  Editor         = {Reiner R. Dumke and Alain Abran},
  Pages          = {18-28},
  Publisher      = {Springer-Verlag},
  month          = oct,
  year           = 2000
}

@Article{Wegn92b,
  Author         = {Peter Wegner},
  Title          = {Dimensions of Object-Oriented Modeling},
  Journal        = {IEEE Computer (Special Issue on Inheritance \&
                   Classification)},
  Volume         = {25},
  Number         = {10},
  Pages          = {12-21},
  keywords       = {olit-oopl ieee ioom-intro},
  month          = oct,
  year           = 1992
}

@TechReport{Pint91a,
  Author         = {Xavier Pintado and Dennis Tsichritzis},
  Title          = {Fuzzy Relationships and Affinity Links},
  Institution    = {Centre Universitaire d'Informatique, University of
                   Geneva},
  Type           = {Object Composition},
  abstract       = {In this paper we present affinity links as a mechanism
                   which combines some of the advantages of the different
                   ways that are commonly used to express relationships.
                   We define this mechanism in terms of fuzzy relations.
                   We introduce affinity contexts as a way of expressing
                   contexts of relationships on a set of objects and we
                   present operations that allow for their combination. We
                   outline Satellite, a tool for the visualization and
                   exploration of affinity contexts. Satellite promotes
                   navigation by context-dependent proximity. The tool
                   allows for the simultaneous exploration of multiple
                   contexts and is able to track fast evolving
                   relationships. We provide examples of the usefulness of
                   our approach in the domains of object-oriented systems
                   development and Hypermedia environments.},
  editor         = {D. Tsichritzis},
  keywords       = {olit osg oc91},
  month          = jun,
  pages          = {273-285},
  year           = 1991
}

@Misc{Deme98p,
  Author         = {Serge Demeyer and Matthias Rieger and Sander Tichelaar},
  Title          = {Three Reverse Engineering Patterns},
  Note           = {Writing Workshop at EuroPLOP '98},
  abstract       = {Whereas a design pattern describes and discusses a
                   solution to a design problem, a reverse engineering
                   pattern describes how to understand aspects of an
                   object-oriented design and how to identify problems in
                   that design. In the context of a project developing a
                   methodology for reengineering object-oriented legacy
                   systems into frameworks, weare working on a pattern
                   language for reengineering. This paper presents three
                   samples of that pattern language, all dealing with
                   reverse engineering.},
  keywords       = {olit famoos-papunr scg-pub skipdoi sergedem-papunr
                   tich-papunr snf98 jb98},
  month          = apr,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Deme98pThreeRevEngPatterns.pdf},
  year           = 1998
}

@TechReport{Malor99a,
  Author         = {Pietro Malorgio},
  Title          = {An Information Mural Visualization for Duploc},
  Institution    = {University of Bern},
  Type           = {Informatikprojekt},
  abstract       = {Duploc is a tool written in Smalltalk, which is
                   currently under continuous development inside the
                   Software Composition Group at the University of Bern.
                   It is designed for representing graphically the
                   comparison results of found duplicated lines of code
                   out of a set of loaded source code files. Duploc
                   supports different programming languages (C++, C, Java,
                   Smalltalk etc.). The loaded files are compared
                   line-by-line using a simple string-match comparison
                   function--the comparison results are stored in a two
                   dimensional comparison matrix. The previous Graphical
                   User Interface (GUI) represents the obtained comparison
                   matrix as a dotplot diagram---in this two dimensional
                   grid of black painted dots, each dot stands for two
                   identical found lines of code in two different files.
                   This GUI uses a scrollbar to provide some navigation
                   facility over the comparison matrix. It is therefore
                   only suitable for visualising comparison matrixes up to
                   some hundred elements per matrix side (e.g. 800x800).
                   The project goal was to integrate into the Duploc
                   application a technique named Information Mural in
                   order to visualise a large comparison matrix. Figure 2
                   shows the Information Mural overview image of a
                   comparison matrix with 24278x24278 elements. This image
                   was produced with the new developed GUI. Each dot
                   stands for the 'match density' inside a correspondent
                   region in the underlying comparison matrix. Darker dots
                   indicates a region of the comparison matrix with more
                   matches then lighter dots. This new developed GUI is
                   typically capable to visualise a comparison matrix with
                   up to two million elements per side. It also provides
                   navigation facilities for exploring parts of the
                   comparison matrix in a dotplot like display mode.},
  keywords       = {scg-ip jb-none duploc},
  month          = jul,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Projects/Malor99a.pdf},
  year           = 1999
}

@Article{Beck93b,
  Author         = {Kent Beck},
  Title          = {Instance specific behavior: {Digitalk} implementation
                   and the deep meaning of it all},
  Journal        = {Smalltalk Report},
  Volume         = {2(7)},
  month          = may,
  year           = 1993
}

@TechReport{Kuip00a,
  Author         = {Tobias Kuipers and Leon Moonen},
  Title          = {Types and {Concept} {Analysis} for {Legacy} {Systems}},
  Institution    = {Centrum voor Wiskunde en Informatica},
  Number         = {SEN-R0017},
  keywords       = {fca},
  month          = jul,
  year           = 2000
}

@TechReport{Laff85a,
  Author         = {M.R. Laff and Brent Hailpern},
  Title          = {{SW} 2 --- An Object-based Programming Environment},
  Institution    = {IBM Thomas J. Watson Research Center, Yorktown
                   Heights, New York},
  Type           = {Technical Report},
  keywords       = {olit-oopl smallworld},
  year           = 1985
}

@PhdThesis{Cruz06a,
  Author         = {Juan Carlos Cruz},
  Title          = {A Group Based Approach for Coordinating Active Objects},
  School         = {University of Berne},
  Address        = {Berne},
  abstract       = { We propose in this thesis the use of active objects
                   and coordination models and languages for the
                   specification and construction of concurrent
                   object-oriented systems. Active objects are objects
                   integrating concurrency and coordination models and
                   languages are models and languages that specify the way
                   the active objects composing the systems are glued
                   together. Our approach is based on the definition of a
                   coordination model and language called CoLaS for the
                   specification of the coordination aspect in concurrent
                   object-oriented systems based on active objects. The
                   CoLaS coordination model and language introduces a high
                   level coordination abstraction called Coordination
                   Group that allows programmers to design, to specify, to
                   implement and to validate the coordination of groups of
                   collaborating active objects in concurrent
                   object-oriented systems.},
  keywords       = {scg-pub skipdoi scg-phd jb06 fb06},
  month          = jun,
  pages          = {269},
  url            = {http://www.iam.unibe.ch/~scg/Archive/PhD/cruz-phd.pdf},
  year           = 2006
}

@InProceedings{Liu05a,
  Author         = {Yanhong A. Liu and Scott D. Stoller and Michael
                   Gorbovitski and Tom Rothamel and Yanni Ellen Liu},
  Title          = {Incrementalization across object abstraction},
  BookTitle      = {OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN
                   conference on Object oriented programming systems
                   languages and applications},
  Pages          = {473--486},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1094811.1094848},
  isbn           = {1-59593-031-0},
  location       = {San Diego, CA, USA},
  year           = 2005
}

@InProceedings{Pop05a,
  Author         = {Adrian Pop and Peter Fritzson},
  Title          = {Debugging natural semantics specifications},
  BookTitle      = {AADEBUG'05: Proceedings of the sixth international
                   symposium on Automated analysis-driven debugging},
  Pages          = {77--82},
  Address        = {New York, NY, USA},
  Publisher      = {ACM Press},
  doi            = {http://doi.acm.org/10.1145/1085130.1085140},
  isbn           = {1-59593-050-7},
  location       = {Monterey, California, USA},
  year           = 2005
}

@Book{Lanz06a,
  Author         = {Michele Lanza and Radu Marinescu},
  Title          = {Object-Oriented Metrics in Practice},
  Publisher      = {Springer-Verlag},
  isbn           = {3-540-24429-8},
  keywords       = {metrics norex06},
  url            = {http://www.springer.com/alert/urltracking.do?id=5907042},
  year           = 2006
}

@InProceedings{Cock99a,
  Author         = {Alistair Cockburn},
  Title          = {Characterizing People as Non-Linear, First-Order
                   Components in Software Development},
  BookTitle      = {4th International Multiconference on Systemics,
                   Cybernetics, and Informatics},
  Address        = {Orlando, FL},
  year           = 1999
}

@InProceedings{Arev03a,
  Author         = {Gabriela Ar{\'e}valo},
  Title          = {Understanding Behavioral Dependencies in Class
                   Hierarchies using Concept Analysis},
  BookTitle      = {Proceedings of Langages et Modeles \`a Objets (LMO'03)},
  Pages          = {47-59},
  Publisher      = {Hermes, Paris},
  abstract       = {The functionalities of software artifacts are defined
                   by structural and behavioral dependencies. During
                   evolution and maintenance phases of a system, the
                   developer has to be able to understand how these
                   dependencies were defined and how they influence the
                   interaction of the artifacts. The developer must be
                   sure that modifications done in the system will not
                   break its behavior. In the most of the cases, this
                   happens because the dependencies are not documented. We
                   propose to tackle this problem in the context of object
                   oriented classes hierarchies using Concept Analysis. We
                   use different properties about invocations in methods
                   to analyze the dependencies among the hierarchy classes
                   in terms of class behaviour. Based on these results, we
                   show a set of patterns that describe repeated kinds of
                   behavior in class hierarchies. We show the application
                   of these patterns in the specific case of Magnitude
                   hierarchy in Smalltalk.},
  keywords       = {snf03 scg-pub skipdoi jb03 arevalo},
  month          = jan,
  url            = {http://www.iam.unibe.ch/~scg/Archive/Papers/Arev03aLMO03UnderstandingDependencies.pdf},
  year           = 2003
}

@InProceedings{Deri96b,
  Author         = {Luca Deri},
  Title          = {Surfin' Network Resources Across the Web},
  BookTitle      = {2nd International IEEE Workshop on Systems Management
                   Proceedings},
  Pages          = {158-167},
  abstract       = {Network management standards provide a basis for
                   hiding differences between network resources, along
                   with a method of managing them in a consistent way.
                   Frequently, network management tools are based on
                   proprietary products and are often complex both to use
                   and to install. The increasing popularity of the World
                   Wide Web, with its established user interface and the
                   ability to run on almost any platform, offers a new way
                   to provide wide access to complex software
                   applications. This paper describes the architecture and
                   implementation of two new network management
                   applications that are accessible through the web and
                   are targeted to run on powerful hosts as well as small
                   mobile computers. The GDMO/ASN.1 Search Engine enables
                   users to perform complex queries and to navigate OSI
                   management documents exploiting the web hypertext
                   facilities. Liaison is a web-based browser for
                   CMIP/SNMP agents equipped with powerful tools such as a
                   directory service and a metadata facility.},
  brokenurl      = {http://www.zurich.ibm.com/~lde/Surfin.ps.Z},
  keywords       = {olit scg-pub skipdoi toBeChecked snf96 jb96},
  month          = jun,
  year           = 1996
}

@Article{Dami98a,
  Author         = {Laurent Dami},
  Title          = {A lambda-calculus for dynamic binding},
  Journal        = {Theoretical Computer Science},
  Volume         = {192},
  Number         = {2},
  Pages          = {201-231},
  keywords       = {types olit oobib(types) contract-types},
  month          = feb,
  url            = {ftp://cui.unige.ch/pub/dami/dynBind.ps.Z},
  year           = 1998
}

@InProceedings{Govi00a,
  Author         = {Madhusudhan Govindaraju and Aleksander Slominski and
                   Venkatesh Choppella and Randall Bramley and Dennis
                   Gannon},
  Title          = {Requirements for and evaluation of RMI protocols for
                   scientific computing},
  BookTitle      = {Supercomputing '00: Proceedings of the 2000 ACM/IEEE
                   conference on Supercomputing (CDROM)},
  Pages          = {61},
  Address        = {Washington, DC, USA},
  Publisher      = {IEEE Computer Society},
  isbn           = {0-7803-9802-5},
  location       = {Dallas, Texas, United States},
  year           = 2000
}

@Proceedings{Kobr98a,
  Title          = {EDOC '98 Proceedings},
  Editor         = {Cris Kobryn},
  Publisher      = {IEEE},
  isbn           = {0-7803-5158-4},
  keywords       = {olit scglib edoc98 new-entr new-entry},
  year           = 1998
}

@Article{Carr89b,
  Author         = {N. Carriero and D. Gelernter},
  Title          = {Linda in Context},
  Journal        = {Communications of the ACM},
  Volume         = {32},
  Number         = {4},
  Pages          = {444-458},
  keywords       = {concurrency linda binder},
  month          = apr,
  year           = 1989
}


@misc{SqueakClassboxes,
  author = {Alexandre Bergel},
  title = {An implementation in Squeak of the the Classbox Model},
  month = aug,
  year = {2010},
  url = {http://www.squeaksource.com/Classbox.html},
  note = {\\ \url{http://www.squeaksource.com/Classbox.html}}
}

@misc{SmalltalkX,
  title = {{Smalltalk/X}},
  month = aug,
  year = {2010},
  url = {http://www.exept.de/en/products/smalltalk-x/stx-overview},
  note = {\\ \url{http://www.exept.de/en/products/smalltalk-x/stx-overview}}
}

@misc{SpiderMonkey,
  title = {{SpiderMonkey} {(JavaScript-C)} {Engine}},
  month = aug,
  year = {2010},
  url = {http://www.mozilla.org/js/spidermonkey/},
  note = {\\ \url{http://www.mozilla.org/js/spidermonkey/}}
}

@misc{JPDA,
  title = {{Java} {Platform} {Debugger} {Architecture}},
  month = aug,
  year = {2010},
  url = {http://java.sun.com/javase/technologies/core/toolsapis/jpda/},
  note = {\\ \url{http://java.sun.com/javase/technologies/core/toolsapis/jpda/}}
}

@misc{AspectJ,
  title = {{aspectj} crosscutting objects for better modularity},
  month = aug,
  year = {2010},
  url = {http://eclipse.org/aspectj/},
  note = {\\ \url{http://eclipse.org/aspectj/}}
}

@misc{JavaScript14Grammar,
  title = {{JavaScri[t} 1.4 {Grammar}},
  month = aug,
  year = {2010},
  url = {http://www.mozilla.org/js/language/grammar14.html},
  note = {\\ \url{http://www.mozilla.org/js/language/grammar14.html}}
}

@misc{SchemeFormalSyntax,
  title = {{Revised} {Report} on the {Algorithmic} {Language} {Scheme}: {Formal} syntax and semantics},
  month = aug,
  year = {2010},
  url = {http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-10.html},
  note = {\\ \url{http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-10.html}}
}

@misc{GDB,
  title = {{GDB}: {The} {GNU} {Project} {Debugger}},
  month = aug,
  year = {2010},
  url = {http://sourceware.org/gdb/},
  note = {\\ \url{http://sourceware.org/gdb/}}
}

@misc{Rubinius,
  author = {{Evan Phoenix et. al.}},
  title = {{Rubinus}},
  month = aug,
  year = {2010},
  url = {http://rubini.us/},
  note = {\\ \url{http://rubini.us/}}
}

@misc{IronRuby,
  title = {{IronRuby}},
  month = aug,
  year = {2010},
  url = {http://ironruby.net/},
  note = {\\ \url{http://ironruby.net/}},
  keywords = {ironruby}
}

@misc{IronPython,
  title = {{IronPython}},
  month = aug,
  year = {2010},
  url = {http://ironpython.net/},
  note = {\\ \url{http://ironpython.net/}},
  keywords = {ironpython}
}

@misc{SmalltalkP,
  author = {Jan Vran\'y and Alexandre Bergel},
  title = {{Smalltalk/P}},
  month = aug,
  year = {2010},
  url = {http://www.squeaksource.com/SmalltalkInPerseus.html},
  note = {\\ \url{http://www.squeaksource.com/SmalltalkInPerseus.html}}
}

@misc{YARV,
  author = {Sasada Koichi},
  title = {{YARV:} {Yet} {Another} {Ruby} {VM}},
  month = aug,
  year = {2010},
  url = {http://www.atdot.net/yarv/},
  note = {\\ \url{http://www.atdot.net/yarv/}}
}

@misc{DLR,
  author = {Bill Chiles and Alex Turner},
  title = {{Dynamic} {Language} {Runtime}},
  month = aug,
  year = {2010},
  url = {http://dlr.codeplex.com/wikipage?title=Docs\%20and\%20specs},
  note = {\\ \url{http://dlr.codeplex.com/wikipage?title=Docs\%20and\%20specs}}
}

@misc{CLR,
  title = {{Common} {Language} {Runtime}},
  month = feb,
  year = {2011},
  url = {http://msdn.microsoft.com/en-us/library/ddk909ch.aspx},
  note = {\\ \url{http://msdn.microsoft.com/en-us/library/ddk909ch.aspx}},
  keywords = {common language runtim}
}

@misc{rhino,
  title = {{Rhino:} {Javascript} for {Java}},
  month = feb,
  year = {2011},
  url = {http://www.mozilla.org/rhino/},
  note = {\\ \url{http://www.mozilla.org/rhino/}},
  key = {rhino}
}


@book{Dave06a,
 author = {Thomas, Dave and Hansson, David and Breedt, Leon and Clark, Mike and Davidson, James Duncan and Gehtland, Justin and Schwarz, Andreas},
 title = {Agile Web Development with Rails},
 year = {2006},
 isbn = {0977616630},
 publisher = {Pragmatic Bookshelf},
 }