@techreport{ACCOR02a, author = {{ACCORD}}, keywords = {damiencbib adl}, title = {{\'E}tat de l'art sur les Langages de Description d'Architecture ({ADLs})}, institution = {{ACCORD}}, year = {2002}, month = jun, url = {http://projects.infres.enst.fr/accord/} } @article{ACM94a, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = apr, Number = {4}, Title = {High Performance Computing}, Volume = {37}, Year = {1994} } @article{ACM94b, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = may, Number = {5}, Title = {Reverse Engineering}, Volume = {37}, Year = {1994} } @article{ACM94c, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = jun, Number = {6}, Title = {The Making of the {PowerPC}}, Volume = {37}, Year = {1994} } @article{ACM94d, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = jul, Number = {7}, Title = {Intelligent Agents}, Volume = {37}, Year = {1994} } @article{ACM94e, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = aug, Number = {8}, Title = {Internet Technology}, Volume = {37}, Year = {1994} } @article{ACM94f, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = sep, Number = {9}, Title = {Object-Oriented Software Testing}, Volume = {37}, Year = {1994} } @article{ACM94g, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = oct, Number = {10}, Title = {Wireless Computing}, Volume = {37}, Year = {1994} } @article{ACM94h, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = nov, Number = {11}, Title = {Securing Cyberspace}, Volume = {37}, Year = {1994} } @article{ACM94i, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = dec, Number = {12}, Title = {Visualization and Design}, Volume = {37}, Year = {1994} } @article{ACM95a, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = jan, Number = {1}, Title = {Women in Computing}, Volume = {38}, Year = {1995} } @article{ACM95b, Author = {{ACM}}, Institution = {ACM}, Journal = {Communications of the ACM}, Keywords = {scglib}, Month = feb, Number = {2}, Title = {Issues and Challenges in {ATM} Networks}, Volume = {38}, Year = {1995} } @misc{AGG, Key = {visprog agg}, Note = {http://tfs.cs.tu-berlin.de/agg/index.html}, Title = {{AGG} --- The Attributed Graph Grammar System}, Url = {http://tfs.cs.tu-berlin.de/agg/index.html}, Bdsk-Url-1 = {http://tfs.cs.tu-berlin.de/agg/index.html} } @manual{ANSI83a, Address = {New York}, Organization = {ANSI/IEEE Standard 729-1983}, Title = {IEEE Standard Glossary of Software Engineering Terminology}, Year = {1983} } @manual{ANSI98a, Address = {New York}, Note = {\url{http://wiki.squeak.org/squeak/uploads/172/standard\_v1\_9-indexed.pdf}}, Organization = {ANSI}, Title = {{A}merican {N}ational {S}tandard for {I}nformation {S}ystems -- {P}rogramming {L}anguages -- {S}malltalk, ANSI/INCITS 319-1998}, Year = {1998} } @misc{AOSD, Key = {AOSD}, Note = {http://www.aosd.net}, Title = {Aspect Oriented Software Development} } @techreport{ASN102a, Author = {International Telecommunication Union}, Institution = {International Telecommunication Union}, Title = {Abstract Syntax Notation One ({ASN.1})}, Url = {http://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdf} } @misc{ASP, Key = {ASP}, Note = {http://msdn.mi\-cro\-soft.com/nhp/?content\-id=28000522}, Title = {{ASP}, Microsoft Active Server Pages} } @misc{AWT, Key = {AWT}, Note = {http://java.sun.com/j2se/1.3/docs/api/java/awt/package-summary.html}, Title = {{AWT API}} } @inproceedings{Aasa88a, Address = {Snowbird, Utah}, Author = {Annika Aasa and Kent Petersson and Dan Synek}, Booktitle = {Proceedings of the 1988 ACM Conference on Lisp and Functional Programming}, Keywords = {patterns olit binder(patterns)}, Pages = {96--105}, Title = {Concrete Syntax for Data Objects in Functional Languages}, Year = {1988} } @article{Abac05a, Author = {Alex Abacus and Mike Barker and Paul Freedman}, Journal = {IEEE Software}, Number = {2}, Pages = {88--91}, Title = {Using Test-Driven Software Development Tools}, Volume = {22}, Year = {2005} } @techreport{Abad90a, Address = {Palo Alto, California}, Author = {Mart{\'\i}n Abadi and Luca Cardelli and Pierre-Louis Curien and Jean-Jacques L\'evy}, Institution = {DEC Systems Research Center}, Keywords = {misc lambda fp binder (shelf) contract-types}, Month = feb, Number = {54}, Title = {Explicit Substitutions}, Type = {Technical Report}, Url = {http://lucacardelli.name}, Year = {1990}, Bdsk-Url-1 = {http://lucacardelli.name} } @techreport{Abad90b, Address = {Palo Alto, California}, Author = {Mart{\'\i}n Abadi}, Institution = {DEC Systems Research Center}, Keywords = {temporal-logic tla binder (shelf)}, Month = oct, Number = {65}, Title = {An Axiomatization of Lamport's Temporal Logic of Actions}, Type = {Technical Report}, Year = {1990} } @article{Abad91a, Author = {Mart{\'\i}n Abadi and Luca Cardelli and Pierre-Louis Curien and Jean-Jacques L\'evy}, Journal = {Journal of Functional Programming}, Month = oct, Number = 4, Pages = {375--416}, Title = {Explicit Substitutions}, Url = {http://lucacardelli.name}, Volume = 1, Year = {1991}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Abad91b, 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.}, Author = {Mart{\'\i}n Abadi and Luca Cardelli and Benjamin Pierce and Gordon Plotkin}, Journal = {ACM Transactions on Programming Languages and Systems}, Keywords = {types popl91 binder}, Month = apr, Number = {2}, Pages = {237-268.}, Title = {Dynamic Typing in a Statically Typed Language}, Url = {http://lucacardelli.name}, Volume = {13}, Year = {1991}, Bdsk-Url-1 = {http://lucacardelli.name} } @techreport{Abad92a, Address = {Palo Alto, California}, Author = {Mart{\'\i}n Abadi and Gordon D. Plotkin}, Institution = {DEC Systems Research Center}, Keywords = {linear-logic binder (shelf)}, Month = may, Number = {86}, Title = {A Logical View of Composition}, Type = {Technical Report}, Year = {1992} } @unpublished{Abad94a, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Keywords = {olit binder}, Note = {Digital Equipment Corporation, Systems Research Center}, Title = {A Theory of Primitive Objects: Untyped and First-Order Systems}, Type = {Draft}, Year = {1994} } @inproceedings{Abad94b, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Booktitle = {Proceeding of ESOP '94 on Programming Languages and Systems}, Editor = {Donald Sannella}, Keywords = {olit binder}, Month = apr, Pages = {1--25}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {A Theory of Primitive Objects: Second-Order Systems}, Volume = {788}, Year = {1994} } @inproceedings{Abad95a, Address = {Aarhus, Denmark}, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Booktitle = {Proceedings {ECOOP} '95}, Editor = {Walter Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {145--167}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {On Subtyping and Matching}, Volume = {952}, Year = {1995} } @incollection{Abad95b, Author = {Mart{\'\i}n Abadi and Stephan Merz}, Booktitle = {Mathematical Foundations of Computer Science}, Editor = {J. Wiedermann and Petr Hajek}, Keywords = {olit}, Pages = {499--508}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {An Abstract Account of Composition}, Volume = {969}, Year = {1995} } @article{Abad95c, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Journal = {Science of Computer Programming}, Keywords = {olit oobib(types) pisem}, Month = dec, Number = {2-3}, Pages = {81--116}, Title = {A theory of primitive objects: Second-order systems}, Url = {http://lucacardelli.name}, Volume = {25}, Year = {1995}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Abad95d, Address = {New York, NY, USA}, Author = {Martin Abadi and Luca Cardelli}, Issn = {1074-3227}, Journal = {Theor. Pract. Object Syst.}, Number = {3}, Pages = {151--166}, Publisher = {John Wiley \& Sons, Inc.}, Title = {An imperative object calculus}, Url = {http://lucacardelli.name}, Volume = {1}, Year = {1995}, Bdsk-Url-1 = {http://lucacardelli.name} } @inproceedings{Abad95e, Author = {M. Abadi and L. Cardelli}, 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}, Title = {An imperative object calculus: Basic typing and soundness}, Url = {citeseer.ist.psu.edu/article/abadi95imperative.html}, Year = {1995}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/abadi95imperative.html} } @book{Abad96a, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Isbn = {0-387-94775-2}, Keywords = {olit oobib(types) scglib ioom-types pl-lit}, Publisher = {Springer-Verlag}, Title = {A Theory of Objects}, Year = {1996} } @article{Abad96b, Author = {Mart{\'\i}n Abadi and Luca Cardelli}, Journal = {Information and Computation}, Keywords = {olit oobib(types) pisem}, Month = mar, Number = {2}, Pages = {78--102}, Title = {A theory of primitive objects: Untyped and first-order systems}, Url = {http://lucacardelli.name}, Volume = {125}, Year = {1996}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Abbo84a, Author = {C. Abbott}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {concurrency other real-time scheduling}, Month = may, Number = {3}, Pages = {268--274}, Title = {Intervention Schedules for Real-Time Programming}, Volume = {SE-10}, Year = {1984} } @inproceedings{Abda86a, Author = {S. Kamal Abdali and Guy W. Cherry and Neil Soiffer}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl views smalltalk oopsla86}, Month = nov, Pages = {277--283}, Title = {A {Smalltalk} System for Algebraic Manipulation}, Year = {1986} } @inproceedings{Abde07a, Annote = {internationalworkshop}, Author = {Hani Abdeen and Ilham Alloui and St\'ephane Ducasse and Damien Pollet and Mathieu Suen}, Booktitle = {FAMOOSr, 1st Workshop on FAMIX and Moose in Reengineering}, Keywords = {moose-pub stefPub}, Title = {Package References Distribution Fingerprint}, Year = {2007} } @inproceedings{Abde08a, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference stefPub}, Author = {Hani Abdeen and Ilham Alloui and St\'ephane Ducasse and Damien Pollet and Mathieu Suen}, Booktitle = {European Conference on Software Maintenance and Reengineering (CSMR)}, Inria = {ADAM}, Keywords = {moose-pub}, Location = {Athens, Greece}, Misc = {Acceptance rate: 24/87 = 27\%}, AcceptTotal = {87}, AcceptNum = {24}, Pages = {213--222}, Publisher = {IEEE Computer Society Press}, Rate = {27%}, Selectif = {oui}, Title = {Package Reference Fingerprint: a Rich and Compact Visualization to Understand Package Relationships}, Url = {http://scg.unibe.ch/archive/external/Abde08a.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Abde08a.pdf} } @inproceedings{Abde08b, author = {Hani Abdeen and Ilham Alloui and St\'ephane Ducasse and Damien Pollet and Mathieu Suen}, title = {Package Reference Fingerprint: a Rich and Compact Visualization to Understand Package Relationships}, booktitle = {European Conference on Software Maintenance and Reengineering (CSMR)}, annote = {internationalconference}, pages = {213--222}, keywords = {moose-pub cook-pub lse-pub}, misc = {Acceptance rate: 24/87 = 27\%}, aeresstatus = {aeres08}, aeres = {ACT}, rate = {27%}, selectif = {oui}, inria = {ADAM}, publisher = {IEEE Computer Society Press}, url = {http://rmod.lille.inria.fr/archives/papers/Abde08b-CSMR2008-Fingerprint.pdf}, location = {Athens, Greece}, year = {2008}, abstract = {Object-oriented languages such as Java, Smalltalk, and C++ structure their programs using packages, allowing classes to be organized into named abstractions. Maintainers of large applications need to understand how packages are structured and how they relate to each other, but this task is very complex because packages often have multiple clients and different roles (class container, code ownership...). Cohesion and coupling are still among the most used metrics, because they help identify candidate packages for restructuring; however, they do not help maintainers understand the structure and interrelationships between packages. In this paper, we present the package fingerprint, a 2D visualization of the references made to and from a package. The proposed visualization offers a semantically rich, but compact and zoomable visualization centered on packages. We focus on two views (incoming and outgoing references) that help users understand how the package under a nalysis is used by the system and how it uses the system. We applied these views on three large case studies: JBoss, Azureus, and ArgoUML.}, hal = {http://hal.inria.fr/inria-00200869}, hal-id = {inria-00200869} } @inproceedings{Abde09b, author = {Hani Abdeen and St\'ephane Ducasse and Houari A. Sahraoui and Ilham Alloui}, title = {Automatic Package Coupling and Cycle Minimization}, booktitle = {International Working Conference on Reverse Engineering (WCRE)}, publisher = {IEEE Computer Society Press}, address = {Washington, DC, USA}, misc = {acceptance rate: 20/79 = 25\%}, pages = {103--112}, annote = {internationalconference}, aeres = {ACT}, x-pays = {CA}, x-country = {FR}, x-editorial-board = {yes}, inriareport = {2009}, x-proceedings = {yes}, x-international-audience = {yes}, aeresstatus = {aeres12}, rate = {25\%}, selectif = {oui}, inria = {RMOD}, keywords = {moose-pub remoose2 lse-pub cook}, year = {2009}, hal = {http://hal.inria.fr/inria-00425417}, hal-id = {inria-00425417 to recover as lse}, url = {http://rmod.lille.inria.fr/archives/papers/Abde09b-WCRE2009-AutomaticPackageCoupling.pdf}, abstract = {Object-oriented (OO) software is usually organized into subsystems using the concepts of package or module. Such modular structure helps applications to evolve when facing new requirements. However, studies show that as soft- ware evolves to meet requirements and environment changes, modularization quality degrades. To help maintainers improve the quality of software modularization we have designed and implemented a heuristic search-based approach for automatically optimizing inter-package connectivity (i.e., dependencies). In this paper, we present our approach and its underlying techniques and algorithm. We show through a case study how it enables maintainers to optimize OO package structure of source code. Our optimization approach is based on Simulated Annealing technique.}, x-language = {EN} } @phdthesis{Abde09c, author = {Hani Abdeen}, title = {Visualizing, Assessing and Re-Modularizing Object-Oriented Architectural Elements}, school = {Universit\'e de Lille}, year = {2009}, annote = {PhD}, institution = {INRIA}, inria = {RMOD}, keywords = {moose-pub remoose2 lse-pub cook}, aeres = {AP}, type_rapport = {PhD}, abstract = {To cope with the complexity of large object-oriented software systems, developers organize classes into subsystems using the concepts of module or package. Such modular structure helps software systems to evolve when facing new requirements. The organization of classes into packages and/or subsystems represents the software modularization. the software modularization usually follows interrelationships between classes. Ideally, packages should to be loosely coupled and cohesive to a certain extent. However, Studies show that as software evolves to meet requirements and environment changes, the software modularization gradually drifts and looses quality. As a consequence, the software modularization must be maintained. It is thus important to understand, to assess and to optimize the organization of packages and their relationships. Our claim is that the maintenance of large and complex software modularizations needs approaches that help in: (1) understanding package shapes and relationships; (2) assessing the quality of a modularization, as well as the quality of a single package within a given modularization; (3) optimizing the quality of an existing modularization. In this thesis, we concentrate on three research fields: software visualizations, metrics and algorithms. At first, we define two visualizations that help maintainers: (1) to understand packages structure, usage and relationships; (2) to spot patterns; and (3) to identify misplaced classes and structural anomalies. In addition to visualizations, we define a suite of metrics that help in assessing the package design quality (i.e., package cohesion and coupling). We also define metrics that assess the quality of a collection of inter-dependent packages from different view points, such as the degree of package coupling and cycles. Finally, we define a search-based algorithm that automatically reduces package coupling and cycles only by moving classes over existing packages. Our optimization approach takes explicitly into account the original class organization and package structure. It also allows maintainers to control the optimization process by specifying: (1) the maximal number of classes that may change their packages; (2) the classes that are candidate for moving and the classes that should not; (3) the packages that are candidate for restructuring and the packages that should not; and (4) the maximal number of classes that a given package can entail. The approaches presented in this thesis have been applied to real large object-oriented software systems. The results we obtained demonstrate the usefulness of our visualizations and metrics; and the effectiveness of our optimization algorithm.}, url = {http://rmod.lille.inria.fr/archives/phd/PhD-2009-Abdeen.pdf}, hal-id = {tel-00498389 / zi#3ow#h}, x-language = {EN} } @article{Abde10a, title = {Package Fingerprint: a visual summary of package interfaces and relationships}, author = {Hani Abdeen and St\'ephane Ducasse and Damien Pollet and Ilham Alloui}, journal = {Information and Software Technology Journal}, annote = {internationaljournal}, inriareport = {2010}, inria = {RMOD}, pages = {1312-1330}, keywords = {moose-pub remoose2 lse-pub cook}, doi = {10.1016/j.infsof.2010.07.005}, x-editorial-board = {yes}, impactfactor = {ISI impact factor 1.821 (2010)}, x-proceedings = {yes}, volume = {52}, x-international-audience = {yes}, aeres = {ACL}, aeresstatus = {aeres12}, year = {2010}, abstract = {Context: Object-oriented languages such as Java, Smalltalk, and C++ structure their programs using packages. Maintainers of large systems need to understand how packages relate to each other, but this task is complex because packages often have multiple clients and play different roles (class container, code ownership. . . ). Several approaches have been proposed, among which the use of cohesion and coupling metrics. Such metrics help identify candidate packages for restructuring; however, they do not help maintainers actually understand the structure and interrelation- ships between packages. Objectives: In this paper, we use pre-attentive processing as the basis for package visualization and see to what extent it could be used in package understanding. Method: We present the package fingerprint, a 2D visualization of the references made to and from a package. The proposed visualization offers a semantically rich, but compact and zoomable views centered on packages. We focus on two views (incoming and outgoing references) that help users understand how the package under analysis is used by the system and how it uses the system. Results: We applied these views on four large systems: Squeak, JBoss, Azureus, and ArgoUML. We obtained several interesting results, among which, the identification of a set of recurring visual patterns that help maintainers: (a) more easily identify the role of and the way a package is used within the system (e.g., the package under analysis provides a set of layered services), and, (b) detect either problematic situations (e.g., a single package that groups together a large number of basic services) or opportunities for better package restructuring (e.g., removing cyclic dependencies among packages). The visualization generally scaled well and the detection of different patterns was always possible. Conclusion: The proposed visualizations and patterns proved to be useful in understanding and maintaining the different systems we addressed. To generalize to other contexts and systems, a real user study is required.}, url = {http://rmod.lille.inria.fr/archives/papers/Abde10a-IST-Official-packageFingerprints.pdf}, secondurl = {http://rmod.lille.inria.fr/archives/papers/Abde10a-IST-packageFingerprints.pdf}, hal-id = {inria-00531496} } @book{Abel86, Author = {Harold Abelson and Andrea diSessa}, Isbn = {0-262-51037-5}, Keywords = {ai scglib}, Publisher = {MIT Press}, Title = {Turtle Geometry}, Year = {1986} } @book{Abel91a, Author = {Harold Abelson and Gerald Jay Sussman and Julie Sussman}, Isbn = {0-262-01077-1}, Keywords = {scheme book scglib}, Publisher = {McGraw-Hill}, Series = {MIT electrical engineering and computer science series}, Title = {Structure and interpretation of computer programs}, Url = {http://mitpress.mit.edu/sicp/full-text/book/book.html}, Year = {1991} } @techreport{Abet89a, Author = {Serge Abetiboul and Paris C. Kanellakis}, Institution = {INRIA}, Keywords = {olit-db binder}, Month = apr, Note = {To appear, JACM}, Number = {1022}, Title = {Object Identity as Query Language Primitive}, Type = {Report no.}, Year = {1989} } @book{Abma03, Author = {Abmann Uwe}, Isbn = {3-540-44385-1}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {Invasive Software Composition}, Year = {2003} } @inproceedings{Abou02a, Author = {Mohamed Ibrahim Abouelhoda and Enno Ohlebusch and Stefan Kurtz}, Booktitle = {Proc. of the Ninth Int. Symposium on String Processing and Information Retrieval}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Optimal exact string matching based on suffix arrays}, Year = {2002} } @inproceedings{Abow93a, Author = {Gregory Abowd and Robert Allen and David Garlan}, Booktitle = {Proceedings SIGSOFT 93, ACM Software Engineering Notes}, Keywords = {olit visprog composition architecture binder}, Month = dec, Pages = {9--20}, Title = {Using Style to Understand Descriptions of Software Architecture}, Volume = 18, Year = {1993} } @techreport{Abow95a, Author = {Gregory Abowd and Robert Allen and David Garlan}, Institution = {Carnegie Mellon University}, Keywords = {olit visprog composition architecture}, Month = jan, Title = {Formalizing Style to Understand Descriptions of Software Architecture}, Type = {{CMU-CS-95-111}}, Url = {ftp://reports.adm.cs.cmu.edu/usr/anon/1995/CMU-CS-95-111.ps}, Year = {1995}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/usr/anon/1995/CMU-CS-95-111.ps} } @article{Abow95b, Author = {Gregory Abowd and Robert Allen and David Garlan}, Journal = {ACM Transactions on Software Engineering and Methodology}, Keywords = {olit visprog composition architecture}, Month = oct, Number = {4}, Pages = {319--364}, Title = {Formalizing Style to Understand Descriptions of Software Architecture}, Volume = {4}, Year = {1995} } @inproceedings{Abow00a, Author = {Gregory D. Abowd and Anind K. Dey}, Booktitle = {Proceedings of the CHI 2000 Workshop on the What, Who, Where, When and How of Context-Awareness}, Keywords = {cop-lit survey}, Publisher = {ACM Press, New York.}, Title = {Towards a Better Understanding of Context and Context-Awareness}, Url = {ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-22.pdf}, Year = {2000}, Bdsk-Url-1 = {ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-22.pdf} } @article{Abra87a, Author = {Samson Abramsky}, Journal = {Theoretical Computer Science}, Keywords = {pcalc equivalence binder(conc)}, Pages = {225--241}, Publisher = {North-Holland}, Title = {Observation Equivalence as a Testing Equivalence}, Volume = {53}, Year = {1987} } @techreport{Abra90a, Address = {London}, Author = {Samson Abramsky}, Institution = {Imperial College}, Keywords = {concurrency linear logic binder (shelf)}, Month = oct, Number = {90/20}, Title = {Computational Interpretations of Linear Logic}, Type = {Research Report DOC}, Year = {1990} } @incollection{Abra90b, Address = {Reading, Mass.}, Author = {Samson Abramsky}, Booktitle = {Research Topics in Functional Programming}, Editor = {D.A. Turner}, Keywords = {misc lambda fp lazy binder(fp)}, Pages = {65--116}, Publisher = {Addison Wesley}, Title = {The Lazy Lambda Calculus}, Year = {1990} } @book{Abra91a, Address = {Brighton, UK}, Editor = {S. Abramsky and T.S.E. Mailbaum}, Isbn = {3-540-53982-4}, Keywords = {olit tapsoft91 scglib}, Month = apr, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {TAPSOFT}'91: Volume 1}, Volume = {493}, Year = {1991} } @book{Abra91b, Address = {Brighton, UK}, Editor = {S. Abramsky and T.S.E. Mailbaum}, Isbn = {3-540-53981-6}, Keywords = {olit tapsoft91 scglib}, Month = apr, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {TAPSOFT}'91: Volume 2}, Volume = {494}, Year = {1991} } @misc{Abra92a, Author = {Samson Abramsky}, Keywords = {pcalc mobility (uwe)}, Note = {Following Lecture Material on ``Proofs and Processes''}, Title = {An Introduction to ``On the $\pi$-Calculus and Linear Logic'' by Gianluigi Bellin and Philip Scott}, Year = {1992} } @article{Abra93a, Author = {Samson Abramsky and C.-H. Luke On}, Journal = {Information and Computation}, Keywords = {misc lambda fp lazy (laurent)}, Month = aug, Number = {2}, Pages = {159--267}, Publisher = {Academic Press}, Title = {Full Abstraction in the Lazy Lambda Calculus}, Volume = {105}, Year = {1993} } @techreport{Abra04a, Author = {A. Abran and P. Bourque and R. Dupuis and L.L. Tripp}, Institution = {IEEE Computer Society}, Title = {Guide to the software engineering body of knowledge (ironman version)}, Year = {2004} } @inproceedings{Abre01a, Author = {Fernando Brito Abreu and Miguel Goulao}, Booktitle = {Fifth European Conference on Software Maintenance and Reengineering}, Month = mar, Pages = {47--57}, Title = {Coupling and cohesion as modularization drivers: are we being over-persuaded?}, Year = {2001} } @article{AbuG04b, Author = {Nayef Abu-Ghazaleh and Madhusudhan Govindaraju and Michael J. Lewis}, Journal = {Proceedings of the International Conference on Internet Computing (ICIC)}, Page = {482--485}, Title = {Optimizing Performance of Web Services with Chunk-Overlaying and Pipelined-Send}, Year = {June 2004} } @article{AbuG04a, Author = {Nayef Abu-Ghazaleh and Michael J. Lewis and Madhusudhan Govindaraju}, Journal = {Proccedings of the International Symposium on Web Services and Applications}, Month = jun, Page = {783--789}, Title = {Performance of Dynamic Resizing of Message Fields for Differential Serialization of SOAP Messages}, Year = {2004} } @inproceedings{AbuG04c, Address = {Washington, DC, USA}, Author = {Nayef Abu-Ghazaleh and Michael J. Lewis and Madhusudhan Govindaraju}, Booktitle = {HPDC '04: Proceedings of the 13th IEEE International Symposium on High Performance Distributed Computing (HPDC'04)}, Doi = {10.1109/HPDC.2004.8}, Isbn = {0-7803-2175-4}, Pages = {55--64}, Publisher = {IEEE Computer Society}, Title = {Differential Serialization for Optimized SOAP Performance}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/HPDC.2004.8} } @inproceedings{Acar03a, author = {Acar, Umut A. and Blelloch, Guy E. and Harper, Robert}, title = {Selective memoization}, booktitle = {Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, series = {POPL '03}, year = {2003}, isbn = {1-58113-628-5}, location = {New Orleans, Louisiana, USA}, pages = {14--25}, numpages = {12}, url = {http://doi.acm.org/10.1145/604131.604133}, doi = {10.1145/604131.604133}, acmid = {604133}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {memoization, performance, programmer controlled, selective} } @article{Aceb02a, Address = {New York, NY, USA}, Author = {C\'esar F. Acebal and Ra\'ul Izquierdo Castanedo and Juan M. Cueva Lovelle}, Doi = {10.1145/510857.510870}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {4}, Pages = {62--73}, Publisher = {ACM Press}, Title = {Good design principles in a compiler university course}, Volume = {37}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/510857.510870} } @inproceedings{Acha93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Bruno Achauer}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {103--117}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Implementation of Distributed Trellis}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Ache00a, 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.}, Address = {Limassol, Cyprus}, Annote = {internationalconference}, Author = {Franz Achermann and Stefan Kneub\"uhl and Oscar Nierstrasz}, Booktitle = {Coordination '2000}, Doi = {10.1007/3-540-45263-X_2}, Editor = {Ant{\'o}nio Porto and Gruia-Catalin Roman}, Isbn = {978-3-540-41020-1}, Keywords = {olit scg-pub piccola jb00 snf00 scg-coord-00}, Month = sep, Pages = {19--35}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Scripting Coordination Styles}, Url = {http://scg.unibe.ch/archive/papers/Ache00aScriptingCoordStyles.pdf}, Volume = 1906, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache00aScriptingCoordStyles.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-45263-X_2} } @inproceedings{Ache00b, 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.}, Address = {Z{\"u}rich, Switzerland}, Annote = {internationalconference}, Author = {Franz Achermann and Oscar Nierstrasz}, Booktitle = {Modular Programning Languages, Proceedings of JMLC 2000 (Joint Modular Languages Conference)}, Doi = {10.1007/10722581_8}, Editor = {J{\"u}rg Gutknecht and Wolfgang Weck}, Isbn = {978-3-540-67958-5}, Keywords = {olit scg-pub piccola jb00 snf00 scg-coord-00 onhindex(37)}, Month = sep, Pages = {77--89}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Explicit Namespaces}, Url = {http://scg.unibe.ch/archive/papers/Ache00bExplicitNamespaces.pdf}, Volume = 1897, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache00bExplicitNamespaces.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/10722581_8} } @inproceedings{Ache00d, 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.}, Address = {Limerick, Ireland}, Author = {Franz Achermann}, Booktitle = {Workshop on Multi-Dimensional Separation of Concerns in Software Engineering (ICSE 2000)}, Keywords = {olit scg-pub skip-doi piccola jb00 snf00 scg-coord-00}, Month = jun, Title = {Language support for feature mixing}, Url = {http://scg.unibe.ch/archive/papers/Ache00dFeatureMixing.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache00dFeatureMixing.pdf} } @incollection{Ache01a, 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.}, Author = {Franz Achermann and Oscar Nierstrasz}, Booktitle = {Software Architectures and Component Technology}, Editor = {Mehmet Aksit}, Isbn = {0-7923-7576-9}, Keywords = {olit scg-pub skip-doi piccola jb00 snf00 onhindex(102) scg-coord-00}, Pages = {261--292}, Publisher = {Kluwer}, Title = {Applications = Components + Scripts --- A Tour of {Piccola}}, Url = {http://scg.unibe.ch/archive/papers/Ache01aTour.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache01aTour.pdf} } @incollection{Ache01b, 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.}, Author = {Franz Achermann and Markus Lumpe and Jean-Guy Schneider and Oscar Nierstrasz}, Booktitle = {Formal Methods for Distributed Processing --- A Survey of Object-Oriented Approaches}, Editor = {Howard Bowman and John Derrick}, Isbn = {0-521-77184-6}, Keywords = {olit scg-pub skip-doi pict pi omnrep scg-coord-99 onhindex(96) snf99 piccola jb00 scg-coord-00}, Pages = {403--426}, Publisher = {Cambridge University Press}, Title = {Piccola --- a Small Composition Language}, Url = {http://scg.unibe.ch/archive/papers/Ache01bPASCL.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache01bPASCL.pdf} } @phdthesis{Ache02a, 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.}, Author = {Franz Achermann}, Keywords = {scg-phd piccola contract-types snf02 jb02}, Month = jan, School = {University of Bern}, Title = {Forms, Agents and Channels --- Defining Composition Abstraction with Style}, Url = {http://scg.unibe.ch/archive/phd/acherman-phd.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/acherman-phd.pdf} } @article{Ache05a, 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}, Author = {Franz Achermann and Oscar Nierstrasz}, Cvs = {PiccolaReasoning}, Doi = {10.1016/j.tcs.2004.09.022}, Journal = {Theoretical Computer Science}, Keywords = {snf04 snf05 scg-pub piccola jb05 context-calculus}, Number = {2-3}, Pages = {367--396}, Title = {A Calculus for Reasoning about Software Components}, Url = {http://scg.unibe.ch/archive/papers/Ache05aPiccolaReasoning.pdf}, Volume = {331}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ache05aPiccolaReasoning.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.tcs.2004.09.022} } @inproceedings{Acke93a, Author = {Philipp Ackermann}, Booktitle = {Proceedings of AES '93 95th Convention}, Keywords = {olit binder}, Month = oct, Pages = {1--11}, Publisher = {The Audio Engineering Society}, Title = {Object-Oriented Modelling of Time Synchonisation in a Multimedia Application Framework}, Year = {1993} } @techreport{Acke94a, Author = {Philipp Ackermann}, Institution = {University of Zurich Multimedia Laboratory}, Keywords = {olit binder}, Month = mar, Number = {94-07/e}, Title = {Direct Manipulation of Temporal Structures in a Multimedia Application Framework}, Type = {Technical Report}, Year = {1994} } @book{Acke96a, Address = {Heidelberg}, Author = {Philipp Ackermann}, Isbn = {3-920993-52-7}, Keywords = {olit frameworks MET++ scglib}, Publisher = {dpunkt}, Title = {Developing Object-Oriented Multimedia Software}, Year = {1996} } @inproceedings{Adam88a, 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.}, Author = {Norman Adams and Jonathan Rees}, Booktitle = {Conference Record of the 1988 ACM Conference on Lisp and Functional Programming}, Keywords = {olit-oopl scheme lisp (smc)}, Month = aug, Pages = {277--288}, Title = {Object-Oriented Programming in Scheme}, Year = {1988} } @inproceedings{Adam89a, Author = {Sam S. Adams and Abdul K. Nabi}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {139--150}, Title = {Neural Agents --- {A} Frame of Mind}, Volume = {24}, Year = {1989} } @inproceedings{Adam07a, Address = {Paris, France}, Author = {Bram Adams and Kris {De Schutter} and Herman Tromp and Wolfgang De Meuter}, Booktitle = {Proceedings of the 23rd International Conference on Software Maintenance (ICSM)}, Editor = {Ladan Tahvildari and Gerardo Canfora}, Month = oct, Pages = {114--123}, Publisher = {IEEE Computer Society}, Title = {Design recovery and maintenance of build systems}, Year = {2007} } @inproceedings{Adam09a, Address = {Edmonton, Canada}, Author = {Bram Adams}, Booktitle = {PhD Symposium at the 25th IEEE International Conference on Software Maintenance (ICSM)}, Month = sep, Note = {To appear}, Title = {Co-evolution of Source Code and the Build System - Impact on the Introduction of AOSD in Legacy Systems}, Year = {2009} } @inproceedings{Addo98a, Author = {Rogelio Addobbati and W. Lewis Johnson and Stacy Marsella}, Booktitle = {Proceedings of the California Software Symposium}, Title = {Automatic Generation of Visual Presentations for Software Understanding}, Year = {1998} } @inproceedings{Ader90a, 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.}, Address = {Dordrecht, NL}, Annote = {internationalconference}, Author = {Martin Ader and Oscar Nierstrasz and Stephen McMahon and Gerhard M{\"u}ller and Anna-Kristin Pr{\"o}frock}, Booktitle = {Proceedings, Esprit 1990 Conference}, Keywords = {olit-ithaca skip-doi osg cool scripting vista lostSource}, Pages = {31--51}, Publisher = {Kluwer Academic Publishers}, Title = {The {ITHACA} Technology: {A} Landscape for Object-Oriented Application Development}, Url = {http://scg.unibe.ch/archive/osg/Ader90aITHACA.pdf}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Ader90aITHACA.pdf} } @techreport{Ader94a, 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.}, 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}, Institution = {Bul S.A., T.A.O. S.A., Universit\'a di Milano, and Communication and Management Systems Unit}, Keywords = {olit-ithaca ithaca-final}, Title = {WooRKS, an Object Oriented WorkflowSystem for Offices}, Type = {ITHACA technical report}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/WooRKS}, Year = {1994}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/WooRKS} } @inproceedings{Adlt06a, Address = {New York, NY, USA}, Author = {Ali-Reza Adl-Tabatabai and Brian T. Lewis and Vijay Menon and Brian R. Murphy and Bratin Saha and Tatiana Shpeisman}, Booktitle = {PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation}, Doi = {10.1145/1133981.1133985}, Isbn = {1-59593-320-4}, Location = {Ottawa, Ontario, Canada}, Pages = {26--37}, Publisher = {ACM Press}, Title = {Compiler and runtime support for efficient software transactional memory}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1133981.1133985} } @manual{Adob90a, Isbn = {0-201-18127-4}, Keywords = {scglib book pl-lit}, Organization = {Adobe Systems Incorporated}, Publisher = {Addison Wesley}, Title = {PostScript Language Reference Manual}, Year = {1990} } @book{Adob90b, Author = {Adobe Systems Incorporated}, Keywords = {scglib book pl-lit}, Publisher = {Addison Wesley}, Title = {PostScript Language Tutorial and Cookbook}, Year = {1990} } @book{Adob90c, Author = {Adobe Systems Incorporated}, Keywords = {scglib book pl-lit}, Publisher = {Addison Wesley}, Title = {PostScript Language Program Design}, Year = {1990} } @inproceedings{Adya02a, author = {Adya, Atul and Howell, Jon and Theimer, Marvin and Bolosky, William J. and Douceur, John R.}, title = {Cooperative Task Management Without Manual Stack Management}, booktitle = {ATEC '02: Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference}, year = {2002}, isbn = {1-880446-00-6}, pages = {289--302}, publisher = {USENIX Association}, address = {Berkeley, CA, USA} } @mastersthesis{Aebi03a, 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.}, Author = {Tobias Aebi}, Keywords = {scg-msc snf03 jb04}, Month = sep, School = {University of Bern}, Title = {Extracting Architectural Information using Different Levels of Collaboration}, Type = {Diploma Thesis}, Url = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf} } @inproceedings{Afta10a, author = {Aftandilian, Edward E. and Kelley, Sean and Gramazio, Connor and Ricci, Nathan and Su, Sara L. and Guyer, Samuel Z.}, title = {Heapviz: interactive heap visualization for program understanding and debugging}, booktitle = {Proceedings of the 5th international symposium on Software visualization}, series = {SOFTVIS '10}, year = {2010}, isbn = {978-1-4503-0028-5}, location = {Salt Lake City, Utah, USA}, pages = {53--62}, numpages = {10}, url = {http://doi.acm.org/10.1145/1879211.1879222}, doi = {10.1145/1879211.1879222}, acmid = {1879222}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {debugging, graphs, interactive visualization, program understanding, software visualization} } @inproceedings{Agar04a, Author = {Rahul Agarwal and Scott D. Stoller}, Booktitle = {Proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI'04)}, Pages = {149--160}, Title = {Type Inference for Parameterized Race-Free Java}, Year = {2004} } @inproceedings{Ager97a, Author = {E. Agerbo and A. Cornils}, Booktitle = {Object-Oriented Technology (ECOOP '97 Workshop Reader)}, Editor = {Jan Bosch and Stuart Mitchell}, Pages = {92--95}, Publisher = {Springer-Verlag}, Title = {Implementing {GoF} Design Patterns in {BETA}}, Volume = {1357}, Year = {1997} } @inproceedings{Ages93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Ole Agesen and Jens Palsberg and Michael I. Schwartzbach}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {247--267}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Type Inference of {SELF}: Analysis of Objects with Dynamic and Multiple Inheritance}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @inproceedings{Ages94a, Author = {Ole Agesen and David Ungar}, Booktitle = {Proceedings OOPSLA '94}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Sifting Out the Gold --- Delivering Compact Applications from an Exploratory Object-Oriented Programming Environment}, Year = {1994} } @inproceedings{Ages95a, Address = {Aarhus, Denmark}, Author = {Ole Agesen}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {2--26}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Cartesian Product Algorithm}, Volume = {952}, Year = {1995} } @manual{Ages95b, 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}, Title = {The {SELF} 4.0 Programmer's Reference Manual}, Year = {1995} } @techreport{Ages95c, Address = {Santa Barbara, CA, USA}, Author = {Agesen, Ole and Holzle, Urs}, Institution = {Department of Computer Science, University of California, Santa Barbara}, Publisher = {University of California at Santa Barbara}, Source = {http://www.cs.ucsb.edu/research/tech_reports/}, Title = {Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages}, Year = {1995} } @phdthesis{Ages96a, Author = {Ole Agesen}, Keywords = {olit book scglib}, Month = dec, School = {Stanford University}, Title = {Concrete Type Inference: Delivering Object-Oriented Applications}, Type = {{Ph.D}. Thesis}, Year = {1996} } @article{Agha85a, Author = {Gul Agha}, Journal = {IEEE Database Engineering}, Keywords = {concurrency messages actors}, Month = dec, Number = {4}, Pages = {75--82}, Title = {A Message-Passing Paradigm for Object Management}, Volume = {8}, Year = {1985} } @article{Agha86a, Author = {Gul Agha}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obc concurrency messages actors oopws86}, Month = oct, Number = {10}, Pages = {58--67}, Title = {An Overview of Actor Languages}, Volume = {21}, Year = {1986} } @book{Agha86b, Address = {Cambridge, Mass.}, Author = {Gul Agha}, Isbn = {0-262-01092-5}, Keywords = {olit-obc semantics oobib(obcp) book scglib}, Publisher = {MIT Press}, Title = {{ACTORS}: {A} Model of Concurrent Computation in Distributed Systems}, Year = {1986}, Url = {http://dspace.mit.edu/handle/1721.1/6952} } @inproceedings{Agha92a, 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.}, Address = {Sicily}, Author = {Gul Agha and S. Fr\olund and R. Panwar and D. Sturman}, Booktitle = {Proceedings of the IFIP Conference on Dependable Computing for Critical Applications}, Keywords = {olit-obc}, Title = {A Linguistic Framework for Dynamic Composition of Dependability Protocols}, Url = {ftp://biobio.cs.uiuc.edu/pub/papers/dcca3.ps.Z}, Year = {1992}, Bdsk-Url-1 = {ftp://biobio.cs.uiuc.edu/pub/papers/dcca3.ps.Z} } @techreport{Agha93a, 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.}, Author = {Gul Agha and Ian Mason and Scott Smith and Carolyn Talcott}, Institution = {UIUC}, Keywords = {olit-obc actors semantics binder}, Title = {A Foundation for Actor Computation}, Type = {technical report}, Url = {ftp://sail.stanford.edu/pub/MT/95actors.ps.Z}, Year = {1993}, Bdsk-Url-1 = {ftp://sail.stanford.edu/pub/MT/95actors.ps.Z} } @article{Agha93b, Author = {Gul Agha and Svend Fr\olund and Woo Young Kim and Rajendra Panwar and Anna Patterson and Daniel Sturman}, Journal = {IEEE Parallel and Distributed Technology}, Keywords = {olit-obc binder}, Month = may, Pages = {3--14}, Title = {Abstraction and Modularity Mechanisms for Concurrent Computing}, Year = {1993} } @inproceedings{Agha93c, Author = {Gul Agha and C. J. Callsen}, Booktitle = {Proceedings 4th ACM Conference on Principles and Practice of Parallel Programming, ACM SIGPLAN Notices}, Pages = {23--323}, Title = {ActorSpace: An Open Distributed Programming Paradigm}, Volume = {24}, Year = {1993} } @book{Agha93d, Editor = {Gul Agha and Peter Wegner and Akinori Yonezawa}, Isbn = {0-262-01139-5}, Keywords = {olit-obc book scglib}, Publisher = {MIT Press}, Title = {Research Directions in Concurrent Object-Oriented Programming}, Year = {1993} } @inproceedings{Agra91a, Author = {Rakesh Agrawal and Linda G. DeMichiel and Bruce G. Lindsay}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {types olit oopsla91}, Month = nov, Pages = {113--128}, Title = {Static Type Checking of Multi-Methods}, Volume = {26}, Year = {1991} } @article{Aher98a, 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.}, Author = {F.J. Aherne and N.A. Thacker and Peter Rockett}, Journal = {Kybernetika}, Number = {4}, Pages = {363--368}, Publisher = {TIA, Prague}, Title = {The Bhattacharyya Metric as an Absolute Similarity Measure for Frequency Coded Data}, Volume = {34}, Year = {1998} } @incollection{Ahle94a, 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.}, Address = {Boston}, Author = {K. Ahlers and D. Breen and C. Crampton and E. Rose and M. Tuceryan and R. Whitaker and D. Greer}, Booktitle = {Telemanipulator and Telepresence Techonolgies}, Keywords = {olit}, Month = oct, Pages = {345--359}, Publisher = {SPIE Proceedings}, Title = {An Augmented Vision System for Industrial Applications}, Volume = {2351}, Year = {1994} } @techreport{Ahls83a, Author = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan Britts and Christer Hult\'en and Lars S{\"o}derlund}, Institution = {University of Stockholm}, Keywords = {oislit survey}, Month = mar, Number = {44}, Title = {A Survey of Office Information Systems}, Type = {Syslab, WP}, Year = {1983} } @article{Ahls84a, Author = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan Britts and Christer Hult\'en and Lars S{\"o}derlund}, Journal = {ACM TOOIS}, Keywords = {olit-oopl opal ois}, Month = jul, Number = {3}, Pages = {173--196}, Title = {An Architecture for Object Management in {OIS}}, Volume = {2}, Year = {1984} } @techreport{Ahls84b, Author = {Matts Ahls\'en and Anders Bj{\"o}rnerstedt and Stefan Britts and Christer Hult\'en and Lars S{\"o}derlund}, Institution = {University of Stockholm}, Keywords = {types other}, Month = feb, Number = {#22}, Title = {Making Type Changes Transparent}, Type = {Syslab report}, Year = {1984} } @article{Ahls85a, Author = {M. Ahls\"en and Anders Bj{\"o}rnerstedt and C. Hult\"en}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl opal}, Month = dec, Number = {4}, Pages = {31--40}, Title = {{OPAL}: An Object-Based System for Application Development}, Volume = {8}, Year = {1985} } @book{Aho72a, Author = {Alfred V. Aho and Jeffrey D. Ullman}, Isbn = {0-13-914556-7}, Keywords = {compiler book scglib}, Publisher = {Prentice-Hall}, Title = {The Theory of Parsing, Translation and Compiling Volume {I}: Parsing}, Year = {1972} } @article{Aho72b, Author = {Alfred V. Aho and Thomas G. Peterson}, Journal = {SIAM Journal of Computing}, Keywords = {earley parsing}, Pages = {305--312}, Title = {A minimum distance error-correcting parser for context-free languages}, Url = {http://locus.siam.org/SICOMP/volume-01/art_0201022.html}, Volume = {1}, Year = {1972}, Bdsk-Url-1 = {http://locus.siam.org/SICOMP/volume-01/art_0201022.html} } @book{Aho74a, Address = {Reading, Mass.}, Author = {Alfred V. Aho and John E. Hopcroft and Jeffrey D. Ullman}, Isbn = {0-201-00029-6}, Keywords = {misc algorithms book scglib}, Publisher = {Addison Wesley}, Title = {The Design and Analysis of Computer Algorithms}, Year = {1974} } @article{Aho75a, Author = {Alfred V. Aho and M.J. Corasick}, Journal = {CACM}, Keywords = {unix searching}, Month = jun, Number = {6}, Pages = {333--340}, Title = {Fast Pattern Matching: An Aid to Bibliographic Search}, Volume = {18}, Year = {1975} } @techreport{Aho78a, Author = {Alfred V. Aho and B. Kernighan and P. Weinberger}, Institution = {Bell Telephone Laboratories}, Keywords = {unix awk searching}, Month = sep, Title = {Awk --- {A} Pattern Scanning and Processing Language}, Type = {Report}, Year = {1978} } @book{Aho86a, Address = {Reading, Mass.}, Author = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman}, Isbn = {0-201-10194-7}, Keywords = {compiler book binder (shelf) scglib}, Publisher = {Addison Wesley}, Title = {Compilers: Principles, Techniques and Tools}, Year = {1986} } @article{Ahuj86a, Author = {S. Ahuja and N. Carriero and D. Gelernter}, Journal = {IEEE Computer}, Keywords = {concurrency linda}, Month = aug, Number = {8}, Pages = {26--34}, Title = {Linda and Friends}, Volume = {19}, Year = {1986} } @inproceedings{Aign96a, Address = {Linz, Austria}, Author = {Gerald Aigner and Urs H{\"o}lzle}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {142--166}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Eliminating Virtual Function Calls in {C}++ Programs}, Volume = {1098}, Year = {1996} } @inproceedings{AitK91a, Address = {Passau, Germany}, Author = {Hassan A\"it-Kaci and Andreas Podelski}, Booktitle = {Proceedings PLILP '91}, Editor = {J. Maluszynski and M. Wirsing}, Keywords = {plang life olit plilp91 binder}, Month = aug, Pages = {255--274}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards a Meaning of {LIFE}}, Url = {ftp://gatekeeper.dec.com/pub/DEC/PRL/research-reports/PRL-RR-11.ps.gz}, Volume = {528}, Year = {1991}, Bdsk-Url-1 = {ftp://gatekeeper.dec.com/pub/DEC/PRL/research-reports/PRL-RR-11.ps.gz} } @misc{Ajma02a, Author = {Sameer Ajmani}, Month = aug, Title = {A Review of Software Upgrade Techniques for Distributed Systems}, Url = {http://pmg.csail.mit.edu/~ajmani/papers/review.pdf}, Year = {2002}, Bdsk-Url-1 = {http://pmg.csail.mit.edu/~ajmani/papers/review.pdf} } @inproceedings{Aksi88a, Author = {Mehmet Aksit and Anand Tripathi}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit-oopl sina oopsla88}, Month = nov, Pages = {267--275}, Title = {Data Abstraction Mechanisms in {SINA}/{ST}}, Volume = {23}, Year = {1988} } @phdthesis{Aksi89a, Author = {Mehmet Aksit}, Keywords = {olit-obcl sina binder (shelf)}, School = {University of Twente}, Title = {On the Design of the Object-Oriented Language Sina}, Type = {{Ph.D}. Thesis}, Year = {1989} } @inproceedings{Aksi92a, Author = {Mehmet Aksit and Lodewijk Bergmans}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {341--358}, Title = {Obstacles in Object-Oriented Software Development}, Volume = {27}, Year = {1992} } @inproceedings{Aksi92b, Address = {Utrecht, the Netherlands}, Author = {Mehmet Aksit and Lodewijk Bergmans and Sinan Vural}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-oopl sina ecoop92proc}, Month = jun, Pages = {372--395}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach}, Volume = {615}, Year = {1992} } @unpublished{Aksi93a, Author = {Mehmet Aksit and Ken Wakita and Jan Bosch and Lodewijk Bergmans and Akinori Yonezawa}, Keywords = {olit-obc act binder}, Note = {University of Twente}, Title = {Abstracting Inter-Object Communications Using Composition Filters}, Type = {draft manuscript}, Year = {1993} } @inproceedings{Aksi94a, 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.}, Author = {Mehmet Aksit and Ken Wakita and Jan Bosch and Lodewijk Bergmans and Akinori Yonezawa}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93 binder}, Doi = {10.1007/BFb0017540}, Pages = {152--184}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Abstracting Object Interactions Using Composition Filters}, Volume = 791, Year = {1994} } @inproceedings{Aksi94b, Address = {Bologna, Italy}, Author = {Mehmet Aksit and Jan Bosch and William van der Sterren and Lodewijk Bergmans}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {386--407}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Real-Time Specification Inheritance Anomalies and Real-Time Filters}, Volume = {821}, Year = {1994} } @inproceedings{Alab88a, Author = {Bruno Alabiso}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {335--354}, Title = {Transformation of Data Flow Analysis Models to Object-Oriented Design}, Volume = {23}, Year = {1988} } @misc{Alag88a, Address = {New York}, Author = {Suad Alagic}, Keywords = {olit-oodb (smc)}, Series = {Texts and Monographs in Computer Science}, Title = {Object-Oriented Database Programming}, Year = {1988} } @inproceedings{Alag94a, Address = {Bologna, Italy}, Author = {S. Alagi{\'c} and R. Sunderraman and R. Bagai}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {236--259}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Declarative Object-Oriented Programming: Inheritance, Subtyping and Prototyping}, Volume = {821}, Year = {1994} } @phdthesis{Alan04a, Author = {Lauri E. Alanko}, Month = nov, School = {University of Helsinki}, Title = {Types and Reflection}, Type = {{Ph.D}. Thesis}, Year = {2004} } @incollection{Alba83a, Author = {Antonio Albano and R. Orsini}, Booktitle = {Methodology and Tools for Database Design}, Editor = {S. Ceri}, Keywords = {olit-oopl galileo}, Publisher = {North-Holland}, Title = {Dialogo: An Interactive Environment for Conceptual Design in Galileo}, Year = {1983} } @article{Alba85a, Author = {Antonio Albano and Luca Cardelli and R. Orsini}, Journal = {ACM TODS}, Keywords = {olit-oopl galileo}, Month = jun, Number = {2}, Pages = {230--260}, Title = {Galileo: {A} Strongly-Typed, Interactive Conceptual Language}, Volume = {10}, Year = {1985} } @inproceedings{Albi01a, Author = {Herv\'e Albin-Amiot and Pierre Cointe and Yann-Ga\"el Gu\'eh\'eneuc and Narendra Jussien}, Booktitle = {Proceedings of ASE '01 (16th Conference on Automated Software Engineering)}, Editor = {Debra Richardson and Martin Feather and Michael Goedicke}, Month = nov, Pages = {166--173}, Publisher = {IEEE Computer Society Press}, Title = {Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together}, Year = {2001} } @book{Alde84a, Address = {Beverly Hills}, Author = {Mark S. Aldenderfer and Roger K. Blashfield}, Keywords = {clustering}, Publisher = {Sage Publications Inc.}, Series = {Sage University Paper Series on Quantitative Applications in the Social Sciences}, Title = {Cluster Analysis}, Year = {1984} } @incollection{Alde91a, Author = {A. Alderson}, Booktitle = {Software Development Environments and {CASE} Technology}, Editor = {A.Endres and H.Weber}, Keywords = {CASE}, Publisher = {Springer-Verlag}, Title = {Meta-{CASE} Technology}, Year = {1991} } @inproceedings{Aldr02a, Address = {Malaga, Spain}, Author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David}, Doi = {10.1007/3-540-47993-7}, Booktitle = {ECOOP'02: Proceedings of the 16th European Conference on Object-Oriented Programming}, Keywords = {olit ecoop02proc damiencbib architecture}, pages = {334--367}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Architectural Reasoning in {ArchJava}}, Volume = 2374, Year = {2002} } @inproceedings{Aldr02b, Author = {Aldrich, Jonathan and Kostadinov, Valentin and Chambers, Craig}, booktitle = {OOPSLA'02: Proceedings of the 17th International Conference on Object-Oriented Programming, Systems, Languages, and Applications}, pages = {311--330}, keywords = {damiencbib archjava}, Title = {Alias Annotations for Program Understanding}, Volume = {37(11)}, address = {Seattle, Washington, USA}, publisher = {ACM}, Year = {2002} } @inproceedings{Aldr02c, author = {Aldrich, Jonathan and Chambers, Craig and Notkin, David}, title = {{ArchJava}: Connecting software architecture to implementation}, booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering}, year = {2002}, isbn = {1-58113-472-X}, doi = {10.1145/581339.581365}, keywords = {damiencbib}, pages = {187--197}, address = {Orlando, FL, USA}, publisher = {ACM} } @inproceedings{Aldr03a, author = {Aldrich, Jonathan and Sazawal, Vibha and Chambers, Craig and Notkin, David}, booktitle = {ECOOP'03: Proceedings of the 17th European Conference on Object-Oriented Programming}, keywords = {damiencbib archjava}, editor = {Cardelli, Luca}, pages = {74--102}, publisher = {Springer-Verlag}, doi = {10.1007/978-3-540-45070-2_5}, series = {LNCS}, title = {Language Support for Connector Abstractions}, volume = {2743}, year = {2003}, address = {Darmstadt, Germany} } @inproceedings{Aldr04a, Author = {Jonathan Aldrich}, Booktitle = {{SPLAT}: Software engineering Properties of Languages for Aspect}, Editor = {Lodewijk Bergmans and Kris Gybels and Peri Tarr and Erik Ernst}, Month = mar, Title = {Open Modules: Reconciling Extensibility and Information Hiding}, Year = {2004} } @inproceedings{Aldr05a, Address = {Glasgow, UK}, Author = {Jonathan Aldrich}, Booktitle = {Proceedings ECOOP 2005}, Doi = {10.1007/11531142_7}, Keywords = {olit}, Month = jul, Pages = {144--168}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Open Modules: Modular Reasoning About Advice}, Url = {http://www.cs.cmu.edu/~aldrich/papers/ecoop05open-modules.pdf}, Volume = 3586, Year = {2005}, Bdsk-Url-1 = {http://www.cs.cmu.edu/~aldrich/papers/ecoop05open-modules.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11531142_7} } @inproceedings{Alen91a, Address = {Geneva, Switzerland}, Author = {Antonio J. Alencar and Joseph A. Goguen}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {180--199}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{OOZE}: An Object-Oriented {Z} Environment}, Volume = 512, Year = {1991} } @book{Alex75a, Address = {New York}, Author = {Christopher Alexander and Murray Silverstein and Shlomo Angel and Sara Ishakawa and Denny Abrams}, Keywords = {design-patterns scglib}, Publisher = {Oxford University Press}, Title = {The Oregon Experiment}, Year = {1975} } @book{Alex77a, Address = {New York}, Author = {Christopher Alexander and Sara Ishakawa and Murray Silverstein}, Keywords = {design-patterns scglib}, Publisher = {Oxford University Press}, Title = {A Pattern Language}, Year = {1977} } @book{Alex79a, Address = {New York}, Author = {Christopher Alexander}, Keywords = {design-patterns scglib}, Publisher = {Oxford University Press}, Title = {The Timeless Way of Building}, Year = {1979} } @inproceedings{Alex87a, Author = {James H. Alexander}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {287--294}, Title = {Painless Panes for {Smalltalk} Windows}, Volume = {22}, Year = {1987} } @book{Alex93a, Author = {Christopher Alexander}, Keywords = {design-patterns scglib}, Publisher = {Oxford University Press}, Title = {A Foreshadowing of 21st Century Art}, Year = {1993} } @mastersthesis{Alex07a, Author = {Pierre Alexis}, Keywords = {traits}, School = {Universit{\'e} Libre de Bruxelles}, Title = {Impl{\'e}mentation des traits {\`a} {\'e}tats en Java}, Url = {http://scg.unibe.ch/archive/external/Alex07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Alex07a.pdf} } @inproceedings{Alfar01a, author = {de Alfaro, Luca and Henzinger, Thomas A.}, title = {Interface automata}, booktitle = {ESEC'01: Proceedings of the 8th European Software Engineering Conference}, doi = {10.1145/503209.503226}, pages = {109--120}, isbn = {1-58113-390-1}, year = {2001}, address = {Vienna, Austria}, publisher = {ACM} } @inproceedings{Alia04a, Author = {Mourad Alia and S{\'e}bastien Chassande-Barrioz and Pascal D{\'e}chamboux and Catherine Hamon and Alexandre Lefebvre}, Booktitle = {Proceedings of the 18th European Conference on Object-Oriented Programming (ECOOP'04)}, Doi = {10.1007/b98195}, Pages = {291--315}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Middleware Framework for the Persistence and Querying of Java Objects}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/b98195} } @misc{Alice, Key = {Alice}, Note = {http://www.alice.org}, Title = {{Alice}}, Url = {http://www.alice.org}, Bdsk-Url-1 = {http://www.alice.org} } @inproceedings{Alla05a, author = {Allan, Chris and Avgustinov, Pavel and Christensen, Aske Simon and Hendren, Laurie and Kuzins, Sascha and Lhot\'{a}k, Ond\v{r}ej and de Moor, Oege and Sereni, Damien and Sittampalam, Ganesh and Tibble, Julian}, title = {Adding trace matching with free variables to {AspectJ}}, booktitle = {OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming systems and applications}, year = {2005}, issn = {0362-1340}, pages = {345--364}, doi = {10.1145/1103845.1094839}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @techreport{Alle92a, Author = {Robert Allen and David Garlan}, Institution = {Carnegie Mellon University}, Keywords = {olit visprog composition architecture binder}, Month = jul, Title = {Towards Formalized Software Architecture}, Type = {{CMU-CS-92-163}}, Url = {ftp://reports.adm.cs.cmu.edu/usr/anon/1992/CMU-CS-92-163.ps}, Year = {1992}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/usr/anon/1992/CMU-CS-92-163.ps} } @techreport{Alle94a, Author = {Robert Allen and David Garlan}, Institution = {Carnegie Mellon University}, Keywords = {olit visprog composition architecture binder}, Month = mar, Title = {Formal Connectors}, Type = {{CMU-CS-94-115}}, Url = {ftp://reports.adm.cs.cmu.edu/usr/anon/1994/CMU-CS-94-115.ps}, Year = {1994}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/usr/anon/1994/CMU-CS-94-115.ps} } @inproceedings{Alle94b, Address = {Portland, Oregon, USA}, Author = {Robert Allen and David Garlan}, Booktitle = {Workshop on Interface Definition Languages}, Keywords = {olit visprog composition architecture binder}, Misc = {January 20}, Month = jan, Title = {Beyond Definition/Use: Architectural Interconnection}, Year = {1994} } @inproceedings{Alle94c, Author = {Allen, Robert and Garlan, David}, Booktitle = {ICSE'94: Proceedings of the 16th International Conference on Software Engineering}, Keywords = {olit visprog composition architecture binder damiencbib architectural compatibility ; architectural connection ; architectural connectors ; architectural description ; deductive system ; design problem ; engineering discipline ; explicit semantic entities ; formal semantics ; programming languages ; protocols ; software architecture ; software systems ; system structure ; type checking ; formal specification ; programming theory ; software engineering ; systems analysis}, Month = may, Title = {Formalizing Architectural Connection}, Year = {1994}, pages = {71--80}, address = {Sorrento, Italy}, doi = {10.1109/ICSE.1994.296767}, ISSN = {0270-5257} } @techreport{Alle96a, Address = {Pittsburgh}, Author = {Robert Allen and David Garlan}, Institution = {School of Computer Science, Carnegie Mellon University}, Month = sep, Title = {The {Wright} Architectural Specification Language}, Type = {{CMU-CS-96-TB}}, Url = {http://www.cs.cmu.edu/afs/cs/project/able/ftp/wright-tr.ps}, Year = {1996}, Bdsk-Url-1 = {http://www.cs.cmu.edu/afs/cs/project/able/ftp/wright-tr.ps} } @book{Alle96b, Author = {Michael Alley}, Edition = {Third}, Isbn = {0387947663}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {The Craft of Scientific Writing --- Third Edition}, Year = {1996} } @inproceedings{Alle97a, Address = {Zurich}, Author = {Robert Allen and R\'emi Douence and David Garlan}, Booktitle = {Proceedings of ESEC '97 Workshop on Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Keywords = {sa wright csp sa architecture focbs97}, Month = sep, Pages = {11--22}, Title = {Specifying Dynamism in Software Architectures}, Url = {http://www.cs.iastate.edu/~leavens/FoCBS/allen.ps}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.iastate.edu/~leavens/FoCBS/allen.ps} } @phdthesis{Alle97b, Author = {Allen, Robert J.}, Keywords = {sa wright sa architecture csp damiencbib adl}, School = {School of Computer Science, Carnegie Mellon University}, address = {Pittsburgh, PA, USA}, Title = {A Formal Approach to Software Architecture}, Type = {{Ph.D}. Thesis}, Year = {1997} } @inproceedings{Alle98a, Address = {Lake Buena Vista, Florida}, Author = {Robert Allen and David Garlan and James Ivers}, Booktitle = {Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE-6)}, Month = nov, Publisher = {ACM}, Title = {Formal Modeling and Analysis of the HLA Component Integration Standard}, Url = {http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/hla-fse98.html}, Year = {1998}, Bdsk-Url-1 = {http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/hla-fse98.html} } @inproceedings{Alle01a, Author = {E. Allen and T. Khoshgoftaar}, Booktitle = {Seventh International Software Metrics Symposium}, Title = {Measuring Coupling and Cohesion of Software Modules: An Information Theory Approach}, Year = {2001} } @book{Alle03, Author = {Michael Alley}, Isbn = {0-387-95555-0}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {The Craft of Scientific Presentations --- Critical Steps to Succeed and Critical Errors to Avoid}, Year = {2003} } @book{Alle03a, Author = {B.{J}. Allen-Conn and Kimberly Rose}, Isbn = {0974313106}, Keywords = {Etoys, Squeak, Education}, Publisher = {Viewpoints Research Institute, Inc.}, Title = {Powerful Ideas in the Classroom}, Url = {http://www.squeakland.org/sqmedia/books/order.html}, Year = {2003}, Bdsk-Url-1 = {http://www.squeakland.org/sqmedia/books/order.html} } @article{Alle06a, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Eric E. Allen and Robert Cartwright}, Doi = {10.1016/j.scico.2005.07.003}, Issn = {0167-6423}, Journal = {Sci. Comput. Program.}, Number = {1-2}, Pages = {26--37}, Publisher = {Elsevier North-Holland, Inc.}, Title = {Safe instantiation in generic Java}, Volume = {59}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2005.07.003} } @mastersthesis{Allw06a, Author = {Tristan Allwood}, Month = jun, School = {Imperial College of Science, Technology and Medicine, University of London}, Title = {{Fleece}, Pluggable Type Checking for Dynamic Programming Languages}, Url = {http://wwwhomes.doc.ic.ac.uk/~tora/previous/project/Report.pdf}, Year = {2006}, Bdsk-Url-1 = {http://wwwhomes.doc.ic.ac.uk/~tora/previous/project/Report.pdf} } @inproceedings{Alma89a, Author = {Jay Almarode}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {363--370}, Title = {Rule-Based Delegation for Prototypes}, Volume = {24}, Year = {1989} } @inproceedings{Alma91a, Address = {Geneva, Switzerland}, Author = {Jay Almarode}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {200--218}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Issues in the Design and Implementation of a Schema Designer for an {OODBMS}}, Volume = 512, Year = {1991} } @phdthesis{Alme80a, Address = {Pittsburgh, PA}, Author = {Guy T. Almes}, Keywords = {olit memory}, School = {Carnegie Mellon University}, Title = {Garbage Collection in an Object-Oriented System}, Type = {{Ph.D}. Thesis}, Year = {1980} } @inproceedings{Alme97a, Author = {Paulo S\'ergio Almeida}, Booktitle = {Proceedings of ECOOP '97}, Month = jun, Pages = {32--59}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Balloon types: Controlling sharing of state in data types}, Year = {1997} } @inproceedings{Aloi92a, Address = {Utrecht, the Netherlands}, Author = {Nicola Aloia and Svetlana Barneva and Fausto Rabitti}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {396--412}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Supporting Physical Independence in an Object Database Server}, Volume = {615}, Year = {1992} } @inproceedings{Alon08a, Address = {New York, NY, USA}, Author = {Alonso, Omar and Devanbu, Premkumar T. and Gertz, Michael}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370780}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {125--128}, Publisher = {ACM}, Title = {Expertise identification and visualization from {CVS}}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370780} } @inproceedings{Alpe88a, Author = {Bowen Alpern and Mark. N. Wegman and F. Kenneth Zadeck}, Booktitle = {Conference Record of the Fifteenth ACM Symposium on Principles of Programming Languages}, Month = jan, Pages = {1--11}, Title = {Detecting equality of variables in programs}, Year = {1988} } @book{Alpe98a, Author = {Sherman R. Alpert and Kyle Brown and Bobby Woolf}, Isbn = {0-201-18462-1}, Keywords = {smalltalk patterns scglib oorp}, Publisher = {Addison Wesley}, Title = {The Design Patterns {Smalltalk} Companion}, Year = {1998} } @inproceedings{Alpe99a, Address = {New York, NY, USA}, Author = {Bowen Alpern and C. R. Attanasio and Anthony Cocchi and Derek Lieber and Stephen Smith and Ton Ngo and John J. Barton and Susan Flynn Hummel and Janice C. Sheperd and Mark Mergen}, Booktitle = {Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'99)}, Doi = {10.1145/320384.320418}, Isbn = {1-58113-238-7}, Location = {Denver, Colorado, United States}, Pages = {314--324}, Publisher = {ACM}, Title = {Implementing Jalape\~no in Java}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320418} } @inproceedings{Alph05a, Address = {New York, NY, USA}, Author = {Carl Alphonce and Blake Martin}, Booktitle = {OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/1094855.1094917}, Isbn = {1-59593-193-7}, Location = {San Diego, CA, USA}, Pages = {168--169}, Publisher = {ACM Press}, Title = {Green: a customizable UML class diagram plug-in for eclipse}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1094855.1094917} } @article{Alth99a, Author = {Marcel Altherr and Martin Erzberger and Silvano Maffeis}, Journal = {{Java} Report}, Month = dec, Number = 12, Title = {{SoftWired} {iBus} --- Middleware for the {Java} Platform}, Volume = 4, Year = {1999} } @article{Alts90a, Author = {Stephen F. Altschul and Warren Gish and Webb Miller and Eugene W. Myers and David J. Lipman}, Journal = {J. Mol. Biol.}, Keywords = {dotplot}, Pages = {403--410}, Title = {Basic Local Alignment Search Tool}, Volume = {215}, Year = {1990} } @book{Alur01a, Author = {Deepak Alur and John Crupi and Dan Malks}, Isbn = {0130648841}, Publisher = {Pearson Education}, Title = {Core J2EE Patterns: Best Practices and Design Strategies}, Year = {2001} } @book{Alur03a, Author = {Deepak Alur and John Crupi and Dan Malks}, Isbn = {0131422464}, Month = jun, Publisher = {Prentice Hall, Sun Microsystems Press}, Title = {Core J2EE Patterns: Best Practices and Design Strategies 2nd edition}, Year = {2003} } @inproceedings{Amad91a, Author = {Roberto M. Amadio and Luca Cardelli}, Booktitle = {Proceedings POPL '91}, Keywords = {types popl91 binder}, Pages = {104--118}, Title = {Subtyping Recursive Types}, Year = {1991} } @inproceedings{Amad93a, Author = {Roberto M. Amadio}, Booktitle = {Proceedings of CONCUR '93}, Editor = {E. Best}, Keywords = {pcalc chocs binder}, Pages = {112--126}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On the Reduction of Chocs Bisimulation to $\pi$-calculus Bisimulation}, Volume = {715}, Year = {1993} } @inproceedings{Amad96a, Author = {Roberto M. Amadio and Ilaria Castellani and Davide Sangiorgi}, Booktitle = {Proceedings of CONCUR '96}, Editor = {U. Montanari and V. Sassone}, Keywords = {pcalc concurrency}, Pages = {147--162}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Bisimulations for the Asynchronous $\pi$-calculus}, Volume = 1119, Year = {1996} } @phdthesis{Aman97a, Author = {Stephan Amann}, School = {University Bern}, Title = {Komponentenorientierte Entwicklung von Grafikapplikationen mit {BOOGA}}, Type = {{Ph.D}. Thesis}, Year = {1997} } @techreport{Ambl91a, Author = {Simon Ambler}, Institution = {University of London}, Keywords = {pcalc mobility (uwe)}, Title = {A de Bruijn notation for the $\pi$-calculus}, Year = {1991} } @inproceedings{Ambr09a, Author = {Marco D'Ambros and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of the 16th Working Conference on Reverse Engineering (WCRE 2009)}, Pages = {135--144}, Title = {On the Relationship Between Change Coupling and Software Defects}, Url = {http://www.inf.usi.ch/phd/dambros/publications/wcre09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://www.inf.usi.ch/phd/dambros/publications/wcre09a.pdf} } @article{Ambr09b, Address = {New York, NY, USA}, Author = {D'Ambros, Marco and Lanza, Michele}, Doi = {10.1002/smr.v21:3}, Issn = {1532-060X}, Journal = {J. Softw. Maint. Evol.}, Number = {3}, Pages = {217--232}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Visual software evolution reconstruction}, Volume = {21}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.v21:3} } @techreport{Amer86a, Address = {Eindhoven, the Netherlands}, Author = {Pierre America}, Institution = {Philips Research Laboratories}, Keywords = {olit-obc pool}, Misc = {Oct. 6}, Month = oct, Number = {0091}, Title = {Definition of the programming language {POOL}-{T}}, Type = {Doc. No.}, Year = {1986} } @techreport{Amer86b, Address = {Eindhoven, the Netherlands}, Author = {Pierre America}, Institution = {Philips Research Laboratories}, Keywords = {olit-obc pool}, Misc = {January 8}, Month = jan, Number = {0053}, Title = {Rationale for the design of {POOL}}, Type = {Doc. No.}, Year = {1986} } @inproceedings{Amer86c, Address = {St. Petersburg Beach, Florida}, Author = {Pierre America and Jaco de Bakker and Joost N. Kok and Jan Rutten}, Booktitle = {Proceedings POPL '86}, Keywords = {olit-obcl pool concurrency semantics binder(conc) popl86}, Misc = {Jan 13-15}, Month = jan, Pages = {194--208}, Title = {Operational Semantics of a Parallel Object-Oriented Language}, Year = {1986} } @techreport{Amer87a, Address = {Amsterdam}, Author = {Pierre America and Jaco W. de Bakker}, Institution = {CWI}, Keywords = {concurrency semantics binder}, Month = jul, Title = {Designing Equivalent Semantic Models for Process Creation}, Type = {CS-R8732}, Year = {1987} } @inproceedings{Amer87b, Address = {Paris, France}, Author = {Pierre America}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-obcl inheritance types pool ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {234--242}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance and Subtyping in a Parallel Object-Oriented Language}, Volume = {276}, Year = {1987} } @incollection{Amer87c, Address = {Cambridge, Mass.}, Author = {Pierre America}, Booktitle = {Object-Oriented Concurrent Programming}, Editor = {A. Yonezawa and M. Tokoro}, Keywords = {olit-obcl pool oocp87}, Pages = {199--220}, Publisher = {MIT Press}, Title = {{POOL}-{T}: {A} Parallel Object-Oriented Language}, Year = {1987} } @article{Amer89a, Author = {Pierre America and Jaco de Bakker and J. Kok and Jan Rutten}, Journal = {Information and Computation}, Keywords = {olit-obcl pool semantics}, Month = nov, Number = {2}, Pages = {152--205}, Title = {Denotational Semantics of a Parallel Object-Oriented Language}, Volume = {83}, Year = {1989} } @phdthesis{Amer89b, Author = {Pierre America and Jaco de Bakker and Jan Rutten}, Keywords = {olit-obcl pool semantics}, School = {CWI, Free University of Amsterdam}, Title = {A Parallel Object-Oriented Language: Design and Semantic Foundations}, Type = {{Ph.D}. Thesis}, Year = {1989} } @inproceedings{Amer90a, Address = {Noordwijkerhout}, Author = {Pierre America and Jan Rutten}, Booktitle = {Proceedings REX/FOOLS Workshop}, Keywords = {olit-obcl pool binder}, Month = jun, Title = {A Layered Semantics for a Parallel Object-Oriented Language}, Year = {1990} } @inproceedings{Amer90b, Author = {Pierre America and Frank van der Linden}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-obcl pool oopsla90 ecoop90proc}, Month = oct, Pages = {161--168}, Title = {A Parallel Object-Oriented Language with Inheritance and Subtyping}, Volume = {25}, Year = {1990} } @inproceedings{Amer90c, Address = {Noordwijkerhout}, Author = {Pierre America}, Booktitle = {Proceedings REX/FOOLS Workshop}, Keywords = {olit-obcl pool-i binder}, Month = jun, Title = {Designing an Object-Oriented Programming Language with Behavioural Subtyping}, Year = {1990} } @book{Amer91a, Editor = {Pierre America}, Isbn = {3-540-54262-0}, Keywords = {olit-obc ecoop91proc book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceeding of {ECOOP}'91 European Conference on Object-Oriented Programming}, Volume = 512, Year = {1991} } @inproceedings{Amer92a, Author = {Pierre America}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {119--140}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Formal Techniques for Parallel Object-Oriented Languages}, Volume = 612, Year = {1992} } @inproceedings{Amie96a, Address = {Linz, Austria}, Author = {Eric Amiel and Eric Dujardin}, Booktitle = {Proceedings ECOOP '96}, Editor = {Pierre Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {167--188}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Supporting Explicit Disambiguation of Multi-methods}, Volume = {1098}, Year = {1996} } @inproceedings{Ammo97a, author = {Ammons, Glenn and Ball, Thomas and Larus, James R.}, title = {Exploiting hardware performance counters with flow and context sensitive profiling}, booktitle = {Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation}, series = {PLDI '97}, year = {1997}, isbn = {0-89791-907-6}, location = {Las Vegas, Nevada, United States}, pages = {85--96}, numpages = {12}, url = {http://doi.acm.org/10.1145/258915.258924}, doi = {10.1145/258915.258924}, acmid = {258924}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Amse95a, Address = {Aarhus, Denmark}, Author = {Maurice Amsellem}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {449--470}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {ChyPro: {A} Hypermedia Programming Environment for {Smalltalk}-80}, Volume = {952}, Year = {1995} } @techreport{Anas00a, Author = {M. Anastasopoulos and J. Bayer and O. Flege and C. Gacek}, Institution = {Fraunhofer IESE}, Number = {038.00/E}, Title = {A Process for Product Line Architecture Creation and Evaluation - PuLSE-DSSA Version 2.0.}, Url = {http://publica.fraunhofer.de/documents/N-1463.html}, Year = {2000}, Bdsk-Url-1 = {http://publica.fraunhofer.de/documents/N-1463.html} } @inproceedings{Anas04a, Author = {Michalis Anastasopoulos and Dirk Muthig}, Booktitle = {In Proceedings of the 8th International Conference on Software Reuse}, Pages = {141--156}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology}, Volume = {3107}, Year = {2004} } @inproceedings{Anco97a, Author = {D. Ancona and E. Zucca}, Booktitle = {PLILP '97-9th Intl. Symp. on Programming Languages, Implementations, Logics and Programs}, Editor = {H.~Glaser and P.~Hartel and H.~Kuchen}, Number = {1292}, Pages = {47--61}, Publisher = {Springer Verlag}, Series = {lnc}, Title = {Overriding Operators in a Mixin-Based Framework}, Year = {1997} } @article{Anco98a, Author = {D. Ancona and E. Zucca}, Journal = {Mathematical Structures in Computer Science}, Month = aug, Number = 4, Pages = {401--446}, Title = {A Theory of Mixin Modules: Basic and Derived Operators}, Url = {http://www.disi.unige.it/person/AnconaD/Journals.html}, Volume = 8, Year = {1998}, Bdsk-Url-1 = {http://www.disi.unige.it/person/AnconaD/Journals.html} } @inproceedings{Anco98b, Author = {D. Ancona and E. Zucca}, Booktitle = {wadt97}, Editor = {F. Parisi Presicce}, Number = {1376}, Pages = {92--106}, Publisher = {sv}, Series = {lncs}, Title = {An Algebra of Mixin Modules}, Year = {1998} } @inproceedings{Anco99a, Author = {D. Ancona and E. Zucca}, Booktitle = {Principles and Practice of Declarative Programming}, Editor = {G. Nadathur}, Number = {1702}, Pages = {62--79}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {A Primitive Calculus for Module Systems}, Url = {citeseer.nj.nec.com/article/ancona99primitive.html http://www.disi.unige.it/person/AnconaD/Conferences.html#AnconaZucca99}, Year = {1999}, Bdsk-Url-1 = {citeseer.nj.nec.com/article/ancona99primitive.html%20http://www.disi.unige.it/person/AnconaD/Conferences.html#AnconaZucca99} } @inproceedings{Anco00a, Author = {Davide Ancona and Giovanni Lagorio and Elena Zucca}, Booktitle = {ECOOP 2000}, Number = {1850}, Pages = {145--178}, Series = {Lecture Notes in Computer Science}, Title = {Jam --- A Smooth Extension of {Java} with Mixins}, Year = {2000} } @inproceedings{Anco00b, Author = {Davide Ancona}, Booktitle = {AMAST 2000 --- Algebraic Methodology And Software Technology}, Editor = {T. Rus}, Keywords = {amast amast 2001 module mixin}, Number = 1816, Pages = {454--468}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {{MIX(FL)}: a kernel language of mixin modules}, Url = {ftp://ftp.disi.unige.it/pub/person/AnconaD/DISI-TR-96-23.ps.gz}, Year = {2000}, Bdsk-Url-1 = {ftp://ftp.disi.unige.it/pub/person/AnconaD/DISI-TR-96-23.ps.gz} } @inproceedings{Anco01a, Author = {Davide Ancona and Elena Zucca}, Booktitle = {ECOOP 2001}, Editor = {J. L. Knudsen}, Keywords = {ecoop ecoop01 2001 module mixin javamod}, Number = {2072}, Pages = {354--380}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {True Modules for {Java}-like Languages}, Url = {ftp://ftp.disi.unige.it/pub/person/AnconaD/ECOOP01.ps.gz}, Year = {2001}, Bdsk-Url-1 = {ftp://ftp.disi.unige.it/pub/person/AnconaD/ECOOP01.ps.gz} } @article{Anco01b, Author = {Davide Ancona and Elena Zucca}, Journal = {Mathematical Structures in Computer Science}, Number = {6}, Pages = {701--737}, Title = {A Theory of Mixin Modules: Algebraic Laws and Reduction Semantics}, Url = {http://www.disi.unige.it/person/AnconaD/Journals.html}, Volume = {12}, Year = {2001}, Bdsk-Url-1 = {http://www.disi.unige.it/person/AnconaD/Journals.html} } @article{Anco02a, Address = {New York, NY, USA}, Author = {Davide Ancona and Elena Zucca}, Doi = {10.1017/S0956796801004257}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {2}, Pages = {91--132}, Publisher = {Cambridge University Press}, Title = {A calculus of module systems}, Volume = {12}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796801004257} } @article{Anco04a, Address = {New York, NY, USA}, Author = {Davide Ancona and Elena Zucca}, Doi = {10.1145/982962.964027}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {1}, Pages = {306--317}, Publisher = {ACM}, Title = {Principal typings for Java-like languages}, Volume = {39}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/982962.964027} } @book{Ande73a, Address = {London}, Author = {M. R. Andenberg}, Keywords = {clustering}, Publisher = {Academic Press}, Title = {Cluster Analysis for Applications}, Year = {1973} } @book{Ande83a, Author = {J.R. Anderson}, Publisher = {Harvard University Press}, Title = {The Architecture of Cognition}, Year = {1983} } @article{Ande84a, Author = {John R. Anderson and Robert Farrell and Ron Sauers}, Journal = {Cognitive Science}, Keywords = {psyprog learning examples}, Number = {2}, Pages = {87--129}, Title = {Learning to program in {L}ISP}, Url = {http://www.cogsci.rpi.edu/CSJarchive/1984v08/i02/p0087p0129/MAIN.PDF}, Volume = {8}, Year = {1984}, Bdsk-Url-1 = {http://www.cogsci.rpi.edu/CSJarchive/1984v08/i02/p0087p0129/MAIN.PDF} } @inproceedings{Ande86a, Author = {David B. Anderson}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl flamingo ui oopsla86}, Month = nov, Pages = {177--185}, Title = {Experience with Flamingo: {A} Distributed, Object-Oriented User Interface System}, Volume = {21}, Year = {1986} } @inproceedings{Ande92a, Address = {Utrecht, the Netherlands}, Author = {Egil P. Andersen and Trygve Reenskaug}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {133--152}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {System Design by Composing Structures of Interacting Objects}, Volume = {615}, Year = {1992} } @article{Ande92b, Author = {Birger Andersen}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-obcl ellie joop}, Month = may, Number = {2}, Pages = {35--42}, Title = {Ellie: a General, Fine-Grained First-Class, Object-Based Language}, Volume = {5}, Year = {1992} } @techreport{Ande93a, Author = {Egil P. Andersen}, Institution = {University of Oslo}, Keywords = {types olit binder}, Title = {Substitutability of Abstract Behaviour Descriptions}, Type = {preliminary draft}, Url = {ftp://ftp.ifi.uio.no/pub/rolem/BDConformance.ps.gz}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.ifi.uio.no/pub/rolem/BDConformance.ps.gz} } @book{Ande95a, Editor = {Birger Anderson and Carlos Baquero and Rui Oliveira}, Keywords = {oobib(mobility) olit binder}, Month = aug, Publisher = {??}, Title = {Proceedings of {ECOOP}'95 Workshop on Mobility and Replication}, Year = {1995} } @phdthesis{Ande97a, Author = {Egil P. Andersen}, Month = nov, School = {University of Oslo}, Title = {Conceptual Modeling of Objects: a Role Modelling Approach}, Year = {1997} } @book{Ande97b, Address = {Frankfurt}, Author = {U. Andelfinger}, Keywords = {fca}, Publisher = {Peter Lang}, Title = {Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsproblem bei Systementwicklungen in der Informatik}, Year = {1997} } @inproceedings{Ande01a, Author = {Paul Anderson and Tim Teitelbaum}, Booktitle = {Proceedings of WISE'01 (International Workshop on Inspection in Software Engineering)}, Title = {Software {Inspection} {Using} {Code}{Surfer}}, Year = {2001} } @inproceedings{Ande02a, Author = {Christopher Anderson and Sophia Drossopoulou}, Booktitle = {Proceedings of First International Workshop on Unanticipated Software Evolution (USE2002)}, Note = {co-located with ECOOP 2002}, Title = {Delta -- an imperative object based calculus}, Url = {http://pubs.doc.ic.ac.uk/deltacalc/deltacalc.pdf http://pubs.doc.ic.ac.uk/deltacalc/ http://www.informatik.uni-bonn.de/~gk/use/2002/index.html}, Year = {2002}, Bdsk-Url-1 = {http://pubs.doc.ic.ac.uk/deltacalc/deltacalc.pdf%20http://pubs.doc.ic.ac.uk/deltacalc/%20http://www.informatik.uni-bonn.de/~gk/use/2002/index.html} } @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}, Booktitle = {Proceedings of ESUG International Smalltalk Conference 2004}, Keywords = {oovm resilient}, Month = sep, Title = {Design, Implementation, and Evaluation of the Resilient Smalltalk Embedded Platform}, Year = {2004} } @article{Andr81a, Author = {Gregory R. Andrews}, Journal = {ACM TOPLAS}, Keywords = {concurrency}, Month = oct, Number = {4}, Pages = {405--430}, Title = {Synchronizing Resources}, Volume = {3}, Year = {1981} } @article{Andr83a, Author = {Gregory R. Andrews and Fred B. Schneider}, Journal = {ACM Computing Surveys}, Keywords = {concurrency binder(conc)}, Month = mar, Number = {1}, Pages = {3--43}, Title = {Concepts and Notations for Concurrent Programming}, Volume = {15}, Year = {1983} } @inproceedings{Andr87a, Author = {Timothy Andrews and Craig Harris}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-oopl oodb vbase oopsla87}, Month = dec, Pages = {430--440}, Title = {Combining Language and Database Advances in an Object-Oriented Development Environment}, Volume = {22}, Year = {1987} } @inproceedings{Andr89a, Author = {Jean-Marc Andreoli and Remo Pareschi}, Booktitle = {Proceedings of the Workshop on Extensions of Logic Programming}, Keywords = {olit-obcl lo binder}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Logic Programming with Sequent Systems --- {A} Linear Logic Approach}, Year = {1989} } @inproceedings{Andr90a, Address = {Jerusalem}, Author = {Jean-Marc Andreoli and Remo Pareschi}, Booktitle = {Proceedings 7th ICLP}, Keywords = {olit-obcl lo concurrency binder}, Title = {Linear Objects: Logical Processes with Built-In Inheritance}, Year = {1990} } @inproceedings{Andr90b, Author = {Jean-Marc Andreoli and Remo Pareschi}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-obcl lo oopsla90 ecoop90proc}, Month = oct, Pages = {44--56}, Title = {{LO} and Behold! Concurrent Structured Processes}, Volume = {25}, Year = {1990} } @inproceedings{Andr91a, Author = {Jean-Marc Andreoli and Remo Pareschi}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {212--229}, Title = {Communication as Fair Distribution of Knowledge}, Volume = {26}, Year = {1991} } @article{Andr91b, Author = {Jean-Marc Andreoli and Remo Pareschi}, Journal = {New Generation Computing}, Keywords = {olit-obcl lo concurrency binder}, Pages = {445--473}, Publisher = {OHMSHA and Springer-Verlag}, Title = {Linear Objects: Logical Processes with Built-In Inheritance}, Volume = {9}, Year = {1991} } @book{Andr91c, Author = {Gregory R. Andrews}, Isbn = {0-80553-0086-4}, Keywords = {concurrency book scglib}, Publisher = {The Benjamin Cummings Publishing Co. Inc}, Title = {Concurrent Programming --- Principles and Practice}, Year = {1991} } @article{Andr91d, Author = {Gregory R. Andrews}, Journal = {ACM Computing Surveys}, Keywords = {concurrency}, Month = mar, Number = {1}, Pages = {49--90}, Title = {Paradigms for Process Interaction in Distributed Systems}, Volume = {23}, Year = {1991} } @unpublished{Andr92a, Author = {Jean-Marc Andreoli and Lone Leth and Remo Pareschi and Bent Thomsen}, Keywords = {concurrency binder}, Note = {ECRC, Munich}, Title = {On the Chemistry of Broadcasting}, Type = {draft}, Year = {1992} } @inproceedings{Andr92b, Author = {Pascal Andr\'e and Jean-Claude Royer}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {110--126}, Title = {Optimizing Method Search with Lookup Caches and Incremental Coloring}, Volume = {27}, Year = {1992} } @inproceedings{Andr92c, Author = {Jean-Marc Andreoli and Remo Pareschi and Marc Bourgois}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {163--176}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Dynamic Programming as Multiagent Programming}, Volume = 612, Year = {1992} } @book{Andr92d, Author = {Michael Andres and Anke Richter}, Keywords = {pcalc mobility (uwe)}, Publisher = {Studienarbeit, Universit{\"a}t Erlangen}, Title = {Beschreibung `mobiler Prozesse' mit Graphgrammatiken}, Year = {1992} } @inproceedings{Andr93a, Author = {Jean-Marc Andreoli and Paolo Ciancarini and Remo Pareschi}, Booktitle = {Research Directions in Object-Based Concurrency}, Editor = {G. Agha and P. Wegner and A. Yonezawa}, Keywords = {concurrency binder}, Note = {To appear}, Title = {Interaction Abstract Machines}, Year = {1993} } @inproceedings{Andr93b, Author = {Jean-Marc Andreoli and Lone Leth and Remo Pareschi and Bent Thomsen}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {concurrency binder tapsoft93}, Pages = {182--198}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {True Concurrency Semantics for a Linear Logic Programming Language with Broadcast Communication}, Volume = {668}, Year = {1993} } @incollection{Andr95a, 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.}, Author = {Jean-Marc Andreoli and Herve Gallaire and Remo Pareschi}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-01}, Pages = {1--13}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Rule-based Object Coordination}, Volume = {924}, Year = {1995} } @book{Andr96a, Editor = {J.-M.Andreoli and C. Hankin and D. Le M\'etayer}, Isbn = {1-86094-023-4}, Keywords = {coordination scglib}, Publisher = {Imperial College Press}, Title = {Coordination Programming: Mechanisms, Models and Semantics}, Year = {1996} } @article{Andr96b, Author = {Jean-Marc Andreoli and Steve Freeman and Remo Pareschi}, Journal = {Theory and Practice of Object Systems (TAPOS)}, Keywords = {coordination binder}, Number = {2}, Pages = {635--667}, Publisher = {Wiley}, Title = {The Coordination Language Facility: Coordination of Distributed Objects}, Volume = {2}, Year = {1996} } @article{Andr97a, Author = {Jean-Marc Andreoli and Francois Pacull and Daniele Pagani and Remo Pareschi}, Journal = {Computer Supported Cooperative Work: The Journal of Collaborative Computing}, Keywords = {coordination binder}, Number = {1}, Pages = {1--26}, Title = {Multiparty Negotiation of Distributed Object Services}, Volume = {6}, Year = {1997} } @inproceedings{Andr97b, Author = {Keith Andrews and Josef Wolte and Michael Pichler}, Booktitle = {Proceedings of VIS 1997 (IEEE Visualization Conference)}, Month = oct, Pages = {49--52}, Publisher = {IEEE CS}, Title = {Information Pyramids: A New Approach to Visualising Large Hierarchies}, Year = {1997} } @article{Andr98a, Author = {Jean-Marc Andreoli and Francois Pacull and Daniele Pagani and Remo Pareschi}, Journal = {The Journal of Science of Computer Programming}, Keywords = {coordination binder}, Number = {??}, Pages = {??}, Title = {Multiparty Negotiation of Dynamic Distributed Object Services}, Volume = {??}, Year = {1998} } @inproceedings{Andr98b, Author = {K. Andrews and H. Heidegger}, Booktitle = {IEEE Information Visualization Symposium 1998 Late Breaking Hot Topics}, Pages = {9-12}, Title = {Information Slices: Visualizing and Exploring Large Hierarchies using Cascading, Semi-circular Discs}, Year = {1998} } @inproceedings{Andr99a, Address = {Kaiserslautern, Germany}, Author = {Lu{\'\i}s Filipe Andrade and Jos{\'e} Luiz Fiadeiro}, Booktitle = {Proceedings UML '99 (The Second International Conference on The U nified Modeling Language)}, Editor = {Bernhard Rumpe}, Month = oct, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{Interconnecting Objects via Contracts}}, Volume = {1723}, Year = {1999} } @phdthesis{Andr02a, Author = {Keith Andrews}, Keywords = {information visualization}, Month = nov, School = {Technische Universit\"at Graz}, Title = {Visualizing Information Structures. Aspects of Information Visualization}, Type = {Professorial Thesis}, Url = {http://www.iicm.edu/keith}, Year = {2002}, Bdsk-Url-1 = {http://www.iicm.edu/keith} } @article{Andr05a, Address = {Los Alamitos, CA, USA}, Author = {Olena Andriyevska and Natalia Dragan and Bonita Simoes and Jonathan I. Maletic}, Doi = {10.1109/VISSOF.2005.1684296}, Isbn = {0-7803-9540-9}, Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {9}, Publisher = {IEEE Computer Society}, Title = {Evaluating {UML} Class Diagram Layout based on Architectural Importance}, Volume = {0}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684296} } @inproceedings{Andr06a, Author = {Chris Andreae and Yvonne Coady and Celina Gibbs and James Noble and Jan Vitek and Tian Zhao}, Booktitle = {Proceedings ECOOP '06}, Month = jul, Pages = {124--147}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Scoped Types and Aspects for Real-Time {J}ava}, Volume = {4067}, Year = {2006} } @inproceedings{Andr06b, Address = {New York, NY, USA}, Author = {Chris Andreae and James Noble and Shane Markstrum and Todd Millstein}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1167473.1167479}, Isbn = {1-59593-348-4}, Location = {Portland, Oregon, USA}, Pages = {57--74}, Publisher = {ACM Press}, Title = {A framework for implementing pluggable type systems}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167479} } @inproceedings{Anqu97a, Author = {Nicolas Anquetil and Timothy Lethbridge}, Booktitle = {Proceedings of CASCON '97}, Keywords = {clustering}, Month = nov, Pages = {184--195}, Title = {File {Clustering} using {Naming} {Conventions} for {Legacy} {Systems}}, Year = {1997} } @inproceedings{Anqu98a, Author = {Nicolas Anquetil and Timothy Lethbridge}, Booktitle = {Conference of the Centre for Advanced Studies on Collaborative research (CASCON)}, Pages = {213--222}, Publisher = {IBM Press}, Title = {Assessing the relevance of identifier names in a legacy software system}, Year = {1998} } @inproceedings{Anqu98b, Author = {Nicolas Anquetil and Timothy Lethbridge}, Booktitle = {International Conference on Software Engineering (ICSE 1998)}, Pages = {84--93}, Title = {Extracting Concepts from File Names; a New File Clustering Criterion}, Year = {1998} } @inproceedings{Anqu99a, Author = {Nicolas Anquetil and Timothy Lethbridge}, Booktitle = {Proceedings of WCRE '99 (6th Working Conference on Reverse Engineering)}, Keywords = {clustering}, Pages = {235--255}, Title = {Experiments with {Clustering} as a {Software} {Remodularization} {Method}}, Year = {1999} } @article{Anqu99b, Author = {Nicolas Anquetil and Timothy C. Lethbridge}, Journal = {Journal of Software Maintenance: Research and Practice}, Pages = {201--21}, Title = {Recovering Software Architecture from the Names of Source Files}, Volume = {11}, Year = {1999} } @inproceedings{Anqu11a, title = {Legacy Software Restructuring: Analyzing a Concrete Case}, author = {Nicolas Anquetil and Jannik Laval}, booktitle = {CSMR 2011: Proceedings of the 15th European Conference on Software Maintenance and Reengineering}, year = {2011}, address = {Oldenburg, Germany}, keywords = {moose-pub lse-pub}, abstract = {Software re-modularization is an old preoccupation of reverse engineering research. The advantages of a well structured or modularized system are well known. Yet after so much time and efforts, the field seems unable to come up with solutions that make a clear difference in practice. Recently, some researchers started to question whether some basic assumptions of the field were not overrated. The main one consists in evaluating the high-cohesion/low-coupling dogma with metrics of unknown relevance. In this paper, we study a real structuring case (on the Eclipse platform) to try to better understand if (some) existing metrics would have helped the software engineers in the task. Results show that the cohesion and coupling metrics used in the experiment did not behave as expected and would probably not have helped the maintainers reach there goal. We also measured another possible restructuring which is to decrease the number of cyclic dependencies between modules. Again, the results did not meet expectations.}, misc = {acceptance rate: 29/82 = 35\%}, aeres = {ACT}, annote = {internationalconference}, aeresstatus = {aeres12}, labo = {dans}, inria = {RMOD}, inriareport = {2011}, selectif = {oui}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-language = {EN}, x-country = {GE} } @inproceedings{Antk06a, Address = {Berlin, Germany}, Author = {Michal Antkiewicz and Krzysztof Czarnecki}, Booktitle = {International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006)}, Doi = {10.1007/11880240_48}, Keywords = {dsl}, Pages = {692--706}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Framework-Specific Modeling Languages with Round-Trip Engineering}, Url = {http://www.swen.uwaterloo.ca/~kczarnec/FSML-with-Round-Trip-MoDELS06.pdf}, Volume = {4199}, Year = {2006}, Bdsk-Url-1 = {http://www.swen.uwaterloo.ca/~kczarnec/FSML-with-Round-Trip-MoDELS06.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11880240_48} } @inproceedings{Anto98a, Author = {G. Antoniol and R. Fiutem and L. Cristoforetti}, Booktitle = {6th International Workshop on Program Comprehension (Ischia, Italy)}, Pages = {153--160}, Title = {Design Pattern Recovery in Object-Oriented Software}, Url = {http://citeseer.nj.nec.com/antoniol98design.html}, Year = {1998}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/antoniol98design.html} } @inproceedings{Anto00a, Author = {G. Antoniol and G. Casazza and E. Merlo}, Booktitle = {Proc. Int. Workshop on Feedback and Evolution in Software and Business Processes (FEAST)}, Keywords = {evolution}, Month = jul, Title = {{GAWK} Software System Evolution}, Year = {2000} } @inproceedings{Anto00b, Author = {Giuliano Antoniol and Gerardo Canfora and Gerardo Casazza and Andrea {De Lucia}}, Booktitle = {European Conference on Software Maintenance and Reengineering (CSMR 2000)}, Pages = {227--230}, Title = {Identifying the Starting Impact Set of a Maintenance Request: {A} Case Study}, Year = {2000} } @inproceedings{Anto00c, Author = {Giuliano Antoniol and Gerardo Canfora and Gerardo Casazza and Andrea {De Lucia}}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 2000)}, Doi = {10.1109/ICSM.2000.883003}, Pages = {40--49}, Title = {Information Retrieval Models for Recovering Traceability Links between Code and Documentation}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2000.883003} } @inproceedings{Anto01a, Address = {Florence,Italy}, Author = {G. Antoniol and G. Casazza and M. {Di Penta} and E. Merlo}, Booktitle = {Proc. of Int. Conference on Software Maintenance (ICSM'01)}, Month = nov, Pages = {273--280}, Publisher = {IEEE}, Title = {Modeling Clones Evolution Through Time Series}, Year = {2001} } @article{Anto01b, Address = {Los Alamitos, CA, USA}, Author = {G. Antoniol and M. DiPenta and G. Casazza and E . Merlo}, Doi = {10.1109/WPC.2001.921738}, Isbn = {0-7695-1131-7}, Journal = {International Conference on Program Comprehension}, Pages = {0281}, Publisher = {IEEE Computer Society}, Title = {A Method to Re-Organize Legacy Systems via Concept Analysis}, Volume = {0}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2001.921738} } @article{Anto02a, Author = {Giuliano Antoniol and Umberto Villano and Ettore Merlo and Massimiliano {Di Penta}}, Journal = {Information and Software Technology}, Keywords = {clones}, Number = {13}, Pages = {755--765}, Publisher = {Elsevier}, Title = {Analyzing cloning evolution in the {Linux} kernel}, Volume = {44}, Year = {2002} } @article{Anto02b, Author = {Giuliano Antoniol and Gerardo Canfora and Gerardo Casazza and Andrea {De Lucia} and Ettore Merlo}, Journal = {IEEE Transactions on Software Engineering}, Number = {10}, Pages = {970--983}, Title = {Recovering Traceability Links between Code and Documentation}, Volume = {28}, Year = {2002} } @inproceedings{Anto04a, Address = {Los Alamitos CA}, Author = {Giuliano Antoniol and Massimilano {Di Penta}}, Booktitle = {Proceedings IEEE International Workshop on Principles of Software Evolution (IWPSE 2004)}, Keywords = {evolution}, Location = {Kyoto, Japan}, Month = sep, Pages = {31--40}, Publisher = {IEEE Computer Society Press}, Title = {An Automatic Approach to Identify Class Evolution Discontinuities}, Year = {2004} } @inproceedings{Anto04b, Address = {Amsterdam}, Author = {Giuliano Antoniol and Massimiliano {Di Penta} and Harald Gall and Martin Pinzger}, Booktitle = {Proceedings Workshop on Software Evolution Through Transformation (SETra 2004)}, Keywords = {evolution}, Pages = {83--94}, Publisher = {Elsevier}, Title = {Towards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models}, Year = {2004} } @inproceedings{Anto05a, Address = {Los Alamitos CA}, Author = {Giuliano Antoniol and Yann-Ga\"el Gu\'eh\'eneuc}, Booktitle = {Proceedings of the IEEE International Conference on Software Maintenance (ICSM'05)}, Keywords = {feature}, Month = sep, Pages = {357--366}, Publisher = {IEEE Computer Society Press}, Title = {Feature Identification: a Novel Approach and a Case Study}, Year = {2005} } @article{Anto05b, Author = {Giuliano Antoniol and Massimiliano Di Penta and Harald Gall and Martin Pinzger}, Journal = {Electronic Notes in Theoretical Computer Science}, Month = apr, Number = {3}, Pages = {87--99}, Title = {Towards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models}, Url = {http://www.ifi.uzh.ch/pax/uploads/pdf/publication/29/giulio-setra04.pdf}, Volume = {127}, Year = {2005}, Bdsk-Url-1 = {http://www.ifi.uzh.ch/pax/uploads/pdf/publication/29/giulio-setra04.pdf} } @inproceedings{Anto05c, Address = {Washington, DC, USA}, Author = {Giuliano Antoniol and Vincenzo Fabio Rollo and Gabriele Venturi}, Booktitle = {IWPSE '05: Proceedings of the Eighth International Workshop on Principles of Software Evolution}, Doi = {10.1109/IWPSE.2005.11}, Isbn = {0-7695-2349-8}, Pages = {23--32}, Publisher = {IEEE Computer Society}, Title = {Detecting groups of co-changing files in CVS repositories}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/IWPSE.2005.11} } @inproceedings{Anto07a, Author = {Giuliano Antoniol and Yann-Gael Gueheneuc and Ettore Merlo and Paolo Tonella}, Booktitle = {ICSM 2007: IEEE International Conference on Software Maintenance}, Doi = {10.1109/ICSM.2007.4362614}, Isbn = {978-1-4244-1256-3}, Month = oct, Pages = {14--23}, Title = {Mining the Lexicon Used by Programmers during Sofware Evolution}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2007.4362614} } @inproceedings{Anvi05a, Address = {New York, NY, USA}, Author = {Anvik, John and Hiew, Lyndon and Murphy, Gail C.}, Booktitle = {eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange}, Doi = {10.1145/1117696.1117704}, Isbn = {1-59593-342-5}, Location = {San Diego, CA, USA}, Pages = {35--39}, Publisher = {ACM}, Title = {Coping with an open bug repository}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1117696.1117704} } @inproceedings{Anvi06a, Author = {John Anvik and Lyndon Hiew and Gail C. Murphy}, Booktitle = {Proceedings of the 2006 ACM Conference on Software Engineering}, Keywords = {developers}, Title = {Who Should Fix This Bug?}, Year = {2006} } @inproceedings{Anvi06b, Address = {New York, NY, USA}, Author = {Anvik, John}, Booktitle = {ICSE '06: Proceedings of the 28th international conference on Software engineering}, Doi = {10.1145/1134285.1134457}, Isbn = {1-59593-375-1}, Location = {Shanghai, China}, Pages = {937--940}, Publisher = {ACM}, Title = {Automating bug report assignment}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134285.1134457} } @inproceedings{Anvi07a, Address = {Washington, DC, USA}, Author = {Anvik, John and Murphy, Gail C.}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.7}, Isbn = {0-7695-2950-X}, Pages = {2}, Publisher = {IEEE Computer Society}, Title = {Determining Implementation Expertise from Bug Reports}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.7} } @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}, Booktitle = {Proceedings of International Conference on Software Engineering (ICSE)}, Keywords = {olit}, Title = {A Case Study of the Evolution of Jun: an Object-Oriented Open-Source 3D Multimedia Library}, Year = {2001} } @inproceedings{Apel06a, Address = {New York, NY, USA}, Author = {Sven Apel and Thomas Leich and Gunter Saake}, Booktitle = {ICSE '06: Proceeding of the 28th international conference on Software engineering}, Doi = {10.1145/1134285.1134304}, Isbn = {1-59593-375-1}, Keywords = {cop-lit}, Location = {Shanghai, China}, Pages = {122--131}, Publisher = {ACM Press}, Title = {Aspectual mixin layers: aspects and features in concert}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134285.1134304} } @article{Apel09a, Author = {Sven Apel and Christian K\"astner}, Journal = {Journal of Object Technology}, Keywords = {fosd}, Misc = {To appear}, Month = jul, Number = {4}, Pages = {NN-NN}, Title = {An Overview of Feature-Oriented Software Development}, Url = {http://www.infosun.fim.uni-passau.de/cl/publications/docs/JOT2009fosd.pdf}, Volume = {8}, Year = {2009}, Bdsk-Url-1 = {http://www.infosun.fim.uni-passau.de/cl/publications/docs/JOT2009fosd.pdf} } @book{Appe92a, Author = {Andrew W. Appel}, Keywords = {compiler sml binder (shelf)}, Publisher = {Cambridge University Press}, Title = {Compiling with Continuations}, Year = {1992} } @book{Appe98a, Address = {New York, NY, USA}, Author = {Andrew W. Appel}, Isbn = {0-521-58388-8}, Publisher = {Cambridge University Press}, Title = {Modern compiler implementation in {Java}}, Year = {1998} } @book{Appe02a, Address = {New York, NY, USA}, Author = {Andrew W. Appel}, Edition = {Second}, Isbn = {978-0521820608}, Keywords = {cclit}, Note = {with Jens Palsberg}, Publisher = {Cambridge University Press}, Title = {Modern compiler implementation in {Java}}, Year = {2002} } @book{Appl93a, Author = {Apple Computer}, Isbn = {0-201-40735-3}, Keywords = {scripting applescript apple}, Note = {book}, Publisher = {Addison Wesley}, Series = {Apple Technical Library}, Title = {AppleScript Language Guide}, Year = {1993} } @article{Arac06a, Author = {Ivica Aracic and Vaidas Gasiunas and Mira Mezini and Klaus Ostermann}, Journal = {Transactions on Aspect-Oriented Software Development}, Pages = {135 - 173}, Publisher = {Springer}, Title = {An Overview of {CaesarJ}}, Volume = {3880}, Year = {2006} } @techreport{Arap88a, Author = {Costas Arapis and Gerti Kappel}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osb osg aoe88}, Month = jun, Pages = {32--50}, Title = {An Object Software Base}, Type = {Active Object Environments}, Year = {1988} } @techreport{Arap89a, Author = {Costas Arapis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {types olit osg ood89}, Month = jul, Pages = {191--205}, Title = {Type Conversion and Enhancement in Object-Oriented Systems}, Type = {Object Oriented Development}, Year = {1989} } @techreport{Arap90a, 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.}, Author = {Costas Arapis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg-ftp om90}, Month = jul, Pages = {197--225}, Title = {Specifying Object Life-Cycles}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/objectLifeCycle.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/objectLifeCycle.pdf} } @inproceedings{Arap91a, Address = {Rostock, Germany}, Author = {Costas Arapis}, Booktitle = {Proceedings Third International Symposium on Mathematical Fundamentals of Database and Knowledge Base Systems}, Editor = {B. Thalheim and J. Demetrovics and H-D. Gerhardt}, Keywords = {olit osg}, Month = may, Pages = {308--324}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Temporal Specifications of Object Behaviour}, Volume = {495}, Year = {1991} } @techreport{Arap91b, 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.}, Author = {Costas Arapis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Note = {Working paper}, Pages = {303--322}, Title = {Specifying Object Interactions}, Type = {Object Composition}, Year = {1991} } @techreport{Arap92a, 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.}, Author = {Costas Arapis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg of92}, Month = jul, Pages = {79--107}, Title = {Object Behavior Composition: A Temporal Logic Based Approach}, Type = {Object Frameworks}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/tr92arapis.pdf}, Year = {1992}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/tr92arapis.pdf} } @phdthesis{Arap92b, Author = {Costas Arapis}, Keywords = {olit osg-phd binder (shelf)}, Number = {no. 2529)}, School = {Dept. of Computer Science, University of Geneva}, Title = {Dynamic Evolution of Object Behaviour and Object Cooperation}, Type = {{Ph.D}. Thesis}, Year = {1992} } @book{Arap93a, Author = {Constantin Arapis}, Keywords = {olit osg binder}, Publisher = {J.C. Baltzer AG, Science Publischer}, Series = {Annals of Mathematics and Artificial Intelligence}, Title = {A Temporal Logic-Based Approach for the Description of Object-Oriented Behavior Evolution}, Volume = {7}, Year = {1993} } @incollection{Arap95a, 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.}, Author = {Constantin Arapis}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC05}, Pages = {123--152}, Publisher = {Prentice-Hall}, Title = {A Temporal Perspective of Composite Objects}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @techreport{Arba96a, Author = {F. Arbab}, Institution = {Centrum voor Wiskunde en Informatica (CWI)}, Keywords = {coordination manifold}, Title = {Coordination of massively concurrent activities}, Type = {CS-R9565}, Url = {ftp://www.cwi.nl/pub/manifold/CS-R9565.ps.Z}, Year = {1995}, Bdsk-Url-1 = {ftp://www.cwi.nl/pub/manifold/CS-R9565.ps.Z} } @inproceedings{Arba96b, Address = {Cesena, Italy}, Author = {Farhad Arbab}, Booktitle = {Proceedings of COORDINATION '96}, Editor = {Paolo Ciancarini and Chris Hankin}, Keywords = {coordination manifold}, Pages = {34--55}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The {IWIM} Model for Coordination of Concurrent Activities}, Volume = {1061}, Year = {1996} } @inproceedings{Arba02a, Author = {Farhad Arbab and Farhad Mavaddat}, Booktitle = {Coordination Languages and Models: Proc. Coordination 2002}, City = {York, UK}, Editor = {F. Arbab and C. Talcott}, Keywords = {reo}, Month = apr, Pages = {21--38}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Coordination Through Channel Composition}, Volume = {2315}, Year = {2002} } @inproceedings{Arce08a, author = {Arcelli Fontana Francesca and Perin Fabrizio and Raibulet Claudia and Ravani Stefano}, title = {Behavioural Design Pattern detection through dynamic analysis}, booktitle = {Proceedings of 4th PCODA at the 15th Working Conference on Reverse Engineering (WCRE 2008)}, year = {2008}, pages = {11-16}, annote = {internationalworkshop}, location = {Antwerp, Belgium} } @inproceedings{Arce09a, author = {Arcelli Fontana Francesca and Perin Fabrizio and Raibulet Claudia and Ravani Stefano}, title = {JADEPT: Dynamic Analysis for Behavioural Design Pattern}, booktitle = {4th Intenational Conference on Evaluation of Novel Approaches to Software Engineering (ENASE'09)}, year = {2009}, month = may } @inproceedings{Arce09b, author = {Arcelli Fontana Francesca and Perin Fabrizio and Raibulet Claudia and Ravani Stefano}, title = {JADEPT: Behavioral Design Pattern Detection through Dynamic Analysis}, booktitle = {4th Intenational Conference on Evaluation of Novel Approaches to Software Engineering (ENASE'09)}, year = {2009}, pages = {95-106}, month = may, publisher = {INSTICC}, note = {Stefan Jablonski and Leszek Maciaszek (eds.)} } @misc{ArchGenXML, Key = {ArchGenXML}, Note = {http://plone.org/products/archgenxml}, Title = {{ArchGenXML}} } @inproceedings{Ardi95a, Address = {Aarhus, Denmark}, Author = {Laurent Arditi and H\'el\`ere Collavizza}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit95a}, Month = aug, Pages = {215--234}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Framework for the Formal Verification of Processors}, Volume = {952}, Year = {1995} } @booklet{Ardi95b, Annote = {lectures}, Author = {Laurent Arditi and St\'ephane Ducasse}, Keywords = {stefPub}, Note = {support de cours de Deug SM-PE et Mass, 120 pages}, Title = {Une premi\`ere approche fonctionnelle et r\'ecursive de la programmation}, Year = {1995} } @book{Ardi96a, Address = {Paris}, Annote = {book}, Author = {Laurent Arditi and St\'ephane Ducasse}, Keywords = {stefPub scglib}, Month = apr, Note = {238 pages, Pr\'eface de G\'erard Huet, ISBN: 2-212-08915-5}, Publisher = {Eyrolles}, Title = {La programmation: une approche fonctionelle et r\'ecursive avec Scheme}, Year = {1996} } @inproceedings{Ardi97a, 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}, Author = {Laurent Arditi and St\'ephane Ducasse}, Booktitle = {Actes des Journ\'ees Fran\c{c}aises des Langages Applicatifs (JFLA '97)}, Keywords = {stefPub snf97}, Pages = {209--228}, Title = {Scheme: un langage applicatif pour l'enseignement de l'informatique en milieu aride}, Url = {http://scg.unibe.ch/archive/papers/Ardi97aSchemeTeaching.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Ardi97aSchemeTeaching.pdf} } @mastersthesis{Arev99a, Author = {Gabriela Ar{\'e}valo}, Keywords = {arevalo}, Month = mar, Note = {in Spanish}, School = {University of La Plata}, Title = {{G.I.S.} + {Oceans} = {A S}trange {Combination}}, Type = {Diploma {Thesis}}, Year = {1999} } @mastersthesis{Arev00a, Author = {Gabriela Ar{\'e}valo}, Keywords = {arevalo}, Month = sep, School = {Ecole des Mines de Nantes}, Title = {Object-Oriented Architectural Description of Frameworks}, Year = {2000} } @inproceedings{Arev01a, 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.}, Author = {Gabriela Ar{\'e}valo and Isabelle Borne}, Booktitle = {Proceedings of Langages et Modeles \`a Objets (LMO'01)}, Keywords = {scg-old scg-pub skip-doi arevalo}, Month = jan, Publisher = {Hermes, Paris}, Title = {Architectural Description of Object Oriented Frameworks}, Url = {http://scg.unibe.ch/archive/papers/Arev01aLMO01.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev01aLMO01.pdf} } @inproceedings{Arev02a, 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.}, Author = {Gabriela Ar{\'e}valo and Tom Mens}, Booktitle = {ECOOP 2002: Proceedings of the Inheritance Workshop}, Editor = {Andrew Black and Erik Ernst and Peter Grogono and Markky Sakkinen}, Keywords = {snf02 scg-pub skip-doi jb02 arevalo}, Month = jun, Pages = {3--9}, Publisher = {University of Jyv\"askyl\"a}, Title = {Analysing Object Oriented Application Frameworks using Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Arev02aECOOP02ApplicationFrameworks.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev02aECOOP02ApplicationFrameworks.pdf} } @inproceedings{Arev02b, 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.}, Author = {Gabriela Ar{\'e}valo and Tom Mens}, Booktitle = {Advances in Object-oriented Information Systems: OOIS 2002 Workshops}, Editor = {Jean-Michel Bruel and Zohra Bellahsene}, Keywords = {snf02 scg-pub skip-doi jb02 arevalo}, Month = sep, Pages = {53--63}, Publisher = {Springer Verlag}, Title = {Analysing Object Oriented Framework Reuse using Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Arev02bOOIS02FrameworkReuse.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev02bOOIS02FrameworkReuse.pdf} } @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}, Booktitle = {ECOOP Workshops}, Keywords = {arevalo}, Pages = {117--134}, Title = {The Inheritance Workshop.}, Url = {http://scg.unibe.ch/archive/papers/Arev02cECOOP02InheritanceWorkshop.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev02cECOOP02InheritanceWorkshop.pdf} } @inproceedings{Arev03a, 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.}, Author = {Gabriela Ar{\'e}valo}, Booktitle = {Proceedings of Langages et Modeles \`a Objets (LMO'03)}, Keywords = {snf03 scg-pub skip-doi jb03 arevalo}, Month = jan, Pages = {47--59}, Publisher = {Hermes, Paris}, Title = {Understanding Behavioral Dependencies in Class Hierarchies using Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Arev03aLMO03UnderstandingDependencies.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev03aLMO03UnderstandingDependencies.pdf} } @inproceedings{Arev03b, 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.}, Annote = {internationalworkshop}, Author = {Gabriela Ar\'evalo}, Booktitle = {Proceedings of WOOR 2003 (4th International Workshop on Object-Oriented Reengineering)}, Cvs = {ConAnWOOR03XRayViews}, Keywords = {recast03 scg-pub skip-doi jb03 arevalo moose-pub}, Month = jul, Pages = {76--80}, Publisher = {University of Antwerp}, Title = {{X-Ray} Views on a Class using Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Arev03bWOOR03XRayViews.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev03bWOOR03XRayViews.pdf} } @inproceedings{Arev03c, 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}, Author = {Gabriela Ar\'evalo and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 18th Conference on Automated Software Engineering (ASE'03)}, Cvs = {ConAnASE03XRayViews}, Doi = {10.1109/ASE.2003.1240318}, Keywords = {recast03 scg-pub stefPub moose-pub arevalo jb04}, Month = oct, Note = {Short paper}, Pages = {267--270}, Publisher = {IEEE Computer Society}, Title = {{X-Ray} Views: Understanding the Internals of Classes}, Url = {http://scg.unibe.ch/archive/papers/Arev03cASE03XRayViews.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev03cASE03XRayViews.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ASE.2003.1240318} } @inproceedings{Arev03d, 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}, Author = {Gabriela Ar\'evalo and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 2nd International Workshop on MASPEGHI 2003 (ASE 2003)}, Cvs = {ConAnMASPEGHI03XRayViews}, Keywords = {snf04 scg-pub skip-doi stefPub arevalo jb04 moose-pub}, Month = oct, Pages = {9--18}, Publisher = {CRIM --- University of Montreal (Canada)}, Title = {Understanding Classes using {X-Ray} Views}, Url = {http://scg.unibe.ch/archive/papers/Arev03dMASPEGHI03XRayViews.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev03dMASPEGHI03XRayViews.pdf} } @inproceedings{Arev04a, 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}, Author = {Gabriela Ar\'evalo and Frank Buchli and Oscar Nierstrasz}, Booktitle = {Proceedings of WCRE '04 (11th Working Conference on Reverse Engineering)}, Cvs = {ConAnPatternsWCRE04}, Doi = {10.1109/WCRE.2004.18}, Keywords = {olit scg-pub jb05 recast05 snf04 arevalo moose-pub}, Location = {Delft, The Netherlands}, Month = nov, Pages = {122--131}, Publisher = {IEEE Computer Society Press}, Title = {Detecting Implicit Collaboration Patterns}, Url = {http://scg.unibe.ch/archive/papers/Arev04aWCRE04CollaborationPatterns.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev04aWCRE04CollaborationPatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2004.18} } @phdthesis{Arev05a, 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}, Address = {Bern}, Author = {Gabriela Ar\'evalo}, Cvs = {ArevaloPhDThesis}, Keywords = {scg-phd evolution fca recast05 arevalo jb05 moose-pub}, Month = jan, Pages = {113}, School = {University of Bern}, Title = {High Level Views in Object-Oriented Systems using Formal Concept Analysis}, Url = {http://scg.unibe.ch/archive/phd/arevalo-phd.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/arevalo-phd.pdf} } @inproceedings{Arev05b, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Gabriela Ar\'evalo and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR'05)}, Cvs = {ConAnCSMR05ClassHierarchies}, Doi = {10.1109/CSMR.2005.24}, Impactfactor = {hors}, Keywords = {scg-pub arevalo jb05 recast05 stefPub moose-pub}, Location = {Manchester, United Kingdom}, Misc = {acceptance rate: 33/81 = 41\%}, AcceptTotal = {81}, AcceptNum = {33}, Month = mar, Pages = {62--71}, Publisher = {IEEE Computer Society}, Rate = {41%}, Selectif = {non}, Title = {Discovering Unanticipated Dependency Schemas in Class Hierarchies}, Url = {http://scg.unibe.ch/archive/papers/Arev05bCSMR05ClassHierarchies.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev05bCSMR05ClassHierarchies.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2005.24} } @inproceedings{Arev05c, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Gabriela Ar{\'e}valo and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 3rd International Conference on Formal Concept Analysis (ICFCA '05)}, Cvs = {ConAnICFCA05LessonsLearned}, Doi = {10.1007/b105806}, Impactfactor = {hors}, Keywords = {scg-pub jb05 recast05 arevalo stefPub}, Location = {Lens, France}, Month = feb, Pages = {95--112}, Publisher = {Springer Verlag}, Selectif = {non}, Series = {LNAI (Lecture Notes in Artificial Intelligence)}, Title = {Lessons Learned in Applying Formal Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Arev05cICFCA05LessonsLearned.pdf}, Volume = {3403}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Arev05cICFCA05LessonsLearned.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b105806} } @inproceedings{Arev06a, Abstract = {Designing class models is usually an iterative process to detect how to express, for a specific domain, the adequate concepts and their relationships. During those iterations, the abstraction of concepts and relationships is an important step. In this paper, we propose to automate this abstraction process using techniques based on Formal Concept Analysis in a model-driven context. Using UML 2.0 class diagrams as modeling language for class models, in this proposal we show how our model-driven approach enables parameterization, tracing and generalization to any metamodel to express class models.}, Author = {Gabriela Ar\'evalo and Jean-R\'emy Falleri and Marianne Huchard and Cl\'ementine Nebut}, Booktitle = {{MoDELS} 2006}, Editor = {Oscar Nierstrasz; Jhon Whittle; David Harel; Gianna Reggio}, Isbn = {978-3-540-45772-5}, Keywords = {UML, model transformation, refactoring, formal concept analysis, relational concept analysis}, Month = oct, Pages = {513-527}, Publisher = {Springer Verlag}, Series = {{LNCS} ({L}ecture {N}otes in {C}omputer {S}cience)}, Title = {Building Abstractions in Class Models: Formal Concept Analysis in a Model-Driven Approach}, Volume = {4199}, Year = {2006} } @article{Arev08a, Author = {Gabriela Ar\'evalo and Nicolas Desnos and Marianne Huchard and Christelle Urtado and Sylvain Vauttier}, Isbn = {978-2-85428-824-7}, Journal = {Revue des Nouvelles Technologies de l'Information}, Keywords = {fca components arevalo}, Number = {2}, Pages = {123--138}, Publisher = {C\'epadu\`es Editions}, Title = {Construction dynamique d'annuaires de composants par classification de services}, Volume = {?}, Year = {2008} } @article{Arev09a, Author = {Gabriela Ar\'evalo and Nicolas Desnos and Marianne Huchard and Christelle Urtado and Sylvain Vauttier}, Journal = {International Journal of General Systems}, Keywords = {fca components arevalo}, Month = apr, Note = {To appear}, Title = {FCA-based service classification to dynamically build efficient software component directories}, Year = {2009} } @article{Arev10a, Author = {Gabriela Ar\'evalo and St\'ephane Ducasse and Silvia Gordillo and Oscar Nierstrasz}, Abstract = {Context: Inheritance is the cornerstone of object-oriented development, supporting conceptual modeling, subtype polymorphism and software reuse. But inheritance can be used in subtle ways that make complex systems hard to understand and extend, due to the presence of implicit dependencies in the inheritance hierarchy. Objective: Although these dependencies often specify well-known schemas (i.e., recurrent design or coding patterns, such as hook and template methods), new unanticipated dependency schemas arise in practice, and can consequently be hard to recognize and detect. Thus, a developer making changes or extensions to an object-oriented system needs to understand these implicit contracts defined by the dependencies between a class and its subclasses, or risk that seemingly innocuous changes break them. Method: To tackle this problem, we have developed an approach based on Formal Concept Analysis. Our FoCARE methodology (Formal Concept Analysis based-Reverse Engineering) identifies undocumented hierarchical dependencies in a hierarchy by taking into account the existing structure and behavior of classes and subclasses. Results: We validate our approach by applying it to a large and non-trivial case study, yielding a catalog of Hierarchy Schemas, each one composed of a set of dependencies over methods and attributes in a class hierarchy. We show how the discovered dependency schemas can be used not only to identify good design practices, but also to expose bad smells in design, thereby helping developers in initial reengineering phases to develop a first mental model of a system. Although some of the identified schemas are already documented in existing literature, with our approach based on Formal Concept Analysis (FCA), we are also able to identify previously unidentified schemas.}, Keywords = {scg-sub jb11 snf10 fca arevalo evol11 moose-pub}, Month = dec, Title = {Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis}, journal = {Information and Software Technology}, volume = {52}, number = {11}, pages = {1167-1187}, issn = {0950-5849}, Doi = {10.1016/j.infsof.2010.05.010}, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Arev10aClassHierarchies.pdf} } @inproceedings{Arfi94a, Author = {A. Arfi and Robert Godin and Hafedh Mili and Guy W. Mineau and Rokia Missaoui}, Booktitle = {Colloquium on Object Orientation in Databases and Software Engineering}, Pages = {42--57}, Title = {Generating the Interface Hierarchy of a Class Library}, Year = {1994} } @article{Aris04a, author = {Arisholm, E. and Briand, L.C. and Foyen, A.}, journal = {Software Engineering, IEEE Transactions on}, title={Dynamic coupling measurement for object-oriented software}, year = {2004}, month = aug, volume = {30}, number = {8}, pages = {491-506}, abstract ={The relationships between coupling and external quality factors of object-oriented software have been studied extensively for the past few years. For example, several studies have identified clear empirical relationships between class-level coupling and class fault-proneness. A common way to define and measure coupling is through structural properties and static code analysis. However, because of polymorphism, dynamic binding, and the common presence of unused ("dead") code in commercial software, the resulting coupling measures are imprecise as they do not perfectly reflect the actual coupling taking place among classes at runtime. For example, when using static analysis to measure coupling, it is difficult and sometimes impossible to determine what actual methods can be invoked from a client class if those methods are overridden in the subclasses of the server classes. Coupling measurement has traditionally been performed using static code analysis, because most of the existing work was done on nonobject oriented code and because dynamic code analysis is more expensive and complex to perform. For modern software systems, however, this focus on static analysis can be problematic because although dynamic binding existed before the advent of object-orientation, its usage has increased significantly in the last decade. We describe how coupling can be defined and precisely measured based on dynamic analysis of systems. We refer to this type of coupling as dynamic coupling. An empirical evaluation of the proposed dynamic coupling measures is reported in which we study the relationship of these measures with the change proneness of classes. Data from maintenance releases of a large Java system are used for this purpose. Preliminary results suggest that some dynamic coupling measures are significant indicators of change proneness and that they complement existing coupling measures based on static analysis.}, doi={10.1109/TSE.2004.41}, ISSN={0098-5589}} @article{Aris07a, Address = {Los Alamitos, CA, USA}, Author = {Erik Arisholm and Hans Gallis and Tore Dyba and Dag I.K. Sj\oberg}, Doi = {10.1109/TSE.2007.17}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {2}, Pages = {65--86}, Publisher = {IEEE Computer Society}, Title = {Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise}, Volume = {33}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.17} } @book{Arms96a, Author = {Joe Armstrong and Robert Virding and Claes Wikstr\"om and Mike Williams}, Keywords = {scglib erlang}, Publisher = {Prentice Hall}, Title = {Concurrent Programming in Erlang}, Year = {1996} } @techreport{Arms97a, Author = {Joe Armstrong}, Institution = {Ericsson Telecom AB}, Keywords = {olit patterns binder}, Misc = {15 January}, Month = jan, Title = {Design Patterns for Programming Switching Software}, Type = {Computer Science Laboratory}, Year = {1997} } @inproceedings{Arms98a, Author = {M.N. Armstrong and C. Trudeau}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {30--39}, Publisher = {IEEE Computer Society}, Title = {Evaluating Architectural Extractors}, Year = {1998} } @phdthesis{Arms03a, Author = {Joe Armstrong}, Keywords = {erlang}, School = {The Royal Institute of Technology Stockholm}, Title = {Making reliable distributed systems in the presence of software errors}, Url = {http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf} } @misc{Arms05a, Author = {Eric Armstrong and Jennifer Ball and Stephanie Bodoff and Debbie Bode Carson and Ian Evans and Dale Green and Kim Haase and Eric Jendrock}, Institution = {Sun Microsystems}, Keywords = {J2EE Tutorial}, Month = dec, Title = {The {J2EE} 1.4 Tutorial}, Year = {2005} } @inproceedings{Arms07a, Address = {New York, NY, USA}, Author = {Joe Armstrong}, Booktitle = {HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages}, Doi = {10.1145/1238844.1238850}, Isbn = {978-1-59593-766-X}, Location = {San Diego, California}, Pages = {6-1--6-26}, Publisher = {ACM}, Title = {A history of Erlang}, Url = {http://www.cs.chalmers.se/Cs/Grundutb/Kurser/ppxt/HT2007/general/languages/armstrong-erlang_history.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.cs.chalmers.se/Cs/Grundutb/Kurser/ppxt/HT2007/general/languages/armstrong-erlang_history.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1238844.1238850} } @inproceedings{Arna10a, Author = {Jean-Baptiste Arnaud and Marcus Denker and St\'ephane Ducasse and Damien Pollet and Alexandre Bergel and Mathieu Suen}, Booktitle = {Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS EUROPE'10)}, Month = jul, Publisher = {LNCS Springer Verlag}, Title = {Read-Only Execution for Dynamic Languages}, Keywords = {smalltalklite}, Year = {2010}, Url = {http://www.bergel.eu/download/papers/Berg10eReadOnly.pdf} } @book{Arno92a, Address = {Los Alamitos CA}, Author = {Robert S. Arnold}, Isbn = {0-8186-3272-0}, Keywords = {reeng reveng oorp}, Publisher = {IEEE Computer Society Press}, Title = {Software Reengineering}, Year = {1992} } @inproceedings{Arno93a, Author = {A. Arno}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {verification transitions tapsoft93}, Month = apr, Pages = {121--135}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Verification and Comparison of Transition Systems}, Volume = {668}, Year = {1993} } @book{Arno96a, Author = {Ken Arnold and James Gosling}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Programming Language}, Year = {1996} } @misc{Arno98a, Author = {David Arnow and Gerald Weiss}, Isbn = {0-201-31184-4}, Keywords = {olit oopl java scglib new-entry}, Title = {Introduction to Programming using {Java}}, Year = {1998} } @book{Arno99a, Author = {Ken Arnold and Bryan O'Sullivan and Robert W. Scheifler and Jim Waldo and Ann Wollrath}, Keywords = {olit java scglib}, Publisher = {Addison Wesley}, Title = {The Jini Specification}, Year = {1999} } @inproceedings{Arno01a, author = {Arnold, Matthew and Ryder, Barbara G.}, title = {A framework for reducing the cost of instrumented code}, booktitle = {Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation}, series = {PLDI '01}, year = {2001}, isbn = {1-58113-414-2}, location = {Snowbird, Utah, United States}, pages = {168--179}, numpages = {12}, url = {http://altair.snu.ac.kr/newhome/kr/course/system_software/2005/Arnold01Sampling.pdf}, doi = {10.1145/378795.378832}, acmid = {378832}, publisher = {ACM}, address = {New York, NY, USA} } @phdthesis{Arno02a, Author = {Matthew Arnold}, Month = oct, School = {Rutgers University}, Title = {Online Profiling and Feedback-Directed Optimization of Java}, Type = {{Ph.D}. Thesis}, Year = {2002} } @article{Arno05a, Address = {New York, NY, USA}, Author = {Arnold, Matthew and Welc, Adam and Rajan, V. T.}, Doi = {10.1145/1103845.1094835}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {10}, Pages = {297--311}, Publisher = {ACM}, Title = {Improving virtual machine performance using a cross-run profile repository}, Volume = {40}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1103845.1094835} } @inproceedings{Arth05a, Author = {John Arthur and Shiva Azadegan}, Booktitle = {SNPD}, Pages = {90--95}, Publisher = {IEEE Computer Society}, Title = {Spring Framework for Rapid Open Source J2EE Web Application Development: A Case Study.}, Year = {2005} } @inproceedings{Artz07a, Address = {New York, NY, USA}, Author = {Shay Artzi and Adam Kiezun and David Glasser and Michael D. Ernst}, Booktitle = {Proceedings of the 22nd IEEE/ACM international conference on automated software engineering (ASE'07)}, Doi = {10.1145/1321631.1321649}, Isbn = {978-1-59593-882-4}, Location = {Atlanta, Georgia, USA}, Pages = {104--113}, Publisher = {ACM}, Title = {Combined static and dynamic mutability analysis}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1321631.1321649} } @article{Arun92a, Author = {S. Arun-Kumar and M. Hennessy}, Journal = {Acta Informatica}, Month = dec, Number = {8}, Pages = {737--760}, Title = {An Efficiency Preorder for Processes}, Volume = {29}, Year = {1992} } @inproceedings{Asai97a, Address = {Amsterdam, the Netherlands}, Author = {Kenichi Asai and Hidehiko Masuhara and Akinori Yonezawa}, Booktitle = {Proceedings of the {ACM} {SIGPLAN} Symposium on Partial Evaluation and Semantics-Based Program Manipulation}, Month = jun, Pages = {12--21}, Title = {Partial Evaluation of Call-by-Value {$\lambda$}-Calculus with Side-Effects}, Year = {1997} } @inproceedings{Ashf93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Colin Ashford}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {185--196}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The {OSI} Managed-Object Model}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @misc{AspectC, Key = {AspectC}, Keywords = {aspect c++}, Note = {http://www.aspectc.org}, Title = {AspectC++ Home Page}, Url = {http://www.aspectc.org}, Bdsk-Url-1 = {http://www.aspectc.org} } @misc{AspectJ, Key = {{AspectJ}}, Keywords = {aspect java}, Note = {http://eclipse.org/aspectj/}, Title = {{AspectJ} Home Page}, Url = {http://eclipse.org/aspectj/}, Bdsk-Url-1 = {http://eclipse.org/aspectj/} } @misc{AspectR, Key = {AspectR}, Keywords = {aspect ruby}, Note = {http://aspectr.sourceforge.net/}, Title = {AspectR Home Page}, Url = {http://aspectr.sourceforge.net/}, Bdsk-Url-1 = {http://aspectr.sourceforge.net/} } @misc{AspectWeekz, Key = {AspectWeekz}, Note = {http://aspectwerkz.codehaus.org/}, Title = {AspectWeekz} } @inproceedings{Asse93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Holger Assenmacher and Thomas Breitbach and Peter Buhler and Volker H{\"u}bsch and Reinhard Schwarz}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {361--383}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{PANDA} --- Supporting Distributed Programming in {C}++}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @book{Assm03a, Author = {Uwe A{\ss}mann}, Isbn = {3-540-44385-1}, Keywords = {olit Assmann}, Publisher = {Springer-Verlag}, Title = {Invasive Software Composition}, Url = {http://www.ida.liu.se/~uweas/InvasiveSoftwareComposition/}, Year = {2003}, Bdsk-Url-1 = {http://www.ida.liu.se/~uweas/InvasiveSoftwareComposition/} } @article{Aste84a, Author = {Egidio Astesiano and Elena Zucca}, Journal = {Theoretical Computer Science}, Keywords = {pcalc mobility (uwe)}, Pages = {45--64}, Title = {Parametric Channels via Label Expressions in {CCS}}, Volume = {33}, Year = {1984} } @book{Aste03a, Author = {David Astels}, Isbn = {0-13-101649-0}, Keywords = {scglib}, Publisher = {Prentice Hall}, Title = {Test-Driven Development --- A Practical Guide}, Year = {2003} } @article{Astr76a, Author = {M.M. Astrahan and et al.}, Journal = {ACM TODS}, Keywords = {dblit}, Month = jun, Number = {2}, Pages = {97--137}, Title = {System {R}: Relational Approach to Database Management}, Volume = {1}, Year = {1976} } @inproceedings{Atki86a, Author = {Robert G. Atkinson}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk oopsla86}, Month = nov, Pages = {151--158}, Title = {Hurricane: An Optimizing Compiler for {Smalltalk}}, Volume = {21}, Year = {1986} } @article{Atki87a, Address = {New York, NY, USA}, Author = {Malcolm P. Atkinson and O. Peter Buneman}, Doi = {10.1145/62070.45066}, Issn = {0360-0300}, Journal = {ACM Computing Surveys}, Number = {2}, Pages = {105--170}, Publisher = {ACM Press}, Title = {Types and persistence in database programming languages}, Url = {http://portal.acm.org/citation.cfm?id=62070.45066}, Volume = {19}, Year = {1987}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=62070.45066}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/62070.45066} } @inproceedings{Atki89a, 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.}, Address = {Kyoto, Japan}, Author = {Malcolm Atkinson and Fran\c{c}ois Bancilhon and D. DeWitt and Klaus Dittrich and David Maier and Stanley Zdonik}, Booktitle = {Proceedings of the First International Conference on Deductive and Object-Oriented Databases}, Keywords = {olit-oodb (smc)}, Month = dec, Note = {Also in [O2-Book]}, Pages = {223--240}, Title = {The Object-Oriented Database System Manifesto}, 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}, Bdsk-Url-1 = {ftp://ftp.cs.cmu.edu//afs/cs/user/clamen/ftp/OODBMS/Manifesto.PS.z%20ftp://ftp.cs.cmu.edu//afs/cs/user/clamen/ftp/OODBMS/Manifesto.txt.z} } @phdthesis{Atki90a, Author = {Colin Atkinson}, Keywords = {olit-obcl dragoon binder(shelf)}, Month = feb, School = {University of London}, Title = {An Object-Oriented Language for Software Reuse and Distribution}, Type = {{Ph.D}. Thesis}, Year = {1990} } @book{Atki91a, Address = {Reading, Mass.}, Author = {Colin Atkinson}, Isbn = {0-201-56527-7}, Keywords = {olit-obc dragoon book scglib}, Publisher = {Addison Wesley/ACM Press}, Title = {Object-Oriented Reuse, Concurrency and Distribution}, Year = {1991} } @incollection{Atki93a, 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.}, Author = {Atkinson, M.P. and Sj\oberg, D.I.K. and Morrison, R.}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {315--338}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Managing Change in Persistent Object Systems(Invited Paper)}, Volume = {742}, Year = {1993} } @inproceedings{Atki96a, Author = {Darren C. Atkinson and William G. Griswold}, Booktitle = {Proceedings of the~18th~International Conference on Software Engineering}, Pages = {16--27}, Publisher = {IEEE Computer Society Press}, Title = {The design of whole program analysis tools}, Url = {citeseer.ist.psu.edu/atkinson96design.html}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/atkinson96design.html} } @article{Atki96b, Address = {New York, NY, USA}, Author = {M. P. Atkinson and L. Dayn{\`e}s and M. J. Jordan and T. Printezis and S. Spence}, Doi = {10.1145/245882.245905}, Issn = {0163-5808}, Journal = {SIGMOD Rec.}, Number = {4}, Pages = {68--75}, Publisher = {ACM}, Title = {An orthogonally persistent Java}, Volume = {25}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/245882.245905} } @inproceedings{Atki98a, Address = {Brussels, Belgium}, Author = {David L. Atkins}, Booktitle = {System Configuration Management: ECOOP'98 SCM-8 Symposium}, Institution = {Bell Laboratories}, Keywords = {scglib}, Month = jul, Pages = {146--157}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Version Sensitive Editing: Change History as a Programming Tool}, Volume = {1439}, Year = {1998} } @article{Atki00a, Author = {Atkinson, C. and Kuehne, T. and Henderson-Sellers, B.}, Journal = {Journal of Object-Oriented Programming}, Number = {13}, Pages = {32--35}, Title = {To meta or not to meta: that is the question}, Volume = {8}, Year = {2000} } @inproceedings{Atki01a, Author = {Colin Atkinson and Thomas Kuehne}, Booktitle = {Proceedings of the UML Conference}, Number = {2185}, Pages = {19--33}, Series = {LNCS}, Title = {The essence of Multilevel Metamodeling}, Year = {2001} } @inproceedings{Atki05a, Author = {Colin Atkinson and Thomas Kuehne}, Booktitle = {Proceedings of the UML Conference}, Number = {3713}, Pages = {19--33}, Series = {LNCS}, Title = {Concepts for Comparing Modeling Tool Architecture}, Year = {2005} } @book{Atki05b, Author = {Cliff Atkinson}, Isbn = {0735620520}, Keywords = {book scglib}, Publisher = {Microsoft}, Title = {Beyond Bullet Points}, Year = {2005} } @techreport{Atta85a, Address = {Milano, Italy}, Author = {Giuseppe Attardi and Andrea Corradini and M. De Cecco and M. Simi}, Institution = {Delphi}, Keywords = {misc appl omega experts}, Month = mar, Number = {ESP/85/2-3}, Title = {Building Expert Systems with Omega}, Type = {Technical Report}, Year = {1985} } @techreport{Atta85b, Address = {Milano, Italy}, Author = {Giuseppe Attardi and Andrea Corradini and M. De Cecco and M. Simi}, Institution = {Delphi}, Keywords = {olit-appl omega}, Month = may, Number = {ESP/85/8}, Title = {The Omega Primer}, Type = {Technical Report}, Year = {1985} } @inproceedings{Atta89a, Address = {Nottingham}, Author = {Giuseppe Attardi and Cinzia Bonini and Maria Rosario Boscotrecase and Tito Flagella and Mauro Gaspari}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl clos binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {243--256}, Publisher = {Cambridge University Press}, Title = {Metalevel Programming in {CLOS}}, Year = {1989} } @inproceedings{Atta94a, Address = {Bologna, Italy}, Author = {Giuseppe Attardi and Tito Flagella}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {320--343}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Customising Object Allocation}, Volume = {821}, Year = {1994} } @manual{Audi96a, Organization = {Sema Group}, Title = {Concerto2/Audit-{CC}++ User Manual}, Year = {1996} } @incollection{Auer95a, Author = {Ken Auer}, Booktitle = {Pattern languages of program design}, Isbn = {0-201-60734-4}, Pages = {505--516}, Publisher = {ACM Press/Addison-Wesley Publishing Co.}, Title = {Reusability through self-encapsulation}, Year = {1995} } @inproceedings{Augu95a, Author = {M. Auguston}, Booktitle = {2nd International Workshop on Automated and Algorithmic Debugging, Saint-Malo, France}, Month = may, Title = {Program Behavior Model Based on Event Grammar and its Application for Debugging Automation}, Year = {1995} } @inproceedings{Augu98a, Author = {M. Auguston}, Booktitle = {European Conference on Artificial Intelligence ECAI-98, Workshop on Spatial and Temporal Reasoning, Brighton, England}, Month = aug, Title = {Building program Behavior Models}, Year = {1998} } @misc{Autosar, key = {AUTOSAR}, title = {{AUTomotive Open System ARchitecture}}, year = {2010}, keywords = {automotive automobile damiencbib}, url = {http://www.autosar.org/} } @inproceedings{Avger05a, author = {Avgeriou, Paris and Zdun, Uwe}, booktitle = {EuroPLoP'05: Proceedings of the 10th European Conference on Pattern Languages of Programs}, keywords = {architecture pattern pattern-language software-engineering damiencbib}, title = {Architectural Patterns Revisited -- a Pattern Language}, address = {Irsee, Germany}, year = {2005}, month = jul } @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}, Journal = {Transactions on Aspect-Oriented Software Development}, Keywords = {abc aspect}, Month = oct, Title = {{abc}: An extensible AspectJ compiler}, Year = {2005} } @inproceedings{Axel09a, author = {Axelsen, Eyvind W. and Krogdahl, Stein}, title = {Groovy package templates: supporting reuse and runtime adaption of class hierarchies}, booktitle = {DLS '09: Proceedings of the 5th symposium on Dynamic languages}, year = {2009}, isbn = {978-1-60558-769-1}, pages = {15--26}, location = {Orlando, Florida, USA}, doi = {10.1145/1640134.1640139}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Ayco98a, Author = {John Aycock}, Booktitle = {Proc. 7th Int. Python Conf.}, City = {Houston, TX}, Keywords = {Earley parsing dsl-lit}, Month = nov, Pages = {69--77}, Title = {Compiling little languages in {Python}}, Url = {http://pages.cpsc.ucalgary.ca/~aycock/spark/paper.pdf}, Year = {1998}, Bdsk-Url-1 = {http://pages.cpsc.ucalgary.ca/~aycock/spark/paper.pdf} } @article{Ayco02a, Author = {John Aycock and Nigel Horspool}, Doi = {10.1093/comjnl/45.6.620}, Journal = {The Computer Journal}, Number = {6}, Pages = {620--630}, Title = {Practical {Earley} Parsing}, Url = {http://citeseer.ist.psu.edu/aycock02practical.html http://www.csr.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf}, Volume = {45}, Year = {2002}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/aycock02practical.html%20http://www.csr.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1093/comjnl/45.6.620} } @proceedings{BYTE81a, Editor = {?}, Journal = {Byte}, Keywords = {olit-oopl smalltalk}, Month = aug, Title = {Special issue on {Smalltalk}}, Volume = {6}, Year = {1981} } @proceedings{BYTE86a, Editor = {?}, Journal = {Byte}, Keywords = {olit survey special issue}, Month = aug, Title = {Special issue on Object-Oriented Systems}, Volume = {11}, Year = {1986} } @book{Baad98a, title = {Term Rewriting and All That}, author = {Franz Baader and Tobias Nipkow}, year = {1998}, publisher = {Cambridge University Press}, isbn = {0521455200} } @inproceedings{Baar03a, Author = {Thomas Baar}, Booktitle = {Proceedings, Fifth Andrei Ershov International Conference, Perspectives of System Informatics, Novosibirsk, Russia}, Doi = {10.1007/b94823}, Month = jul, Pages = {358--365}, Publisher = {Springer}, Series = {LNCS}, Title = {The Definition of Transitive Closure with OCL -- Limitations and Applications --}, Volume = {2890}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/b94823} } @inproceedings{Baba05a, Author = {Ozalp Babaoglu and Mark Jelasity and Alberto Montresor and Christof Fetzer and Stefano Leonardi and Aad P. A. van Moorsel}, Booktitle = {Self-star Properties in Complex Information Systems}, Isbn = {3-540-26009-9}, Pages = {1--20}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {The Self-Star Vision}, Volume = {3460}, Year = {2005} } @inproceedings{Bacc09a, Annote = {internationalconference}, Author = {Alberto Bacchelli and Marco D'Ambros and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of WCRE 2009 (16th IEEE Working Conference on Reverse Engineering)}, Keywords = {moose-pub proj-dicosa pub-iene}, Pages = {205-214}, Publisher = {IEEE CS Press}, Title = {Benchmarking Lightweight Techniques to Link E-Mails and Source Code}, Year = {2009}} @inproceedings{Bacc09b, Annote = {internationalworkshop}, Author = {Alberto Bacchelli and Michele Lanza and Marco D'Ambros}, Title = {Miler - A Tool Infrastructure to Analyze Mailing Lists}, Keywords = {moose-pub proj-dicosa pub-iene}, Booktitle = {Proceedings of FAMOOSr 2009 (3rd International Workshop on FAMIX and Moose in Reengineering)}, Year = {2009}} @inproceedings{Bacc10a, Annote = {internationalconference}, Author = {Alberto Bacchelli and Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of FASE 2010 (13th International Conference on Fundamental Approaches to Software Engineering)}, Pages = {59-73}, Keywords = {moose-pub proj-dicosa pub-iene}, Title = {Are Popular Classes More Defect Prone?}, Year = {2010}} @inproceedings{Bacc10b, Annote = {internationalconference}, Author = {Alberto Bacchelli and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of ICSE 2010 (32nd International Conference on Software Engineering)}, Pages = {375-384}, Keywords = {moose-pub proj-dicosa pub-iene}, Title = {Linking E-Mails and Source Code Artifacts}, Publisher = {ACM Press}, Year = {2010}} @inproceedings{Bacc10c, Annote = {internationalworkshop}, Author = {Alberto Bacchelli and Michele Lanza and Vitezslav Humpa}, Booktitle = {Proceedings of SUITE 2010 (2nd International Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation)}, Pages = {1-4}, Keywords = {moose-pub proj-dicosa pub-iene}, Title = {Towards Integrating E-Mail Communication in the {IDE}}, Year = {2010}} @inproceedings{Bacc10d, Annote = {internationalconference}, Author = {Alberto Bacchelli and Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of ICPC 2010 (18th IEEE International Conference on Program Comprehension)}, Pages = {24-33}, Keywords = {moose-pub proj-dicosa pub-iene}, Title = {Extracting Source Code from E-Mails}, Year = {2010}} @inproceedings{Bacc11a, Annote = {internationalconference}, Author = {Alberto Bacchelli and Michele Lanza and Vitezslav Humpa}, Booktitle = {Proceedings of CSMR 2011 (15th IEEE European Conference on Software Maintenance and Reengineering)}, Pages = {15-24}, Keywords = {moose-pub proj-sosya pub-iene}, Title = {{RTFM (Read The Factual Mails)} --Augmenting Program Comprehension with Remail}, Year = {2011}} @inproceedings{Bacc11b, Annote = {internationalconference}, Author = {Alberto Bacchelli and Michele Lanza and Marco D'Ambros}, Booktitle = {Proceedings of ICSE 2011 (33rd ACM/IEEE International Conference on Software Engineering)}, Keywords = {moose-pub pub-iene proj-sosya}, Pages = {to be published}, Title = {Miler: A Toolset for Exploring Email Data}, Year = {2011}} @inproceedings{Bach93a, Author = {L. Bachmair and T. Che and I.V. Ramakrishnan}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {specification proof tapsoft93}, Month = apr, Pages = {61--74}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Associative-Commutative Discrimination Nets}, Volume = {668}, Year = {1993} } @article{Bach01, Author = {Jonthan Bachrach and Keith Playford}, Issn = {0362-1340}, Journal = {Proceedings of OOPSLA '01, ACM SIG{\-}PLAN Notices}, Month = {nov}, Number = {11}, Pages = {31--42}, Title = {The {Java Syntactic Extender} ({JSE})}, Volume = {36}, Year = {2001} } @inproceedings{Bach01a, Author = {Felix Bachmann and Len Bass}, Booktitle = {{ACM} {SIGSOFT} Symposium on Software Reusability}, Pages = {126--132}, Title = {Managing Variability in Software Architectures}, Url = {http://citeseer.nj.nec.com/bachmann01managing.html http://www.sei.cmu.edu/plp/variability.pdf}, Year = {2001}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/bachmann01managing.html%20http://www.sei.cmu.edu/plp/variability.pdf} } @inproceedings{Bach04a, Author = {Felix Bachmann and Michael Goedicke and Julio Leite and Robert Nord and Klaus Pohl and Balasubramaniam Ramesh and Alexander Vilbig}, Booktitle = {Proceedings of Europ\"aischen Workshop zur Produktfamilien-Entwicklung (PFE'03)}, Pages = {66--80}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A Meta-model for Representing Variability in Product Family Development}, Volume = {3014}, Year = {2004} } @techreport{Bach05a, Author = {Felix Bachmann and Paul C. Clements}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Title = {Variability in Software Product Lines}, Type = {{CMU/SEI-2005-TR-012}}, Year = {2005} } @article{Bach07a, Address = {Los Alamitos, CA, USA}, Author = {Michael B{\"a}chle and Paul Kirchberg}, Doi = {10.1109/MS.2007.176}, Issn = {0740-7459}, Journal = {IEEE Software}, Number = {6}, Pages = {105--108}, Publisher = {IEEE Computer Society}, Title = {Ruby on {Rails}}, Volume = {24}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2007.176} } @conference{Back59a, Title={The syntax and semantics of the proposed international algebraic language of the {Zurich} {ACM-GAMM} conference}, Author={John Warner Backus}, Booktitle={Proceedings of the International Conference on Information Processing}, Pages={125--132}, Year={1959} } @book{Baco98a, Author = {Jean Bacon}, Isbn = {0-201-17767-6}, Keywords = {concurrence scglib}, Publisher = {Addison Wesley}, Title = {Concurrent Systems}, Year = {1998} } @article{Bada86a, Author = {D.Z. Badal}, Journal = {ACM Transactions on Computer Systems}, Keywords = {concurrency distribution deadlock}, Month = nov, Number = {4}, Pages = {320--337}, Title = {The Distributed Deadlock Detection Algorithm}, Volume = {4}, Year = {1986} } @techreport{Badr98a, Author = {Greg J. Badros and Alan Borning}, Institution = {University of Washington}, Number = {UW Tech Report 98-06-04}, Title = {The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation}, Year = {1998} } @incollection{Bael93a, 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.}, Author = {Stefan Van Baelen and Johan Lewi and Eric Steegmans and Bart Swennen}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {393--407}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Constraints in Object-Oriented Analysis}, Volume = {742}, Year = {1993} } @inproceedings{Baer98a, Author = {Holger B\"ar and Oliver Cuipke}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-pub skip-doi sergedem-papunr snf98 jb98}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Exploiting design heuristics for automatic problem detection}, Volume = {1543}, Year = {1998} } @techreport{Baer99a, Author = {Holger B\"ar}, Institution = {University of Bern}, Keywords = {olit famoos-techrep moose-pub}, Month = sep, Title = {{FAMIX} {C}++ language plug-in 1.0}, Year = {1999} } @book{Baet90a, Author = {Jos C.M. Baeten}, Isbn = {0-521-40028-7}, Keywords = {pcalc acp book scglib}, Publisher = {Cambridge University Press}, Title = {Applications of Process Algebra}, Year = {1990} } @book{Baet90b, Author = {Jos C.M. Baeten and Peter Weijland}, Isbn = {0-521-400043-0}, Keywords = {pcalc acp regular processes book scglib}, Publisher = {Cambridge University Press}, Title = {Process Algebra}, Year = {1990} } @book{Baet90c, Address = {Amsterdam, the Netherlands}, Editor = {J.C.M. Baeten}, Isbn = {3-540-53048-7}, Keywords = {olit concur90 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'90}, Volume = 458, Year = {1990} } @book{Baet91a, Address = {Amsterdam}, Editor = {J.C.M.Baeten and J.F.Groote}, Isbn = {3-540-54430-5}, Keywords = {olit concur91 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'91}, Volume = {527}, Year = {1991} } @inproceedings{Baeu96a, Address = {Linz, Austria}, Author = {Dirk B{\"a}umer and Rolf Knoll and Guido Gryczan and Heinz Z{\"u}llighoven}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {73--90}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Large Scale Object-Oriented Software-Development in a Banking Environment --- An Experience Report}, Volume = {1098}, Year = {1996} } @article{Baez92a, Author = {Ricardo Baeza-Yates and Gaston H. Gonnet}, Journal = {CACM}, Month = oct, Number = {10}, Pages = {74--82}, Title = {A New Approach to Text Searching}, Volume = {35}, Year = {1992} } @inproceedings{Baez99a, Author = {Ricardo A. Baeza-Yates and Gaston H. Gonnet}, Booktitle = {Proceedings of the String Processing and Information Retrieval Symposion (SPIRE)}, Keywords = {suffix tree}, Pages = {16--23}, Publisher = {IEEE}, Title = {A Fast Algorithm on Average for All-Against-All Sequence Matching}, Year = {1999} } @book{Baez99b, Author = {Ricardo Baeza-Yates and Berthier Ribeiro-Neto}, Keywords = {information retrieval}, Publisher = {Addison-Wesley}, Title = {Modern Information Retrieval}, Url = {http://sunsite.dcc.uchile.cl/irbook}, Year = {1999}, Bdsk-Url-1 = {http://sunsite.dcc.uchile.cl/irbook} } @article{Baez00a, Author = {Ricardo A. Baeza-Yates and Gonzalo Navarro}, Journal = {Journal of the American society of Information Sciences}, Number = {1}, Pages = {69--82}, Title = {Block Addressing Indices for Approximate Text Retrieval}, Url = {citeseer.ist.psu.edu/article/baeza-yates97block.html}, Volume = {51}, Year = {2000}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/baeza-yates97block.html} } @misc{Bail89a, Address = {CACM}, Author = {S.C. Bailin}, Keywords = {olit READ}, Month = may, Number = {5}, Pages = {608--623}, Title = {An Object-Oriented Requirements Specification Method}, Volume = {32}, Year = {1989} } @techreport{Bail99a, Author = {G\'{e}rard Baille and Philippe Garnier and Herv\'{e} Mathieu and Roget Pissard-Gibollet}, Institution = {INRIA}, Keywords = {automotive cycab}, Month = apr, Number = {RT-0229}, Title = {Le CyCab de l'INRIA Rh\^{o}ne-Alpes}, Type = {Technical Report}, Url = {http://www.inria.fr/rrrt/rt-0229.html}, Year = {1999}, Bdsk-Url-1 = {http://www.inria.fr/rrrt/rt-0229.html} } @inproceedings{Bajr06a, Abstract = {We present Sourcerer, a search engine for open-source code. Sourcerer extracts fine-grained structural information from the code and stores it in a relational model. This information is used to implement a basic notion of CodeRank and to enable search forms that go beyond conventional keyword-based searches.}, Address = {New York, NY, USA}, Author = {Bajracharya, Sushil and Ngo, Trung and Linstead, Erik and Dou, Yimeng and Rigor, Paul and Baldi, Pierre and Lopes, Cristina}, Booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications}, Citeulike-Article-Id= {5404930}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1176671}, Citeulike-Linkout-1= {http://dx.doi.org/10.1145/1176617.1176671}, Doi = {10.1145/1176617.1176671}, Isbn = {1-59593-491-X}, Keywords = {codesearch, sourcerer, *read, *s9ref}, Location = {Portland, Oregon, USA}, Pages = {681--682}, Posted-At = {2009-08-10 14:24:10}, Priority = {0}, Publisher = {ACM}, Title = {Sourcerer: a search engine for open source code supporting structure-based search}, Url = {http://dx.doi.org/10.1145/1176617.1176671}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176671} } @article{Bajr09a, Abstract = {Vast quantities of open source code are now available online, presenting a great potential resource for software developers. Yet the current generation of open source code search engines fail to take advantage of the rich structural information contained in the code they index. We have developed Sourcerer, an infrastructure for large-scale indexing and analysis of open source code. By taking full advantage of this structural information, Sourcerer provides a foundation upon which state of the art search engines and related tools easily be built. We describe the Sourcerer infrastructure, present the applications that we have built on top of it, and discuss how existing tools could benefit from using Sourcerer.}, Address = {Los Alamitos, CA, USA}, Author = {Bajracharya, Sushil and Ossher, Joel and Lopes, Cristina}, Citeulike-Article-Id= {5403369}, Citeulike-Linkout-0= {http://doi.ieeecomputersociety.org/10.1109/SUITE.2009.5070010}, Citeulike-Linkout-1= {http://dx.doi.org/10.1109/SUITE.2009.5070010}, Doi = {10.1109/SUITE.2009.5070010}, Isbn = {978-1-4244-3740-5}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, ICSE Workshop on}, Keywords = {codesearch, suite2009}, Pages = {1--4}, Posted-At = {2009-08-10 11:07:44}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {Sourcerer: An internet-scale software repository}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070010}, Volume = {0}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070010} } @inproceedings{Bak02a, Author = {Lars Bak and Gilad Bracha and Steffen Grarup and Robert Griesemer and David Griswold and Urs H{\"o}lzle}, Booktitle = {ECOOP '02 Workshop on Inheritance}, Month = jun, Title = {Mixins in {Strongtalk}}, Year = {2002} } @techreport{Bake78a, Author = {Henry G. Baker}, Institution = {MIT lab for Computer science}, Keywords = {concurrency messages actors real-time casais}, Title = {Actor Systems for Real Time Computation}, Type = {MIT/LCS/TR197}, Year = {1978} } @techreport{Bake90a, Author = {Henry G. Baker}, Institution = {Nimble Computer Corp.}, Keywords = {types fp binder}, Month = apr, Note = {submitted to ACM TOPLAS}, Title = {The Nimble Type Inferencer for Common Lisp-84}, Type = {Pre-publication draft}, Url = {ftp://ftp.netcom.com/pub/hbaker/TInference.ps.gz}, Year = {1990}, Bdsk-Url-1 = {ftp://ftp.netcom.com/pub/hbaker/TInference.ps.gz} } @inproceedings{Bake90b, Address = {Nice, France}, Author = {Henry G. Baker}, Booktitle = {Proc. ACM Conf. on Lisp and Functional Programming}, Keywords = {types fp binder}, Month = jun, Pages = {218--226}, Title = {Unify and Conquer (Garbage, Updating, Aliasing ...) in Functional Languages}, Url = {ftp://ftp.netcom.com/pub/hbaker/Share-Unify.ps.gz}, Year = {1990}, Bdsk-Url-1 = {ftp://ftp.netcom.com/pub/hbaker/Share-Unify.ps.gz} } @article{Bake92a, Author = {Brenda S. Baker}, Journal = {Computing Science and Statistics}, Keywords = {oorp clones}, Pages = {49--57}, Publisher = {Interface Foundation of North America}, Title = {A Program for Identifying Duplicated Code}, Url = {http://cm.bell-labs.com/cm/cs/doc/92/2-bsb-1.ps.gz}, Volume = {24}, Year = {1992}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/92/2-bsb-1.ps.gz} } @inproceedings{Bake93a, Author = {Brenda S. Baker}, Booktitle = {Proceedings of the 25th ACM Symposium on Theory of Computing}, Month = may, Pages = {71--80}, Title = {A Theory of Parameterized Pattern Matching: Algorithms and Applications (Extended Abstract)}, Url = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-2.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-2.ps.gz} } @article{Bake93b, Annote = {incomplete}, Author = {Brenda S. Baker}, Journal = {Journal of Algorithms}, Keywords = {clones}, Note = {To appear}, Title = {On Finding Duplication in Strings and Software}, Url = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-1.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/93/2-bsb-1.ps.gz} } @inproceedings{Bake95a, Author = {Brenda S. Baker}, Booktitle = {Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms}, Month = jan, Pages = {541--550}, Title = {Parameterized Pattern Matching by Boyer-Moore Type Algorithms}, Url = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-1.ps.gz}, Year = {1995}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-1.ps.gz} } @inproceedings{Bake95b, Author = {Brenda S. Baker}, Booktitle = {Proceedings of the Second IEEE Working Conference on Reverse Engineering (WCRE)}, Keywords = {clones}, Month = jul, Pages = {86--95}, Title = {On Finding Duplication and Near-Duplication in Large Software Systems}, Year = {1995} } @article{Bake96a, Author = {Brenda S. Baker}, Journal = {Journal Computer System Science}, Keywords = {clones}, Month = feb, Number = {1}, Pages = {28--42}, Title = {Parameterized Pattern Matching: Algorithms and Applications}, Url = {http://cm.bell-labs.com/cm/cs/doc/94/2-bsb-1.ps.gz}, Volume = {52}, Year = {1996}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/94/2-bsb-1.ps.gz} } @article{Bake97a, Author = {Brenda S. Baker}, Journal = {SIAM Journal of Computing}, Keywords = {clones}, Month = oct, Title = {Parameterized Duplication in Strings: Algorithms and an Application to Software Maintenance}, Url = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-4.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/doc/95/2-bsb-4.ps.gz} } @inproceedings{Bake98a, Author = {Brenda S. Baker and Udi Manber}, Booktitle = {Proc. of Usenix Annual Technical Conf.}, Keywords = {clones}, Pages = {179--190}, Title = {Deducing Similarities in {Java} Sources from Bytecodes}, Url = {citeseer.ist.psu.edu/baker98deducing.html}, Year = {1998}, Bdsk-Url-1 = {citeseer.ist.psu.edu/baker98deducing.html} } @inproceedings{Bake98b, Address = {Venice, Italy}, Author = {Brenda S. Baker and Raffaelle Giancarlo}, Booktitle = {Proceedings of the 6th Annual European Symposium on Algorithms}, Editor = {G. Bilardi and G. F. Italiano and A. Pietracaprina and G. Pucci}, Month = aug, Number = {1461}, Pages = {79--90}, Publisher = {Springer-Verlag, Berlin}, Series = {LNCS}, Title = {Longest Common Subsequence from Fragments via Sparse Dynamic Programming}, Url = {http://cm.bell-labs.com/who/bsb/research.html}, Year = {1998}, Bdsk-Url-1 = {http://cm.bell-labs.com/who/bsb/research.html} } @misc{Bake99a, Annote = {Patent Application filed on March 18, 1992}, Author = {Brenda S. Baker and Kenneth W. Church and Jonathan I. Helfman and Brian W. Kernighan}, Howpublished = {United States Patent 5,953,006}, Month = sep, Title = {Methods and apparatus for detecting and displaying similarities in large data sets}, Url = {http://patft.uspto.gov/netahtml/search-bool.html}, Year = {1999}, Bdsk-Url-1 = {http://patft.uspto.gov/netahtml/search-bool.html} } @inproceedings{Bake99b, Author = {Brenda S. Baker}, Booktitle = {ACM-SIAM Symp. on Discrete Algorithms}, Month = jan, Pages = {S854-S855}, Title = {Parameterized Diff}, Year = {1999} } @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}, Booktitle = {Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2006)}, Publisher = {IEEE Computer Society}, Title = {A Real-time {J}ava Virtual Machine for Avionics}, Year = {2006} } @book{Bakk90a, Address = {Noordwijkerhout, the Netherlands}, Editor = {J.W. de Bakker and W.P. de Roever}, Isbn = {3-540-53931-X}, Keywords = {olit scglib}, Month = may, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Foundations of Object-Oriented Languages}, Volume = {489}, Year = {1990} } @article{Bal92a, Author = {H.E. Bal and M.F. Kaashoek and A.S. Tanenbaum}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-obcl orca obcp}, Month = mar, Number = {3}, Pages = {190--205}, Title = {Orca: {A} Language for Parallel Programming of Distributed Systems}, Volume = {SE-18}, Year = {1992} } @inproceedings{Bal93a, Author = {Henri E. Bal and M. Frans Kaashoek}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {162--177}, Title = {Object Distribution in Orca using Compile-Time and Run-Time Techniques}, Volume = {28}, Year = {1993} } @book{Bal94a, Author = {Henri E. Bal and Dick Grune}, Isbn = {0-201-63179-2}, Keywords = {olit scglib}, Publisher = {Addison Wesley}, Title = {Programming Language Essentials}, Year = {1994} } @inproceedings{Bala96a, Author = {N.V. Balasubramanian}, Booktitle = {Proc. 3rd Int'l Asia-Pacific Software Engineering Conf. (ASPEC '96)}, Pages = {30--34}, Publisher = {IEEE Computer Society Press}, Title = {Object-Oriented Metrics}, Year = {1996} } @inproceedings{Bala99a, Author = {Magdalena Balazinska and Ettore Merlo and Michel Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis}, Booktitle = {Metrics '99}, Keywords = {clones}, Pages = {292--303}, Title = {Measuring Clone Based Reengineering Opportunities}, Url = {http://nms.lcs.mit.edu/~mbalazin/publications/metrics99Balazinska.ps}, Year = {1999}, Bdsk-Url-1 = {http://nms.lcs.mit.edu/~mbalazin/publications/metrics99Balazinska.ps} } @inproceedings{Bala99b, Author = {Magdalena Balazinska and Ettore Merlo and Michel Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis}, Booktitle = {Proceedings Sixth Working Conference on Reverse Engineering}, Editor = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer Rugaber}, Keywords = {clones}, Month = oct, Organization = {IEEE Computer Society}, Pages = {326--336}, Title = {Partial Redesign of {Java} Software Systems Based on Clone Analysis}, Year = {1999} } @mastersthesis{Bala99c, Author = {Magdalena Balazinska}, Month = nov, School = {\`Ecole Polytechnique de Montr\'eal}, Title = {Reconception de Syst\`emes Orient\'es-Objet Bas\'ee sur L'Analyse des Clones}, Year = {1999} } @inproceedings{Bala00a, Author = {Magdalena Balazinska and Ettore Merlo and Michel Dagenais and Bruno Lagu{\"e} and Kostas Kontogiannis}, Booktitle = {Proceedings Seventh Working Conference on Reverse Engineering (WCRE'00)}, Editor = {Fran\c{c}oise Balmas and Kostas Kontogiannis}, Month = oct, Organization = {IEEE Computer Society}, Pages = {98--107}, Title = {Advanced Clone-Analysis to Support Object-Oriented System Refactoring}, Url = {http://nms.lcs.mit.edu/~mbalazin/publications/wcre2000Balazinska.ps}, Year = {2000}, Bdsk-Url-1 = {http://nms.lcs.mit.edu/~mbalazin/publications/wcre2000Balazinska.ps} } @article{Bald07a, Author = {Matthias Baldauf and Schahram Dustdar and Florian Rosenberg}, Doi = {10.1504/IJAHUC.2007.014070}, Journal = {International Journal of Ad Hoc and Ubiquitous Computing}, Keywords = {cop-lit survey}, Number = {4}, Pages = {263--277}, Title = {A Survey on Context-Aware systems}, Url = {https://berlin.vitalab.tuwien.ac.at/~florian/papers/ijahuc2007.pdf http://www.infosys.tuwien.ac.at/Staff/sd/papers/ASurveyOnContextAwareSystems.pdf}, Volume = {2}, Year = {2007}, Bdsk-Url-1 = {https://berlin.vitalab.tuwien.ac.at/~florian/papers/ijahuc2007.pdf%20http://www.infosys.tuwien.ac.at/Staff/sd/papers/ASurveyOnContextAwareSystems.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1504/IJAHUC.2007.014070} } @inproceedings{Bald08a, Address = {New York, NY, USA}, Author = {Baldi, Pierre F. and Lopes, Cristina V. and Linstead, Erik J. and Bajracharya, Sushil K.}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449807}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {543--562}, Publisher = {ACM}, Title = {A theory of aspects as latent topics}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449807} } @inproceedings{Bali06a, 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}, Author = {Mihai Balint and Tudor G\^irba and Radu Marinescu}, Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2006)}, Doi = {10.1109/ICPC.2006.25}, Keywords = {scg-pub jb06 fb06 girba moose-pub recast06 norex06}, Medium = {2}, Pages = {56--65}, Peerreview = {yes}, Title = {How Developers Copy}, Url = {http://scg.unibe.ch/archive/papers/Bali06aHowDevelopersCopy.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bali06aHowDevelopersCopy.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2006.25} } @mastersthesis{Bali06b, Author = {Mihai Balint}, Keywords = {moose-pub}, Month = sep, School = {Politehnica University of Timisoara}, Title = {How Developers Copy}, Type = {Master's thesis}, Year = {2006} } @inproceedings{Bali07a, Author = {Mihai Balint and Petru Florin Mihancea and Radu Marinescu and Michele Lanza}, Booktitle = {Proceedings of FAMOOSR 2007 (1st Workshop on FAMIX and Moose in Reengineering)}, Keywords = {moose-pub norex07}, Pages = {6}, Title = {NOREX: Distributed Collaborative Reengineering}, Year = {2007} } @inproceedings{Bali07b, Abstract = {Several reengineering environments have been created to provide for a unified infrastructure in which various approaches can be employed together. While the collaboration between tools is very strong within such environments, currently the inter-environmental collaboration is very weak and happens mainly at the level of data-files exchange. Consequently, the different groups of researchers are only collaborating shallowly via data, rather than at the level of analysis. In this demo, we present NOREX, a distributed reengineering environment that allows different groups of researchers to transparently use and combine existing techniques, and share their own, transcending any parochial barriers (e.g., implementation language or environment).}, Annote = {tooldemo}, Author = {Mihai Balint and Petru Florin Mihancea and Tudor G\^irba and Radu Marinescu}, Booktitle = {Proceedings of International Conference on Software Maintenance (ICSM 2007)}, Doi = {10.1109/ICSM.2007.4362681}, Isbn = {978-1-4244-1256-3}, Issn = {1063-6773}, Keywords = {scg-misc moose-pub girba scg07 norex07 jb08}, Medium = {2}, Month = sep, Note = {Tool demo}, Pages = {523--524}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {NOREX: A Distributed Reengineering Environment}, Url = {http://scg.unibe.ch/archive/papers/Bali07bNorex.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bali07bNorex.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2007.4362681} } @techreport{Ball65a, Address = {Menlo Park, California}, Author = {G. H. Ball and D. J. Hall}, Institution = {Stanford Research Institute}, Keywords = {clustering}, Title = {ISODATA, {A} {Novel} {Method} of {Data} {Analysis} and {Pattern} {Classification}}, Year = {1965} } @inproceedings{Ball86a, Author = {Mark B. Ballard and David Maier and Allen Wirfs-Brock}, Booktitle = {Proceedings OOPSLA '86}, Keywords = {olit-oopl quicktalk smalltalk oopsla86}, Month = nov, Pages = {140--150}, Title = {Quicktalk: {A} {Smalltalk}-80 Dialect for Defining Primitive Methods}, Volume = {21}, Year = {1986} } @article{Ball96a, Address = {Los Alamitos CA}, Author = {Timothy Ball and Stephen Eick}, Issn = {0018-9162}, Journal = {IEEE Computer}, Keywords = {oorp evolution}, Number = {4}, Pages = {33--43}, Publisher = {IEEE Computer Society Press}, Title = {Software Visualization in the Large}, Volume = {29}, Year = {1996} } @inproceedings{Ball97a, Author = {Thomas Ball and Jung-Min Kim Adam and A. Porter Harvey and P. Siy}, Booktitle = {ICSE Workshop on Process Modeling and Empirical Studies of Software Engineering}, Keywords = {oorp}, Title = {If Your Version Control System Could Talk}, Year = {1997} } @inproceedings{Ball99a, Address = {Heidelberg}, Author = {Thomas Ball}, Booktitle = {Proceedings of the European Software Engineering Conference and ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSC'99)}, Keywords = {fca}, Location = {Toulose, France}, Month = {sep}, Number = {1687}, Pages = {216--234}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {The Concept of Dynamic Analysis}, Year = {1999} } @inproceedings{Balm98a, Annote = {ISBN: 0-8186-89-67-6}, Author = {F. Balmas}, Booktitle = {Proceedings of WCRE '98}, Pages = {115--125}, Publisher = {IEEE Computer Society}, Title = {Outlining C Loops: Preliminary Results and Trends}, Year = {1998} } @inproceedings{Balm99a, Author = {Fran{\c{c}}oise Balmas}, Booktitle = {Proceedings Sixth Working Conference on Reverse Engineering}, Editor = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer Rugaber}, Month = oct, Organization = {IEEE Computer Society}, Pages = {270--279}, Title = {QBO: a Query Tool Specially Developed to Explore Programs}, Year = {1999} } @inproceedings{Balm01a, Address = {Los Alamitos, CA, USA}, Author = {Francoise Balmas}, Booktitle = {Proceedings of the 8th Working Conference on Reverse Engineering (WCRE'01)}, Doi = {10.1109/WCRE.2001.957830}, Issn = {1095--1350}, Pages = {261}, Publisher = {IEEE Computer Society}, Title = {Displaying dependence graphs: a hierarchical approach}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2001.957830} } @inproceedings{Bals93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Herman Balsters and Rolf A. de By and Roberto Zicari}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {161--184}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Typed Sets as a Basis for Object-Oriented Database Schemas}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Balz05a, Address = {New York, NY, USA}, Author = {Michael Balzer and Oliver Deussen and Claus Lewerentz}, Booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization}, Doi = {10.1145/1056018.1056041}, Isbn = {1-59593-073-6}, Location = {St. Louis, Missouri}, Pages = {165--172}, Publisher = {ACM}, Title = {Voronoi treemaps for the visualization of software metrics}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1056018.1056041} } @article{Bana90a, Author = {Jean-Pierre Ban\^atre and Daniel Le M\'etayer}, Journal = {Science of Computer programming}, Keywords = {concurrency gamma binder}, Pages = {55--77}, Publisher = {North-Holland}, Title = {The Gamma Model and Its Discipline of Programming}, Volume = {15}, Year = {1990} } @inproceedings{Bana93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Mike Banahan and L. Peter Deutsch and Boris Magnusson}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {529--531}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Panel: Aims, Means, and Futures of Object-Oriented Languages: Programming Styles and Tool Support}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Bana95a, Address = {Londres}, Author = {Jean-Pierre Ban\^atre and Daniel Le M\'etayer}, Booktitle = {Proceedings of the Coordination '95 Workshop}, Keywords = {concurrency gamma coordination}, Publisher = {IC Press}, Title = {Gamma and the Chemical Reaction Model}, Year = {1995} } @misc{Bana95b, Author = {Guruduth Banavar and Gary Lindstrom}, Number = {UUCS-95-020}, Title = {Compositionally Modular Scheme}, Year = {1995} } @inproceedings{Bana96a, Address = {Cesena, Italy}, Author = {Jean-Pierre Ban\^atre}, Booktitle = {Proceedings COORDINATION '96}, Editor = {P. Ciancarini and Chris Hankin}, Keywords = {concurrency gamma coordination coordination96}, Pages = {1--11}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Parallel Multiset Processing: From Explicit Coordination to Chemical Reaction}, Volume = {1061}, Year = {1996} } @inproceedings{Bana96b, Address = {Linz, Austria}, Author = {Guruduth Banavar and Gary Lindstrom}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {91--113}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Application Framework for Module Composition Tools}, Volume = {1098}, Year = {1996} } @phdthesis{Banb02a, Author = {M. Banbara}, Month = sep, School = {The Graduate School of Science and Technology of Kobe University}, Title = {Design and Implementation of Linear Logic Programming Languages}, Year = {2002} } @inproceedings{Banc88a, Address = {Austin, Texas}, Author = {Fran\c{c}ois Bancilhon}, Booktitle = {Proceedings 7th ACM SIGART/SIGMOD/SIGACT Symposium on Principles of Database Systems}, Keywords = {olit-db oobib(oodb)}, Month = mar, Title = {Object-Oriented Database Systems}, Year = {1988} } @book{Banc92a, Editor = {Fran\c{c}ois Bancilhon and C. Delobel and Paris Kanellakis}, Isbn = {1-55860-169-4}, Keywords = {olit-oodb o2 (smc) book scglib}, Publisher = {Morgan-Kaufmann}, Title = {Building an Object-Oriented Database System: The Story of O2}, Year = {1992} } @incollection{Banc93a, 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).}, Author = {Fran\c{c}ois Bancilhon}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {163--175}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Object Database Systems: Functional Architecture}, Volume = {742}, Year = {1993} } @inproceedings{Banc96a, Address = {Linz, Austria}, Author = {Fran\c{c}ois Bancilhon}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {2}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Will Europe ever Produce and sell Objects?}, Volume = {1098}, Year = {1996} } @incollection{Band93a, 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.}, Author = {Sergio Bandinelli and Luciano Baresi and Alfonso Fuggetta and Luigi Lavazza}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {511--528}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Requirements and Early Experiences in the Implementation of the {SPADE} Repository using Object-Oriented Technology}, Volume = {742}, Year = {1993} } @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}, Journal = {ACM TOOIS}, Keywords = {olit-db orion oobib(oodb)}, Month = jan, Number = {1}, Pages = {3--26}, Title = {Data Model Issues for Object-Oriented Applications}, Volume = {5}, Year = {1987} } @inproceedings{Bane87b, Author = {Jay Banerjee and Won Kim and H-J. Kim and H.F. Korth}, Booktitle = {Proceedings ACM SIGMOD '87}, Keywords = {olit-db orion schema evolution oobib(oodb)}, Month = dec, Pages = {311--322}, Title = {Semantics and Implementation of Schema Evolution in Object-Oriented Databases}, Volume = {16}, Year = {1987} } @inproceedings{Bani98a, Author = {Elisa L. A. Baniassad and Gail C. Murphy}, Booktitle = {Proceedings of the 20th international conference on Software engineering}, Isbn = {0-8186-8368-6}, Location = {Kyoto, Japan}, Pages = {64--73}, Publisher = {IEEE Computer Society}, Title = {Conceptual module querying for software reengineering}, Year = {1998} } @inproceedings{Bann79a, Address = {New York, NY, USA}, Author = {John P. Banning}, Booktitle = {Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on principles of programming languages (POPL'79)}, Doi = {10.1145/567752.567756}, Location = {San Antonio, Texas}, Pages = {29--41}, Publisher = {ACM}, Title = {An efficient way to find the side effects of procedure calls and the aliases of variables}, Year = {1979}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/567752.567756} } @article{Bans99a, Author = {Jagdish Bansiya and Letha Etzkorn and Carl Davis and Wei Li}, Journal = {Journal of Object-Oriented Programming}, Month = jan, Number = {8}, Pages = {47--52}, Publisher = {SIGG Publications}, Title = {A Class Cohesion Metric for Object-Oriented Designs}, Volume = {11}, Year = {1999} } @article{Bans02a, Author = {Jagdish Bansiya and Carl Davis}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {metrics}, Month = jan, Number = {1}, Pages = {4--17}, Title = {A Hierarchical Model for Object-Oriented Design Quality Assessment}, Volume = {28}, Year = {2002} } @inproceedings{Banv96a, Address = {Cesena, Italy}, Author = {Mario Banville}, Booktitle = {Proceedings of COOORDINATION '96}, Editor = {Paolo Ciancarini and Chris Hankin}, Keywords = {coordination cscw}, Month = apr, Pages = {57--74}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Sonia: an Adaptation of Linda for Coordination of Activities in Organizations}, Volume = {1061}, Year = {1996} } @book{Barb70a, Author = {M. Barbut and B. Monjardet}, Publisher = {Hachette}, Title = {Ordre et Classification}, Year = {1970} } @inproceedings{Barb91a, Address = {Geneva, Switzerland}, Author = {Gilles Barbedette}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-oopl ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {77--96}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Schema Modifications in the LISPO\_2 Persistent Object-Oriented Language}, Volume = 512, Year = {1991} } @techreport{Barb91b, Author = {Michel Barbeau and Gregor V. Bochmann}, Institution = {Universit\'e de Montr\'eal}, Keywords = {olit binder}, Number = {784}, Title = {Formal Semantics and Formal Verification of Object-Oriented Specifications Based on the Colored Petri Net Model}, Type = {Report}, Year = {1991} } @inproceedings{Barb91c, Address = {Sendai, Japan}, Author = {Franco Barbanera and Mariangiola Dezani-Ciancaglini}, Booktitle = {Proceedings Theoretical Aspects of Computer Software (TACS '91)}, Editor = {T. Ito and A.R. Meyer}, Keywords = {types tacs91}, Month = sep, Pages = {651--674}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Intersection and Union Types}, Volume = {526}, Year = {1991} } @unpublished{Barb93a, Author = {Franck Barbier and Jean Bezivin}, Keywords = {oobib(gen) olit binder}, Note = {Universit\'e de Nantes}, Title = {Object-Oriented Design: The {OSM} scheme}, Type = {Draft}, Year = {1993} } @proceedings{Barb96a, Address = {Hong Kong}, Booktitle = {Proceedings of the 16th International Conference on Distributed Computing Systems}, Editor = {Mario Barbacci and Vicent Y.Shen}, Isbn = {0-8186-7399-0}, Keywords = {distributed scglib}, Month = may, Publisher = {IEEE}, Title = {Distributed Computing Systems}, Year = {1997} } @inproceedings{Barb00a, Address = {Como, Italy}, Author = {Fernanda Barbosa and Cunha, Jos{\'e} C.}, Booktitle = {Proceedings of SAC '00}, Keywords = {distributed scglib coordination}, Month = mar, Publisher = {ACM}, Title = {A Coordination Language for Collective Agent Based Systems: {GroupLog}}, Year = {2000} } @article{Bare83a, Author = {H. Barendregt and M. Coppo and M. Dezani-Ciancaglini}, Journal = {Journal of Symbolic Logic}, Keywords = {types intersection (bcp)}, Number = {4}, Pages = {931--940}, Title = {A filter lambda model and the completeness of type assignment}, Volume = {48}, Year = {1983} } @book{Bare84a, Author = {H.P. Barendregt}, Edition = {Revised}, Isbn = {0-444-86748-1}, Keywords = {misc lambda calculus book scglib pl-lit}, Publisher = {North-Holland}, Series = {Studies in Logic and the Foundations of Mathematics}, Title = {The Lambda Calculus --- Its Syntax and Semantics}, Volume = {103}, Year = {1984} } @incollection{Bari96c, Author = {Franck Barillaud and Luca Deri and Metin Feridun}, Booktitle = {Integrated Network Management: Management in a Virtual World}, Brokenurl = {http://engine.ieee.org/comsoc/ISINM/)}, Keywords = {olit toBeChecked jb96}, Month = may, Publisher = {IEEE}, Title = {Network Management using Internet Technologies}, Year = {1996} } @inproceedings{Barl01a, Author = {Todd Barlow and Padraic Neville}, Booktitle = {Proceedings of the IEEE Symposium on Information Visualization 2001 (INFOVIS'01)}, Title = {A comparison of 2-D Visulization of Hierarchies}, Year = {2001} } @article{Barn80a, Author = {J.G.P. Barnes}, Journal = {Software --- Practice and Experience}, Keywords = {plang ada}, Pages = {851--887}, Title = {An Overview of Ada}, Volume = {10}, Year = {1980} } @article{Barn94a, Author = {Jack Barnard and Art Price}, Journal = {IEEE Software}, Keywords = {oorp}, Month = mar, Number = {2}, Pages = {59--69}, Publisher = {IEEE}, Title = {Managing Code Inspection Information}, Volume = {11}, Year = {1994} } @book{Barn95a, Author = {John Barnes}, Isbn = {0-201-87700-7}, Keywords = {olit-oopl ada}, Publisher = {Addison Wesley}, Title = {Programming in Ada '95}, Year = {1995} } @book{Barn02a, Address = {Edinburgh Gate, England}, Author = {David J. Barnes and Michael Koelling}, Isbn = {0-13-044929-6}, Keywords = {binder(shelf) book scglib}, Publisher = {Prentice Hall}, Title = {Objects First With {Java} --- A Practical Introduction Using {BlueJ}}, Year = {2003} } @inproceedings{Barn04a, Author = {Mike Barnett and David A. Naumann}, Booktitle = {Proceedings MPC 2004}, Month = jul, Title = {Friends Need a Bit More: Maintaining Invariants Over Shared State}, Year = {2004} } @article{Baro81a, Author = {A.J. Baroody and D.J. De Witt}, Journal = {ACM TODS}, Keywords = {olit-db casais}, Month = dec, Number = {4}, Title = {An Object-Oriented Approach to Database System Implementation}, Volume = {6}, Year = {1981} } @incollection{Baro95a, Author = {Ed Baroth and Chris Hartsough}, Booktitle = {Visual Object-Oriented Programming}, Editor = {Margaret M. Burnett and Adele Goldberg and Ted G. Lewis}, Keywords = {visprog}, Pages = {21--42}, Publisher = {Manning Publishing Co.}, Title = {Visual Programming in the Real World}, Year = {1995} } @book{Baro99a, Author = {Carl Baroudi}, Keywords = {cobol}, Publisher = {Sybex}, Title = {Mastering Cobol}, Year = {1999} } @inproceedings{Barr82a, Address = {Philadelphia}, Author = {John L. Barron}, Booktitle = {Proceedings ACM SIGOA}, Keywords = {olit-oopl taxis}, Month = jun, Pages = {12--20}, Title = {Dialogue and Process Design for Interactive Information Systems using Taxis}, Year = {1982} } @inproceedings{Barr87a, Author = {Brian M. Barry and John R. Altoft and Dave A. Thomas and Mike Wilson}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {192--201}, Title = {Using Objects To Design and Build Radar {ESM} Systems}, Volume = {22}, Year = {1987} } @inproceedings{Barr89a, Author = {Brian M. Barry}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {255--266}, Title = {Prototyping a Real-Time Embedded System in {Smalltalk}}, Volume = {24}, Year = {1989} } @phdthesis{Barr95a, Author = {Manuel Barrio Sol\'orzano}, Keywords = {olit pcalc binder}, Month = sep, School = {Universidad de Valladolid, Spain}, Title = {Estudio de Aspectos Din\'amicos en Sistemas Orientados al Objeto}, Type = {{Ph.D}. Thesis}, Year = {1995} } @unpublished{Barr96a, Author = {Manuel Barrio Sol\'orzano}, Keywords = {olit scg-wp snf96}, Month = oct, Note = {IAM, University of Bern}, Title = {Explicit Component Representation: Object vs. Process Approach}, Type = {draft manuscript}, Year = {1996} } @article{Barr96b, Author = {Daniel J. Barrett and Lori A. Clarke and Peri L. Tarr and Alexander Wise}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {event}, Month = oct, Pages = {378--421}, Title = {A Framework for Event-Based Software Integration}, Volume = {5(4)}, Year = {1996} } @inproceedings{Barr96c, Author = {Kim Barrett and Bob Cassels and Paul Haahr and David A. Moon and Keith Playford and P. Tucker Withington}, Booktitle = {Proceedings OOPSLA '96, ACM SIGPLAN Notices}, Month = oct, Pages = {69--82}, Title = {A Monotonic Superclass Linearization for Dylan}, Year = {1996} } @book{Barr99a, Author = {Barron, David}, Isbn = {ISBN 0-471-99886-9}, Keywords = {scripting vba perl tcl {Java}Script}, Month = dec, Publisher = {Wiley}, Title = {{The World of Scripting Languages}}, Year = {1999} } @article{Barr03a, Address = {Los Alamitos, CA, USA}, Author = {Evelyn J. Barry and Chris F. Kemerer and Sandra A. Slaughter}, Doi = {10.1109/ICSE.2003.1201192}, Issn = {0270-5257}, Journal = {icse}, Pages = {106--113}, Publisher = {IEEE Computer Society}, Title = {On the Uniformity of Software Evolution Patterns}, Volume = {00}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2003.1201192} } @article{Barr04a, Address = {Los Alamitos, CA, USA}, Author = {Peter Barron and Vinny Cahill}, Doi = {10.1109/MCSA.2004.30}, Issn = {1550-6193}, Journal = {wmcsa}, Pages = {62-71}, Publisher = {IEEE Computer Society}, Title = {Using Stigmergy to Co-Ordinate Pervasive Computing Environments}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MCSA.2004.30} } @inproceedings{Barr06a, Address = {New York, NY, USA}, Author = {Peter Barron and Vinny Cahill}, Booktitle = {GPCE '06: Proceedings of the 5th international conference on Generative programming and component engineering}, Doi = {10.1145/1173706.1173730}, Isbn = {1-59593-237-2}, Location = {Portland, Oregon, USA}, Pages = {285--294}, Publisher = {ACM}, Title = {YABS:: a domain-specific language for pervasive computing based on stigmergy}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1173706.1173730} } @article{Bart86a, Author = {P.S. Barth}, Journal = {ACM Transactions on Graphics}, Keywords = {olit graphics}, Month = apr, Number = {2}, Pages = {142--172}, Title = {An object-oriented approach to graphical interfaces}, Volume = {5}, Year = {1986} } @unpublished{Baru89a, Author = {Sanjoy K. Baruah}, Keywords = {expert systems binder}, Month = jun, Note = {Proceedings of IFIP WG 10.2 Conf. on CAD Systems Sup. AI Technique}, Title = {A Blackboard Architecture to Support Generation of Schematics for Design Automation}, Type = {Draft}, Year = {1989} } @inproceedings{Barz09a, Abstract = {We use an empirical qualitative software engineering research to characterize example embedding (EE) as a software activity - a collection of fine grained techniques which together assemble an abstract key notion in software development. This perspective lays the foundations for building an activity catalogue, forming new software practices, affecting the development process and motivating the development of new software tools.}, Author = {Barzilay, O. and Hazzan, O. and Yehudai, A.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403375}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070011}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070011}, Doi = {10.1109/SUITE.2009.5070011}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, examples, suite2009}, Pages = {5--8}, Posted-At = {2009-08-10 11:09:23}, Priority = {0}, Title = {Characterizing Example Embedding as a software activity}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070011}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070011} } @book{Bash99a, Author = {Imran Bashir and Amrit L. Goel}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {Testing Object-Oriented Software, Life Cycle Solutions}, Year = {1999} } @article{Basi84a, 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}, Author = {Victor R. Basili and Barry T. Perricone}, Doi = {10.1145/69605.2085}, Issn_Isbn = {ISSN 0001-0782}, Journal = {Communications of the ACM}, Month = jan, Number = {1}, Pages = {42--52}, Publisher = {ACM Press}, Title = {Software errors and complexity: an empirical investigation}, Volume = {27}, Year = {1984}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/69605.2085} } @article{Basi86a, author = {Basili, V R and Selby, R W and Hutchens, D H}, title = {Experimentation in software engineering}, journal = {IEEE Trans. Softw. Eng.}, volume = {12}, issue = {7}, month = jul, year = {1986}, issn = {0098-5589}, pages = {733--743}, numpages = {11}, url = {http://portal.acm.org/citation.cfm?id=9775.9777}, acmid = {9777}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA} } @article{Basi87a, Author = {Victor Basili and Richard Selby}, Journal = {IEEE Transactions on Software Engineering}, Month = dec, Number = {12}, Pages = {1278--1296}, Title = {Comparing the Effectiveness of Software Testing Strategies}, Volume = {12}, Year = {1987} } @article{Basi88, Author = {V. Basili and D. Rombach}, Journal = {IEEE Transactions on Software Engineering}, Month = jun, Number = {6}, Title = {The TAME project: Towards Improvement-Oriented Software Environments}, Volume = {14}, Year = {1988} } @article{Basi97a, Author = {Victor Basili}, Journal = {Journal Systems and Software}, Number = {1}, Pages = {3--12}, Publisher = {Elsevier Science Inc.}, Title = {Evolving and Packaging Reading Technologies}, Volume = {38}, Year = {1997} } @article{Bask02a, author = {Baskiyar, S.}, title = {Efficient execution of pure object-oriented programs by follow-up compilation}, journal = {Computing}, volume = {69}, issue = {4}, month = dec, year = {2002}, issn = {0010-485X}, pages = {273--289}, numpages = {17}, url = {http://portal.acm.org/citation.cfm?id=770682.770683}, doi = {10.1007/s00607-002-1453-1}, acmid = {770683}, publisher = {Springer-Verlag New York, Inc.}, address = {New York, NY, USA} } @book{Bass98a, Author = {Bass, Len and Clements, Paul and Kazman, Rick}, Keywords = {architecture scglib oorp damiencbib}, Publisher = {Addison Wesley}, Title = {Software Architecture in Practice}, Year = {1998} } @inproceedings{Bass01a, Author = {Sarita Bassil and Rudolf K. Keller}, Booktitle = {Proceedings IWPC 2001}, Pages = {7--17}, Title = {Software Visualization Tools: Survey and Analysis}, Year = {2001} } @inproceedings{Bast99a, 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.}, Address = {Lisbon, Portugal}, Author = {Remi Bastide and Sy Ousmane and Palanque Philippe}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {474--494}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Formal Specification and Prototyping of {CORBA} servers}, Volume = 1628, Year = {1999} } @article{Bate94a, author = {Bates, Madeleine}, title = {Models of natural language understanding}, Journal = {Voice communication between humans and machines - National Academy of Sciences}, year = {1994}, isbn = {0-309-04988-1}, pages = {238--253}, publisher = {National Academy Press}, address = {Washington, DC, USA} } @article{Bato92a, Author = {Don Batory and Sean O'Malley}, Journal = {ACM Transactions on Software Engineering and Methodology}, Keywords = {olit binder}, Month = oct, Title = {The Design and Implementation of Hierarchical Software Systems With Reusable Components}, Year = {1992} } @unpublished{Bato94a, Author = {Don Batory and Sankar Dasari and Bert Geraci and Vivek Singhal and Marty Sirkin and Jeff Thomas}, Keywords = {olit binder}, Note = {draft}, Title = {Achieving Reuse With Software System Generators}, Year = {1994} } @article{Bato94b, Author = {Don Batory and Vivek Singhal and Jeff Thomas and Sankar Dasari and Bart Geraci and Marty Sirkin}, Journal = {IEEE Software}, Keywords = {olit binder genvoca}, Month = sep, Pages = {89--94}, Title = {The {Gen}{Voca} Model of Software-System Generators}, Year = {1994} } @inproceedings{Bato95a, Address = {Seattle Washington}, Author = {Don Batory and Lou Coglianese and Mark Goodwin and Steve Shafer}, Booktitle = {Proceedings of the Symposium on Software Reusability}, Keywords = {components oobib(sys) binder olit-reuse}, Month = apr, Title = {Creating Reference Architectures: An Example from Avionics}, Url = {http://www.cs.utexas.edu/users/schwartz/}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/schwartz/} } @article{Bato97a, Author = {Don Batory and Bart J. Geraci}, Journal = {{IEEE Transactions on Software Engineering (special issue on Software Reuse)}}, Keywords = {olit genvoca}, Month = feb, Pages = {62--87}, Title = {{Composition Validation and Subjectivity in {Gen}{Voca} Generators}}, Url = {http://www.cs.utexas.edu/users/schwartz/}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/schwartz/} } @inproceedings{Bato03a, Annote = {ahead AHEAD}, Author = {Don Batory and Jacob Neal Sarvela and Axel Rauschmayer}, Booktitle = {Proceedings of the 25th international conference on Software engineering}, Isbn = {0-7695-1877-X}, Location = {Portland, Oregon}, Pages = {187--197}, Publisher = {IEEE Computer Society}, Title = {Scaling step-wise refinement}, Year = {2003} } @inproceedings{Bato03b, Address = {New York, NY, USA}, Author = {Don Batory and Jia Liu and Jacob Neal Sarvela}, 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}, Doi = {10.1145/940071.940079}, Isbn = {1-58113-743-5}, Location = {Helsinki, Finland}, Pages = {48--57}, Publisher = {ACM Press}, Title = {Refinements and multi-dimensional separation of concerns}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/940071.940079} } @inproceedings{Bato08a, author = {Batory, Don}, title = {Using modern mathematics as an FOSD modeling language}, booktitle = {Proceedings of the 7th international conference on Generative programming and component engineering}, series = {GPCE '08}, year = {2008}, isbn = {978-1-60558-267-2}, location = {Nashville, TN, USA}, pages = {35--44}, numpages = {10}, doi = {10.1145/1449913.1449921}, acmid = {1449921}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {commuting diagrams, features, geodesics, model driven design, categories, software product lines}, url = {ftp://ftp.cs.utexas.edu/pub/predator/ModernMath.pdf} } @inproceedings{Bato08b, author = {Batory, Don and Azanza, Maider and Saraiva, Jo\~{a}o}, title = {The Objects and Arrows of Computational Design}, booktitle = {Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems}, series = {MoDELS '08}, year = {2008}, isbn = {978-3-540-87874-2}, location = {Toulouse, France}, pages = {1--20}, numpages = {20}, doi = {10.1007/978-3-540-87875-9_1}, acmid = {1434659}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg}, keywords = {Software product lines, categories, model driven engineering}, url = {ftp://ftp.cs.utexas.edu/pub/predator/BatoryMODELS08Keynote.pdf} } @inproceedings{Baud01a, Address = {Sozopol, Bulgaria}, Aeres = {ACT}, Annote = {internationalconference}, Author = {Fran\c{c}oise Baude and Alexandre Bergel and Denis Caromel and Fabrice Huet and Olivier Nano and Julien Vayssi\`{e}re}, Booktitle = {Proceedings of the Third International Conference, LSSC 2001}, Editor = {S. Margenov and J. Wasiewski and P. Yalamov}, Keywords = {alexPub alexandrePub noWorkshop}, Month = jun, Pages = {193--200}, Publisher = {Springer-Verlag}, Selectif = {non}, Series = {LNCS}, Title = {IC2D: Interactive Control and Debugging of Distribution}, Url = {http://www-sop.inria.fr/oasis/Julien.Vayssiere/publications/21790193.pdf}, Volume = {2179}, Year = {2001}, Bdsk-Url-1 = {http://www-sop.inria.fr/oasis/Julien.Vayssiere/publications/21790193.pdf} } @article{Baud02a, Address = {Los Alamitos, CA, USA}, Author = {Benoit Baudry and Franck Fleurey and Jean-Marc Jezequel and Yves Le Traon}, Doi = {10.1109/ASE.2002.1115023}, Issn = {1527-1366}, Journal = {ase}, Pages = {253}, Publisher = {IEEE Computer Society}, Title = {Automatic Test Cases Optimization Using a Bacteriological Adaptation Model: Application to .NET Components}, Volume = {00}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2002.1115023} } @article{Baud05a, Author = {Benoit Baudry and Franck Fleurey and Jean-Marc J{\'e}z{\'e}quel and Yves Le Traon}, Journal = {IEEE Software}, Number = {2}, Pages = {76--82}, Title = {Automatic Test Case Optimization: A Bacteriologic Algorithm.}, Volume = {22}, Year = {2005} } @inproceedings{Baud06a, Address = {New York, NY, USA}, Author = {Benoit Baudry and Franck Fleurey and Yves Le Traon}, Booktitle = {ICSE '06: Proceeding of the 28th international conference on Software engineering}, Doi = {10.1145/1134285.1134299}, Isbn = {1-59593-375-1}, Location = {Shanghai, China}, Pages = {82--91}, Publisher = {ACM Press}, Title = {Improving test suites for efficient fault localization}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134285.1134299} } @article{Baud06b, Address = {Los Alamitos, CA, USA}, Author = {Yves Le Traon and Benoit Baudry and Jean-Marc Jezequel}, Doi = {10.1109/TSE.2006.79}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Month = aug, Number = {8}, Pages = {571--586}, Publisher = {IEEE Computer Society}, Title = {Design by Contract to Improve Software Vigilance}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.79} } @misc{Baue99a, Author = {Lujo Bauer and Andrew W. Appel and Edward W. Felten}, Number = {TR-603-99}, Pages = {13}, Title = {Mechanisms for Secure Modular Programming in {Java}}, Url = {http://citeseer.nj.nec.com/bauer99mechanisms.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/bauer99mechanisms.html} } @incollection{Baum00a, Author = {Dirk B{\"a}umer and Dirk Riehle and Wolf Siberski and Martina Wulf}, Booktitle = {Pattern Language of Program Design 4}, Editor = {Niel Harrison and Brian Foote and Hans Rohnert}, Pages = {15--32}, Publisher = {Addison Wesley}, Title = {Role Object}, Year = {2000} } @inproceedings{Bawd99a, Abstract = {Quasiquotation is the technology commonly used in Lisp to write program-generating programs. This paper explains how quasiquotation works, why it works well, and what its limitations are. A brief history of quasiquotation is included.}, Author = {Alan Bawden}, Booktitle = {Partial Evaluation and Semantic-Based Program Manipulation}, Pages = {4--12}, Title = {Quasiquotation in {Lisp}}, Url = {http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf}, Year = {1999}, Bdsk-Url-1 = {http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf} } @proceedings{Baxt97a, Editor = {Ira Baxter, Alex Quilici, Chris Verhoef}, Keywords = {scglib}, Publisher = {IEEE}, Title = {Fourth Working Conference on Reverse Engineering}, Year = {1997} } @inproceedings{Baxt98a, Author = {Ira Baxter and Andrew Yahin and Leonardo Moura and Marcelo Sant' Anna and Lorraine Bier}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 1998)}, Doi = {10.1109/ICSM.1998.738528}, Keywords = {clones}, Pages = {368--377}, Publisher = {IEEE Computer Society, Washington, DC, USA}, Title = {Clone Detection Using Abstract Syntax Trees}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1998.738528} } @inproceedings{Bays07a, Address = {Washington, DC, USA}, Author = {Baysal, Olga and Malton, Andrew J.}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.4}, Isbn = {0-7695-2950-X}, Pages = {7}, Publisher = {IEEE Computer Society}, Title = {Correlating Social Interactions to Release History during Software Evolution}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.4} } @article{Beac82a, Author = {RichardJ. Beach and J.C. Beatty and K.S. Booth and D.A. Plebon and Eugene Fiume}, Journal = {Computer Graphics}, Keywords = {olit-appl paint messages thoth ui}, Month = jul, Number = {3}, Pages = {277--287}, Title = {The Message is the Medium: Multiprocess Structuring of an Interactive Paint Program}, Volume = {16}, Year = {1982} } @inproceedings{Bear90a, Author = {Stephen Bear and Phillip Allen and Derek Coleman and Fiona Hayes}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {28--37}, Title = {Graphical Specification of Object-Oriented Systems}, Volume = {25}, Year = {1990} } @book{Beau94a, Author = {Michel Beaudouin-Lafon}, Isbn = {0-412-55800-9}, Keywords = {oobib book}, Publisher = {Chapman \& Hall}, Title = {Object-oriented Languages: Basic principles and programming techniques}, Year = {1994} } @inproceedings{Beaz96a, Author = {David M. Beazley}, Booktitle = {Proceedings of the 4th USENIX Tcl/Tk Workshop}, Keywords = {scripting tcl}, Pages = {129--139}, Title = {{SWIG}: An Easy to Use Tool for Integrating Scripting Languages with {C} and {C}++}, Url = {http://www.cs.utah.edu/~beazley/Papers/tcl/newtcl.html}, Year = {1996}, Bdsk-Url-1 = {http://www.cs.utah.edu/~beazley/Papers/tcl/newtcl.html} } @inproceedings{Beaz98a, Author = {David M. Beazley}, Booktitle = {7th International Python Conference, SWIG Tutorial}, Keywords = {swig scripting}, Title = {Interfacing {C/C++} and {Python} with {SWIG}}, Year = {1998} } @techreport{Bech99a, 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.}, Author = {Silvia Bechter}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = oct, Title = {Verwaltung von Sun-Workstations}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Bech99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bech99a.pdf} } @inproceedings{Beck87a, Address = {Paris, France}, Author = {C. Beckstein and G. G{\"o}rz and M. Tielemann}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {253--264}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{FORK}: {A} System for Object- and Rule-Oriented Programming}, Volume = {276}, Year = {1987} } @inproceedings{Beck89a, Author = {Kent Beck and Ward Cunningham}, Booktitle = {Proceedings OOPSLA '89}, Keywords = {olit oopsla89}, Pages = {1--6}, Series = {ACM SIGPLAN Notices}, Title = {A Laboratory for Teaching Object-Oriented Thinking}, Volume = {24}, Year = {1989} } @unpublished{Beck90a, Address = {Namur}, Author = {Karin Becker and Fran\c{c}ois Bodart}, Keywords = {olit-reuse binder}, Note = {Facult\'es Universitaire Notre Dame de la Paix}, Title = {Reusable Object-Oriented Specifications for Decision Support Systems}, Type = {draft}, Year = {1990} } @unpublished{Beck90b, Address = {Namur}, Author = {Karin Becker and Th\'er\`ese Petitjean and Fran\c{c}ois Bodart}, Keywords = {olit-reuse binder}, Note = {Facult\'es Universitaire Notre Dame de la Paix}, Title = {Incremental Reasoning Process Through Abstraction levels}, Type = {draft}, Year = {1990} } @inproceedings{Beck93a, Author = {K. Becker}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {specification proof tapsoft93}, Month = apr, Pages = {46--60}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proving Ground Confluence and Inductive Validity in Constructor BasedEquational Specifications}, Volume = {668}, Year = {1993} } @article{Beck93b, Author = {Kent Beck}, Journal = {Smalltalk Report}, Month = mar, Title = {Instance specific behavior: {How} and {Why}}, Volume = {2(7)}, Year = {1993} } @article{Beck93c, Author = {Kent Beck}, Journal = {Smalltalk Report}, Month = may, Title = {Instance specific behavior: {Digitalk} implementation and the deep meaning of it all}, Volume = {2(7)}, Year = {1993} } @inproceedings{Beck94a, Address = {Bologna, Italy}, Author = {Kent Beck and Ralph Johnson}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {139--149}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Patterns Generate Architectures}, Volume = {821}, Year = {1994} } @inproceedings{Beck94b, Address = {Cambridge, MA, USA}, Author = {R. Beckers and O. E. Holland and J. L. Deneubourg}, Booktitle = {Proceedings of the 4th International Workshop on the Synthesis and Simulation of Living Systems (Artificial Life {IV})}, Editor = {Rodney A. Brooks and Pattie Maes}, Isbn = {0-262-52190-3}, Month = jul, Pages = {181--189}, Publisher = {MIT Press}, Title = {From Local Actions to Global Tasks: Stigmergy and Collective Robotics}, Year = {1994} } @article{Beck95a, Author = {Richard A. Becker and Stephen G. Eick and Allan R. Wilks}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Keywords = {dotplot}, Month = mar, Number = {1}, Pages = {16--21}, Title = {Visualizing Network Data}, Volume = {1}, Year = {1995} } @book{Beck97a, Author = {Kent Beck}, Keywords = {olit patterns book scglib oorp}, Publisher = {Prentice-Hall}, Title = {{Smalltalk} Best Practice Patterns}, Url = {http://stephane.ducasse.free.fr/FreeBooks/BestSmalltalkPractices/Draft-Smalltalk%20Best%20Practice%20Patterns%20Kent%20Beck.pdf}, Year = {1997}, Bdsk-Url-1 = {http://stephane.ducasse.free.fr/FreeBooks/BestSmalltalkPractices/Draft-Smalltalk%20Best%20Practice%20Patterns%20Kent%20Beck.pdf} } @article{Beck98a, Author = {Kent Beck and Erich Gamma}, Journal = {Java Report}, Keywords = {olit testing JUnit oorp}, Number = {7}, Pages = {51--56}, Title = {Test Infected: Programmers Love Writing Tests}, Url = {http://members.pingnet.ch/gamma/junit.htm}, Volume = {3}, Year = {1998}, Bdsk-Url-1 = {http://members.pingnet.ch/gamma/junit.htm} } @book{Beck99a, Author = {Kent Beck}, Isbn = {0-251-64437-2}, Keywords = {olit scglib smalltalk new-entry oorp}, Publisher = {Sigs Books}, Title = {Kent Beck's Guide to Better {Smalltalk}}, Year = {1999} } @misc{Beck99b, Author = {Kent Beck and Erich Gamma}, Keywords = {junit}, Note = {http://junit.sourceforge.net/doc/cookstour/cookstour.htm}, Title = {{JU}nit A Cook's Tour}, Url = {http://junit.sourceforge.net/doc/cookstour/cookstour.htm}, Year = {1999}, Bdsk-Url-1 = {http://junit.sourceforge.net/doc/cookstour/cookstour.htm} } @book{Beck00a, Author = {Kent Beck}, Isbn = {201616416}, Keywords = {olit oorp}, Publisher = {Addison Wesley}, Title = {Extreme Programming Explained: Embrace Change}, Year = {2000} } @book{Beck01a, Author = {Kent Beck and Martin Fowler}, Isbn = {0-201-71091-9}, Keywords = {scglib XP oorp}, Publisher = {Addison Wesley}, Title = {Planning Extreme Programming}, Year = {2001} } @misc{Beck01b, Author = {Kent Beck}, Key = {AgileManifesto}, Keywords = {damiencbib}, year = {2001}, url = {http://agilemanifesto.org}, Title = {Manifesto for Agile Software Development} } @book{Beck02a, Author = {Kent Beck}, Isbn = {978-0321146533}, Keywords = {olit patterns book scglib oorp}, Publisher = {Addison-Wesley Longman}, Title = {Test Driven Development: By Example}, Year = {2002} } @book{Beck03a, Author = {Kent Beck}, Isbn = {0-321-14653-0}, Keywords = {olit scglib oorp}, Publisher = {Addison-Wesley}, Title = {Test Driven Development: By Example}, Year = {2003} } @inproceedings{Beck04a, Doi = {10.1109/PERCOM.2004.1276846}, title = {{PCOM - a component system for pervasive computing}}, booktitle = {PerCom'04: Proceedings of the 2nd Internation Conference on Pervasive Computing and Communications}, author = {Becker, Christian and Handte, Marcus and Schiele, Gregor and Rothermel, Kurt}, year = {2004}, keywords = {automatic adaptation component system execution environment flexible adaptation control high-level programming abstraction middleware Object-oriented programming PCOM pervasive computing system provided strategies damiencbib ubiquitous computing user mobility user supplied strategies}, pages = {67--76}, address = {Washington, DC, USA} } @inproceedings{Beck08a, Title = {{DCGs} + {Memoing} = {Packrat} Parsing, but is it worth it?}, Author = {Ralph Becket and Zoltan Somogyi}, Booktitle = {Practical Aspects of Declarative Languages}, Year = {2008}, Month = jan, Pages = {182--196}, Volume = {LNCS 4902}, Keywords = {packrat parsing}, Publisher = {Springer} } @inproceedings{Beec88a, Author = {David Beech}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {164--175}, Title = {Intensional Concepts in an Object Database Model}, Volume = {23}, Year = {1988} } @inproceedings{Beec88b, Address = {Los Angeles, CA}, Author = {D. Beech and B. Mahbod}, Booktitle = {4th IEEE International Conference on Data Engineering}, Keywords = {olit-oodb versions (smc)}, Pages = {14--22}, Publisher = {IEEE Computer Society Press}, Title = {Generalised Version Control in an Object-oriented Database}, Year = {1988} } @incollection{Beed00a, Author = {Mike Beedle and Martine Devos and Yonat Sharon and Ken Schwaber and Jeff Sutherland}, Booktitle = {Pattern Languages of Program Design 4}, Editor = {Neil Harrison and Brian Foote and Hans Rohnert}, Keywords = {oorp}, Pages = {637--652}, Publisher = {Addison Wesley}, Title = {SCRUM: A Pattern Language for Hyperproductive Software Development}, Year = {2000} } @article{Beer90a, Author = {Catriel Beeri}, Journal = {Data and Knowledge Engineering}, Keywords = {olit-db binder}, Pages = {353--382}, Publisher = {North-Holland}, Title = {A Formal Approach to Object-Oriented Databases}, Volume = {5}, Year = {1990} } @article{Beer90b, 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.}, Author = {Catriel Beeri}, Journal = {Data and Knowledge Engineering}, Keywords = {olit-oodb binder (smc)}, Pages = {353--382}, Publisher = {North-Holland}, Title = {A Formal Approach to Object-Oriented Databases}, Volume = {5}, Year = {1990} } @inproceedings{Begel09a, Author = {Andrew Begel and Robert DeLine}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Booktitle = {ICSE Companion}, Ee = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5070997}, Keywords = {snf}, Pages = {263-266}, Title = {Codebook: Social networking over code}, Year = {2009} } @book{Beiz90a, Address = {New York, NY, USA}, Author = {Boris Beizer}, Isbn = {0-442-20672-0}, Publisher = {Van Nostrand Reinhold Co.}, Title = {Software testing techniques (2nd ed.)}, Year = {1990} } @book{Beiz99a, Author = {Boris Beizer}, Isbn = {0-471-12094-4}, Keywords = {oorp}, Publisher = {John Wiley \& Sons}, Title = {Black-Box Testing: Techniques for Functional Testing of Software and Systems}, Year = {1999} } @article{Bela81a, Author = {Laszlo. A. Belady and Carlo J. Evangelisti}, Journal = {Journal of Systems and Software}, Keywords = {clustering}, Pages = {23--29}, Title = {System {Partitioning} and its {Measure}}, Volume = {2}, Year = {1981} } @article{Belb07a, Author = {Nadia Belblidia and Mourad Debbabi}, Ee = {http://www.jot.fm//issues/issue_2007_03/article2}, Journal = {Journal of Object Technology}, Number = {3}, Title = {A Dynamic Operational Semantics for {JVML}}, Volume = {6}, Year = {2007} } @techreport{Bell92a, Author = {Jean L. Bell}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg of92}, Month = jul, Pages = {197--220}, Title = {Reuse and Browsing: Survey of Program Developers}, Type = {Object Frameworks}, Year = {1992} } @misc{Bell92b, Author = {Gianluigi Bellin and Philip Scott}, Keywords = {pcalc mobility (uwe)}, Title = {On the $\pi$-Calculus and Linear Logic}, Year = {1992} } @inproceedings{Bell93a, 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.}, Address = {Como, Italy}, Author = {Roberto Bellinzona and Mariagrazia Fugini and Vicki de Mey}, Booktitle = {Proceedings IFIP WG 8.1 Working Conference on Information System Development Process}, Editor = {N. Prakash and C. Rolland and B. Pernici}, Keywords = {olit-ithaca osg vista vo93 recast ithaca-final}, Misc = {Sept. 1-3}, Month = sep, Pages = {79--96}, Title = {Reuse of Specifications and Designs in a Development Information System}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/ReuseOfSpecsAndDesInADevInfoSys.pdf}, Year = {1993}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/ReuseOfSpecsAndDesInADevInfoSys.pdf} } @techreport{Bell94a, 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.}, Author = {Roberto Bellinzona and Mariagrazia Fugini and Barbara Pernici}, Institution = {Politecnico di Milano}, Keywords = {olit-ithaca osg vista recast ithaca-final}, Month = mar, Note = {submitted for publication}, Number = {92\_082}, Title = {An Environment for Specification Reuse}, Type = {Internal Report}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/AnEnvironmentForSpecReuse.pdf}, Year = {1994}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/AnEnvironmentForSpecReuse.pdf} } @book{Bell97a, Author = {David Bellin and Susan Suchman Simone}, Isbn = {0-201-89535-8}, Keywords = {smalltalk scglib oorp}, Publisher = {Addison Wesley}, Title = {The {CRC} Card Book}, Year = {1997} } @phdthesis{Bell97b, Author = {Luc Bellissard}, School = {Institut National Polytechnique de Grenoble}, Title = {Construction et Configuration {D}'Application Reparties}, Type = {{Ph.D}. Thesis}, Year = {1997} } @inproceedings{Bell97c, Author = {Berndt Bellay and Harald Gall}, Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)}, Pages = {2--11}, Publisher = {IEEE Computer Society Press: Los Alamitos CA}, Title = {A Comparison of Four Reverse Engineering Tools}, Year = {1997} } @article{Bell98a, Author = {Berndt Bellay and Harald Gall}, Journal = {Journal of Software Maintenance: Research and Practice}, Title = {An Evaluation of Reverse Engineering Tools}, Year = {1998} } @inproceedings{Bell99a, author = {Bell, Thoms}, title = {The concept of dynamic analysis}, booktitle = {Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering}, series = {ESEC/FSE-7}, year = {1999}, isbn = {3-540-66538-2}, location = {Toulouse, France}, pages = {216--234}, numpages = {19}, url = {http://dx.doi.org/10.1145/318773.318944}, doi = {10.1145/318773.318944}, acmid = {318944}, publisher = {Springer-Verlag}, address = {London, UK} } @mastersthesis{Bell02a, Author = {Stefan Bellon}, Month = sep, School = {Universit\"at Stuttgart}, Title = {{Vergleich} von {Techniken} zur {Erkennung} duplizierten {Quellcodes}}, Url = {http://www.bauhaus-stuttgart.de/bauhaus/papers/DIP-1998.pdf http://www.bauhaus-stuttgart.de/clones/index.html}, Year = {2002}, Bdsk-Url-1 = {http://www.bauhaus-stuttgart.de/bauhaus/papers/DIP-1998.pdf%20http://www.bauhaus-stuttgart.de/clones/index.html} } @misc{Bell02b, Key = {Bell02b}, Note = {http://www.bauhaus-stuttgart.de/clones/}, Title = {Detection of Software Clones: Tool Comparison Experiment}, Year = {2002} } @article{Bell07a, Address = {Los Alamitos, CA, USA}, Author = {Stefan Bellon and Rainer Koschke and Giulio Antoniol and Jens Krinke and Ettore Merlo}, Doi = {10.1109/TSE.2007.70725}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {9}, Pages = {577--591}, Publisher = {IEEE Computer Society}, Title = {Comparison and Evaluation of Clone Detection Tools}, Volume = {33}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70725} } @inproceedings{Belli97a, Author = {F. Belli and R. Crisan}, Booktitle = {Proceedings of the 8th International Symposium on Software Reliability Engineering}, Pages = {245--255}, Publisher = {IEEE Computer Society}, Title = {Empirical performance analysis of computer-supported code-reviews}, Year = {1997} } @book{Ben82a, Author = {Ben-Ari}, Keywords = {concurrency}, Publisher = {Prentice-Hall}, Title = {Principles of Concurrent Programming}, Year = {1982} } @book{Ben95a, Author = {Ben-Natan, Ron}, Isbn = {0-07-005427-4}, Keywords = {corba scglib damiencbib}, Publisher = {McGraw-Hill}, Title = {Corba}, 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}, Booktitle = {Proceedings of the 5th Int. ACM Conf. on Aspect-Oriented Software Development (AOSD'06)}, Month = mar, Publisher = {ACM Press}, Title = {Explicitly distributed {AOP} using {AWED}}, Year = {2006} } @article{Benb87a, author = {Benbasat, Izak and Goldstein, David K. and Mead, Melissa}, title = {The case research strategy in studies of information systems}, journal = {MIS Q.}, volume = {11}, issue = {3}, month = sep, year = {1987}, issn = {0276-7783}, pages = {369--386}, numpages = {18}, url = {http://portal.acm.org/citation.cfm?id=35194.35201}, doi = {10.2307/248684}, acmid = {35201}, publisher = {Society for Information Management and The Management Information Systems Research Center}, address = {Minneapolis, MN, USA} } @misc{Benjie, Key = {Benjie}, Keywords = {laptop OLPC}, Note = {http://en.wikipedia.org/wiki/\$100\_laptop}, Title = {100 {Dollar} {Laptop}}, Url = {http://en.wikipedia.org/wiki/$100_laptop}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/$100_laptop} } @techreport{Benn82a, Author = {John K. Bennett}, Institution = {University of Washington}, Keywords = {olit survey hydra web smalltalk argus}, Title = {A Comparison of Four Object-Based Systems}, Type = {TR82-11-03}, Year = {1982} } @inproceedings{Benn87a, Author = {John K. Bennett}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-oopl oopsla87}, Month = dec, Pages = {318--330}, Title = {The Design and Implementation of Distributed {Smalltalk}}, Volume = {22}, Year = {1987} } @article{Benn90a, Author = {John K. Bennett}, Journal = {Software --- Practice and Experience}, Keywords = {olit-oopl binder}, Number = {2}, Pages = {157--180}, Title = {Experience with Distributed {Smalltalk}}, Volume = {20}, Year = {1990} } @book{Benn97a, Author = {Warren Bennis and Patricia Ward Biederman}, Isbn = {0-201-33989-7}, Keywords = {scglib}, Publisher = {Perseus Books}, Title = {Organizing Genius --- The Secrets of Creative Collaboration}, Year = {1997} } @book{Benn99a, Author = {Simon Bennett and Steve McRobb and Ray Farmer}, Keywords = {oorp}, Publisher = {McGraw Hill}, Title = {Object-Oriented System Analysis and Design using UML}, Year = {1999} } @inproceedings{Benn00a, Address = {New York, NY, USA}, Author = {Keith H. Bennett and Vaclav T. Rajlich}, Booktitle = {ICSE '00: Proceedings of the Conference on The Future of Software Engineering}, Doi = {10.1145/336512.336534}, Isbn = {1-58113-253-0}, Location = {Limerick, Ireland}, Pages = {73--87}, Publisher = {ACM Press}, Title = {Software maintenance and evolution: a roadmap}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/336512.336534} } @article{Benn08a, Author = {C. Bennett and D. Myers and M.-A. Storey and D. M. German and D. Ouellet and M/ Salois and P. Charland}, Title = {A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams}, Journal = {Journal of Software Maintenance and Evolution}, Pages = {291--315}, Doi = {10.1002/smr.v20:4}, Publisher = {John Wiley \& Sons, Inc.}, Address = {New York, NY, USA}, Volume = {20}, Number = {4}, Year = {2008} } @inproceedings{Bens88a, Author = {Edward H. Bensley and Thomas J. Brando and Myra Jean Prelle}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {316--322}, Title = {An Execution Model for Distributed Object-Oriented Computation}, Volume = {23}, Year = {1988} } @inproceedings{Bens91a, Author = {Dan Benson and Greg Zick}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {329--339}, Title = {Symbolic and Spatial Database for Structural Biology}, Volume = {26}, Year = {1991} } @article{Bent86a, Abstract = {Discusses the design of {\em ad hoc} languages for specialist tasks, such as {\GRAP}.}, Annote = {Description of the {\em pic\/} language.}, Author = {Jon Louis Bentley}, Journal = {Communications of the ACM}, Keywords = {programming pearls}, Month = aug, Number = {8}, Pages = {711--721}, Title = {Programming Pearls: Little Languages}, Volume = {29}, Year = {1986} } @book{Bera93a, Author = {Edward V. Berard}, Keywords = {olit binder (shelf)}, Publisher = {Prentice-Hall}, Title = {Essays On Object-Oriented Software Engineering}, Volume = {1}, Year = {1993} } @misc{Berg09d, Author = {Sebastian Bergmann}, Howpublished = {http://sebastian-bergmann.de/archives/848-Fixture-Reuse-in-PHPUnit-3.4.html, archived at http://www.webcitation.org/5jbbodK6y}, Title = {Fixture Reuse in {PHPU}nit 3.4}, Url = {http://sebastian-bergmann.de/archives/848-Fixture-Reuse-in-PHPUnit-3.4.html}, Bdsk-Url-1 = {http://sebastian-bergmann.de/archives/848-Fixture-Reuse-in-PHPUnit-3.4.html} } @article{Berg84a, Author = {Jan A. Bergstra and J.W. Klop}, Journal = {Information and Control}, Keywords = {pcalc acp binder}, Pages = {109--137}, Title = {Process Algebra for Synchronous Communication}, Volume = {60}, Year = {1984} } @inproceedings{Berg84b, Address = {Antwerp}, Author = {Jan A. Bergstra and J.W. Klop}, Booktitle = {Proceedings ICALP '84}, Editor = {J. Paredaens}, Keywords = {pcalc regular processes icalp84 binder}, Pages = {82--95}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Algebra of Recursively Defined Processes and the Algebra of Regular Processes}, Volume = {172}, Year = {1984} } @inproceedings{Berg84c, Author = {H.L. Berghel and D.L. Sallach}, Booktitle = {SIPLAN-Notices}, Pages = {65--76}, Title = {Measurements of Program Similarity in Identical Task Environments}, Volume = {9/8}, Year = {1984} } @article{Berg85a, Author = {Jan A. Bergstra and J.W. Klop}, Journal = {Theoretical Computer Science}, Keywords = {pcalc acp binder}, Month = may, Number = {1}, Pages = {77--121}, Title = {Algebra of Communicating Processes with Abstraction}, Volume = {37}, Year = {1985} } @incollection{Berg87a, Author = {Jan A. Bergstra and J.W. Klop}, Booktitle = {Algebraic Methods: Theory, Tools and Applications}, Editor = {M. Wirsing and J.A. Bergstra}, Keywords = {pcalc acp binder(conc)}, Pages = {447--463}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {$ACP_\tau$: {A} Universal Axiom System for Process Specification}, Volume = {394}, Year = {1987} } @inproceedings{Berg91a, Address = {Geneva, Switzerland}, Author = {Paul L. Bergstein and Karl J. Lieberherr}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {377--396}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Incremental Class Dictionary Learning and Optimization}, Volume = 512, Year = {1991} } @inproceedings{Berg91b, Author = {Paul L. Bergstein}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {299--313}, Title = {Object-Preserving Class Transformations}, Volume = {26}, Year = {1991} } @incollection{Berg93a, 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.}, Author = {Paul L. Bergstein and Walter L. H{\"u}rsch}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {176--193}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Maintaining Behavioral Consistency during Schema Evolution,}, Volume = {742}, Year = {1993} } @article{Berg93b, Author = {Lodewijk Bergmans and Mehmet Aksit and Ken Wakita}, Journal = {IEEE Transactions on Parallel and Distributed Systems}, Keywords = {oobib(concurrency) olit-obc binder}, Title = {An Object-Oriented Model for Extensible Concurrent Systems: The Composition-Filters Approach}, Year = {1993} } @phdthesis{Berg94a, Author = {Lodewijk Bergmans}, Keywords = {olit-obc oobib(concurrency) scglib}, School = {University of Twente}, Title = {Composing Concurrent Objects}, Url = {ftp://ftp.cs.utwente.nl/pub/doc/TRESE/bergmans.phd.tar}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.cs.utwente.nl/pub/doc/TRESE/bergmans.phd.tar} } @phdthesis{Berg94b, Author = {Paul Bergstein}, Keywords = {olit-reuse}, School = {Northeastern University, MA}, Title = {Managing the Evolution of Object-Oriented Systems}, Type = {{Ph.D}. Thesis}, Url = {http://www.cs.neu/home/lieber/theses/bergstein/thesis.ps}, Year = {1994}, Bdsk-Url-1 = {http://www.cs.neu/home/lieber/theses/bergstein/thesis.ps} } @inproceedings{Berg96a, Address = {Cesena, Italy}, Author = {J.A. Bergstra and P. Klint}, Booktitle = {Proceedings of COORDINATION '96}, Editor = {P. Ciancarini and Chris Hankin}, Keywords = {olit coordination open systems coordination96}, Pages = {75--88}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The ToolBus Coordination Architecture}, Volume = {1061}, Year = {1996} } @book{Berg96b, Author = {Thomas J. Bergin and Richard G. Gibson}, Isbn = {0-201-89502-1}, Keywords = {pl scglib}, Publisher = {ACM Press / Addison Wesley}, Title = {History of Programming Languages}, Year = {1996} } @techreport{Berg97a, Author = {Klaus Bergner and Andreas Rausch and Marc Sihling}, Institution = {TUM}, Number = {I9735}, Title = {Using {UML} for Modeling a Distributed {Java} Application ({AFA} info)}, Url = {http://www.leo.org/pub/comp/doc/techreports/tum/informatik/report/1997/TUM-I9735.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://www.leo.org/pub/comp/doc/techreports/tum/informatik/report/1997/TUM-I9735.ps.gz} } @techreport{Berg99a, Author = {John Bergey and Dennis Smith and Scott Tilley and Nelson Weiderman and Steven Woods}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Keywords = {reeng oorp}, Month = apr, Title = {Why Reengineering Projects Fail}, Type = {{CMU/SEI-99-TR-010}}, 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}, Bdsk-Url-1 = {http://www.sei.cmu.edu/publications/documents/99.reports/99tr010/99tr010abstract.html%20http://www.sei.cmu.edu/pub/documents/99.reports/pdf/99tr010.pdf} } @inproceedings{Berg00a, Author = {Federico Bergenti and Agostino Poggi}, Booktitle = {12th International Conference on Software Engineering and Knowledge Engineering (SEKE)}, Pages = {336--343}, Title = {Improving {UML} Designs Using Automatic Design Pattern Detection}, Year = {2000} } @inproceedings{Berg03a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Alexandre Bergel and St\'ephane Ducasse and Roel Wuyts}, Booktitle = {Proceedings of Joint Modular Languages Conference (JMLC'03)}, Doi = {10.1007/b12023}, Inria = {hors}, Isbn = {978-3-540-40796-6}, Keywords = {snf03 scg-pub jb03 module stefPub classbox alexandrePub alexPub noWorkshop}, Misc = {Best Paper Award}, Pages = {122--131}, Publisher = {Springer-Verlag}, Selectif = {non}, Series = {LNCS}, Title = {Classboxes: A Minimal Module Model Supporting Local Rebinding}, Url = {http://scg.unibe.ch/archive/papers/Berg03aClassboxes.pdf http://www.springerlink.com/index/G5C3J6EB427YCDH2}, Volume = {2789}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg03aClassboxes.pdf%20http://www.springerlink.com/index/G5C3J6EB427YCDH2}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b12023} } @inproceedings{Berg03b, 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.}, Aeres = {ACT}, Aeresstatus = {aeres05}, Annote = {internationalworkshop}, Author = {Alexandre Bergel and St\'ephane Ducasse and Roel Wuyts}, Booktitle = {Proceedings of the ECOOP '03 Workshop on Object-oriented Language Engineering for the Post-Java Era}, Inria = {hors}, Keywords = {snf03 scg-pub skip-doi jb03 stefPub alexandrePub module classbox alexPub}, Month = jul, Selectif = {non}, Title = {The {Classbox} Module System}, Url = {http://scg.unibe.ch/archive/papers/Berg03bClassboxes.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg03bClassboxes.pdf} } @techreport{Berg04a, 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.}, Address = {Universit\"at Bern, Switzerland}, Aeres = {AP}, Aeresstatus = {aeres05}, Annote = {report notrefereed technicalReport}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Classification= {D.1.5 Object-oriented Programming; D.3.3 Language Constructs and Features}, General_Terms= {Inheritance, Mixins, Multiple Inheritance, Traits, Reuse, Smalltalk}, Inria = {hors}, Institution = {Institut f\"ur Informatik}, Keywords = {snf-redundant scg-pub skip-doi jb04 snf04 stefPub alexPub alexandrePub}, Misc = {ClassboxTR04}, Month = jun, Number = {IAM-04-003}, Selectif = {non}, Title = {Classboxes: Controlling Visibility of Class Extensions}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Berg04aIAM-04-003.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg04aIAM-04-003.pdf} } @inproceedings{Berg04c, 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.}, Aeres = {ACT}, Aeresstatus = {aeres05}, Annote = {internationalconference}, Author = {Alexandre Bergel and Christophe Dony and St\'ephane Ducasse}, Booktitle = {Proceedings of 12th International Smalltalk Conference (ISC'04)}, Cvs = {PrototalkESUG04}, Inria = {hors}, Keywords = {scg-pub skip-doi jb05 snf04 stefPub alexPub alexandrePub noWorkshop}, Month = sep, Pages = {107--130}, Selectif = {non}, Title = {Prototalk: an Environment for Teaching, Understanding, Designing and Prototyping Object-Oriented Languages}, Url = {http://scg.unibe.ch/archive/papers/Berg04cprototalk.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg04cprototalk.pdf} } @article{Berg05a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Cvs = {ClassboxESUG04}, Doi = {10.1016/j.cl.2004.11.002}, Impactfactor = {0.467, SCI}, Inria = {hors}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg-pub snf-actsc jb05 classbox snf05 stefPub onhindex(62) alexPub}, Misc = {SCI impact factor 0.467}, Month = dec, Number = {3-4}, Pages = {107--126}, Publisher = {Elsevier}, Selectif = {non}, Title = {Classboxes: Controlling Visibility of Class Extensions}, Url = {http://scg.unibe.ch/archive/papers/Berg05aclassboxesJournal.pdf}, Volume = {31}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg05aclassboxesJournal.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2004.11.002} } @inproceedings{Berg05b, 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.}, Address = {New York, NY, USA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference topconference}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 20th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'05)}, Doi = {10.1145/1094811.1094826}, Inria = {hors}, Keywords = {snf05 stefPub alexPub snf06 jb06 scg-pub onhindex(97)}, Misc = {acceptance rate: 25/142 = 17\%}, AcceptTotal = {142}, AcceptNum = {25}, Pages = {177--189}, Publisher = {ACM Press}, Rate = {17%}, Selectif = {oui}, Title = {Classbox/{J}: Controlling the Scope of Change in {Java}}, Url = {http://scg.unibe.ch/archive/papers/Berg05bclassboxjOOPSLA.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg05bclassboxjOOPSLA.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1094811.1094826} } @article{Berg05c, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz}, Cvs = {ModuleAnalysisJUCS05}, Impactfactor = {0.337, SCI}, Inria = {hors}, Journal = {Journal of Universal Computer Science}, Keywords = {scg-pub skip-doi jb06 classbox snf06 stefPub alexPub listic}, Misc = {SCI impact factor 0.337}, Month = nov, Number = {10}, Pages = {1613--1644}, Selectif = {non}, Title = {Analyzing Module Diversity}, Url = {http://www.jucs.org/jucs_11_10/analyzing_module_diversity http://scg.unibe.ch/archive/papers/Berg05cModuleDiversity.pdf}, Volume = {11}, Year = {2005}, Bdsk-Url-1 = {http://www.jucs.org/jucs_11_10/analyzing_module_diversity%20http://scg.unibe.ch/archive/papers/Berg05cModuleDiversity.pdf} } @inproceedings{Berg05d, 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.}, Address = {Erfurt, Germany}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {nationalconference}, Author = {Alexandre Bergel and St\'ephane Ducasse}, Booktitle = {{Net}.{ObjectDays} (NODE'05)}, Inria = {hors}, Keywords = {snf05 jb06 scg-pub skip-doi alexPub stefPub listic}, Month = sep, Pages = {61--75}, Selectif = {non}, Title = {Supporting Unanticipated Changes with {Traits} and {Classboxes}}, Url = {http://scg.unibe.ch/archive/papers/Berg05dTraitsClassbox.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg05dTraitsClassbox.pdf} } @article{Berg05e, 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.}, Aeres = {ACT}, Annote = {nationaljournal}, Author = {Alexandre Bergel and St\'ephane Ducasse}, Cvs = {ClassboxJFDLPA04}, Inria = {hors}, Journal = {Revue des Sciences et Technologies de l'Information (RSTI) --- L'Objet (Num\'ero sp\'ecial : Programmation par aspects)}, Keywords = {scg-pub skip-doi jb05 classboxes snf05 stefPub alexandrePub alexPub listic}, Month = nov, Number = {3}, Pages = {53--68}, Publisher = {Hermes, Paris}, Selectif = {non}, Title = {Scoped and Dynamic Aspects with {Classboxes}}, Url = {http://scg.unibe.ch/archive/papers/Berg05eDynamicClassboxes.pdf}, Volume = {11}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg05eDynamicClassboxes.pdf} } @phdthesis{Berg05f, 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.}, Aeres = {TH}, Author = {Alexandre Bergel}, Cvs = {ABergelPhD}, Inria = {hors}, Keywords = {scg-pub skip-doi snf05 jb06 classboxes scg-phd evolution}, Month = nov, School = {University of Bern}, Selectif = {non}, Title = {Classboxes --- Controlling Visibility of Class Extensions}, Url = {http://scg.unibe.ch/archive/phd/bergel-phd.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/bergel-phd.pdf} } @inproceedings{Berg06a, 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.}, Aeres = {ACT}, Annote = {internationalworkshop}, Author = {Alexandre Bergel}, Booktitle = {Proceedings of the Open and Dynamic Aspect Languages Workshop}, Inria = {hors}, Keywords = {aspect facets}, Month = mar, Selectif = {non}, Title = {{FacetS}: First Class Entities for an Open Dynamic {AOP} Language}, Url = {http://bergel.eu/download/papers/Berg06a-FacetS.pdf}, Year = {2006}, Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg06a-FacetS.pdf} } @inproceedings{Berg06b, 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.}, Aeres = {ACT}, Annote = {internationalworkshop}, Author = {Alexandre Bergel and Marcus Denker}, Booktitle = {Proceedings of the ECOOP'06 Workshop on Revival of Dynamic Languages}, Cvs = {SqueakRSP06}, Inria = {hors}, Keywords = {snf06 scg-pub skip-doi jb06 fb06 alexpub}, Medium = {4}, Month = jul, Peerreview = {yes}, Selectif = {non}, Title = {Prototyping Languages, Related Constructs and Tools with {Squeak}}, Url = {http://scg.unibe.ch/archive/papers/Bergel06bRDLPrototyping.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bergel06bRDLPrototyping.pdf} } @inproceedings{Berg06c, 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.}, Aeres = {ACT}, Annote = {internationalconference}, Author = {Alexandre Bergel and Robert Hirschfeld and Siobh\`{a}n Clarke and Pascal Costanza}, Booktitle = {In Proceedings of the International Conference on Software and Data Technologies (ICSOFT 2006)}, Editor = {Joaquim Filipe, Boris Shiskov, Markus Helfert}, Inria = {hors}, Isbn = {972-8865-69-4}, Misc = {Acceptance rate: 12\%}, Month = sep, Pages = {29--38}, Rate = {12%}, Selectif = {oui}, Title = {Aspectboxes --- Controlling the Visibility of Aspects}, Url = {http://www.cs.tcd.ie/Alexandre.Bergel/download/papers/Berg06c-Aspectboxes.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.cs.tcd.ie/Alexandre.Bergel/download/papers/Berg06c-Aspectboxes.pdf} } @inproceedings{Berg06f, Address = {Prague, Czech Republic}, Aeres = {INV}, Annote = {nationalconference}, Author = {Alexandre Bergel}, Booktitle = {Proceedings of the Objekty Conference 2006}, Editor = {Ji\u{r}\'{i} Bro\u{z}ek and Vojt\u{e}ch Merunka}, Inria = {hors}, Isbn = {80-213-1568-7}, Month = nov, Note = {Short paper, invited keynote speaker}, Selectif = {non}, Title = {Controlling the Visibility of Changes in Java with Classboxes}, Year = {2006} } @inproceedings{Berg07a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Booktitle = {Advances in Smalltalk --- Proceedings of 14th International Smalltalk Conference (ISC 2006)}, Doi = {10.1007/978-3-540-71836-9_3}, Inria = {hors}, Isbn = {978-3-540-71835-2}, Issn = {0302-9743}, Keywords = {scg07 stefPub scg-pub jb07 snf06 traits}, Medium = {2}, Month = aug, Pages = {66--90}, Peerreview = {yes}, Publisher = {Springer}, Selectif = {non}, Series = {LNCS}, Title = {Stateful Traits}, Url = {http://scg.unibe.ch/archive/papers/Berg07aStatefulTraits.pdf}, Volume = {4406}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg07aStatefulTraits.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-71836-9_3} } @inproceedings{Berg07c, 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, and a coverage browser.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Alexandre Bergel and St\'ephane Ducasse and Colin Putney and Roel Wuyts}, Booktitle = {Advances in Smalltalk --- Proceedings of 14th International Smalltalk Conference (ISC 2006)}, Doi = {10.1007/978-3-540-71836-9_3}, Inria = {hors}, Isbn = {978-3-540-71835-2}, Issn = {0302-9743}, Keywords = {scg07 stefPub scg-pub jb07 snf06}, Medium = {2}, Month = aug, Pages = {134--156}, Peerreview = {yes}, Publisher = {Springer}, Selectif = {non}, Series = {LNCS}, Title = {Meta-Driven Browsers}, Url = {http://scg.unibe.ch/archive/papers/Berg07cOmnibrowser.pdf}, Volume = {4406}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg07cOmnibrowser.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-71836-9_3} } @inproceedings{Berg07d, Abstract = {The use of Interpreter and Visitor design patterns has been widely adopted to implement programming language interpreters due to their expressive and simple design. However, no general approach to conceive a debugger is commonly adopted. This paper presents the debuggable interpreter design pattern as a general approach to extend a language interpreter with debugging facilities such as step-over and step-into. Moreover, it enables multiple debuggers coexisting and extends the Interpreter and Visitor design patterns with a few hooks and a debugging service. SmallJS, an interpreter for Javascript-like language, serves as an illustration.}, Aeres = {ACT}, Annote = {internationalconference}, Author = {Jan Vran\`{y} and Alexandre Bergel}, Booktitle = {In Proceedings of the International Conference on Software and Data Technologies (ICSOFT 2007)}, Editor = {Joaquim Filipe, Boris Shiskov, Markus Helfert}, Inria = {hors}, Misc = {Acceptance rate: 12\%}, Month = jul, Rate = {12%}, Selectif = {oui}, Title = {The Debuggable Interpreter Design Pattern}, Url = {http://www.bergel.eu/download/papers/Berg07d-debugger.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.bergel.eu/download/papers/Berg07d-debugger.pdf} } @article{Berg07f, Aeres = {ACLN}, Annote = {nationaljournal}, Author = {Alexandre Bergel}, Doi = {10.1524/itit.2007.49.4.260}, Inria = {hors}, Journal = {it- Information Technology}, Month = jul, Number = {4}, Publisher = {Oldenbourg Wissenschaftsverlag}, Selectif = {non}, Title = {Classboxes --- Controlling Visibility of Class Extensions}, Url = {http://bergel.eu/download/papers/Berg07fITclassboxes.pdf}, Volume = {49}, Year = {2007}, Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg07fITclassboxes.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1524/itit.2007.49.4.260} } @inproceedings{Berg07g, Aeres = {ACT}, Annote = {internationalworkshop}, Author = {Alexandre Bergel and Claus Lewerentz and Liam O'Brien}, Booktitle = {Proceedings of the 2nd Workshop on Aspect-Oriented Product Line Engineering (AOPLE)}, Inria = {hors}, Month = oct, Selectif = {non}, Title = {Classboxes: Supporting Unanticipated Variation Points in the Source Code}, Url = {http://bergel.eu/download/papers/Berg07g-classboxes.pdf}, Year = {2007}, Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg07g-classboxes.pdf} } @article{Berg08a, Abstract = {Page-centric Web application frameworks fail to offer adequate solutions to model composition and control flow. Seaside allows Web applications to be developed in the same way as desktop applications. Control flow is modelled as a continuous piece of code, and components may be composed, configured and nested as one would expect from traditional user interface frameworks.}, Aeres = {AP}, Aeresstatus = {aeres08}, Annote = {notrefereed}, Author = {Alexandre Bergel and St\'ephane Ducasse and Lukas Renggli}, Inria = {hors}, Journal = {ERCIM News}, Keywords = {scg-pub snf-none skip-doi alexPub stefPub jb08}, Month = jan, Selectif = {non}, Title = {Seaside -- Advanced Composition and Control Flow for Dynamic Web Applications}, Url = {http://ercim-news.ercim.org/content/view/325/536/}, Volume = 72, Year = {2008}, Bdsk-Url-1 = {http://ercim-news.ercim.org/content/view/325/536/} } @inproceedings{Berg08b, Abstract = {Following last two years' workshop on dynamic languages at the ECOOP conference, the Dyla 2007 workshop was a successful and popular event. As its name implies, the workshop's focus was on dynamic languages and their applications. Topics and discussions at the workshop included macro expansion mechanisms, extension of the method lookup algorithm, language interpretation, reflexivity and languages for mobile ad hoc networks. The main goal of this workshop was to bring together different dynamic language communities and favouring cross communities interaction. Dyla 2007 was organised as a full day meeting, partly devoted to presentation of submitted position papers and partly devoted to tool demonstration. All accepted papers can be downloaded from the workshop's web site. In this report, we provide an overview of the presentations and a summary of discussions.}, Aeres = {DO}, Aeresstatus = {aeres08}, Annote = {workshopproceedings}, Author = {Alexandre Bergel and Wolfgang De Meuter and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Booktitle = {Object-Oriented Technology. ECOOP 2007 Workshop Reader}, Doi = {10.1007/978-3-540-78195-0}, Inria = {hors}, Isbn = {978-3-540-78194-3}, Keywords = {scg07 scg-pub stefPub jb08 snf-none}, Medium = {2}, Pages = {7--12}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Selectif = {non}, Series = {LNCS}, Title = {Dynamic Languages and Applications, Report on the Workshop {Dyla}'07 at {ECOOP} 2007}, Url = {http://dyla2007.unibe.ch/ http://scg.unibe.ch/archive/papers/Berg08bDyla07Report.pdf http://www.springer.com/computer/programming/book/978-3-540-78194-3}, Volume = {4906}, Year = {2008}, Bdsk-Url-1 = {http://dyla2007.unibe.ch/%20http://scg.unibe.ch/archive/papers/Berg08bDyla07Report.pdf%20http://www.springer.com/computer/programming/book/978-3-540-78194-3}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-78195-0} } @article{Berg08c, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Alexandre Bergel and St\'ephane Ducasse and Colin Putney and Roel Wuyts}, Doi = {10.1016/j.cl.2007.05.005}, Inria = {hors}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {stefPub snf06}, Number = {2-3}, Pages = {109--129}, Publisher = {Elsevier}, Selectif = {non}, Title = {Creating Sophisticated Development Tools with {OmniBrowser}}, Volume = {34}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.cl.2007.05.005} } @inproceedings{Berg08d, Annote = {internationalworkshop}, Author = {Alexandre Bergel and St\'ephane Ducasse and Jannik Laval and Romain Peirs}, Booktitle = {Proceedings of FAMOOSr 2008 (2nd International Workshop on FAMIX and Moose in Reengineering)}, Keywords = {moose-pub}, Medium = {2}, Month = oct, Peerreview = {yes}, Title = {Enhanced Dependency Structure Matrix for Moose}, Url = {http://bergel.eu/download/papers/Berg08dFamoosrDSM.pdf}, Year = {2008}, Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg08dFamoosrDSM.pdf} } @article{Berg08e, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Alexandre Bergel and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Doi = {10.1016/j.cl.2007.05.003}, Impactfactor = {0.467, SCI}, Inria = {hors}, Issn = {1477-8424}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {traits smalltalklite scg07 stefPub scg-pub jb08 snf06}, Medium = {2}, Number = {2-3}, Pages = {83--108}, Peerreview = {yes}, Publisher = {Elsevier}, Selectif = {non}, Title = {Stateful Traits and their Formalization}, Url = {http://scg.unibe.ch/archive/papers/Berg08eStatefulTraits.pdf}, Volume = {34}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Berg08eStatefulTraits.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2007.05.003} } @inproceedings{Berg09a, Annote = {internationalconference}, Author = {Alexandre Bergel and Simon Denier and St\'ephane Ducasse and Jannik Laval and Fabrice Bellingard and Philippe Vaillergues and Fran\c{c}oise Balmasand Karine Mordal-Manet}, Booktitle = {Proceedings of the 13th European Conference on Software Maintenance and Reengineering (CSMR 2009), European Projects Track}, Keywords = {moose-pub}, Month = mar, Title = {SQUALE -- Software QUALity Enhancement}, Year = {2009} } @inproceedings{Berg09b, Author = {Alexandre Bergel and Lorenzo Bettini}, Booktitle = {Proceedings of the 4th International Conference on Software and Data Technologies (ICSOFT'09)}, Month = jul, Pages = {39--46}, Title = {Reverse Generics -- Parametrization After the Fact}, Year = {2009} } @article{Berg09c, Author = {Alexandre Bergel}, Journal = {IEEE Transactions on Software Engineering}, Note = {To appear}, Title = {FlowTalk: Language Support for Long-Latency Operations in Embedded Devices}, Url = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf}, Year = {2009}, Bdsk-Url-1 = {http://bergel.eu/download/papers/Berg09cFlowtalk.pdf} } @inproceedings{Berg10a, Author = {S\'ebastien Mosser and Alexandre Bergel and Mireille Blay-Fornarino}, Booktitle = {Proceedings of 9th International Conference on Software Composition (SC'10)}, Month = jul, Note = {to appear}, Publisher = {LNCS Springer Verlag}, Title = {Visualizing and Assessing a Compositional Approach of Business Process Design}, Year = {2010}, Keywords = {moose-pub} } @inproceedings{Berg10b, Author = {Julio Ariel Hurtado Alegr\'ia and Alejandro Lagos and Alexandre Bergel and Mar\'ia Cecilia Bastarrica}, Booktitle = {Proceedings of the International Conferences on Software Processes (ICSP'10)}, Month = jul, Publisher = {LNCS Springer Verlag}, Title = {Software Process Model Blueprints}, Year = {2010}, Keywords = {moose-pub} } @inproceedings{Berg10c, author = {Bergel, Alexandre and Robbes, Romain and Binder, Walter}, affiliation = {University of Chile Pleiad Lab, DCC Santiago Chile}, title = {Visualizing Dynamic Metrics with Profiling Blueprints}, booktitle = {Objects, Models, Components, Patterns}, series = {Lecture Notes in Computer Science}, editor = {Vitek, Jan}, publisher = {Springer Berlin / Heidelberg}, pages = {291-309}, volume = {6141}, doi = {10.1007/978-3-642-13953-6_16}, year = {2010}, Keywords = {moose-pub} } @inproceedings{Berg10d, Abstract = {Code profiling is an essential activity to increase software quality. It is commonly employed in a wide variety of tasks, such as supporting program comprehension, determining execution bottlenecks, and assessing code coverage by unit tests. Spy is an innovative framework to easily build profilers and visualize profiling information. The profiling information is obtained by inserting dedicated code before or after method execution. The gathered profiling information is structured in line with the application structure in terms of packages, classes, and methods. Spy has been instantiated on four occasions so far. We created profilers dedicated to test coverage, time execution, type feedback, and profiling evolution across version. We also integrated Spy in the Pharo IDE. Spy has been implemented in the Pharo Smalltalk programming language and is available under the MIT license.}, Annote = {internationalworkshop}, Booktitle = {Smalltalks 2010}, Author = {Alexandre Bergel and Felipe Ba\~nados and Romain Robbes and David R\"othlisberger}, Keywords = {scg11 scg-pub jb12 roethlisberger missing-doi missing-pdf}, Location = {Concepcion del Uruguay, Entre Rios, Argentina}, Medium = {2}, Peerreview = {yes}, Title = {Spy: A Flexible Code Profiling Framework}, Year = {2010}, Keyword = {moose-pub} } @inproceedings{Berg10e, Booktitle = {In Proceedings of the 4th Argentinian Smalltalk Conference 2010 (Smalltalks'10)}, Author = {Alexandre Bergel and Mariano Abel Coca and Gabriela Arevalo and Dale Henrichs and Jannik Laval}, Title = {Memory Profiling Blueprint}, Year = {2010}, annote = {internationalworkshop}, Keyword = {moose-pub} } @inproceedings{Berg10f, Author = {Julio A. Hurtado and Mar\'ia Cecilia Bastarrica and Alexandre Bergel}, Booktitle = {Proceedings of the XXIX International Conference of the SCCC}, Title = {Analyzing the Scrum Process Model with AVISPA}, month = nov, year = {2010}, Keywords = {moose-pub} } @inproceedings{Berg11a, Author = {Julio Ariel Hirtado Alegr\'ia and Mar\'ia Cecilia Bastarrica and Alexandre Bergel}, Title = {Analyzing Software Process Models with AVISPA}, Booktitle = {Proceedings of the International Conference on Software and Systems Process (ICSSP'11)}, Year = {2011}, Month = may, Url = {http://bergel.eu/download/papers/Berg11a-icssp11.pdf}, Keywords = {moose-pub} } @inproceedings{Berg11b, Abstract = {Domain-specific languages and models are increasingly used within general-purpose host languages. While traditional profiling tools perform well on host language code itself, they often fail to provide meaningful results if the developers start to build and use abstractions on top of the host language. In this paper we motivate the need for dedicated profiling tools with three different case studies. Furthermore, we present an infrastructure that enables developers to quickly prototype new profilers for their domain-specific languages and models.}, Annote = {internationalconference}, Author = {Alexandre Bergel and Oscar Nierstrasz and Lukas Renggli and Jorge Ressia}, Booktitle = {Proceedings of the 49th International Conference on Objects, Models, Components and Patterns (TOOLS'11)}, Keywords = {scg1 scg-pub jb11 snf11 helvetia bifrost}, Publisher = {Springer-Verlag}, Volume = {6705}, Series = {LNCS}, Peerreview = {yes}, Ratex = {28%}, Title = {Domain-Specific Profiling}, Year = {2011}, Month = jun, Doi = {10.1007/978-3-642-21952-8_7}, Pages = {68--82}, Url = {http://scg.unibe.ch/archive/papers/Berg11b-Profiling.pdf} } @article{Berg11c, Abstract = {The Java virtual machine (JVM) has been adopted as the executing platform by a large number of dynamically typed programming languages. For example, Scheme, Ruby, Javascript, Lisp, and Basic have been successfully implemented on the JVM and each is supported by a large community. Interoperability with Java is one important requirement shared by all these languages. We claim that the lack of type annotation in interpreted dynamic languages makes this interoperability either flawed or incomplete in the presence of method overloading. We studied 17 popular dynamically typed languages for JVM and .Net, none of them were able to properly handle the complexity of method overloading. We present dynamic type tag, an elegant solution for dynamic language interpreters to properly interact with Java objects in the presence of overloaded methods. The idea is to embody a type annotation in a Java object reference. Java references may be annotated in order to properly determine the signature of methods to invoke. We demonstrate its applicability in the JSmall language and provide the pellucid embedding, a formalization of our approach.}, Annote = {internationaljournal}, Author = {Alexandre Bergel}, Doi = {10.1016/j.cl.2011.03.002}, Journal = {Journal of Computer Languages, Systems and Structures}, Pages = {132--150}, Volume ={37}, Year = {2011}, Issn = {1477-8424}, Title = {Reconciling method overloading and dynamically typed scripting languages} } @inproceedings{Berg11d, Author = {Alexandre Bergel}, Booktitle = {Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP'11)}, Pages = {xx--xx}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Counting Messages as a Proxy for Average Execution Time in Pharo}, Month = jul, Year = {2011}, Note = {to appear} } @inproceedings{Berg11e, Author = {Mar\'ia Cecilia Bastarrica and Julio A. Hurtado and Alexandre Bergel}, Booktitle = {Proceedings of the 18th European System \& Software Process Improvement and Innovation Conference (EuroSPI'11)}, Pages = {xx-xx}, Publisher = {}, Title = {Toward Lean Development in Formally Specified Software Processes}, Month = jun, Year = {2011}, Note = {to appear} } @article{Berg11f, Author = {Alexandre Bergel and Felipe Ba\~nados and Romain Robbes and Walter Binder}, Journal = {Software: Practice and Experience}, Title = {Execution profiling blueprints}, Year = {2011}, Pages = {}, Month = aug } @phdthesis{Beri97a, Author = {Dorothea Beringer}, Keywords = {olit}, Number = {No. 1655}, School = {EPFL, Lausanne}, Title = {Modelling Global Behaviour with Scenarios in Object-Oriented Analysis}, Type = {{Ph.D}. Thesis}, Year = {1997} } @inproceedings{Berl90a, Author = {Lucy M. Berlin}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-reuse oopsla90 ecoop90proc}, Month = oct, Pages = {181--193}, Title = {When Objects Collide: Experiences with Reusing Multiple Class Hierarchies}, Volume = {25}, Year = {1990} } @inproceedings{Berl90b, Author = {Brian Berliner}, Booktitle = {Proc. The Advanced Computing Systems Professional and Technical Association (USENIX) Conf.}, Pages = {22--26}, Title = {CVS II: Parallelizing Software Development}, Year = {1990} } @article{Bern81a, Author = {Philip A. Bernstein and N. Goodman}, Journal = {ACM Computing Surveys}, Keywords = {dblit distribution}, Month = jun, Number = {2}, Pages = {185--221}, Title = {Concurrency Control in Distributed Database Systems}, Volume = {13}, Year = {1981} } @inproceedings{Bern82a, Author = {Philip A. Bernstein and N. Goodman}, Booktitle = {Proceedings of the Eighth International Conference on Very Large Data Bases}, Keywords = {concurrency other}, Pages = {62--76}, Title = {A Sophisticate's Introduction to Distributed Concurrency Control}, Year = {1982} } @article{Bern96a, Author = {Philip A. Bernstein}, Journal = {Database Programming and Design}, Keywords = {olit repository abb}, Month = dec, Title = {Repositories, Objects, and PC Tools --- How Repositories Will Develop in the Personal Computer Market}, Year = {1996} } @inproceedings{Bern97a, Address = {Ulm, Germany}, Author = {Philip A. Bernstein}, Booktitle = {Proceedings BTW '97}, Editor = {Dittrich, Klaus R. and Geppert, Andreas}, Keywords = {scglib dblit oodb repository abb}, Month = mar, Pages = {34--46}, Publisher = {Springer-Verlag}, Title = {{Repositories and Object Oriented Databases}}, Url = {http://www.research.microsoft.com/users/philbe/SIGMOD%20Record.doc}, Year = {1997}, Bdsk-Url-1 = {http://www.research.microsoft.com/users/philbe/SIGMOD%20Record.doc} } @inproceedings{Bern97b, Address = {Athens, Greece}, Author = {Philip A. Bernstein and Brian Harry and Paul Sanders and David Shutt and Jason Zander}, Booktitle = {Proceedings of International Conference on Very Large Data Bases (VLDB '97)}, Keywords = {scglib respository dblit abb oodb com}, Pages = {3--12}, Title = {{The Microsoft Repository}}, Url = {http://www.research.microsoft.com/users/philbe/VLDB97.DOC}, Year = {1997}, Bdsk-Url-1 = {http://www.research.microsoft.com/users/philbe/VLDB97.DOC} } @techreport{Bern98a, Author = {T. Berners-Lee and R. Fielding and U.C. Irvine and L. Masinter}, Institution = {RFC 2396}, Month = aug, Note = {http://www.ietf.org/rfc/rfc2396.txt}, Title = {{Uniform} {Resource} {Identifiers} ({URI}): Generic Syntax}, Year = {1998} } @inproceedings{Bern98b, Author = {Stefan Berner and Stefan Joos and Martin Glinz and Martin Arnold}, Booktitle = {Proceedings of ASE 1998}, Pages = {225--228}, Title = {A Visualization Concept for Hierarchical Object Models}, Year = {1998} } @article{Bern99a, Author = {Philip A. Bernstein and Thomas Bergstr{\"a}sser and Jason Carlson and Shankar Pal and Paul Sanders and David Shutt}, Journal = {Information Systems}, Keywords = {olit repository abb com com+ visual basic}, Number = {2}, Pages = {71--98}, Title = {{Microsoft Repository Version 2 and the Open Information Model}}, Url = {http://msdn.microsoft.com/repository/technical/infosys/default.asp}, Volume = {24}, Year = {1999}, Bdsk-Url-1 = {http://msdn.microsoft.com/repository/technical/infosys/default.asp} } @article{Bern01a, Author = {Berners-Lee and T. Hendler and J. Lassila}, Journal = {Scientific American}, Month = may, Title = {The Semantic Web}, Year = {2001} } @inproceedings{Berr90a, Address = {San Francisco}, Author = {G{\'e}rard Berry and G{\'e}rard Boudol}, Booktitle = {Proceedings POPL '90}, Keywords = {pcalc cham tccs binder(conc) popl90}, Misc = {Jan 17-19}, Month = jan, Pages = {81--94}, Title = {The Chemical Abstract Machine}, Year = {1990} } @article{Berr92a, Author = {G\'erard Berry and G\'erard Boudol}, Journal = {Theoretical Computer Science}, Keywords = {pcalc cham tccs binder(conc) popl90 pisem}, Pages = {217--248}, Title = {The Chemical Abstract Machine}, Url = {http://www-sop.inria.fr/meije/personnel/Gerard.Berry/cham.ps}, Volume = {96}, Year = {1992}, Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Gerard.Berry/cham.ps} } @article{Berr94a, Address = {Philadelphia, PA}, Author = {Michael W. Berry and Susan T. Dumais and Gavin W. O'Brien}, Journal = {SIAM Review}, Number = {4}, Pages = {573--597}, Publisher = {Society for Industrial and Applied Mathematics}, Title = {Using linear algebra for intelligent information retrieval}, Volume = {37}, Year = {1995} } @incollection{Berr98, Author = {G\'{e}rard Berry}, Booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner}, Editor = {G. Plotkin and C. Stirling and M. Tofte}, Publisher = {MIT Press}, Title = {The Foundations of {E}sterel}, isbn = {0-262-16188-5}, Year = {1998} } @inproceedings{Berr04a, Author = {Daniel Berry}, Booktitle = {Radical Innovations of Software and Systems Engineering in the Future}, Editor = {M. Wirsing, A. Knapp and S. Balsamo}, Keywords = {rissef}, Pages = {50--74}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Inevitable Pain of Software Development: Why There Is No Silver Bullet}, Url = {http://se.uwaterloo.ca/~dberry/inevitable.pain.html}, Volume = {2941}, Year = {2004}, Bdsk-Url-1 = {http://se.uwaterloo.ca/~dberry/inevitable.pain.html} } @inproceedings{Berry00, author = {Berry, G{\'e}rard}, title = {The foundations of {Esterel}}, booktitle = {Proof, Language, and Interaction, Essays in Honour of Robin Milner}, year = {2000}, keywords = {damiencbib}, isbn = {978-0-262-16188-6} } @book{Bert74a, Author = {Jacques Bertin}, Keywords = {visualization scglib}, Publisher = {Walter de Gruyter}, Title = {Graphische Semiologie}, Year = {1974} } @book{Bert83a, Author = {Jacques Bertin}, Isbn = {0299090604}, Publisher = {University of Wisconsin Press}, Title = {Semiology of Graphics}, Year = {1983} } @article{Bert91a, Author = {Elisa Bertino and Lorenzo Martino}, Journal = {IEEE Computer}, Keywords = {oodb-olit survey (smc)}, Month = apr, Number = {4}, Pages = {33--48}, Title = {Object-Oriented Database Management Systems: Concepts and Issues}, Volume = {24}, Year = {1991} } @inproceedings{Bert93a, Author = {Y. Bertrand and J-F. Dufourd and P. Lienhardt}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {75--89}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Algebraic Specification and Development in Geometric Modeling}, Volume = {668}, Year = {1993} } @book{Bert94a, Address = {Palermo, Italy}, Author = {Elisa Bertino and Susan Urban}, Isbn = {3-540-58451-X}, Keywords = {olit isooms94 scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings, Object-Oriented Methodologies and Systems}, Volume = {858}, Year = {1994} } @inproceedings{Bert94b, Address = {Bologna, Italy}, Author = {Elisa Bertino and Giovanna Guerrini and Danilo Montesi}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {213--235}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Deductive Object Databases}, Volume = {821}, Year = {1994} } @inproceedings{Bert95a, Address = {Aarhus, Denmark}, Author = {Elisa Bertino and Giovanna Guerrini}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {102--126}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Objects with Multiple Most Specific Classes}, Volume = {952}, Year = {1995} } @inproceedings{Bert99a, 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.}, Address = {Lisbon, Portugal}, Author = {Elisa Bertino and Giovanna Guerrini and Isabella Merlo and Marco Mesiti}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {416--440}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Approach to Classify Semi-Structured Objects}, Volume = 1628, Year = {1999} } @inproceedings{Bert03a, 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}, Author = {Roland Bertuli and St\'ephane Ducasse and Michele Lanza}, Booktitle = {Proceedings of WOOR 2003 (4th International Workshop on Object-Oriented Reengineering)}, Keywords = {snf03 scg-pub skip-doi jb03 stefPub moose-pub}, Pages = {10--19}, Publisher = {University of Antwerp}, Title = {Run-Time Information Visualization for Understanding Object-Oriented Systems}, Url = {http://scg.unibe.ch/archive/papers/Bert03aEcoopWorkshop.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bert03aEcoopWorkshop.pdf} } @inproceedings{Bert07a, Address = {Washington, DC, USA}, Author = {Antonia Bertolino}, Booktitle = {Proceedings of Future of Software Engineering (FOSE'07) at 29th International Conference on Software Engineering}, Doi = {10.1109/FOSE.2007.25}, Isbn = {0-7695-2829-5}, Pages = {85--103}, Publisher = {IEEE Computer Society}, Title = {Software Testing Research: Achievements, Challenges, Dreams}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/FOSE.2007.25} } @inproceedings{Bert09a, title = {A {SIP}-Based Home Automation Platform: An experimental study}, author = {Bertran, Benjamin and Consel, Charles and Kadionik, Patrice and Lamer, Bastien}, keywords = {damiencbib}, booktitle = {ICIN'09: Proceedings of the 13th International Conference on Intelligence in Next Generation Networks}, publisher = {IEEE}, doi = {10.1109/ICIN.2009.5357075}, pages = {1--6}, address = {Bordeaux, France}, year = {2009} } @inproceedings{Bert10a, title = {{SIP} as a Universal Communication Bus: A Methodology and an Experimental Study}, author = {Bertran, Benjamin and Consel, Charles and Jouve, Wilfried and Guan, Hongyu and Kadionik, Patrice}, booktitle = {ICC'10: Proceedings of the 9th International Conference on Communications}, doi = {10.1109/ICC.2010.5502591}, pages = {1--5}, keywords = {damiencbib}, address = {Cape Town, South Africa}, year = {2010}, publisher = {IEEE Press} } @article{Bert11X, author = {Bertran, Benjamin and Bruneau, Julien and Cassou, Damien and Loriant, Nicolas and Balland, Emilie and Consel, Charles}, title = {DiaSuite: a Tool Suite To Develop Sense/Compute/Control Applications}, journal = {Science of Computer Programming, Fourth special issue on Experimental Software and Toolkits}, year = {2011}, ImpactFactorVal = {1.304}, ImpactFactorYear = {2010}, note = {(major revision)} } @article{Bess01a, Author = {F. Besson and T. Jensen and D. Le M\'etayer and T. Thorn}, Journal = {Journal of Computer Security}, Pages = {217--250}, Title = {Model ckecking security properties of control flow graphs}, Volume = {9}, Year = {2001} } @book{Best93a, Address = {Heidesheim, Germany}, Editor = {Eike Best}, Isbn = {3-540-57208-2}, Keywords = {olit concur93 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'93}, Volume = {715}, Year = {1993} } @inproceedings{Beti05a, Address = {New York, NY, USA}, Author = {Aysu Betin-Can and Tevfik Bultan and Xiang Fu}, Booktitle = {WWW '05: Proceedings of the 14th international conference on World Wide Web}, Doi = {10.1145/1060745.1060853}, Isbn = {1-59593-046-9}, Location = {Chiba, Japan}, Pages = {750--759}, Publisher = {ACM Press}, Title = {Design for verification for asynchronously communicating Web services}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1060745.1060853} } @inproceedings{Bett08a, Author = {Bettini, Lorenzo and Bono, Viviana}, Booktitle = {Proc. of PPPJ, Principles and Practice of Programming in Java}, Note = {To appear}, Publisher = {ACM Press}, Title = {{Type Safe Dynamic Object Delegation in Class-based Languages}}, Year = {2008} } @inproceedings{Bett08c, Address = {New York, NY, USA}, Author = {Bettenburg, Nicolas and Premraj, Rahul and Zimmermann, Thomas and Kim, Sunghun}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370757}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {27--30}, Publisher = {ACM}, Title = {Extracting structural information from bug reports}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370757} } @inproceedings{Bett08d, Author = {Lorenze Bettini and Viviana Bono and Marco Naddeo}, Booktitle = {PPPJ 2008}, Publisher = {ACM Press}, Series = {ACM International Conference Proceedings}, Title = {A Trait Based Re-engineering Technique for Java Hierarchies}, Url = {http://www.di.unito.it/~bono/papers/pppj2008b.pdf}, Year = {2008}, Bdsk-Url-1 = {http://www.di.unito.it/~bono/papers/pppj2008b.pdf} } @article{Bett09a, author = {Bettini, Lorenzo and Capecchi, Sara and Venneri, Betti}, title = {Featherweight Java with dynamic and static overloading}, journal = {Sci. Comput. Program.}, volume = {74}, issue = {5-6}, month = mar, year = {2009}, issn = {0167-6423}, pages = {261--278}, numpages = {18}, url = {http://portal.acm.org/citation.cfm?id=1518341.1518655}, doi = {10.1016/j.scico.2009.01.007}, acmid = {1518655}, publisher = {Elsevier North-Holland, Inc.}, address = {Amsterdam, The Netherlands, The Netherlands}, keywords = {Dynamic overloading, Featherweight Java, Multi-methods, Object-oriented languages, Static overloading, Type system} } @book{Beus07a, Author = {C\'{e}dric Beust and Hani Suleiman}, Citeulike-Article-Id= {5724043}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1324803}, Isbn = {0321503104}, Keywords = {jexample, tdd}, Posted-At = {2009-09-04 16:41:55}, Priority = {2}, Publisher = {Addison-Wesley Professional}, Title = {Next generation {Java} testing: {TestNG} and advanced concepts}, Url = {http://portal.acm.org/citation.cfm?id=1324803}, Year = {2007}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1324803} } @techreport{Beye03a, Author = {Dirk Beyer and Claus Lewerentz}, Institution = {Institute of Computer Science, Brandenburgische Technische Universit{\"a}t Cottbus}, Month = jan, Number = {I-04/2003}, Title = {{CrocoPat}: A Tool for Efficient Pattern Recognition in Large Object-Oriented Programs}, Year = {2003} } @inproceedings{Beye05a, Author = {Dirk Beyer}, Booktitle = {Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM), Industrial and Tool volume}, Location = {Budapest}, Pages = {89--92}, Title = {Co-change visualization}, Url = {http://citeseer.ist.psu.edu/beyer05cochange.html}, Year = {2005}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/beyer05cochange.html} } @inproceedings{Beye06a, Address = {Washington, DC, USA}, Author = {Dirk Beyer and Ahmed E. Hassan}, Booktitle = {WCRE '06: Proceedings of the 13th Working Conference on Reverse Engineering}, Doi = {10.1109/WCRE.2006.14}, Isbn = {0-7695-2719-1}, Pages = {199--210}, Publisher = {IEEE Computer Society}, Title = {Animated Visualization of Software History using Evolution Storyboards}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.14} } @inproceedings{Bezi87a, Author = {Jean B\'ezivin}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {394--405}, Title = {Some Experiments In Object-Oriented Simulation}, Volume = {22}, Year = {1987} } @inproceedings{Bezi01a, Author = {Jean B\'ezivin and Olivier Gerb\'e}, Booktitle = {ASE'01: Proceedings of 16th International Conference on Automated Software Engineering}, Keywords = {metamodeling damiencbib mde mda omg model}, Pages = {273--282}, Publisher = {IEEE Computer Society}, Title = {Towards a Precise Definition of the {OMG/MDA} Framework}, address = {San Diego, CA, USA}, doi = {10.1109/ASE.2001.989813}, ISSN = {1527-1366}, Url = {http://www.sciences.univ-nantes.fr/lina/atl/www/papers/ASE01.OG.JB.pdf}, Year = {2001}, month = nov, Bdsk-Url-1 = {http://www.sciences.univ-nantes.fr/lina/atl/www/papers/ASE01.OG.JB.pdf} } @inproceedings{Bezi03a, Annote = {internationalconference}, Author = {B\'ezivin, Jean and Farcet, Nicolas and J\'ez\'equel, Jean-Marc and Langlois, Beno\^\it and Pollet, Damien}, Booktitle = {UML~2003 --- The Unified Modeling Language --- Modeling Languages and Applications}, Editor = {Stevens, Perdita and Whittle, Jon and Booch, Grady}, Isbn = {3-540-20243-9}, Month = oct, Pages = {175--189}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Reflective Model Driven Engineering}, Url = {http://www.irisa.fr/triskell/publis/2003/Bezivin03.pdf}, Volume = {2863}, Year = {2003}, Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2003/Bezivin03.pdf} } @article{Bhan94a, Author = {Sanjay Bhansali}, Editor = {W. Lewis Jhonson and Anthony Finkelstein}, Journal = {Automated Software Engineering}, Keywords = {olit binder}, Number = {3}, Pages = {239--280}, Publisher = {Kluwer Academic Publishers}, Title = {Software Synthesis using Generic Architectures}, Volume = {1}, Year = {1994} } @techreport{Bhar96a, Author = {Krishna A. Bharat and Luca Cardelli}, Institution = {Digital}, Keywords = {agents mobility binder}, Misc = {February 15}, Month = feb, Number = {138}, Title = {Migratory Applications}, Type = {SCR Research Report}, Url = {http://gatekeeper.dec.com/pub/DEC/SRC/research-report/SRC-138.ps}, Year = {1996}, Bdsk-Url-1 = {http://gatekeeper.dec.com/pub/DEC/SRC/research-report/SRC-138.ps} } @inproceedings{Bhas86a, Author = {K.S. Bhaskar and J.K. Pecol and J.L. Beug}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl virtual instruments smalltalk oopsla86}, Month = nov, Pages = {303--314}, Title = {Virtual Instruments: Object-Oriented Program Synthesis}, Volume = {21}, Year = {1986} } @article{Bhat05a, Address = {Hingham, MA, USA}, Author = {Shah Bhatti and James Carlson and Hui Dai and Jing Deng and Jeff Rose and Anmol Sheth and Brian Shucker and Charles Gruenwald and Adam Torgerson and Richard Han}, Doi = {10.1145/1160162.1160178}, Issn = {1383-469X}, Journal = {Mob. Netw. Appl.}, Number = {4}, Pages = {563--579}, Publisher = {Kluwer Academic Publishers}, Title = {MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms}, Volume = {10}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1160162.1160178} } @inproceedings{Bhat07a, Annote = {internationalworkshop stefPub}, Author = {Bhatti, Muhammad Usman and St\'ephane Ducasse}, Booktitle = {FAMOOSr, 1st Workshop on FAMIX and Moose in Reengineering}, Keywords = {moose-pub}, Title = {Surgical Information to Detect Design Problems with MOOSE}, Url = {http://scg.unibe.ch/archive/papers/Bhat07aFamoosRWorkshop.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bhat07aFamoosRWorkshop.pdf} } @inproceedings{Bhat08a, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference stefPub}, Author = {Bhatti, Muhammad Usman and St\'ephane Ducasse and Awais Rashid}, Booktitle = {International Conference on Program Comprehension (ICPC 2008)}, Inria = {ADAM}, Keywords = {moose-pub}, Misc = {short paper}, Selectif = {non}, Title = {Aspect Mining in Procedural Object-Oriented Code}, Url = {http://scg.unibe.ch/archive/external/Bhat08a-ICPC2008-AspectMining.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Bhat08a-ICPC2008-AspectMining.pdf} } @inproceedings{Bhat08b, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference stefPub}, Author = {Bhatti, Muhammad Usman and St\'ephane Ducasse and Marianne Huchard}, Booktitle = {International Conference on Reverse Engineering (WCRE)}, Inria = {RMoD}, Keywords = {moose-pub}, Selectif = {non}, Title = {Reconsidering Classes in Procedural Object-Oriented Code}, Url = {http://scg.unibe.ch/archive/external/Bhat08b-WCRE2008ObjectIdentification.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Bhat08b-WCRE2008ObjectIdentification.pdf} } @article{Bibl01a, Author = {John Bible and Gregg Rothermel and David Rosenblum}, Journal = {ACM TOSEM}, Keywords = {testing}, Month = apr, Number = {2}, Pages = {149--183}, Title = {A Comparative Study of Coarse- and Fine-Grained Safe Regression Test Selection}, Volume = {10}, Year = {2001} } @inproceedings{Bido93a, Author = {M. Bidoit and R. Hennicker}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {199--214}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A General Framework for Modular Implementations of Modular System Specifications}, Volume = {668}, Year = {1993} } @proceedings{Bido97a, Address = {Lille, France}, Booktitle = {Proceedings of the 7th International Conference CAAP/FASE, TAPSOFT '97}, Editor = {Michel Bidoit and MAx Dauchet}, Isbn = {3-540-62781-2}, Keywords = {tapsoft97 scglib}, Month = apr, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Theory and Practice of Software Development}, Volume = {1214}, Year = {1997} } @article{Biem94a, Author = {J.M. Bieman and L.M.Ott}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-reuse}, Month = aug, Number = {8}, Pages = {644--658}, Title = {Measuring Functional Cohesion}, Volume = {20}, Year = {1994} } @inproceedings{Biem95a, Author = {J.M. Bieman and B.K. Kang}, Booktitle = {Proceedings ACM Symposium on Software Reusability}, Keywords = {olit}, Month = apr, Title = {Cohesion and Reuse in an Object-Oriented System}, Year = {1995} } @article{Biem98a, Author = {J.M. Bieman and Byung-Kyoo Kang}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-reuse}, Month = feb, Number = {2}, Pages = {111--124}, Title = {Measuring Design-Level Cohesion}, Volume = {24}, Year = {1998} } @book{Bien93a, Author = {Tim Bienz and Richard Cohn}, Isbn = {0-201-62628-4}, Keywords = {pdf scglib}, Publisher = {Addison Wesley}, Title = {Portable Document Format Reference Manual}, Year = {1993} } @inproceedings{Bier03a, Author = {G. Bierman and M. Hicks and P. Sewell and G. Stoyle}, Booktitle = {Proc. 2nd International Workshop on Unanticipated Software Evolution (USE 2003)}, Title = {Formalizing dynamic software updating}, Year = {2003} } @techreport{Bier03b, Author = {G.M. Bierman and M.J. Parkinson and A.M. Pitts}, Institution = {University of Cambridge Computer Laboratory, J.J. Thomson Avenue, Cambridge. CB3 0FD. UK}, Title = {MJ: An imperative core calculus for Java and Java with effects}, Url = {http://www.cl.cam.ac.uk/TechReports/}, Year = {2003}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/TechReports/} } @inproceedings{Bier05a, author = {Gavin Bierman}, title = {First-class relationships in an object-oriented language}, booktitle = {ECOOP}, year = {2005}, pages = {262--286}, publisher = {Springer-Verlag}, doi = {10.1007/11531142_12}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.2716&rep=rep1&type=pdf} } @article{Bigg87a, Author = {T.J. Biggerstaff and C. Richter}, Journal = {IEEE Software}, Keywords = {olit-reuse}, Month = mar, Number = {2}, Pages = {41--49}, Title = {Reusability Framework, Assessment, and Directions}, Volume = {4}, Year = {1987} } @book{Bigg89a, Address = {Reading, Mass.}, Author = {T.J. Biggerstaff and A.J. Perlis}, Isbn = {0-201-08017-6}, Keywords = {olit-reuse book scglib}, Publisher = {ACM Press \& Addison Wesley}, Title = {Software Reusability Volume {I}: Concepts and Models}, Volume = {I}, Year = {1989} } @book{Bigg89b, Address = {Reading, Mass.}, Author = {T.J. Biggerstaff and A.J. Perlis}, Isbn = {0-201-50018-3}, Keywords = {olit-reuse book scglib}, Publisher = {ACM Press \& Addison Wesley}, Title = {Software Reusability Volume {II}: Applications and Experience}, Volume = {II}, Year = {1989} } @article{Bigg89c, Author = {Ted J. Biggerstaff}, Journal = {IEEE Computer}, Keywords = {reveng oorp}, Month = oct, Pages = {36--49}, Publisher = {IEEE Computer Society Press}, Title = {Design Recovery for Maintenance and Reuse}, Volume = {22}, Year = {1989} } @incollection{Bigg92a, Author = {T.J. Biggerstaff}, Booktitle = {Software Reengineering}, Editor = {Robert S. Arnold}, Keywords = {reveng}, Pages = {520--533}, Publisher = {IEEE Computer Society Press}, Title = {Design Recovery for Maintenance and Reuse}, Year = {1992} } @inproceedings{Bigg93a, Author = {Ted J. Biggerstaff and Bharat G. Mittbander and Dallas Webster}, Booktitle = {Proceedings of the 15th international conference on Software Engineering (ICSE 1993)}, Keywords = {oorp}, Publisher = {IEEE Computer}, Title = {The concept assignment problem in program understanding}, Year = {1993} } @article{Bigg94a, Author = {Ted J. Biggerstaff and Bharat G. Mitbander and Dallas E. Webster}, Journal = {Communications of the ACM}, Keywords = {oorp}, Month = may, Number = {5}, Pages = {72--82}, Publisher = {ACM}, Title = {Program Understanding and the Concept Assignment Problem}, Volume = {37}, Year = {1994} } @inproceedings{Bigg94b, Author = {Ted J. Biggerstaff}, Booktitle = {Proceedings ICSR 1994}, Title = {The Library Scaling Problem and the Limits of Concrete Component Reuse}, Year = {1994} } @article{Biha92a, Author = {Thomas A. Bihari and Prabha Gopinath}, Journal = {IEEE Computer}, Keywords = {olit-obc}, Month = dec, Number = {12}, Pages = {25--32}, Title = {Object-Oriented Real-Time Systems: Concepts and Examples}, Volume = {25}, Year = {1992} } @inproceedings{Bijn94a, 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.}, Author = {Stijn Bijnens and Wouter Joosen and Pierre Verbaeten}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {139--151}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Reflective Invocation Scheme to Realise Advanced Object Management}, Volume = {791}, Year = {1994} } @incollection{Bijn95a, 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.}, Author = {Stijn Bijnens and Wouter Joosen and Pierre Verbaeten}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-18}, Pages = {14--28}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Sender Initiated and Receiver Initiated Coordination in a Global Object Space}, Volume = {924}, Year = {1995} } @book{Bind99a, Author = {Binder, Robert V.}, Keywords = {oobib scglib olit selit testing oorp}, Location = {Archiv SCG}, Publisher = {Addison Wesley}, Series = {Object Technology Series}, Title = {{Testing Object-Oriented Systems: Models, Patterns, and Tools}}, Year = {1999} } @inproceedings{Bind05a, Address = {Tsukuba, Japan}, Author = {Walter Binder}, Booktitle = {Proceedings of The Third Asian Symposium on Programming Languages and Systems (APLAS-2005)}, Month = {nov}, Pages = {178--194}, Series = {LNCS}, Title = {A Portable and Customizable Profiling Framework for {Java} Based on Bytecode Instruction Counting}, Url = {http://ropas.snu.ac.kr/2005/aplas/}, Volume = {3780}, Year = {2005}, Bdsk-Url-1 = {http://ropas.snu.ac.kr/2005/aplas/} } @article{Bind06a, author = {Binder, Walter}, title = {Portable and accurate sampling profiling for Java}, journal = {Softw. Pract. Exper.}, volume = {36}, number = {6}, year = {2006}, issn = {0038-0644}, pages = {615--650}, doi = {10.1002/spe.v36:6}, publisher = {John Wiley \& Sons, Inc.}, address = {New York, NY, USA} } @inproceedings{Bing93a, Author = {Tim Bingham and Nancy Hobbs and Dave Husson}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {83--90}, Title = {Experiences Developing and Using an {OO} Library for Program Manipulation}, Volume = {28}, Year = {1993} } @article{Binn96a, Doi = {10.1142/S0218194096000107}, title = {Domain-Specific Software Architectures for Guidance, Navigation, and Control}, author = {Binns, Pam and Engelhart, Matt and Jackson, Mike and Vestal, Steve}, journal = {International Journal of Software Engineering and Knowledge Engineering}, volume = {6}, number = {2}, keywords = {damiencbib architecture metah adl}, pages = {201--227}, year = {1996}, publisher = {World Scientific Publishing Company} } @inproceedings{Bird05a, author = {Steven Bird}, title = {NLTK-Lite: Efficient scripting for natural language processing}, booktitle = {In Proc. of the 4th International Conference on Natural Language Processing (ICON}, year = {2005}, pages = {11--18}, publisher = {Publishers} } @book{Bird09a, address = {Beijing}, author = {Steven Bird and Ewan Klein and Edward Loper}, interhash = {5408d7da097b9cd81239c238da8bfaf4}, intrahash = {c90dc59441d01c8bef58a947274164d4}, publisher = {O'Reilly}, title = {Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit}, url = {http://www.nltk.org/book}, year = {2009}, keywords = {python text software ai development v1002 book processing language framework}, file = {O'Reilly Product page:http\://www.oreilly.com/catalog/9780596516499/:URL;Amazon Search inside:http\://www.amazon.de/gp/reader/0596516495/:URL;Google Books:http\://books.google.de/books?isbn=978-0-596-51649-9:URL;Related Web Site:http\://www.nltk.org/:URL}, isbn = {978-0-596-51649-9}, biburl = {http://www.bibsonomy.org/bibtex/2c90dc59441d01c8bef58a947274164d4/flint63} } @article{Birk40a, Author = {Garret Birkhoff}, Journal = {American Mathematical Society}, Title = {Lattice {Theory}}, Year = {1940} } @inproceedings{Birk04a, Author = {Adrian Birka and Michael D. Ernst}, Booktitle = {OOPSLA'2004}, Pages = {35--49}, Title = {A practical type system and language for reference immutability}, Year = {2004} } @article{Birm73a, Author = {Birman, Alexander and Ullman, Jeffrey D.}, Doi = {10.1109/SWAT.1970.18}, Issn = {0272-4847}, Journal = {IEEE Conference Record of 11th Annual Symposium on Switching and Automata Theory, 1970}, Keywords = {parsing}, Month = oct, Pages = {153-174}, Title = {Parsing algorithms with backtrack}, Year = {1970}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SWAT.1970.18} } @inproceedings{Birn01a, Address = {Vienna, Austria}, Author = {Dietrich Birngruber}, Booktitle = {Workshop on Composition Languages, WCL '01}, Keywords = {olit}, Month = sep, Pages = {1--13}, Title = {CoML: Yet Another, But Simple Component Composition Language}, Url = {http://www.cs.iastate.edu/~lumpe/WCL2001/}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.iastate.edu/~lumpe/WCL2001/} } @article{Birr82a, Author = {A.D. Birrell and R. Levin and R.M. Needham and M.D. Schroeder}, Journal = {CACM}, Keywords = {misc networks mail}, Month = apr, Number = {4}, Pages = {260--274}, Title = {Grapevine: An Exercise in Distributed Computing}, Volume = {25}, Year = {1982} } @inproceedings{Birr93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Andreas Birrer and Thomas Eggenschwiler}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {21--35}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Frameworks in the Financial Engineering Domain: An Experience Report}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @book{Birt73a, Address = {Philadelphia}, Author = {G. Birtwistle and Ole Johan Dahl and B. Myhrtag and Kristen Nygaard}, Keywords = {olit-oopl simula oobib(oopl)}, Publisher = {Auerbach Press}, Title = {Simula Begin}, Year = {1973} } @book{Bisc92a, Author = {Walter R. Bischofberger and Gustav Pomberger}, Isbn = {3-540-55448-3}, Keywords = {oobib(gen) book scglib}, Publisher = {Springer-Verlag}, Title = {Prototyping-Oriented Software Development}, Year = {1992} } @inproceedings{Bisc92b, Author = {Walter R. Bischofberger}, Booktitle = {C++ Conference}, Pages = {67--82}, Title = {Sniff: A Pragmatic Approach to a C++ Programming Environment}, Url = {http://citeseer.nj.nec.com/bischofberger92sniff.html}, Year = {1992}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/bischofberger92sniff.html} } @incollection{Bisc04a, Abstract = {In our experience the implementation of software systems frequently does not conform very closely to the planned architecture. For this reason we decided to implement source code architecture conformance checking support for Sotograph, our software analysis environment. Besides providing a conformance check for a single version of a system, Sotograph supports also trend analysis. I.e., the investigation of the evolution of a software system and the changes in architecture violations between a number of versions.}, Author = {Walter Bischofberger and Jan K\"{u}hl and Silvio L\"{o}ffler}, Booktitle = {Software Architecture}, Doi = {10.1007/b97879}, Keywords = {architecture}, Pages = {1--9}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Sotograph -- A Pragmatic Approach to Source Code Architecture Conformance Checking}, Volume = {3047}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/b97879} } @inproceedings{Bjoe88a, Author = {Anders Bj{\"o}rnerstedt and Stefan Britts}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit-oopl opal avance oopsla88}, Month = nov, Pages = {206--221}, Title = {{AVANCE}: An Object Management System}, Volume = {23}, Year = {1988} } @techreport{Bjoe89a, 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.}, Author = {Anders Bj{\"o}rnerstedt}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg-ftp ood89}, Month = jul, Pages = {277--319}, Title = {Secondary Storage Garbage Collection for Decentralized Object-Based Systems}, Type = {Object Oriented Development}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/garbageCollection.pdf}, Year = {1989}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/garbageCollection.pdf} } @incollection{Bjor89a, Address = {Reading, Mass.}, Author = {Anders Bjornerstedt and Christer Hulten}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit-oodb versions (smc)}, Pages = {451--485}, Publisher = {Addison Wesley/ACM Press}, Title = {Version Control in an Object-oriented Architecture}, Year = {1989} } @inproceedings{Blac86a, Author = {Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl emerald distribution oopsla86}, Month = nov, Pages = {78--86}, Title = {Object Structure in the {Emerald} System}, Volume = {21}, Year = {1986} } @article{Blac87a, Author = {Andrew Black and Norman Hutchinson and Eric Jul and Henry Levy and Larry Carter}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-obcl concurrency emerald distribution binder}, Month = jan, Number = {1}, Pages = {65--76}, Title = {Distribution and Abstract Data Types in Emerald}, Volume = {SE-13}, Year = {1987} } @article{Blac91a, Address = {New York, NY, USA}, Author = {Andrew P. Black}, Doi = {10.1145/122140.122149}, Issn = {0163-5980}, Journal = {SIGOPS Oper. Syst. Rev.}, Number = {1}, Pages = {73--76}, Publisher = {ACM Press}, Title = {Understanding transactions in the operating system context}, Volume = {25}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/122140.122149} } @inproceedings{Blac93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Andrew P. Black and Mark P. Immel}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {57--79}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Encapsulating Plurality}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Blac99a, 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.}, Address = {Lisbon, Portugal}, Author = {Andrew P. Black}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {519--528}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Programming: Regaining the Excitement}, Volume = 1628, Year = {1999} } @inproceedings{Blac00a, Author = {Andrew P. Black and Mark P. Jones}, Booktitle = {OOPSLA 2000 Workshop on Advanced Separation of Concerns in Object-oriented Systems}, Title = {Perspectives On Software}, Year = {2000} } @techreport{Blac02a, 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.}, Address = {Universit\"at Bern, Switzerland}, Annote = {report notrefereed}, Author = {Andrew P. Black and Nathanael Sch\"arli and St\'ephane Ducasse}, 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}, Institution = {Institut f\"ur Informatik}, Keywords = {snf03 scg-pub skip-doi jb02 scg-traits stefPub schaerli}, Month = nov, Note = {Also available as Technical Report CSE-02-014, OGI School of Science \& Engineering, Beaverton, Oregon, USA}, Number = {IAM-02-007}, Title = {Applying Traits to the {Smalltalk} Collection Hierarchy}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Blac02aTraitsHierarchy.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Blac02aTraitsHierarchy.pdf} } @inproceedings{Blac02b, Author = {Andrew P. Black}, Booktitle = {ECOOP 2002: Proceedings of the Inheritance Workshop}, Editor = {Andrew P. Black and Erik Ernst and Peter Grogono and Markky Sakkinen}, Month = jun, Publisher = {University of Jyv\"askyl\"a}, Title = {A Use for Inheritance}, Url = {http://www.cs.jyu.fi/~sakkinen/inhws/papers/Black.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.jyu.fi/~sakkinen/inhws/papers/Black.pdf} } @inproceedings{Blac03a, 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}, Author = {Andrew P. Black and Nathanael Sch\"arli and St\'ephane Ducasse}, Booktitle = {Proceedings of 17th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'03)}, Cvs = {TraitsRefactoringOOPSLA2003}, Doi = {10.1145/949305.949311}, Keywords = {snf04 scg-pub jb02 scg-traits stefPub schaerli stlit-traits}, Misc = {acceptance rate: 26/142 = 18\%}, AcceptTotal = {142}, AcceptNum = {26}, Month = oct, Pages = {47--64}, Title = {Applying Traits to the {Smalltalk} Collection Hierarchy}, Url = {http://scg.unibe.ch/archive/papers/Blac03aTraitsHierarchy.pdf}, Volume = {38}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Blac03aTraitsHierarchy.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/949305.949311} } @inproceedings{Blac04a, 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}, Author = {Andrew P. Black and Nathanael Sch\"arli}, Booktitle = {Proceedings ICSE 2004}, Cvs = {TraitsProgrammingICSE2003}, Doi = {10.1109/ICSE.2004.1317489}, Keywords = {snf04 scg-pub jb02 scg-traits schaerli}, Month = may, Pages = {676--686}, Title = {Traits: Tools and Methodology}, Url = {http://scg.unibe.ch/archive/papers/Blac04aTraitsTools.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Blac04aTraitsTools.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSE.2004.1317489} } @book{Blac07a, Abstract = {Squeak by Example, intended for both students and developers, will guide you gently through the Squeak language and environment by means of a series of examples and exercises. This book is made available under the Creative Commons Attribution-ShareAlike 3.0 license.}, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {book}, Author = {Andrew Black and St\'ephane Ducasse and Oscar Nierstrasz and Damien Pollet and Damien Cassou and Marcus Denker}, Inria = {ADAM}, Isbn = {978-3-9523341-0-2}, Keywords = {scg07 olit scg-pub jb08 snf-none skip-doi}, Medium = {2}, Note = {http://SqueakByExample.org/}, Peerreview = {no}, Publisher = {Square Bracket Associates}, Title = {Squeak by Example}, Url = {http://SqueakByExample.org/index.html}, Year = {2007}, Bdsk-Url-1 = {http://SqueakByExample.org/index.html} } @book{Blac09a, Abstract = {Pharo by Example, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. This book is made available under the Creative Commons Attribution-ShareAlike 3.0 license.}, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {book}, Author = {Andrew Black and St\'ephane Ducasse and Oscar Nierstrasz and Damien Pollet and Damien Cassou and Marcus Denker}, Inria = {ADAM}, Isbn = {978-3-9523341-4-0}, Keywords = {olit scg09 scg-pub jb09 snf-none skip-doi}, Medium = {2}, Peerreview = {no}, Publisher = {Square Bracket Associates}, Title = {Pharo by Example}, Url = {http://pharobyexample.org}, Year = {2009}, Bdsk-Url-1 = {http://pharobyexample.org} } @article{Blah88a, Author = {M.R. Blaha and W.J. Premerlani and James E. Rumbaugh}, Journal = {CACM}, Keywords = {dblit olit READ}, Month = apr, Number = {4}, Pages = {414--427}, Title = {Relational Database Design Using an Object-Oriented Methodology}, Volume = {31}, Year = {1988} } @book{Blah92a, Author = {Michael Blaha and William Permerlani Frederick Eddy and William Lorensen and James Rumbaugh}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Modeling and Design}, Year = {1992} } @book{Blah95a, Author = {Michael Blaha and William Permerlani Frederick Eddy and William Lorensen and James Rumbaugh}, Note = {seconde \'edition}, Publisher = {Masson--Prentice-Hall}, Title = {Mod\'elisation et conception orient\'ees objet}, Year = {1995} } @inproceedings{Blah98a, Author = {M. Blaha and D. LaPlant and E. Marvak}, Booktitle = {Proceedings of WCRE '98}, Keywords = {oorp}, Note = {ISBN: 0-8186-89-67-6}, Pages = {164--173}, Publisher = {IEEE Computer Society}, Title = {Requirements for Repository Software}, Year = {1998} } @inproceedings{Blah98b, Author = {M. Blaha}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {184--190}, Publisher = {IEEE Computer Society}, Title = {On Reverse Engineering of Vendor Databases}, Year = {1998} } @inproceedings{Blak87a, Address = {Paris, France}, Author = {Edwin Blake and Steve Cook}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {41--50}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Including Part Hierarchies in Object-Oriented Languages, with an Implementation in {Smalltalk}}, Volume = {276}, Year = {1987} } @article{Blas91a, Address = {New York}, Author = {G{\"u}nther Blaschek}, Journal = {Structured Programming}, Keywords = {olit-oopl omega binder}, Pages = {217--225}, Publisher = {Springer-Verlag}, Title = {Type-Safe Object-Oriented Programming with Prototypes --- The Concepts of Omega}, Volume = {12}, Year = {1991} } @inproceedings{Blas01a, Author = {Darius Blasband}, Booktitle = {Proceedings of the Eight Working Conference on Reverse Engineering (WCRE 2001)}, Doi = {10.1109/WCRE.2001.957834}, Keywords = {parsing}, Month = oct, Pages = {291--300}, Publisher = {IEEE Computer Society}, Title = {Parsing in a hostile world}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2001.957834} } @inproceedings{Bloc89a, Author = {F.P. Block and N.C. Chan}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {151--158}, Title = {An Extended Frame Language}, Volume = {24}, Year = {1989} } @inproceedings{Bloo79a, Address = {Pacific Grove, CA}, Author = {Toby Bloom}, Booktitle = {Proceedings of the Seventh Symposium on Operating Systems Principles}, Keywords = {concurrency binder(conc)}, Misc = {Dec. 10-12}, Month = dec, Pages = {24--32}, Title = {Evaluating Synchronization Mechanisms}, Year = {1979} } @inproceedings{Bloo87a, Author = {Toby Bloom and Stanley B. Zdonik}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-db oopsla87 oobib(oodb)}, Month = dec, Number = 12, Pages = {441--451}, Title = {Issues in the Design of Object-Oriented Database Programming Languages}, Volume = 22, Year = {1987} } @inproceedings{Bloo88a, Address = {San Diego}, Author = {Bard Bloom and Sorin Istrail and Albert R. Meyer}, Booktitle = {Proceedings POPL '88}, Keywords = {pcalc equivalence ccs csp binder popl88}, Misc = {Jan 13-15}, Month = jan, Pages = {229--239}, Title = {Bisimulation Can't Be Traced: Preliminary Report}, Year = {1988} } @incollection{Bloo90a, Author = {Bard Bloom and Albert R. Meyer}, Booktitle = {Semantics for Concurrency}, Editor = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas}, Keywords = {pcalc equivalence ccs binder}, Pages = {81--95}, Publisher = {Springer-Verlag}, Series = {Workshops in Computing}, Title = {Experimenting with Process Equivalence}, Year = {1990} } @article{Blum87, Author = {A. Blumer and J. Blumer and D. Haussler and R. McConnell and A. Ehrenfeucht}, Journal = {JACM}, Month = jul, Number = {3}, Pages = {578--595}, Title = {Complete Inverted Files for Efficient Text Retrieval and Analysis}, Volume = {34}, Year = {1987} } @techreport{Blum97a, 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.}, Author = {Roger Blum}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = may, Title = {Entwurf und Implementierung einer Benutzerschnittstelle f{\"u}r {ALFRED}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Blum97a.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Blum97a.pdf} } @mastersthesis{Blum00a, 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.}, Author = {Roger Blum}, Keywords = {snf-none scg-pub skip-doi scg-msc jb00}, Month = may, School = {University of Bern}, Title = {Entwicklung eines Prototypen f{\"u}r die aktive Schicht {ALFRED}}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Blum00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Blum00a.pdf} } @incollection{Bobb07a, Author = {Jayaram Bobba and Kevin E. Moore and Luke Yen and Haris Volos and Mark D. Hill and Michael M. Swift and David A. Wood}, Booktitle = {Proceedings of the 34th Annual International Symposium on Computer Architecture}, Isbn = {978-1-59593-706-3}, Month = jun, Pages = {81--91}, Pdf = {http://www.cs.wisc.edu/multifacet/papers/isca07_pathologies.pdf}, Publisher = {International Symposium on Computer Architecture}, Title = {Performance Pathologies in Hardware Transactional Memory}, Year = {2007} } @article{Bobr77a, Author = {Daniel G. Bobrow and T. Winograd}, Journal = {Cognitive Science}, Keywords = {misc lang krl knowrep}, Number = {1}, Pages = {3--46}, Title = {An Overview of {KRL}, a Knowledge Representation Language}, Volume = {1}, Year = {1977} } @inproceedings{Bobr80a, Author = {Daniel G. Bobrow and Ira P. Goldstein}, Booktitle = {Proceedings of the Conference on Artificial Intelligence and the Simulation of Behavior}, Keywords = {olit-oopl pie}, Month = jul, Title = {Representing Design Alternatives}, Year = {1980} } @inproceedings{Bobr84a, Author = {Daniel G. Bobrow}, Booktitle = {Proceedings of the International Conference on Fifth Generation Computer Systems}, Keywords = {misc ai prolog}, Month = nov, Pages = {138--145}, Title = {If Prolog is the Answer, What is the Question?}, Year = {1984} } @inproceedings{Bobr86a, Author = {Daniel G. Bobrow and Ken Kahn and Gregor Kiczales and Larry Masinter and Mark Stefik and Frank Zdybel}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl commonloops loops lisp oopsla86}, Month = nov, Pages = {17--29}, Title = {CommonLoops: Merging Lisp and Object-Oriented Programming}, Volume = {21}, Year = {1986} } @techreport{Bobr88a, Author = {Daniel G. Bobrow and Linda G. DeMichiel and Richard P. Gabriel and Sonia E. Keene and Gregor Kiczales and D.A. Moon}, Institution = {(ANSI COMMON LISP)}, Keywords = {clos}, Number = {88-003}, Title = {{Common} {Lisp} {Object} {System} Specification, {X3J13}}, Year = {1988} } @incollection{Bobr93a, Author = {Daniel G. Bobrow and Richard P. Gabriel and J.L. White}, Booktitle = {Object-Oriented Programming: the CLOS perspective}, Editor = {A. Paepcke}, Keywords = {clos}, Pages = {29--61}, Publisher = {MIT Press}, Title = {{CLOS} in Context --- The Shape of the Design}, Year = {1993} } @inproceedings{Bocc94a, Author = {G. Boccignone and A. Chianese and M. De Santo and A. Picariello}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {266--277}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Representation of Shape Information}, Volume = {858}, Year = {1994} } @article{Bocc07a, Address = {Los Alamitos, CA, USA}, Author = {Sandro Boccuzzo and Harald Gall}, Doi = {10.1109/VISSOF.2007.4290703}, Isbn = {1-4244-0599-8}, Journal = {VISSOFT 2007. 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {72--79}, Publisher = {IEEE Computer Society}, Title = {{CocoViz}: Towards Cognitive Software Visualizations}, Volume = {0}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290703} } @techreport{Boch90a, Author = {Gregor V. Bochmann and M. Barbeau and M. Erradi and L. Lecomte and Pierre Mondain-Monval and N. Williams}, Institution = {Universit\'e de Montr\'eal}, Keywords = {olit binder}, Number = {7481}, Title = {Mondel: An Object-Oriented Specification Language}, Type = {Report}, Year = {1990} } @techreport{Boch91a, Author = {Gregor V. Bochmann and St\'ephane Poirier and Pierre Mondain-Monval}, Institution = {Universit\'e de Montr\'eal}, Keywords = {olit distributed systems binder}, Number = {768}, Title = {Object-Oriented Design for Distributed Systems: The {OSI} Dierctory Example}, Type = {Report}, Year = {1991} } @inproceedings{Bock90a, Author = {Heinz-Dieter Bocker, Jurgen Herczeg}, Booktitle = {Proceedings of OOPSLA/ECOOP '90}, Month = oct, Pages = {89--99}, Title = {What Tracers Are Made of}, Year = {1990} } @article{Bock94a, Author = {Conrad Bock and James Odell}, Journal = {Journal of Object-Oriented Programming}, Number = {6}, Title = {A Foundation for Composition}, Volume = {7}, Year = {1994} } @inproceedings{Bock04a, Address = {New York, NY, USA}, Author = {Christoph Bockisch and Michael Haupt and Mira Mezini and Klaus Ostermann}, Booktitle = {AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development}, Doi = {10.1145/976270.976282}, Isbn = {1-58113-842-3}, Keywords = {steamloom aspect}, Location = {Lancaster, UK}, Pages = {83--92}, Publisher = {ACM Press}, Title = {Virtual Machine Support for Dynamic Join Points}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976282} } @inproceedings{Bock06a, Author = {Christoph Bockisch and Sebastian Kanthak and Michael Haupt and Matthew Arnold and Mira Mezini}, Booktitle = {Proceedings of {OOPSLA} 2006}, Editor = {Peri L. Tarr and William R. Cook}, Isbn = {1-59593-348-4}, Pages = {125--138}, Publisher = {ACM}, Title = {Efficient control flow quantification}, Year = {2006} } @inproceedings{Bock07a, Address = {New York, NY, USA}, Author = {Christoph Bockisch and Mira Mezini}, Booktitle = {VMIL '07: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms}, Doi = {10.1145/1230136.1230137}, Isbn = {978-1-59593-661-5}, Location = {Vancouver, British Columbia, Canada}, Pages = {1}, Publisher = {ACM}, Title = {A flexible architecture for pointcut-advice language implementations}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1230136.1230137} } @inproceedings{Bode06a, Author = {Eric Bodden and Florian Forster and Friedrich Steimann}, Booktitle = {GI-Edition Lecture Notes in Informatics "NODe 2006 GSEM 2006"}, Editor = {Robert Hirschfeld and Andreas Polze and Ryszard Kowalczyk}, Organization = {Gesellschaft f\"ur Informatik}, Pages = {49--64}, Publisher = {Bonner K\"ollen Verlag}, Title = {Avoiding Infinite Recursion with Stratified Aspects}, Volume = {P-88}, Year = {2006} } @inproceedings{Boec90a, Author = {Hans-Dieter B{\"o}cker and J{\"u}rgen Herczeg}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {89--99}, Title = {What Tracers Are Made Of}, Volume = {25}, Year = {1990} } @book{Boeh78a, Author = {B. Boehm and J. Brown and H. Kaspar and M. Lipow and G. McLeod and M. Merritt}, Keywords = {metrics}, Publisher = {North Holland}, Title = {Characteristics of Software Quality}, Year = {1978} } @book{Boeh81a, Author = {Barry W. Boehm}, Publisher = {Prentice-Hall}, Title = {Software Engineering Economics}, Year = {1981} } @techreport{Boeh85a, Author = {Hans Boehm and Alan Demers and Jim Donahue}, Institution = {Cornell University}, Keywords = {fpl russell binder}, Title = {A Programmer's Guide to Russell}, Type = {on-line documentation}, Year = {1985} } @incollection{Boeh87a, Address = {Washington}, Author = {Boehm, B.W.}, Booktitle = {Tutorial: Software Engineering Project Management}, Editor = {Thayer, R.H.}, Keywords = {fca}, Pages = {128--142}, Publisher = {IEEE Computer Society}, Title = {A Spiral Model of Software Development and Enhancement}, Year = {1987} } @article{Boeh88a, Author = {Barry W. Boehm}, Journal = {IEEE Computer}, Keywords = {oorp}, Number = {5}, Pages = {61--72}, Title = {A Spiral Model of Software Development and Enhancement}, Volume = {21}, Year = {1988} } @book{Boeh05a, Address = {Berlin, Germany}, Editor = {Barry Boehm and Hans Dieter Rombach and Marvin V. Zelkowitz}, Isbn = {3-540-24547-2}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {Foundations of Empirical Software Engineering}, Year = {2005} } @inproceedings{Boel99a, Address = {London, UK}, Author = {Kai B\"{o}llert}, Booktitle = {Proceedings of the Workshop on Object-Oriented Technology}, Editor = {Ana M. D. Moreira and Serge Demeyer}, Isbn = {3-540-66954-X}, Pages = {301--302}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {On Weaving Aspects}, Year = {1999} } @mastersthesis{Boet01a, Address = {Germany}, Author = {Kathrin B\"{o}ttger}, Keywords = {fca}, School = {University of Mannheim}, Title = {Modelling and {Reconciling} {Functional} {Requirements} from {Differenet} {Viewpoints} using {Use} {Case}/{Scenarios} and {Formal} {Concept} {Analysis}}, Year = {2001} } @inproceedings{Boet01b, Address = {Japan}, Author = {Kathrin B\"{o}ttger and Rolf Schwitter and Debbie Richards and Oscar Aguilera and Diego Moll\'{a}}, Booktitle = {Proceedings of INAP '01 (14th International Conference on Applications of Prolog)}, Keywords = {fca}, Month = oct, Organization = {University of Tokyo}, Pages = {20--22}, Title = {Reconciling {Use} {Cases} via {Controlled} {Language} and {Graphical} {Models}}, Year = {2001} } @techreport{Bohn94a, Author = {Henrik Bohnenkamp}, Institution = {Friedrich-Alexander-Universit{\"a}t Erlangen-N{\"u}rnberg}, Keywords = {olit-obcl obib(obcp) specification verification binder}, Month = feb, Title = {{CLOWN}: Concurrent Language with Objects and Wait-by-Necessity}, Type = {thesis}, Year = {1994} } @book{Bohn96a, Author = {Bohner, S. A and Arnold, R.S.}, Publisher = {IEEE Computer Society Press}, Title = {Software Change Impact Analysis}, Year = {1996} } @article{Bohn07a, Address = {Los Alamitos, CA, USA}, Author = {Johannes Bohnet and Jurgen Dollner}, Doi = {10.1109/VISSOF.2007.4290719}, Isbn = {1-4244-0599-8}, Journal = {VISSOFT 2007. 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {161--162}, Publisher = {IEEE Computer Society}, Title = {{CGA} Call Graph Analyzer --- Locating and Understanding Functionality within the {Gnu} Compiler Collection's Million Lines of Code}, Volume = {0}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290719} } @inproceedings{Boji00a, Author = {Dragan Bojic and Dusan Velasevic}, Booktitle = {Proceedings of SAC '00 (ACM Symposium on Applied Computing)}, Keywords = {fca}, Publisher = {ACM Press}, Title = {Reverse {Engineering} of {Use} {Case} {Realizations} in {UML}}, Url = {http://www.acm.org/conferences/sac/sac00/Proceed/FinalPapers}, Year = {2000}, Bdsk-Url-1 = {http://www.acm.org/conferences/sac/sac00/Proceed/FinalPapers} } @inproceedings{Boji00b, Address = {Los Alamitos, CA, USA}, Author = {Dragan Bojic and Dusan Velasevic}, Booktitle = {Conference on Software Maintenance and Reengineering (CSMR)}, Doi = {10.1109/CSMR.2000.827302}, Isbn = {0-7695-0546-5}, Pages = {23--33}, Publisher = {IEEE Computer Society}, Title = {A Use-Case Driven Method of Architecture Recovery for Program Understanding and Reuse Reengineering}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2000.827302} } @incollection{Bolo89a, Author = {Tommaso Bolognesi and Maurizio Caneve}, Booktitle = {Formal Description Techniques}, Editor = {K.J. Turner}, Keywords = {pcalc ccs lotos binder(conc)}, Pages = {201--216}, Publisher = {Elsevier Science Publishers B.V. (North-Holland)}, Title = {Squiggles: {A} Tool for the Analysis of {LOTOS} Specifications}, Year = {1989} } @inproceedings{Bolt80a, Author = {R.A. Bolt}, Booktitle = {Proceedings SIGGRAPH '80}, Keywords = {uilit}, Month = jul, Pages = {262--270}, Title = {'Put-that-there': Voice and Gestures at the Graphics Interface}, Volume = {14}, Year = {1980} } @techreport{Bolz05a, Author = {Carl Friedrich Bolz and Armin Rigo}, Institution = {PyPy Consortium}, Keywords = {pypy}, Note = {http://codespeak.net/pypy/dist/pypy/doc/index-report.html}, Title = {Memory management and threading models as translation aspects -- solutions and challenges}, Url = {http://codespeak.net/svn/pypy/extradoc/eu-report/D05.3_Publish_on_implementation_with_translation_aspects.pdf}, Year = {2005}, Bdsk-Url-1 = {http://codespeak.net/svn/pypy/extradoc/eu-report/D05.3_Publish_on_implementation_with_translation_aspects.pdf} } @inproceedings{Bolz07a, Author = {Carl Friedrich Bolz and Armin Rigo}, Booktitle = {3rd Workshop on Dynamic Languages and Applications}, Keywords = {PyPy}, Title = {How to not write Virtual Machines for Dynamic Languages}, Url = {http://dyla2007.unibe.ch/?download=dyla07-HowToNotWriteVMs.pdf}, Year = {2007}, Bdsk-Url-1 = {http://dyla2007.unibe.ch/?download=dyla07-HowToNotWriteVMs.pdf} } @inproceedings{Bolz08a, Abstract = {We report on our experiences with the Spy project, including implementation details and benchmark results. Spy is a re-implementation of the Squeak (i.e., Smalltalk-80) VM using the PyPy toolchain. The PyPy project allows code written in RPython, a subset of Python, to be translated to a multitude of different backends and architectures. During the translation, many aspects of the implementation can be independently tuned, such as the garbage collection algorithm or threading implementation. In this way, a whole host of interpreters can be derived from one abstract interpreter definition. Spy aims to bring these benefits to Squeak, allowing for greater portability and, eventually, improved performance. The current Spy codebase is able to run a small set of benchmarks that demonstrate performance superior to many similar Smalltalk VMs, but which still run slower than in Squeak itself. Spy was built from scratch over the course of a week during a joint Squeak-PyPy Sprint in Bern last autumn.}, Annote = {internationalconference}, Author = {Carl Friedrich Bolz and Adrian Lienhard and Nicholas D. Matsakis and Oscar Nierstrasz and Lukas Renggli and Armin Rigo and Toon Verwaest}, Booktitle = {Self-Sustaining Systems}, Doi = {10.1007/978-3-540-89275-5_7}, Isbn = {978-3-540-89274-8}, Keywords = {scg08 scg-pub snf08 jb09 s3 PyPy Spy a hasler08 tverwaes}, Medium = {2}, Pages = {123--139}, Peerreview = {yes}, Publisher = {Springer}, Series = {LNCS}, Title = {Back to the future in one week --- implementing a {Smalltalk} {VM} in {PyPy}}, Url = {http://scg.unibe.ch/archive/papers/Bolz08aSpy.pdf}, Volume = {5142}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Bolz08aSpy.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-89275-5_7} } @inproceedings{Bolz09a, Address = {New York, NY, USA}, Author = {Bolz, Carl Friedrich and Cuni, Antonio and Fijalkowski, Maciej and Rigo, Armin}, Booktitle = {ICOOOLPS '09: Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems}, Date-Added = {2010-04-07 21:07:06 +0200}, Date-Modified= {2010-04-07 21:08:32 +0200}, Doi = {10.1145/1565824.1565827}, Isbn = {978-1-60558-541-3}, Keywords = {pypy jit}, Location = {Genova, Italy}, Pages = {18--25}, Publisher = {ACM}, Title = {Tracing the meta-level: PyPy's tracing JIT compiler}, Year = {2009}, Bdsk-Url-1 = {10.1145/1565824.1565827} } @inproceedings{Bona86a, Author = {Jeff Bonar and Robert Cunningham and Jamie Schultz}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl bridge loops) oopsla86}, Month = nov, Pages = {269--276}, Title = {An Object-Oriented Architecture for Intelligent Tutoring Systems}, Volume = {21}, Year = {1986} } @book{Bona99a, Address = {New York}, Author = {Eric Bonabeau and Marco Dorigo and Guy Theraulaz}, Keywords = {bioinspired, stigmergy}, Publisher = {Oxford University Press}, Title = {Swarm Intelligence: From Natural to Artificial Systems}, Year = {1999} } @book{Bond76a, Address = {New York}, Author = {J.A. Bondy and U.S.R. Murty}, Keywords = {misc graph theory book}, Publisher = {North Holland}, Title = {Graph Theory with Applications}, Year = {1976} } @inproceedings{Bond07a, Address = {New York, NY, USA}, Author = {Michael D. Bond and Nicholas Nethercote and Stephen W. Kent and Samuel Z. Guyer and Kathryn S. McKinley}, Booktitle = {Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications (OOPSLA'07)}, Doi = {10.1145/1297027.1297057}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {405--422}, Publisher = {ACM}, Title = {Tracking bad apples: reporting the origin of null and undefined value errors}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297057} } @inproceedings{Bonf94a, Author = {F. Bonfatti and P. D. Monari}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {108--122}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards a General Purpose Approach to Object-Oriented Analysis}, Volume = {858}, Year = {1994} } @inproceedings{Bono98a, Address = {London, UK}, Author = {Viviana Bono and Kathleen Fisher}, Booktitle = {ECOOP '98: Proceedings of the 12th European Conference on Object-Oriented Programming}, Isbn = {3-540-64737-6}, Pages = {462--497}, Publisher = {Springer-Verlag}, Title = {An Imperative, First-Order Calculus with Object Extension}, Year = {1998} } @inproceedings{Bono99a, 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.}, Address = {Lisbon, Portugal}, Author = {Viviana Bono and Amit Patel and Vitaly Shmatikov}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {43--66}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Core Calculus of Classes and Mixins}, Volume = 1628, Year = {1999} } @inproceedings{Bono08a, Author = {Viviana Bono and Ferruccio Damiani and Elena Giachino}, Booktitle = {Fifth IFIP International Conference On Theoretical Computer Science - TCS 2008}, Doi = {10.1007/978-0-387-09680-3\_25}, Pages = {367-382}, Publisher = {Springer}, Series = {IFIP International Federation for Information Processing}, Title = {On Traits and Types in a Java-like Setting}, Url = {http://www.di.unito.it/~damiani/papers/ifip-tcs-B-2008.html}, Year = {2008}, Bdsk-Url-1 = {http://www.di.unito.it/~damiani/papers/ifip-tcs-B-2008.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-0-387-09680-3%5C_25} } @book{Booc83a, Address = {Menlo Park, CA 94025}, Author = {Grady Booch}, Keywords = {plang ada}, Publisher = {The Benjamin Cummings Publishing Co. Inc.}, Title = {Software Engineering with Ada}, Year = {1983} } @article{Booc86a, Author = {Grady Booch}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit ood binder(ood)}, Month = feb, Number = {2}, Pages = {211--221}, Title = {Object-Oriented Development}, Volume = {SE-12}, Year = {1986} } @inproceedings{Booc90a, Author = {Grady Booch and Michael Vilot}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {1--11}, Title = {The Design of the {C}++ Booch Components}, Volume = {25}, Year = {1990} } @book{Booc91a, Author = {Grady Booch}, Isbn = {0-8053-5340-2}, Keywords = {olit-ood scglib book}, Publisher = {The Benjamin Cummings Publishing Co. Inc.}, Title = {Object Oriented Analysis and Design with Applications}, Year = {1991} } @book{Booc94a, Author = {Grady Booch}, Edition = {2nd}, Isbn = {0-8053-5340-2}, Keywords = {olit-ood scglib book oorp}, Publisher = {The Benjamin Cummings Publishing Co. Inc.}, Title = {Object Oriented Analysis and Design with Applications}, Year = {1994} } @book{Booc95a, Author = {Grady Booch and James Rumbaugh}, Keywords = {olit scglib book}, Publisher = {Rational Software Corporation}, Title = {Unified Method for Object-Oriented Development Version 0.8}, Year = {1995} } @book{Booc96a, Author = {Grady Booch}, Isbn = {0-8053-0594-7}, Keywords = {Olit scglib new-entry}, Publisher = {Addison Wesley}, Title = {Object Solutions}, Year = {1996} } @book{Booc97a, Author = {Grady Booch and James Rumbaugh}, Keywords = {olit scglib book}, Publisher = {Rational Software Corporation}, Title = {Unified Method for Object-Oriented Development Version 1.0}, Year = {1997} } @book{Booc98a, Author = {Grady Booch and James Rumbaugh and Ivar Jacobson}, Note = {ISBN: 0-210-57168-4}, Publisher = {Addison Wesley}, Title = {The Unified Modeling Language User Guide}, Year = {1998} } @book{Booc99a, Author = {Grady Booch and James Rumbaugh and Ivar Jacobson}, Isbn = {0-201-57168-4}, Keywords = {olit-ood book scglib}, Publisher = {Addison Wesley}, Title = {The Unified Modeling Language User Guide}, Year = {1999} } @article{Booc02a, Author = {Grady Booch and Alan W. Brown}, Journal = {Rational Software Corporation}, Month = oct, Title = {Collaborative Development Environments}, Year = {2002} } @book{Booc05a, Address = {Reading, Mass.}, Author = {Booch, Grady and Rumbaugh, James and Jacobson, Ivar}, Keywords = {book uml 2.0 damiencbib}, Publisher = {Addison Wesley}, edition = {second}, Title = {The Unified Modeling Language User Guide}, Year = {2005} } @book{Boot93a, Author = {Vernon Booth}, Isbn = {0521429153}, Keywords = {book scglib}, Publisher = {Cambridge University Press}, Title = {Communicating in Science}, Year = {1993} } @inproceedings{Boot00a, Address = {New York, NY, USA}, Author = {Bob Boothe}, Booktitle = {Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation (PLDI'00)}, Doi = {10.1145/349299.349339}, Isbn = {1-58113-199-2}, Location = {Vancouver, British Columbia, Canada}, Pages = {299--310}, Publisher = {ACM}, Title = {Efficient algorithms for bidirectional debugging}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/349299.349339} } @mastersthesis{Borc01a, Author = {Michael Borchardt}, Keywords = {refactoring}, Month = aug, School = {University of Antwerp}, Title = {A Feasibility Study for a {C}++ Refactoring Engine}, Year = {2001} } @inproceedings{Bore92a, Author = {Michele Boreale and Rocco De Nicola}, Booktitle = {Proceedings of CONCUR '92}, Editor = {W.R. Cleaveland}, Keywords = {pcalc mobility equivalence concur92 binder}, Pages = {2--16}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Testing Equivalences for Mobile Processes}, Volume = {630}, Year = {1992} } @article{Boren10a, title = {The {SMACH} High-Level Executive {[ROS News]}}, author = {Boren, J. and Cousins, S.}, journal = {Robotics \& Automation Magazine}, doi = {10.1109/MRA.2010.938836}, keywords = {robotics damiencbib}, volume = {17}, number = {4}, pages = {18--20}, year = {2010}, publisher = {IEEE} } @book{Borg05a, Author = {Ingwer Borg and Patriuck J. F. Groenen}, Isbn = {0387251502}, Publisher = {Springer}, Title = {Modern Multidimensional Scaling: Theory and Applications}, Year = {2005} } @book{Borl91a, Address = {Scotts Valley, CA}, Author = {?}, Publisher = {Borland International Inc.}, Title = {Open Architecture Handbook}, Year = {1991} } @phdthesis{Born79a, Address = {Stanford, CA, USA}, Author = {Alan Borning}, Keywords = {visprog}, Order_No = {AAI7917213}, School = {Stanford University}, Title = {Thinglab--a constraint-oriented simulation laboratory.}, Url = {http://www.2share.com/thinglab/ThingLab%20-%20index.html}, Year = {1979}, Bdsk-Url-1 = {http://www.2share.com/thinglab/ThingLab%20-%20index.html} } @article{Born81a, Author = {Alan Borning}, Doi = {10.1145/357146.357147}, Journal = {ACM TOPLAS}, Keywords = {olit-appl visprog thinglab smalltalk constraints oobib(sys)}, Month = oct, Number = {4}, Pages = {353--387}, Title = {The Programming Language Aspects of {ThingLab}, a Constraint-Oriented Simulation Laboratory}, Volume = {3}, Year = {1981}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/357146.357147} } @inproceedings{Born82a, Address = {Pittsburgh, PA}, Author = {Alan H. Borning and Daniel H.H. Ingalls}, Booktitle = {Proceedings at the National Conference on AI}, Keywords = {olit-inheritance smalltalk casais oobib(inh)}, Pages = {234--237}, Title = {Multiple Inheritance in {Smalltalk}-80}, Year = {1982} } @inproceedings{Born82b, Address = {Albuquerque, NM}, Author = {Alan H. Borning and Daniel H.H. Ingalls}, Booktitle = {Proceedings POPL '82}, Keywords = {olit-oopl smalltalk inference casais oobib(types) popl82}, Pages = {133--141}, Title = {A Type Declaration and Inference System for {Smalltalk}}, Year = {1982} } @article{Born86a, Author = {Alan Borning and Robert Duisberg}, Journal = {ACM Transactions on Computer Graphics}, Keywords = {uilit}, Month = oct, Number = {4}, Pages = {345--374}, Title = {Constraint-Based Tools for Building User Interfaces}, Volume = {5}, Year = {1986} } @inproceedings{Born86b, Author = {A. H. Borning}, Booktitle = {Proceedings of the ACM/IEEE Fall Joint Computer Conference}, Isbn = {0-8186-4743-4}, Location = {Dallas, Texas, United States}, Pages = {36--40}, Publisher = {IEEE Computer Society Press}, Title = {Classes versus prototypes in object-oriented languages}, Year = {1986} } @inproceedings{Born87a, Author = {Alan Borning and Robert Duisberg and Bjorn Freeman-Benson and Axel Kramer and Michael Woolf}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {48--60}, Title = {Constraint Hierarchies}, Volume = {22}, Year = {1987} } @inproceedings{Born87b, Address = {Paris, France}, Author = {Alan Borning and Tim O'Shea}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-oopl deltatalk smalltalk ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {1--10}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Deltatalk: An Empirically and Aesthetically Motivated Simplification of the {Smalltalk}-80 Language}, Volume = {276}, Year = {1987} } @article{Bos81a, Author = {Jan van den Bos and R. Plasmeijer and Jan W.M. St}, Journal = {ACM TOPLAS}, Keywords = {uilit}, Month = jul, Number = {3}, Pages = {224--250}, Title = {Process Communication Based on Input Specifications}, Volume = {3}, Year = {1981} } @article{Bos83a, Author = {Jan van den Bos and M.J. Plasmeijer and P.H. Hartel}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {uilit real-time tugs}, Month = may, Number = {3}, Pages = {247--259}, Title = {Input-output Tools: {A} Language Facility for Interactive and Real-Time Systems}, Volume = {SE-9}, Year = {1983} } @article{Bos87a, Author = {Jan van den Bos}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obcl pcol procol}, Month = sep, Number = {9}, Pages = {14--19}, Title = {{PCOL} --- {A} Protocol-Constrained Object Language}, Volume = {22}, Year = {1987} } @inproceedings{Bos89a, Author = {Jan van den Bos and Chris Laffra}, Booktitle = {ACM SIGPLAN Notices, Proceedings OOPSLA '89}, Keywords = {olit-obcl procol oopsla89}, Month = oct, Pages = {95--102}, Title = {{PROCOL} --- {A} Parallel Object Language with Protocols}, Volume = {24}, Year = {1989} } @article{Bosc94a, Author = {Jan Bosch}, Journal = {Journal of Programming Languages}, Pages = {39--61}, Title = {{Relations as Object Model Components}}, Volume = {4}, Year = {1994} } @inproceedings{Bosc96a, Author = {Jan Bosch}, Booktitle = {Proceedings of TOOLS '96}, Pages = {197--210}, Title = {Language Support for Design Patterns}, Year = {1996} } @book{Bosc97a, Editor = {Jan Bosch \& Stuart Mitchell}, Isbn = {3-540-64039-8}, Keywords = {olit ecoop97wr scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Technology: {ECOOP}'97 Workshop Reader}, Volume = 1357, Year = {1997} } @inproceedings{Bosc97b, Author = {Jan Bosch}, Booktitle = {Object-Oriented Technology: {ECOOP}'97 Workshop Reader}, Editor = {Jan Bosch and Stewart Mitchell}, Pages = {133--136}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Design Patterns {\&} Frameworks: On the Issue of Language Support}, Volume = {1357}, Year = {1997} } @article{Bosc97c, Author = {Jan Bosch}, Journal = {Journal of Object-Oriented Programming}, Month = nov, Title = {Design Patterns as Language Constructs}, Year = {1997} } @article{Bosc99a, Author = {Jan Bosch}, Journal = {Information and Software Technology}, Month = mar, Number = {5}, Pages = {257--273}, Title = {Superimposition: {A} Component Adaptation Technique}, Volume = {41}, Year = {1999} } @book{Bosc00a, Author = {Jan Bosch}, Isbn = {0-201-67494-7}, Month = may, Publisher = {Pearson Education (Addison-Wesley \& ACM Press)}, Title = {Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach}, Year = {2000} } @phdthesis{Bosc01a, Author = {Robert Bosch}, Month = aug, School = {Stanford University}, Title = {Using Visualization to Understand the Behaviour of Computer Systems}, Year = {2001} } @techreport{Bosh97a, Author = {Marat Boshernitsan and Michael Downes}, Institution = {University of California, Berkeley}, Keywords = {visprog pl-lit}, Month = dec, Number = {Report No. UCB/CSD-04-1368}, Title = {Visual Programming Languages: A Survey}, Url = {http://nitsan.org/~maratb/pubs/csd-04-1368.pdf}, Year = {1997}, Bdsk-Url-1 = {http://nitsan.org/~maratb/pubs/csd-04-1368.pdf} } @article{Bost09a, title = {Protovis: A Graphical Toolkit for Visualization}, author = {Michael Bostock AND Jeffrey Heer}, journal = {IEEE Trans. Visualization \& Comp. Graphics (Proc. InfoVis)}, year = {2009}, url = {http://vis.stanford.edu/papers/protovis} } @inproceedings{Bota91a, Author = {Rodrigo A. Botafogo and Ben Shneiderman}, Booktitle = {Proceedings CHI '91 (Conference on Human Factors in Computing Systems)}, Keywords = {clustering}, Location = {New Orleans, Louisiana, USA}, Pages = {63--74}, Publisher = {ACM Press}, Title = {Identifying {Aggregates} in {Hypertext} {Structures}}, Year = {1991} } @techreport{Boud86a, Author = {G\'erard Boudol and Ilaria Castellani}, Institution = {INRIA}, Keywords = {concurrency binder}, Month = jul, Number = {550}, Title = {On the Semantics of Concurrency: Partial Orders and Transition Systems}, Type = {Report no.}, Year = {1986} } @techreport{Boud87a, Author = {G\'erard Boudol and Ilaria Castellani}, Institution = {INRIA}, Keywords = {concurrency binder}, Month = nov, Number = {748}, Title = {Concurrency and Atomicity}, Type = {Report no.}, Year = {1987} } @article{Boud88a, Author = {G\'erard Boudol and Ilaria Castellani}, Journal = {Fundamenta Informaticae}, Keywords = {pcalc ccs binder}, Pages = {433--452}, Publisher = {North-Holland}, Title = {A Non-Interleaving Semantics for {CCS} Based on Proved Transitions}, Volume = {XI}, Year = {1988} } @inproceedings{Boud89a, Author = {G\'erard Boudol}, Booktitle = {Proceedings TAPSOFT '89}, Editor = {D\'iaz and Orejas}, Keywords = {pcalc tapsoft89 binder(conc)}, Pages = {149--161}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards a Lambda-Calculus for Concurrent and Communicating Systems}, Volume = {351}, Year = {1989} } @techreport{Boud92a, Author = {G\'erard Boudol}, Institution = {INRIA Sofia-Antipolis}, Keywords = {pcalc mobility (uwe)}, Number = {1702}, Title = {Asynchrony and the $\pi$-calculus (Note)}, Type = {Rapporte de Recherche}, Year = {1992} } @inproceedings{Boud97a, Author = {G\'erard Boudol}, Booktitle = {Conference Record of {POPL}~'97}, Keywords = {pcalc mobility blue calculus pisem}, Pages = {228--241}, Title = {The pi-calculus in direct style}, Url = {http://www-sop.inria.fr/meije/personnel/Gerard.Boudol/blue.html}, Year = {1997}, Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Gerard.Boudol/blue.html} } @article{Bouj00a, Author = {Abdulazeez S. Boujarwah and Kassem Saleh and Jehad Al-Dallal}, Journal = {Information {\&} Software Technology}, Number = {11}, Pages = {765--775}, Title = {Dynamic data flow analysis for {Java} programs.}, Volume = {42}, Year = {2000} } @inproceedings{Bouk06a, Author = {Salah Bouktif and Yann-Gael Gueheneuc and Giuliano Antoniol}, Booktitle = {Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006)}, Pages = {221--230}, Title = {Extracting Change-patterns from {CVS} Repositories}, Year = {2006} } @inproceedings{Boul94a, Author = {F. Boulanger and H. Delebecque and G. Vdal-Naquet}, Booktitle = {Real Time Systems Conference}, Pages = {245--260}, Title = {Int\'egration de Modules Synchrones dans un Cycle de D\'eveloppement par Objets}, Year = {1994} } @article{Bour78a, Author = {S.R. Bourne}, Journal = {Bell System Technical Journal}, Misc = {July-August}, Month = jul, Number = {6 (part 2)}, Pages = {1971--1990}, Title = {The {UNIX} Shell}, Volume = {57}, Year = {1978} } @inproceedings{Bour94a, 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.}, Author = {Marc Bourgois and Jean-Marc Andreoli and Remo Pareschi}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {73--92}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency and Communication: Choices in Implementing the Coordination Language {LO}}, Volume = {791}, Year = {1994} } @inproceedings{Bour98a, Author = {Noury Bouraqadi and Thomas Ledoux and Fred Rivard}, Booktitle = {Proceedings OOPSLA '98}, Pages = {84--96}, Title = {Safe Metaclass Programming}, Year = {1998} } @phdthesis{Bour99a, Address = {Nantes, France}, Author = {Noury Bouraqadi}, Month = {jul}, School = {Universit\'e de Nantes}, 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)}, Type = {Th\`ese de Doctorat}, Year = {1999} } @article{Bour99b, Author = {Pierre Bourque and Robert Dupuis and Alain Abran}, Journal = {IEEE Software}, Month = nov, Number = {6}, Pages = {35--44}, Publisher = {Elsevier}, Title = {The Guide to the Software Engineering Body of Knowledge}, Volume = {16}, Year = {1999} } @inproceedings{Bour00a, Author = {Noury Bouraqadi}, Booktitle = {Workshop on Advanced Separation of Concerns --- OOPSLA 2000}, Keywords = {metaclass metaclasstalk}, Title = {Concern Oriented Programming using Reflection}, Year = {2000} } @article{Bour03a, Author = {Noury Bouraqadi}, Journal = {Journal of Computer Languages, Systems and Structures}, Month = apr, Number = {1-2}, Pages = {49--61}, Publisher = {Elsevier}, Title = {Safe Metaclass Composition Using Mixin-Based Inheritance}, Volume = {30}, Year = {2004}, Doi = {10.1016/j.cl.2003.09.003}, Url = {http://csl.ensm-douai.fr/noury/uploads/1/nouryBouraqadi.ElsevierJournalOfComputerLanguages2004.pdf} } @inproceedings{Bour05a, 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.}, Author = {Noury Bouraqadi and Abdelhak Seriai and Gabriel Leblanc}, Booktitle = {Proceedings of 13th International Smalltalk Conference (ISC'05)}, Keywords = {metaclass metaclasstalk}, Title = {Towards Unified Aspect-Oriented Programming}, Year = {2005} } @inproceedings{Bour07a, title = {Towards an Adaptive Robot Control Architecture}, author = {Bouraqadi, Noury and Stinckwich, Serge}, pages = {135--149}, booktitle = {CAR'2007: Proceedings of the 2nd National Workshop on Control Architectures of Robots, May-June}, year = {2007}, location = {Paris, France}, month = may } @inproceedings{Bouv96a, Author = {Pascal Bouvry and Farhad Arbab}, Booktitle = {Proceedings of COORDINATION '96}, Editor = {Paolo Ciancarini and Chris Hankin}, Month = apr, Pages = {403--406}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Visifold*: {A} Visual Environment for a Coordination Language}, Volume = {1061}, Year = {1996} } @article{Bowe82a, Author = {K. A. Bowen and R. A. Kowalski}, Editor = {K. L. Clark and S.-A. Tarnlund}, Journal = {Logic programming, volume 16 of APIC studies in data processing}, Pages = {153--172}, Publisher = {Academic Press}, Title = {Amalgamating language and metalanguage in logic programming}, Year = {1982} } @inproceedings{Bowm98a, Author = {I. T. Bowman and R. C.Holt}, Booktitle = {Conference of the Centre for Advanced Studies on Collaborative Research (CASCON)}, Pages = {23--133}, Title = {Software Architecture Recovery Using Conway's Law}, Year = {1998} } @inproceedings{Bowm99a, Author = {Ivan T. Bowman and Richard C. Holt and Neil V. Brewster}, Booktitle = {International Conference on Software Engineering (ICSE'99)}, Isbn = {1-58113-074-0}, Pages = {555--563}, Publisher = {IEEE CS}, Title = {Linux as a case study: its extracted software architecture}, Year = {1999} } @inproceedings{Bown98a, Author = {I. Bowman and R. Holt}, Booktitle = {Proceedings of the Centre for Advanced Studies Conference, CASCON'98}, Month = {nov}, Pages = {123--133}, Title = {Software Architecture Recovery Using Conway's Law}, Year = {1998} } @inproceedings{Boya02a, Address = {Roma, Italy}, Author = {C. Boyapati and S. Khurshid and D. Marinov}, Booktitle = {Proceedings of the International Symposium on Software Testing and Analysis (ISSTA'02)}, Keywords = {unit tests testing preconditions}, Pages = {123--133}, Publisher = {ACM}, Title = {Korat: Automated testing based on {Java} predicates}, Year = {2002} } @article{Boya03, Address = {New York, NY, USA}, Author = {Boyapati, Chandrasekhar and Liskov, Barbara and Shrira, Liuba and Moh, Chuang-Hue and Richman, Steven}, Doi = {10.1145/949343.949341}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {11}, Pages = {403--417}, Publisher = {ACM}, Title = {Lazy modular upgrades in persistent object stores}, Url = {10.1145/949343.949341}, Volume = {38}, Year = {2003}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/949343.949341}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/949343.949341} } @inproceedings{Boya03a, Author = {Chandrasekhar Boyapati and Barbara Liskov and Liuba Shrira}, Booktitle = {Principles of Programming Languages (POPL'03)}, Doi = {10.1145/604131.604156}, Isbn = {1-58113-628-5}, Location = {New Orleans, Louisiana, USA}, Pages = {213--223}, Publisher = {ACM Press}, Title = {Ownership types for object encapsulation}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/604131.604156} } @misc{Boyd93a, Author = {Nik Boyd}, Howpublished = {The {Smalltalk} Report 2(5)}, Month = feb, Title = {Modules: Encapsulating Behavior in {Smalltalk}}, Year = {1993} } @techreport{Boye94a, Author = {Niels Boyen and Carine Lucas and Patrick Steyaert}, Institution = {Vrije Universiteit Brussel}, Note = {vub-prog-tr-94-12}, Number = {12}, Title = {Generalised Mixin-based Inheritance to Support Multiple Inheritance}, Year = {1994} } @inproceedings{Boyl96a, Address = {Linz, Austria}, Author = {John Boyland and Giuseppe Castagna}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {3--25}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Type-Safe Compilation of Covariant Specialization: {A} Practical Case}, Url = {ftp://ftp.ens.fr/pub/dmi/users/castagna/o2.ps.Z}, Volume = {1098}, Year = {1996}, Bdsk-Url-1 = {ftp://ftp.ens.fr/pub/dmi/users/castagna/o2.ps.Z} } @inproceedings{Boyl01a, Author = {John Boyland and James Noble and William Retert}, Booktitle = {Proceesings ECOOP 2001}, City = {Budapest, Hungary}, Editor = {J\orgen Lindskov Knudsen}, Month = jun, Number = {2072}, Pages = {2--27}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Capabilities for Aliasing: A Generalisation of Uniqueness and Read-Only}, Year = {2001} } @article{Brab00a, Author = {Claus Brabrand and Anders Moller and Mikkel Ricky and Michael I. Schwartzbach}, Journal = {World Wide Web Journal}, Number = {4}, Pages = {205--314}, Title = {PowerForms: Declarative Client-side Form Field Validation}, Volume = {3}, Year = {2000} } @article{Brab07a, Title = {The metafront system: Safe and extensible parsing and transformation}, Author = {Claus Brabranda and Michael I. Schwartzbach}, Journal = {Science of Computer Programming}, Volume = {68}, Number = {1}, Pages = {2--20}, Year = {2007}, Keywords = {parsing}, Publisher = {Elsevier} } @incollection{Brac85a, Address = {California}, Author = {Ronald J. Brachman}, Booktitle = {Readings in Knowledge Representation}, Editor = {Ronald J. Brachman and Hector J. Levesque}, Pages = {191--215}, Publisher = {Morgan Kaufmann Publishers, Inc}, Title = {On the Epistemological Status of Semantic Networks}, Year = {1985} } @article{Brac88a, Author = {R.J. Brachman}, Journal = {AT\&T Technical Journal}, Keywords = {misc knowrep}, Month = jan, Number = {1}, Pages = {7--24}, Title = {The Basics of Knowledge Representation and Reasoning}, Volume = {67}, Year = {1988} } @inproceedings{Brac90a, Author = {Gilad Bracha and William Cook}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-inheritance oopsla90 ecoop90proc}, Month = oct, Pages = {303--311}, Title = {Mixin-based Inheritance}, Volume = {25}, Year = {1990} } @techreport{Brac91a, Author = {Gilad Bracha and Gary Lindstrom}, Institution = {University of Utah, Dept. Comp. Sci.}, Keywords = {olit-inheritance binder}, Misc = {Oct. 13}, Month = oct, Title = {Modularity Meets Inheritance}, Type = {UUCS-91-017}, Year = {1991} } @phdthesis{Brac92a, Annote = {{Ph.D}. Thesis}, Author = {Gilad Bracha}, Keywords = {olit-inheritance binder (shelf)}, Month = mar, School = {Dept. of Computer Science, University of Utah}, Title = {The Programming Language {Jigsaw}: Mixins, Modularity and Multiple Inheritance}, Year = {1992} } @inproceedings{Brac92b, Author = {Gilad Bracha and Gary Lindstrom}, Booktitle = {Proceedings of the IEEE International Conference on Computer Languages}, Keywords = {olit}, Month = apr, Pages = {282--290}, Title = {Modularity Meets Inheritance}, Year = {1992} } @inproceedings{Brac93a, Author = {Gilad Bracha and David Griswold}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {215--230}, Title = {{Strongtalk}: Typechecking {Smalltalk} in a Production Environment}, Url = {http://bracha.org/oopsla93.ps}, Volume = {28}, Year = {1993}, Bdsk-Url-1 = {http://bracha.org/oopsla93.ps} } @inproceedings{Brac98a, Author = {Gilad Bracha and Martin Odersky and David Stoutamire and Philip Wadler}, Booktitle = {Proceedings OOPSLA '98, ACM SIGPLAN Notices}, Doi = {10.1145/286936.286957}, Isbn = {1-58113-005-8}, Location = {Vancouver, British Columbia, Canada}, Pages = {183--200}, Publisher = {ACM Press}, Title = {Making the future safe for the past: adding genericity to the {Java} programming language}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/286936.286957} } @book{Brac02a, Author = {Ted Bracht}, Isbn = {0-201-73793-0}, Keywords = {smalltalk scglib}, Publisher = {Addison Wesley}, Title = {The Dolphin {Smalltalk} Companion}, Year = {2002} } @misc{Brac04a, Annote = {internationalworkshop}, Author = {Gilad Bracha}, Cvs = {EgRDL2004}, Keywords = {nonstandard types}, Month = oct, Note = {{OOPSLA} Workshop on Revival of Dynamic Languages}, Title = {Pluggable Type Systems}, Url = {http://prog.vub.ac.be/~wdmeuter/RDL04/papers/Bracha.pdf}, Year = {2004}, Bdsk-Url-1 = {http://prog.vub.ac.be/~wdmeuter/RDL04/papers/Bracha.pdf} } @inproceedings{Brac04b, Address = {New York, NY, USA}, Author = {Gilad Bracha and David Ungar}, Booktitle = {Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04), ACM SIGPLAN Notices}, Pages = {331--344}, Publisher = {ACM Press}, Title = {Mirrors: design principles for meta-level facilities of object-oriented programming languages}, Url = {http://bracha.org/mirrors.pdf}, Year = {2004}, Keywords = {uni-refl}, Bdsk-Url-1 = {http://bracha.org/mirrors.pdf} } @article{Brac07a, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Gilad Bracha}, Doi = {10.1016/j.entcs.2007.10.004}, Issn = {1571-0661}, Journal = {Electron. Notes Theor. Comput. Sci.}, Keywords = {parsing parser combinators}, Pages = {3--18}, Publisher = {Elsevier Science Publishers B. V.}, Title = {Executable Grammars in {Newspeak}}, Url = {http://bracha.org/executableGrammars.pdf}, Volume = {193}, Year = {2007}, Bdsk-Url-1 = {http://bracha.org/executableGrammars.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2007.10.004} } @inproceedings{Brac10a, author = {Bracha, Gilad and von der Ah\'{e}, Peter and Bykov, Vassili and Kashai, Yaron and Maddox, William and Miranda, Eliot}, title = {Modules as objects in {Newspeak}}, booktitle = {Proceedings of the 24th European conference on Object-oriented programming}, series = {ECOOP'10}, year = {2010}, isbn = {3-642-14106-4, 978-3-642-14106-5}, location = {Maribor, Slovenia}, pages = {405--428}, numpages = {24}, url = {http://bracha.org/newspeak-modules.pdf}, doi = {10.1007/978-3-642-14107-2_20}, acmid = {1884007}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @inproceedings{Brad92a, Author = {Kathleen Brade and Mark Guzdial and Mark Steckel and Elliot Soloway}, Booktitle = {Proceedings of IEEE Workshop on Visual Languages}, Pages = {148--154}, Publisher = {IEEE Society Press}, Title = {Whorf: A Visualization Tool for Software Maintenance}, Year = {1992} } @inproceedings{Brag10a, author = {Bragdon, Andrew and Zeleznik, Robert and Reiss, Steven P. and Karumuri, Suman and Cheung, William and Kaplan, Joshua and Coleman, Christopher and Adeputra, Ferdi and LaViola,Jr., Joseph J.}, title = {Code bubbles: a working set-based interface for code understanding and maintenance}, booktitle = {CHI '10: Proceedings of the 28th international conference on Human factors in computing systems}, keywords = {codebubbles}, year = {2010}, isbn = {978-1-60558-929-9}, pages = {2503--2512}, location = {Atlanta, Georgia, USA}, doi = {10.1145/1753326.1753706}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Bran94a, 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.}, Author = {S\oren Brandt and Ole Lehrmann Madsen}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {185--212}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Distributed Programming in {BETA}}, Volume = {791}, Year = {1994} } @book{Bran94b, Author = {Linda Branagan and Michael Sierra}, Isbn = {1-56592-009-0}, Keywords = {book scglib}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {The Frame Handbook}, Year = {1994} } @inproceedings{Bran95a, Author = {S\oren Brandt and Ren\'e W. Schmidt}, Booktitle = {Proceedings of META '95: Workshop on Advances in Metaobject Protocols and Reflection at ECOOP '95}, Keywords = {olit beta meta mop oobib}, Month = aug, Title = {The Design of a Meta-Level Architecture for the {BETA} Language}, Year = {1995} } @mastersthesis{Bran95b, Author = {John Brant}, School = {University of Illinois at Urbana-Chanpaign}, Title = {HotDraw}, Year = {1995} } @inproceedings{Bran96a, Address = {Linz, Austria}, Author = {S\oren Brandt and J\orgen Lindskov Knudsen}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {421--448}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Generalising the {BETA} Type System}, Volume = {1098}, Year = {1996} } @inproceedings{Bran97a, 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.}, Author = {Mark van den Brand and Alex Sellink and Chris Verhoef}, Booktitle = {Proceedings of the 4th Working Conference on Reverse Engineering}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Publisher = {IEEE Computer Society Press}, Title = {Generation of Components for Software Renovation Factories from Context-free Grammars}, Year = {1997} } @inproceedings{Bran98a, Author = {John Brant and Brian Foote and Ralph Johnson and Don Roberts}, Booktitle = {Proceedings European Conference on Object Oriented Programming (ECOOP'98)}, Misc = {method wrappers}, Organization = {Springer-Verlag}, Pages = {396--417}, Series = {LNCS}, Title = {Wrappers to the Rescue}, Volume = {1445}, Year = {1998} } @inproceedings{Bran98b, Author = {John Brant and Don Roberts}, Booktitle = {Object-Oriented Technology Ecoop '98 Workshop Reader}, Organization = {Springer-Verlag}, Pages = {81--82}, Series = {LNCS}, Title = {``{Good} {Enough}'' {Analysis} for {Refactoring}}, Year = {1998} } @book{Bran99, Author = {Stewart Brand}, Isbn = {0-465-04512-X}, Keywords = {scglib}, Publisher = {Basic Books}, Title = {The Clock of the Long Now}, Year = {1999} } @inproceedings{Bran02a, Address = {Grenoble, France}, Author = {Mark van den Brand and Jeroen Scheerder and Jurgen J. Vinju and Eelco Visser}, Booktitle = {Compiler Construction (CC'02)}, Editor = {N. Horspool}, Keywords = {parsing}, Month = apr, Pages = {143--158}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Disambiguation Filters for Scannerless Generalized {LR} Parsers}, Url = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf}, Volume = {2304}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.uu.nl/people/visser/ftp/BSVV02.pdf} } @inproceedings{Bran07a, Author = {M.G.J. van den Brand and M. Bruntink and G.R. Economopoulos and H.A. de Jong and P. Klint and T. Kooiker and T. van der Storm and J.J. Vinju}, Booktitle = {Proceedings of the 11th European Conference on Software Maintenance and Reengineering ({CSMR'07})}, Pages = {331--332}, Publisher = {IEEE Computer Society Press}, Title = {Using {T}he {M}eta-Environment for {M}aintenance and {R}enovation}, Year = {2007} } @phdthesis{Brat93a, Author = {Svein Erik Bratsberg}, Keywords = {olit-oodb (smc)}, Month = jun, School = {The Norwegian Institute of Technology, University of Trondheim}, Title = {Evolution and Integration of Classes in Object-Oriented Databases}, Type = {{Ph.D}. Thesis}, Year = {1993} } @phdthesis{Brav97a, Title = {Exercises in {Free} {Syntax}: Syntax Definition, Parsing, and Assimilation of Language Conglomerates}, Author = {Martin Bravenboer}, Month = dec, Year = {1997}, School = {Delft University of Technology}, Url = {http://igitur-archive.library.uu.nl/dissertations/2008-0121-200814/full.pdf} } @inproceedings{Brav04a, Address = {Vancouver, Canada}, Author = {Martin Bravenboer and Eelco Visser}, Booktitle = {Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA 2004)}, Editor = {Douglas C. Schmidt}, Keywords = {dsl-lit}, Month = {oct}, Pages = {365--383}, Publisher = {ACM Press}, Title = {Concrete Syntax for Objects. {Domain}-Specific Language Embedding and Assimilation without Restrictions}, Year = {2004} } @inproceedings{Brav06a, Address = {Portland, Oregon, USA}, Author = {Martin Bravenboer and {\'E}ric Tanter and Eelco Visser}, Booktitle = {Proceedings of the 21st {ACM SIGPLAN} Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2006)}, Key = {OOPSLA 2006}, Month = {oct}, Pages = {209--228}, Publisher = {ACM Press}, Title = {Declarative, Formal, and Extensible Syntax Definition for {AspectJ} -- A Case for Scannerless Generalized-{LR} Parsing}, Year = {2006} } @inproceedings{Brav09a, Title = {Parse Table Composition}, Author = {Martin Bravenboer and Eelco Visser}, Booktitle = {Software Language Engineering}, Year = {2009}, Isbn = {978-3-642-00433-9}, Pages = {74--94}, Volume = {LNCS 5452}, Keywords = {parsing}, Doi = {10.1007/978-3-642-00434-6_6}, Publisher = {Springer} } @article{Bray95a, Author = {Olin Bray and Michael M. Hess}, Journal = {IEEE Software}, Keywords = {oorp}, Month = jan, Number = {1}, Pages = {55--63}, Publisher = {IEEE}, Title = {Reengineering a Configuration Management System}, Volume = {12}, Year = {1995} } @inproceedings{Bree87a, 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.}, Address = {Amsterdam}, Author = {D.E. Breen and P.H. Getto and A.A. Apodaca and D.G. Schmidt and B.D. Sarachan}, Booktitle = {Proceedings of Eurographics '87}, Keywords = {olit}, Month = aug, Pages = {275--282}, Publisher = {Elsevier Science Publishers B.V.}, Title = {The Clockworks: An Object-Oriented Computer Animation System}, Year = {1987} } @inproceedings{Bree89a, Address = {Boston}, Author = {D.E. Breen and P.H. Getto}, Booktitle = {Proceedings of Electronic Imaging '89 East Conference}, Keywords = {olit}, Month = oct, Pages = {541--545}, Title = {Object-Oriented Visualization Tools}, Year = {1989} } @inproceedings{Bree89b, 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.}, Address = {Orlando, FL}, Author = {D.E. Breen and P.H. Getto and A.A. Apodaca}, Booktitle = {Proceedings of 13th Annual International Computer Software and Applications Conference}, Keywords = {olit}, Month = sep, Pages = {334--343}, Publisher = {IEEE Computer Society Press}, Title = {Object-Oriented Programming in a Conventional Programming Environment}, Year = {1989} } @inproceedings{Bree89c, 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.}, Address = {Hamburg}, Author = {D.E. Breen and V. Kuehn}, Booktitle = {Proceedings of Eurographics '89 Proceedings}, Keywords = {olit}, Month = sep, Pages = {489--503}, Publisher = {Elsevier Science Publishers B.V.}, Title = {Message-Based Object-Oriented Interaction Modeling}, Year = {1989} } @inproceedings{Bree89d, 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.}, Address = {Tokyo}, Author = {D.E. Breen}, Booktitle = {State-of-the-art in Computer Animation (Computer Animation '89 Conference Proceedings)}, Editor = {N. Magnenat-Thalmann and D. Thalmann}, Keywords = {olit}, Month = jun, Pages = {141--151}, Publisher = {Springer-Verlag}, Title = {Choreographing Goal-Oriented Motion Using Cost Functions}, Year = {1989} } @inproceedings{Bree89e, 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.}, Address = {Tokyo}, Author = {D.E. Breen and M.J. Wozny}, Booktitle = {State-of-the-art in Computer Animation (Computer Animation '89 Conference Proceedings)}, Editor = {N. Magnenat-Thalmann and D. Thalmann}, Keywords = {olit}, Month = jun, Pages = {69--82}, Publisher = {Springer-Verlag}, Title = {Message-Based Choreography for Computer Animation}, Year = {1989} } @techreport{Brei92a, Author = {Christian Breiteneder and Laurent Dami and Simon Gibbs and Vicki de Mey and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg of92}, Month = jul, Pages = {265--274}, Title = {Telepresence in Shared Virtual Worlds}, Type = {Object Frameworks}, Year = {1992} } @inproceedings{Brei92b, Address = {Karlsruhe}, Author = {Christian Breiteneder and Simon Gibbs and Dennis Tsichritzis}, Booktitle = {Proceedings of the 11th International Conference on the Entity Relationship Approach}, Keywords = {olit osg of92}, Month = oct, Note = {To appear}, Title = {Modelling of Audio/Video Data}, Year = {1992} } @techreport{Brei93a, 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.}, Author = {Christian Breiteneder}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg vo93}, Month = jul, Pages = {65--67}, Title = {They Shoot Video Actors, Don't They?}, Type = {Visual Objects}, Year = {1993} } @incollection{Breu91a, Author = {P.T. Breuer and K.C. Lano}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Hunting for Objects in the {COBOL} Jungle}, Year = {1991} } @book{Breu91b, Author = {R. Breu}, Isbn = {3-540-54972-2}, Keywords = {olit scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Algebraic Specification Techniques in Object Oriented Programming Environments}, Volume = {562}, Year = {1991} } @inproceedings{Breu04a, Author = {Silvia Breu and Jens Krinke}, Booktitle = {Proceedings of International Conference on Automated Software Engineering (ASE 2004)}, Pages = {310--315}, Title = {Aspect Mining Using Event Traces}, Year = {2004} } @inproceedings{Breu06a, Address = {Washington, DC, USA}, Author = {Silvia Breu and Thomas Zimmermann}, Booktitle = {Proceedings of the 21st IEEE International Conference on Automated Software Engineering (ASE'06)}, Doi = {10.1109/ASE.2006.50}, Keywords = {aspect mining software_evolution}, Pages = {221--230}, Priority = {4}, Publisher = {IEEE Computer Society}, Title = {Mining Aspects from Version History}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2006.50} } @inproceedings{Breu06b, Address = {New York, NY, USA}, Author = {Silvia Breu and Thomas Zimmermann and Christian Lindig}, Booktitle = {MSR '06: Proceedings of the 2006 international workshop on Mining software repositories}, Doi = {10.1145/1137983.1138006}, Isbn = {1-59593-397-2}, Location = {Shanghai, China}, Pages = {94--97}, Publisher = {ACM}, Title = {Mining eclipse for cross-cutting concerns}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1137983.1138006} } @article{Bria96a, Author = {Lionel C. Briand and Sandro Morasca and Victor Basili}, Journal = {Transactions on Software Engineering}, Number = {1}, Pages = {68--86}, Title = {Property-Based Software Engineering Measurement}, Volume = {22}, Year = {1996} } @article{Bria98a, Author = {Lionel C. Briand and John W. Daly and J{\"u}rgen K. W{\"u}st}, Journal = {Empirical Software Engineering: An International Journal}, Number = {1}, Pages = {65--117}, Publisher = {Kluwer Academic Publishers}, Title = {A {Unified} {Framework} for {Cohesion} {Measurement} in {Object}-{Oriented} {Systems}}, Volume = {3}, Year = {1998} } @article{Bria99a, Author = {Lionel C. Briand and John W. Daly and J\"urgen K. W\"ust}, Deadurl = {http://www.ccse.kfupm.edu.sa/~sohel/oometer/references/unified%20coupling%20framework-%20briand.pdf}, Doi = {10.1109/32.748920}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {metrics design-recovery}, Number = {1}, Pages = {91--121}, Title = {A {Unified} {Framework} for {Coupling} {Measurement} in {Object}-{Oriented} {Systems}}, Url = {http://dx.doi.org/10.1109/32.748920}, Volume = {25}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.748920} } @inproceedings{Bria99b, Author = {Lionel C. Briand and John W. Daly and J\"urgen K. W\"ust}, Booktitle = {Proceedings of the 21st International Conference on Software Engineering (ICSE 1999)}, Doi = {10.1109/ICSM.1999.792645 http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf}, Keywords = {metrics design-recovery}, Pages = {475--482}, Title = {Using Coupling Measurement for Impact Analysis in Object-Oriented Systems}, Url = {http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf}, Year = {1999}, Bdsk-Url-1 = {http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf}, Bdsk-Url-2 = {10.1109/ICSM.1999.792645%20http://www.iese.fraunhofer.de/network/ISERN/pub/technical_reports/isern-99-03.pdf} } @article{Bria04a, Author = {Erik Arisholm and Lionel C. Briand and Audun Foyen}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {metrics design-recovery}, Number = {8}, Pages = {491--506}, Title = {Dynamic Coupling Measurement for Object-Oriented Software}, Url = {http://csdl.computer.org/comp/trans/ts/2004/08/e0491abs.htm http://www.sce.carleton.ca/faculty/briand/pubs/simula_tr_20035.pdf}, Volume = {30}, Year = {2004}, Bdsk-Url-1 = {http://csdl.computer.org/comp/trans/ts/2004/08/e0491abs.htm%20http://www.sce.carleton.ca/faculty/briand/pubs/simula_tr_20035.pdf} } @article{Bria06a, Author = {Lionel C. Briand and Yvan Labiche and Johanne Leduc}, Doi = {10.1109/TSE.2006.96}, Journal = {IEEE Transactions on Software Engineering}, Number = {9}, Pages = {642--663}, Publisher = {IEEE Press}, Title = {Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.96} } @inproceedings{Bric00a, Author = {Johan Brichau}, Booktitle = {ECOOP 2000 Workshop on Reflection and Meta Level Architectures}, Title = {Declarative Meta Programming for a Language ExtensibilityMechanism}, Year = {2000} } @inproceedings{Bric00b, Author = {Johan Brichau}, Booktitle = {OOPSLA Workshop on Advanced Separation of Concerns in Object-Oriented Systems}, Title = {Declarative Composable Aspects}, Year = {2000} } @inproceedings{Bric02a, Annote = {internationalworkshop}, Author = {Johan Brichau and Kris Gijbels and Roel Wuyts}, Booktitle = {Proceedings of the Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL 2002)}, Title = {Towards a Linguistic Symbiosis of an Object-oriented and a Logic Programming Language}, Year = {2002} } @inproceedings{Bric02b, Author = {J. Brichau and K. Mens and K. De Volder}, Booktitle = {Proceedings of the 1st ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE 2002)}, Month = oct, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Building Composable Aspect-Specific Languages with Logic Metaprogramming}, Volume = {2487}, Year = {2002} } @techreport{Bric05a, Author = {J. Brichau and M. Haupt}, Institution = {AOSD-Europe-VUB-01}, Month = may, Title = {Survey of Aspect-oriented Languages and Execution Models}, Year = {2005} } @book{Brif96a, Author = {Xavier Briffault and G\'erard Sabah}, Isbn = {2-212-08914-7}, Keywords = {smalltalk scglib}, Publisher = {Eyrolles}, Title = {Smalltalk: Programmation orient\'ee object et d\'eveloppement d'applications}, Year = {1996} } @book{Brif01a, Annote = {book}, Author = {Xavier Briffault and St\'ephane Ducasse}, Keywords = {smalltalk squeak scglib}, Month = nov, Publisher = {Eyrolles, Paris}, Title = {Squeak}, Year = {2001} } @inproceedings{Brig94a, Address = {Bologna, Italy}, Author = {Ted L. Briggs and John Werth}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {365--385}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Specification Language for Object-Oriented Analysis and Design}, Volume = {821}, Year = {1994} } @book{Brig06a, Author = {Walter Bright}, Keywords = {design by contract}, Publisher = {Digital Mars}, Title = {D Programming Language, Contract Programming}, Year = {2006} } @inproceedings{Bril01a, Author = {Reinder J. Bril and Andr\'e Postma}, Booktitle = {Proceedings of International Workshop on Program Comprehension (IWPC'01)}, Pages = {269--280}, Publisher = {IEEE CS}, Title = {An Architectural Connectivity Metric and Its Support for Incremental Re-architecting of Large Legacy Systems}, Year = {2001} } @techreport{Brin86a, Author = {Ed Brinksma and Giuseppe Scollo}, Institution = {Twente University of technology}, Keywords = {pcalc equivalence lotos binder}, Month = dec, Number = {INF-86-13}, Title = {Formal Notions of Implementation and Conformance in {LOTOS}}, Type = {Memorandum}, Year = {1986} } @incollection{Brin87a, Author = {Ed Brinksma and Giuseppe Scollo and Chris Steenbergen}, Booktitle = {Protocol Specification, Testing and Verification VI}, Editor = {G. Bochmann and B. Sarikaya}, Keywords = {pcalc equivalence lotos binder}, Pages = {349--360}, Publisher = {North Holland}, Title = {{LOTOS} Specifications, Their Implementations and Their Tests}, Year = {1987} } @techreport{Brin87b, Author = {Ed Brinksma}, Institution = {Twente University of technology}, Keywords = {pcalc equivalence lotos binder}, Month = jan, Number = {INF-87-5}, Title = {On the Existence of Canonical Testers}, Type = {Memorandum}, Year = {1987} } @incollection{Brin89a, Author = {Ed Brinksma}, Booktitle = {Protocol Specification, Testing and Verification VIII}, Editor = {S. Aggarwal and K. Sabnani}, Keywords = {pcalc equivalence lotos}, Publisher = {North Holland}, Title = {A Theory for the Derivation of Tests}, Year = {1989} } @inproceedings{Brin95a, Author = {Sergey Brin and James Davis and H\'ector Garc{\'\i}a-Molina}, Booktitle = {Proceedings {ACM} {SIGMOD} Annual Conference}, Country = {CA}, Location = {San Jose}, Month = may, Title = {Copy Detection Mechanisms for Digital Documents}, Year = {1995} } @inproceedings{Brio87a, Address = {Paris, France}, Author = {Jean-Pierre Briot and Akinori Yonezawa}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-obc ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {32--40}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance and Synchronization in Concurrent {OOP}}, Volume = {276}, Year = {1987} } @inproceedings{Brio89a, Author = {Jean-Pierre Briot and Pierre Cointe}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {419--432}, Title = {Programming with Explicit Metaclasses in {Smalltalk}-80}, Volume = {24}, Year = {1989}, Doi = {10.1145/74877.74921} } @inproceedings{Brio89b, Address = {Nottingham}, Author = {Jean-Pierre Briot}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-obcl actalk smalltalk binder actors ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {109--129}, Publisher = {Cambridge University Press}, Title = {Actalk: {A} Testbed for Classifying and Designing Actor Languages in the {Smalltalk}-80 Environment}, Url = {http://web.yl.is.u-tokyo.ac.jp/members/briot/actalk/papers/actalk-ecoop89.ps.Z}, Year = {1989}, Bdsk-Url-1 = {http://web.yl.is.u-tokyo.ac.jp/members/briot/actalk/papers/actalk-ecoop89.ps.Z} } @book{Brio95a, Address = {Tokyo, Japan}, Editor = {Jean-Pierre Briot and Jean Marc Geib and Akiro Yonezawa}, Isbn = {3-540-61487-7}, Keywords = {olit scglib}, Month = jun, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {OBPDC}'95}, Volume = {1107}, Year = {1995} } @incollection{Brio96a, Author = {Jean-Pierre Briot}, Booktitle = {2nd Int. Symposium on Object Tecchnologies for Advanced Software}, Keywords = {olit-obcl actalk obib-concurrency}, Note = {Published as LNCS, volume 1049}, Pages = {227--249}, Publisher = {Springer Verlag}, Title = {An Experiment in Classification and Specialization of Synchronization Schemes}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/actalk/papers/synchro-todai-report-95-07.ps.gz}, Year = {1996}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/actalk/papers/synchro-todai-report-95-07.ps.gz} } @techreport{Brio96b, Author = {Jean-Pierre Briot and Rachid Guerraoui}, Institution = {Ecole Polytechnique Federale de Lausanne \& University of Tokyo}, Keywords = {olit-ocl obib-concurrency}, Title = {A Classification of Various Approaches for Object-Based Parallel and Distributed Programming}, Type = {Technical Report}, Url = {http://lpdwww.epfl.ch/rachid/papers/surv96.ps.gz}, Year = {1996}, Bdsk-Url-1 = {http://lpdwww.epfl.ch/rachid/papers/surv96.ps.gz} } @article{Brio98a, Author = {Jean-Pierre Briot and Rachid Guerraoui and Klaus-Peter Lohr}, Journal = {ACM Computing Surveys}, Keywords = {olit-ocl obib-concurrency}, Number = 3, Pages = {291--329}, Title = {{Concurrency and Distribution in Object-Oriented Programming}}, Volume = 30, Year = {1998} } @article{Brit94a, author = {Brito e Abreu, Fernando and Carapu\c{c}a, Rog\'{e}rio}, title = {Candidate metrics for object-oriented software within a taxonomy framework}, journal = {J. Syst. Softw.}, volume = {26}, issue = {1}, month = jul, year = {1994}, issn = {0164-1212}, pages = {87--96}, numpages = {10}, doi = {10.1016/0164-1212(94)90099-X}, acmid = {196665}, publisher = {Elsevier Science Inc.}, address = {New York, NY, USA} } @inproceedings{Brit95a, Author = {F. {Brito e Abreu} and M. Goulao and R. Esteves}, Booktitle = {Proc. 5th Int'l Conf. Software Quality}, Month = oct, Pages = {44--57}, Title = {Toward the design quality evaluation of object-oriented software systems}, Year = {1995} } @book{Broc95a, Author = {Kraig Brockschmidt}, Edition = {2nd}, Publisher = {Microsoft Press}, Title = {Inside OLE}, Year = {1995} } @book{Brod95a, Author = {Michael L. Brodie and Michael Stonebraker}, Keywords = {book scglib oorp}, Publisher = {Morgan Kaufmann}, Title = {Migrating Legacy Systems}, Year = {1995} } @inproceedings{Brod97a, Author = {Andrei Z. Broder}, Booktitle = {In Compression and Complexity of Sequences (SEQUENCES'97)}, Pages = {21--29}, Publisher = {IEEE Computer Society}, Title = {On the Resemblance and Containment of Documents}, Year = {1997} } @manual{Brok94a, Month = may, Organization = {Ilog}, Title = {ILOG BROKER: Maintening Consistency in C++ Distributed Object-Oriented Systems}, Year = {1994} } @book{Bron04a, Author = {I.N. Bronshtein and K. A. Semendyayev and G. Musiol and H. Muehlig}, Edition = {Fourth}, Isbn = {3-540-43491-7}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Title = {Handbook of Mathematics}, Year = {2004} } @book{Broo75a, Address = {Reading, Mass.}, Author = {Frederick P. Brooks}, Isbn = {0-201-00650-2}, Keywords = {misc book scglib oorp}, Publisher = {Addison Wesley}, Title = {The Mythical Man-Month}, Year = {1975} } @incollection{Broo83a, Address = {Barcelona, July 1983}, Author = {Stephen D. Brookes and William C. Rounds}, Booktitle = {Automata, Languages and Programming, 10th Colloquium}, Keywords = {pcalc equivalence ccs csp binder}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Behavioral Equivalence Relations Induced by Programming Logics}, Volume = {154}, Year = {1983} } @article{Broo83b, Author = {Brooks, Ruven}, Journal = {International Journal of Man-Machine Studies}, Pages = {543--554}, Title = {Towards a Theory of the Comprehension of Computer Programs}, Volume = {18}, Year = {1983} } @article{Broo84a, Author = {Stephen D. Brookes and C.A.R. Hoare and Andrew W. Roscoe}, Journal = {Journal of the ACM}, Keywords = {pcalc equivalence binder(csp)}, Month = jul, Number = {3}, Pages = {560--599}, Title = {A Theory of Communicating Sequential Processes}, Volume = {31}, Year = {1984} } @article{Broo87a, Author = {Frederick P. Brooks}, Journal = {IEEE Computer}, Keywords = {misc se-lit reuse binder oorp}, Month = apr, Number = {4}, Pages = {10--19}, Title = {No Silver Bullet}, Volume = {20}, Year = {1987} } @book{Broo95a, Address = {Reading, Mass.}, Author = {Brooks, Jr., Frederik P.}, Edition = {2nd}, Keywords = {misc book scglib oorp}, Publisher = {Addison Wesley Longman}, Title = {The Mythical Man-Month}, Year = {1995} } @techreport{Brook85a, institution = {Artificial Intelligence Laboratory}, author = {Brooks, Rodney A.}, title = {A Robust Layered Control System For a Mobile Robot}, keywords = {damiencbib robotics}, year = {1985}, publisher = {Massachusetts Institute of Technology}, address = {Cambridge, MA, USA} } @article{Brot83a, Author = {D.K. Brotz}, Journal = {ACM TOOIS}, Keywords = {oislit networks mail}, Number = {2}, Pages = {179--192}, Title = {Message System Mores: Etiquette in Laurel}, Volume = {1}, Year = {1983} } @inproceedings{Brow91a, Author = {Marc H. Brown}, Booktitle = {Proceedings of the 1991 IEEE Workshop on Visual Languages}, Month = oct, Pages = {4--9}, Title = {ZEUS: A System for Algorithm Animation and Multi-view Editing}, Year = {1991} } @incollection{Brow95a, 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.}, Author = {Na\"ima Brown}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-12}, Pages = {29--48}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Correctness Preserving Transformations for the Design of Parallel Programs}, Volume = {924}, Year = {1995} } @mastersthesis{Brow96c, Author = {Kyle Brown}, Keywords = {olit designpattern reveng famoos oorp}, School = {North Carolina State University}, Title = {Design Reverse-Engineering and Automated Design Pattern Detection in {Smalltalk}}, Url = {http://www.ksccary.com/kbrown.htm}, Year = {1996}, Bdsk-Url-1 = {http://www.ksccary.com/kbrown.htm} } @incollection{Brow96d, Author = {Kyle Brown and Bruce G. Whitenack}, Booktitle = {Pattern Languages of Program Design 2}, Editor = {John M. Vlissides and James O. Coplien and Norman L. Kerth}, Keywords = {oorp}, Pages = {227--238}, Publisher = {Addison Wesley}, Title = {Crossing Chasms: A Pattern Language for Object-RDBMS Integration}, Year = {1996} } @incollection{Brow96a, Author = {Alan W. Brown and Kurt C. Wallnau}, Booktitle = {Component-Based Software Engineering}, Editor = {Alan W. Brown}, Keywords = {composition}, Pages = {7--15}, Publisher = {IEEE Press}, Title = {Enginnering of Component-Based Systems}, Year = {1997} } @book{Brow96b, Editor = {Alan W. Brown}, Keywords = {composition}, Publisher = {IEEE Press}, Title = {Component-Based Software Engineering}, Year = {1997} } @book{Brow98a, Author = {William J. Brown and Raphael C. Malveau and McCormick, III, Hays W. and Thomas J. Mowbray}, Isbn = {0-471-19713-0}, Keywords = {patterns scglib new-entry oorp}, Publisher = {John Wiley Press}, Title = {Anti{Patterns}: Refactoring Software, Architectures, and Projects in Crisis}, Year = {1998} } @book{Brow01a, Author = {K. Brown and G. Craig et al.}, Isbn = {0-201-61617-3}, Keywords = {Java, Enterprise}, Publisher = {Addison Wesley}, Title = {Enterprise Java Programming with IBM Websphere}, Year = {2001} } @inproceedings{Brow02a, Author = {Adam Brown and Richard Cardone and Sean McDirmid and Calvin Lin}, Booktitle = {Proceedings of the 1st international conference on Aspect-oriented software development}, Doi = {10.1145/508386.508395}, Isbn = {1-58113-469-X}, Location = {Enschede, The Netherlands}, Pages = {76--85}, Publisher = {ACM Press}, Title = {Using mixins to build flexible widgets}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/508386.508395} } @misc{BrowseUnit, Author = {Romain Robbes}, Key = {BrowseUnit}, Keywords = {testing, smalltalk}, Note = {http://minnow.cc.gatech.edu/squeak/3113}, Title = {{Browse} {Unit}: {Integrating} {S}{Unit} into the {Smalltalk} {Browser}}, Url = {http://minnow.cc.gatech.edu/squeak/3113}, Year = {2004}, Bdsk-Url-1 = {http://minnow.cc.gatech.edu/squeak/3113} } @techreport{Broy88a, Author = {Manfred Broy}, Institution = {University of Passau, Faculty of Math. and Comp. Sci.}, Keywords = {concurrency lift binder}, Month = feb, Title = {An Example for the Design of Distributed Systems in a Formal Setting: The Lift Problem}, Type = {MIP-8802}, Year = {1988} } @article{Bruc86a, Author = {Kim B. Bruce and Peter Wegner}, Journal = {ACM SIGPLAN Notices}, Keywords = {types olit oopws86}, Month = oct, Number = {10}, Pages = {163--172}, Title = {An Algebraic Model of Subtypes in Object-Oriented Languages}, Volume = {21}, Year = {1986} } @article{Bruc90a, Author = {Kim B. Bruce and Giuseppe Longo}, Journal = {Information and Computation}, Keywords = {olit types inheritance binder}, Pages = {196--240}, Title = {A Modest Model of Records, Inheritance, and Bounded Quantification}, Volume = {87}, Year = {1990} } @inproceedings{Bruc93a, Author = {Kim B. Bruce and Jon Crabtree and Thomas P. Murtagh and Robert van Gent and Allyn Dimock and Robert Muller}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {29--46}, Title = {Safe and decidable type checking in an object-oriented language}, Url = {ftp://cs.williams.edu/pub/kim/OOPSLA.dvi}, Volume = {28}, Year = {1993}, Bdsk-Url-1 = {ftp://cs.williams.edu/pub/kim/OOPSLA.dvi} } @inproceedings{Bruc95a, Address = {Aarhus, Denmark}, Author = {Kim B. Bruce and Angela Schuett and Robert van Gent}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {27--51}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {PolyTOIL: {A} Type-Safe Polymorphic Object-Oriented Language}, Volume = {952}, Year = {1995} } @article{Bruc95c, Address = {New York, NY}, Author = {Kim B. Bruce and Luca Cardelli and Giuseppe Castagna and The Hopkins Objects Group and Gary T. Leavens and Benjamin Pierce}, Journal = {Theory and Practice of Object Systems}, Keywords = {olit}, Number = {3}, Pages = {221--242}, Publisher = {John, Wiley and Sons, Inc.}, Title = {On Binary Methods}, Volume = {1}, Year = {1995} } @misc{Bruc95b, 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.}, Author = {Kim B. Bruce}, Keywords = {olit binder}, Title = {Typing in Object-oriented languages: Achieving expressibility and Safety}, Url = {ftp://cs.williams.edu/pub/kim/Static.ps}, Year = {1996}, Bdsk-Url-1 = {ftp://cs.williams.edu/pub/kim/Static.ps} } @misc{Bruc98, Author = {K. Bruce and L. Petersen and J. Vanderwaart}, Month = apr, Title = {Modules in LOOM: Classes are not enough}, Url = {http://citeseer.nj.nec.com/bruce98module.html}, Year = {1998}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/bruce98module.html} } @misc{Bruc98a, Author = {Kim B. Bruce and Luca Cardelli and Benjamin C. Pierce}, Keywords = {object model encoding tacs97 binder (shelf)}, Month = aug, Note = {Submitted for Publication}, Title = {Comparing Object Encodings}, Url = {ftp://ftp.cs.williams.edu/pub/kim/comp.ps}, Year = {1998}, Bdsk-Url-1 = {ftp://ftp.cs.williams.edu/pub/kim/comp.ps} } @inproceedings{Bruc98b, Author = {Kim B. Bruce and Martin Odersky and Philip Wadler}, Booktitle = {Proceedings ECOOP '98}, Isbn = {3-540-64737-6}, Pages = {523--549}, Publisher = {Springer-Verlag}, Title = {A Statically Safe Alternative to Virtual Types}, Year = {1998} } @book{Bruc02a, Author = {Kim B. Bruce}, Isbn = {0-262-02523-X}, Keywords = {scglib}, Publisher = {MIT Press}, Title = {Foundations of Object-Oriented Languages --- Types and Semantics}, Year = {2002} } @article{Bruc02b, Address = {New York, NY, USA}, Author = {Robert Bruce Findler and Matthias Felleisen}, Doi = {10.1145/583852.581484}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {9}, Pages = {48--59}, Publisher = {ACM}, Title = {Contracts for higher-order functions}, Volume = {37}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/583852.581484} } @inproceedings{Bruc08a, Address = {New York, NY, USA}, Author = {Bruch, Marcel and Sch\"{a}fer, Thorsten and Mezini, Mira}, Booktitle = {RSSE '08: Proceedings of the 2008 international workshop on Recommendation systems for software engineering}, Citeulike-Article-Id= {5724793}, Doi = {10.1145/1454247.1454254}, Isbn = {978-1-60558-228-3}, Keywords = {evaluation, recommendationsystem, userstudy}, Location = {Atlanta, Georgia}, Pages = {16--20}, Posted-At = {2010-02-01 09:13:34}, Priority = {0}, Publisher = {ACM}, Title = {On evaluating recommender systems for API usages}, Url = {http://dx.doi.org/10.1145/1454247.1454254}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1454247.1454254} } @inproceedings{Brue92a, Author = {Bernd Bruegge and Jim Blythe and Jeffrey Jackson and Jeff Shufelt}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {359--376}, Title = {Object-Oriented System Modeling with {OMT}}, Volume = {27}, Year = {1992} } @inproceedings{Brue93a, Author = {Bernd Bruegge and Tim Gottschalk and Bin Luo}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {65--82}, Title = {A Framework for Dynamic Program Analyzers}, Volume = {28}, Year = {1993} } @inproceedings{Brue94a, Address = {Bologna, Italy}, Author = {Bernd Bruegge and Erik Riedel}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {474--492}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Geographic Environmental Modeling System: Towards an Object-Oriented Framework}, Volume = {821}, Year = {1994} } @book{Brue00a, Author = {Bruegge, Bernd and Dutoit, Allen H.}, Isbn = {ISBN 0-13-017452-1}, Keywords = {oose selit olit oorp}, Publisher = {Prentice-Hall}, Title = {{Object-Oriented Software Engineering: Conquering Complex and Changing Systems}}, Year = {2000} } @book{Brue04a, Author = {Bruegge, Bernd and Dutoit, Allen H.}, Keywords = {oose scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Software Engineering Using UML, Patters, and Java Second Edition}, Year = {2004} } @techreport{Brue06a, 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.}, Author = {Andrea Br\"uhlmann}, Institution = {University of Bern}, Keywords = {snf-none bruehlmann scg-bp jb06 fb06}, Month = sep, Title = {{Albatross}: Seaside Web Applications Scenario Testing Framework}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Brue06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Brue06a.pdf} } @mastersthesis{Brue08a, Abstract = {Successful reverse engineering needs to take into account human knowledge about architecture, about features or even about validation of the results of automatic analyses. This knowledge should be linked to the automatically reverse engineered model and should be taken into account by analyses. Typically, when we want to reason about data, we first encode an explicit meta- model and then express analyses at that level. However, human knowledge is often implicit and as a consequence it is not possible to describe it comprehensively upfront. In this dissertation we propose a generic approach to iteratively enrich the system model with external knowledge using annotations. Our mechanism allows the reverse engineer to iteratively describe and refine the annotations during the analysis process, instead of requiring the meta-model to be built upfront. As a validation of the expressiveness of our framework, we show how we use it to support reverse engineering scenarios.}, Author = {Andrea Br\"{u}hlmann}, Keywords = {scg-msc scg-pub bruehlmann skip-doi jb08 moose-pub hasler08}, Month = apr, School = {University of Bern}, Title = {Enriching Reverse Engineering with Annotations}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Brue08a.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Brue08a.pdf} } @inproceedings{Brue08b, Abstract = {Much of the knowledge about software systems is implicit, and therefore difficult to recover by purely automated techniques. Architectural layers and the externally visible features of software systems are two examples of information that can be difficult to detect from source code alone, and that would benefit from additional human knowledge. Typical approaches to reasoning about data involve encoding an explicit meta-model and expressing analyses at that level. Due to its informal nature, however, human knowledge can be difficult to characterize up-front and integrate into such a meta-model. We propose a generic, annotation-based approach to capture such knowledge during the reverse engineering process. Annotation types can be iteratively defined, refined and transformed, without requiring a fixed meta-model to be defined in advance. We show how our approach supports reverse engineering by implementing it in a tool called Metanool and by applying it to (i) analyzing architectural layering, (ii) tracking reengineering tasks, (iii) detecting design flaws, and (iv) analyzing features.}, Annote = {internationalconference}, Author = {Andrea Br\"{u}hlmann and Tudor G\^irba and Orla Greevy and Oscar Nierstrasz}, Booktitle = {International Conference on Model Driven Engineering Languages and Systems (Models 2008)}, Doi = {10.1007/978-3-540-87875-9_46}, Editor = {Krzysztof Czarnecki et al.}, Isbn = {978-3-540-87874-2}, Keywords = {scg08 scg-pub jb09 hasler08 girba moose-pub annotations meta-modeling}, Medium = {2}, Pages = {660-674}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Enriching Reverse Engineering with Annotations}, Url = {http://scg.unibe.ch/archive/papers/Brue08b-Metanool.pdf}, Volume = {5301}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Brue08b-Metanool.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-87875-9_46} } @book{Brug07a, editor = {Brugali, Davide}, isbn = {3540689494}, keywords = {robotics}, month = mar, publisher = {Springer}, series = {(Springer Tracts in Advanced Robotics)}, title = {{Software Engineering for Experimental Robotics}}, year = {2007} } @incollection{Brug07b, address = {Berlin, Heidelberg}, author = {Brugali, Davide and Brooks, Alex and Cowley, Anthony and C\^{o}t\'{e}, Carle and Dom\'{\i}nguez-Brito, Antonio and L\'{e}tourneau, Dominic and Michaud, Fran\c{c}is and Schlegel, Christian}, booktitle = {Software Engineering for Experimental Robotics}, chapter = {8}, doi = {10.1007/978-3-540-68951-5_8}, editor = {Brugali, Davide}, isbn = {978-3-540-68949-2}, journal = {Software Engineering for Experimental Robotics}, keywords = {architecture, middleware, robotics}, pages = {135--142}, publisher = {Springer Berlin Heidelberg}, series = {Springer Tracts in Advanced Robotics}, title = {Trends in Component-Based Robotics}, volume = {30}, year = {2007} } @book{Brun56a, Address = {New York, NY}, Author = {Jerome S. Bruner and Jacqueline J. Goodnow and George A. Austin}, Keywords = {examples categorization}, Publisher = {John Wiley {\&} Sons}, Title = {A Study of Thinking}, Year = {1956} } @inproceedings{Brun86a, Author = {Giorgio Bruno and Alessandra Balsamo}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit lang ada oopsla86}, Month = nov, Pages = {284--293}, Title = {Petri Net-Based Object-Oriented Modelling of Distributed Systems}, Volume = {21}, Year = {1986} } @inproceedings{Brun02, Address = {Grenoble, France}, Author = {Eric Bruneton and Romain Lenglet and Thierry Coupaye}, Booktitle = {Proceedings of Adaptable and Extensible Component Systems}, Month = nov, Title = {{ASM}: A Code Manipulation Tool to Implement Adaptable Systems}, Year = {2002} } @article{Brun03a, author = {Bruns, G. and Chandra, S.}, journal = {Software Engineering, IEEE Transactions on}, title={Searching for points-to analysis}, year = {2003}, month = oct, volume = {29}, number = {10}, pages = {883-897}, abstract = {The points-to analysis problem is to find the pointer relationships that could arise during program execution. Many points-to analysis algorithms exist, each making a particular trade off between cost of the analysis and precision of the results. In this paper, we show how points-to analysis algorithms can be defined as transformed versions of an exact algorithm. We present a set of program transformations over a general program model and use them to define some existing points-to analysis algorithms. Doing so makes explicit the approximations involved in these algorithms. We also show how the transformations can be used to define new points-to analysis algorithms. Our transformations are generic and may be useful in the design of other program analysis algorithms.}, doi = {10.1109/TSE.2003.1237170}, ISSN = {0098-5589} } @inproceedings{Brun04a, Author = {Magiel Bruntink and Deursen, {Arie van}}, Booktitle = {Proceedings of the Fourth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM)}, Keywords = {unit tests, testability, tests}, Month = sep, Publisher = {IEEE Computer Society Press}, Title = {Predicting Class Testability using Object-Oriented Metrics}, Year = {2004} } @article{Brun05a, Author = {Magiel Bruntink and Deursen, Arie van and Engelen, Remco van and Tom Tourw\'{e}}, Journal = {IEEE Transactions on Software Engineering}, Number = {10}, Pages = {804--818}, Title = {On the Use of Clone Detection for Identifying Cross Cutting Concern Code}, Volume = {31}, Year = {2005} } @inproceedings{Brun06a, Author = {Magiel Bruntink}, Booktitle = {Proceedings of the 6th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM)}, Month = dec, Pages = {107--116}, Publisher = {IEEE Computer Society Press}, Title = {Linking Analysis and Transformation Tools with Source-Based Mappings}, Year = {2006} } @article{Brun06b, Address = {New York, NY, USA}, Author = {Magiel Bruntink and Arie van Deursen}, Doi = {10.1016/j.jss.2006.02.036}, Issn = {0164-1212}, Journal = {J. Syst. Softw.}, Number = {9}, Pages = {1219--1232}, Publisher = {Elsevier Science Inc.}, Title = {An empirical study into class testability}, Volume = {79}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2006.02.036} } @phdthesis{Brun08a, Address = {Los Angeles, {CA}, {USA}}, Author = {Yuriy Brun}, Keywords = {tylestyle tile systems}, Month = may, School = {University of Southern California}, Title = {Self-Assembly for Discreet, Fault-Tolerant, and Scalable Computation on Internet-Sized Distributed Networks}, Url = {http://csse.usc.edu/~ybrun/pubs/pubs/Brun08PhD.pdf}, Year = {2008}, Bdsk-Url-1 = {http://csse.usc.edu/~ybrun/pubs/pubs/Brun08PhD.pdf} } @inproceedings{Brun08b, Address = {New York, NY, USA}, Author = {Oliveira, Bruno C.d.S. and Gibbons, Jeremy}, Booktitle = {WGP '08: Proceedings of the ACM SIGPLAN workshop on Generic programming}, Doi = {10.1145/1411318.1411323}, Isbn = {978-1-60558-060-9}, Location = {Victoria, BC, Canada}, Pages = {25--36}, Publisher = {ACM}, Title = {Scala for generic programmers}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1411318.1411323} } @techreport{Brun09a, Abstract = {Virtual machines emulating hardware devices are generally implemented in low-level languages and using a low-level style for performance reasons. This trend results in largely difficult to understand, difficult to extend and unmaintainable systems. As new general techniques for virtual machines arise, it gets harder to incorporate or test these techniques because of early design and optimization decisions. In this paper we show how such decisions can be postponed to later phases by separating virtual machine implementation issues from the high-level machine-specific model. We construct compact models of whole-system VMs in a high-level language, which exclude all low-level implementation details. We use the pluggable translation toolchain PyPy to translate those models to executables. During the translation process, the toolchain reintroduces the VM implementation and optimization details for specific target platforms. As a case study we implement an executable model of a hardware gaming device. We show that our approach to VM building increases understandability, maintainability and extendability while preserving performance.}, Annote = {report notrefereed}, Author = {Camillo Bruni and Toon Verwaest and Marcus Denker}, Institution = {University of Bern, Institute of Applied Mathematics and Computer Sciences}, Keywords = {scg09 scg-pub jb09 snf09 skip-doi tverwaes}, Medium = {2}, Number = {IAM-09-002}, Peerreview = {yes}, Title = {{PyGirl}: Generating Whole-System {VM}s from high-level models using {PyPy}}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Brun09aPyGirlTechreport.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Brun09aPyGirlTechreport.pdf} } @techreport{Brun09b, Abstract = {Hardware Virtual Machines are generally written in a low-level style with close resemblance to the actual working principle of the original system. We show a different approach by creating a whole-system VM for a hardware gaming device using a high-level language and a high-level representation, which increases readability and maintainability. By creating a fully functional VM model which then can be compiled for different architectures, we postpone low-level optimizations to the compilation step. Our high-level VM model written in Python is translated using the PyPy toolchain, a sophisticated high-level compiler.}, Author = {Camillo Bruni}, Institution = {University of Bern}, Keywords = {snf09 scg-bp jb09}, Month = jan, Title = {Development and Debugging of a Whole-System {VM} in {RPython}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Brun09b.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Brun09b.pdf} } @inproceedings{Brun09c, Abstract = {Virtual machines (VMs) emulating hardware devices are generally implemented in low-level languages for performance reasons. This results in unmaintainable systems that are difficult to understand. In this paper we report on our experience using the PyPy toolchain to improve the portability and reduce the complexity of whole-system VM implementations. As a case study we implement a VM prototype for a Nintendo Game Boy, called PyGirl, in which the high-level model is separated from low-level VM implementation issues. We shed light on the process of refactoring from a low-level VM implementation in Java to a high-level model in RPython. We show that our whole-system VM written with PyPy is significantly less complex than standard implementations, without substantial loss in performance.}, Annote = {internationalconference}, Author = {Camillo Bruni and Toon Verwaest}, Booktitle = {Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2009}, Doi = {10.1007/978-3-642-02571-6_19}, Keywords = {scg09 scg-pub jb09 snf09 tverwaes}, Medium = {2}, Pages = {328--347}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNBIP}, Title = {{PyGirl}: Generating Whole-System {VMs} from High-Level Prototypes using {PyPy}}, Url = {http://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf}, Volume = {33}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-02571-6_19} } @inproceedings{Brun09d, author = {Bruneau, Julien and Jouve, Wilfried and Consel, Charles}, title = {{DiaSim}, A Parameterized Simulator for Pervasive Computing Applications}, address = {Toronto, Ontario, Canada}, keywords = {damiencbib}, booktitle = {Mobiquitous'09: Proceedings of the 6th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services}, pages = {1--10}, doi = {10.4108/ICST.MOBIQUITOUS2009.6851}, year = {2009}, publisher = {ICST/IEEE}, annote = {InternationalConference} } @techreport{Brun10a, author = {Bruneau, Julien and Consel, Charles and O'Malley, Marcia and Taha, Walid and Hannourah, Wail Masry}, title = {Virtual Testing for Smart Buildings}, keywords = {damiencbib acumen}, institution = {Phoenix Research Group, INRIA Bordeaux}, year = {2010} } @inproceedings{Brun10b, author = {Bruneau, Julien and Consel, Charles and O'Malley, Marcia and Taha, Walid and Hannourah, Wail Masry}, title = {Preliminary Results in Virtual Testing for Smart Buildings}, note = {poster}, booktitle = {MOBIQUITOUS'10: Proceedings of the 7th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services}, publisher = {ICST Gent}, year = {2010}, month = dec, keywords = {virtual testing smart buildings HVAC mixed (virtual/real) world infrastructures energy efficiency diasuite diaspec damiencbib}, address = {Sydney, Australia}, url = {http://hal.inria.fr/inria-00551264/en} } @mastersthesis{Brun11a, Abstract = {Optimizations are an omnipresent topic when working on Virtual Machines (VMs). There is a plethora of different optimizations available ranging from simple tweaks and tricks to full evaluation concepts requiring a complex infrastructure. Depending on the complexity of an optimization and the performance increase it is important to choose the right kinds of optimizations. Based on a high-level language VM as a case study we argue in favor of transparent optimizations which do not require changes in the interpreted language's semantics. Furthermore it is necessary to write and properly evaluate benchmarks to be able to track the performance impact of a certain optimization. When building a high-level language VM the underlying system -- traditionally a C or C++ core -- does not share many concepts with the implemented language. Hence some optimizations emerging from the low-level VM core are orthogonal to the high-level concepts of the interpreted language. Focusing on such optimizations can strongly limit the dynamic capabilities of a high-level language. These non-transparent optimizations require the semantics of the interpreted language to be changed. Changes in the language's semantics can require extensive changes in the sources which is an undesired property. However transparent optimizations preserve semantics of the language. Using transparent optimizations helps to separate the low-level requirements of the VM form the high-level design decisions of the language. We argue that non-transparent optimizations should only be applied to a high-level language VM in an early development stage. Furthermore each non-transparent optimization should be paired with a compatible way to reintroduce the lost or altered semantics. To make valid statements about optimizations it is necessary to write adequate benchmarks. The benchmarks have to be reproducible and the evaluation has to be statistically sound, furthermore the benchmarks should focus on covering specific use cases to help locating performance issues in the VM code. Benchmarks are to be used in a similar way as unit tests. Optimizations can only be evaluated in a sound way when the corresponding benchmarks produce deterministic values. Furthermore we state that focusing on micro benchmarks helps to locate and track performance critical code segments of the VM.}, Author = {Camillo Bruni}, Keywords = {scg-msc jb11 snf11 pinocchio}, Month = jan, School = {University of Bern}, Title = {Optimizing {Pinocchio}}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Brun11a.pdf}, Year = {2011} } @proceedings{Bry97a, Address = {Montreaux, Switzerland}, Booktitle = {Proceedings of the 5th International Conference, DOOD '97}, Editor = {Francois Bry and Raghu Ramakrishnan and Kotagiri Ramamohanarao}, Isbn = {3-540-63792-3}, Keywords = {dood97 scglib}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Deductive and Object-Oriented Databases}, Volume = {1341}, Year = {1997} } @inproceedings{Bryc99a, Author = {Ciaran Bryce and Manuel Oriol and Jan Vitek}, Booktitle = {Proceedings of Coordination '99 (Coordination Languages and Models}, Keywords = {olit coordination99}, Number = 1594, Pages = {4--20}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Coordination Model for Agents Based on Secure Spaces}, Year = {1999} } @article{Bucc94a, Author = {Paolo Bucci and Joseph E. Hollingsworth and Joan Krone and Bruce W. Weide}, Doi = {10.1145/190679.190683}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {4}, Pages = {40--51}, Publisher = {ACM Press}, Title = {Part III: implementing components in {RESOLVE}}, Volume = {19}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.190683} } @article{Buch88a, Author = {A.H. Reisner and C.A. Bucholtz}, Journal = {CABIOS}, Keywords = {dotplot}, Number = {3}, Pages = {395--402}, Title = {The use of various properties of amino acids in color and monochrome dot-matrix analyses for protein homologies}, Volume = {4}, Year = {1988} } @techreport{Buch02a, 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.}, Author = {Frank Buchli}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb03 moose-pub}, Month = dec, Title = {An explicit model for {ADVance}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Buch02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Buch02a.pdf} } @mastersthesis{Buch03a, 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}, Author = {Frank Buchli}, Classification= {D.2.2. Tools and Techniques}, Keywords = {scg-msc snf03 jb04 moose-pub}, Month = sep, School = {University of Bern}, Title = {Detecting {Software} {Patterns} using {Formal} {Concept} {Analysis}}, Type = {Diploma Thesis}, Url = {http://scg.unibe.ch/archive/masters/Buch03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Buch03a.pdf} } @article{Buck05a, Author = {Jim Buckley and Tom Mens and Matthias Zenger and Awais Rashid and G\"unter Kniesel}, Journal = {Journal on Software Maintenance and Evolution: Research and Practice}, Keywords = {evolution}, Pages = {309--332}, Title = {Towards a Taxonomy of Software Change}, Year = {2005} } @book{Budd87a, Address = {Reading, Mass.}, Author = {Tim Budd}, Keywords = {olit-oopl littlesmalltalk}, Publisher = {Addison Wesley}, Title = {A Little {Smalltalk}}, Year = {1987} } @techreport{Budd91a, Author = {Timothy A. Budd}, Institution = {Oregon State University}, Keywords = {olit-oopl leda binder}, Misc = {April 29}, Month = apr, Title = {Multiparadigm Data Structures in Leda}, Type = {Research paper}, Year = {1991} } @techreport{Budd91b, Author = {Timothy A. Budd}, Institution = {Oregon State University}, Keywords = {olit-oopl leda binder}, Misc = {March 5}, Month = mar, Title = {Sharing and First-Class Functions in Object-Oriented Languages}, Type = {Research paper}, Year = {1991} } @book{Budd91c, Author = {Timothy A. Budd}, Isbn = {0-201-54709-0}, Keywords = {oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {An Introduction to Object-Oriented Programming}, Year = {1991} } @book{Budd91d, Author = {Timothy A. Budd}, Isbn = {2-87908-003-7}, Keywords = {oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {Introduction a la programation par objets}, Year = {1991} } @inproceedings{Budd92a, Address = {Dortmund}, Author = {Reinhard Budde and Marie-Luise Christ-Neumann and Karl-Heinz Sylla}, Booktitle = {Proceedings of TOOLS Europe 92}, Keywords = {olit-oose}, Title = {Tools and Materials: An Analysis and Design Metaphor}, Year = {1992} } @book{Budd94a, Author = {Timothy A. Budd}, Isbn = {2-87908-003-7}, Keywords = {oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {Classical Data Structures in {C}++}, Year = {1994} } @book{Budd94b, Author = {Timothy A. Budd}, Keywords = {oobib(oopl) book scglib}, Publisher = {Oregon State University}, Title = {Multiparadigm Programming in Leda}, Year = {1994} } @book{Budd98a, Author = {Timothy Budd}, Isbn = {0-201-30881-9}, Keywords = {olit-oopl java}, Publisher = {Addison Wesley}, Title = {Understanding Object-Oriented Programming with {Java}}, Year = {1998} } @book{Budd00a, Author = {Timothy Budd}, Keywords = {olit-oopl java scglib}, Publisher = {Addison Wesley}, Title = {Understanding Object-Oriented Programming with {Java} Updated Edition}, Year = {2000} } @article{Budi96a, Author = {F.J. Budinsky and M.A. Finnie and J.M Vlissides and P.S. Yu}, Journal = {IBM Systems Journal}, Number = {2}, Title = {Automatic code generation from design patterns}, Volume = {35}, Year = {1996} } @book{Budi03a, Author = {Frank Budinsky and David Steinberg and Ed Merks and Raymond Ellersick and Timothy Grose}, Publisher = {Addison Wesley Professional}, Title = {Eclipse Modeling Framework}, Year = {2003} } @book{Buec95a, Author = {Matthias C. B\"ucker and Joachim Geidel and Matthias F. Lachmann}, Keywords = {smalltalk scglib}, Publisher = {Springer}, Title = {Programmieren in {Smalltalk} mit VisualWorks}, Year = {1995} } @inproceedings{Buec00a, Author = {Martin B\"uchi and Wolfgang Weck}, Booktitle = {{ECOOP 2000, 14th European Conference on Object-Oriented Programming}}, Editor = {Elisa Bertino}, Pages = {201--225}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Generic Wrappers}, Volume = 1850, Year = {2000} } @techreport{Bueh03a, 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.}, Author = {Thomas B\"uhler}, Institution = {University of Bern}, Keywords = {scg-ip jb04 recast04 moose-pub}, Month = oct, Title = {{MooseGager}, a Software Metrics Tool based on {Moose}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Bueh03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bueh03a.pdf} } @mastersthesis{Bueh04a, 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.}, Author = {Thomas B\"uhler}, Keywords = {scg-msc recast05 jb05 moose-pub}, Month = sep, School = {University of Bern}, Title = {Detecting and Visualizing Phases in Software Evolution}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Bueh04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Bueh04a.pdf} } @book{Bues07a, Author = {C. Beust and H. Suleiman}, Publisher = {Addison-Wesley}, Title = {Next Generation Java Testing: TestNG and Advanced Concepts}, Year = {2007} } @inproceedings{Buhr88a, Address = {Oslo}, Author = {Peter A. Buhr and C.R. Zarnke}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {128--145}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Nesting in an Object-Oriented Language is {NOT} for the Birds}, Volume = {322}, Year = {1988} } @article{Buhr89a, Author = {Raymond J.A. Buhr and Gerald M. Karam and Carol J. Hayes and C. Murray Woodside}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {visprog reuse binder(visprog)}, Month = mar, Number = {3}, Pages = {235--249}, Title = {Software {CAD}: {A} Revolutionary Approach}, Volume = {15}, Year = {1989} } @inproceedings{Buhr92a, Author = {Raymond J.A. Buhr and Ronald S. Casselman}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {466--483}, Title = {Architectures with Pictures}, Volume = {27}, Year = {1992} } @article{Bui86a, Author = {T.X. Bui and Matthias Jarke}, Journal = {ACM TOOIS}, Keywords = {olit coop gdss}, Month = apr, Number = {2}, Pages = {81--103}, Title = {Communications Design for Co-oP: {A} Group Decision Support System}, Volume = {4}, Year = {1986} } @article{Buja08a, Author = {Buja, Andreas and Swayne, Deborah F. and Littman, Michael L. and Dean, Nathaniel and Hofmann, Heike and Chen, Lisha}, Citeulike-Article-Id= {2852207}, Citeulike-Linkout-0= {http://dx.doi.org/10.1198/106186008X318440}, Citeulike-Linkout-1= {http://www.ingentaconnect.com/content/asa/jcgs/2008/00000017/00000002/art00011}, Doi = {10.1198/106186008X318440}, Issn = {1061-8600}, Journal = {Journal of Computational and Graphical Statistics}, Keywords = {codemap, mds, visualization}, Month = jun, Number = {2}, Pages = {444--472}, Posted-At = {2009-07-19 17:05:27}, Priority = {0}, Title = {Data Visualization With Multidimensional Scaling}, Url = {http://dx.doi.org/10.1198/106186008X318440}, Volume = {17}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1198/106186008X318440} } @inproceedings{Bull96a, Address = {Linz, Austria}, Author = {Fr\'ed\'erique Bullat and Michel Schneider}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {344--365}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Dynamic Clustering in Object Databases Exploiting Effective Use of Relationships Between Objects}, Volume = {1098}, Year = {1996} } @inproceedings{Bull02a, Author = {R. Ian Bull and Andrew Trevors and Andrew J. Maltopn and Michael W. Godfrey}, Booktitle = {Proceedings Ninth Working Conference on Reverse Engineering (WCRE'02)}, Location = {Richmond, VA}, Month = oct, Pages = {267--276}, Publisher = {IEEE Computer Society}, Title = {Semantic Grep: Regular Expressions + Relational Abstraction}, Year = {2002} } @inproceedings{Bull04a, Address = {New York, NY, USA}, Author = {R. Ian Bull and Casey Best and Margaret-Anne Storey}, Booktitle = {Eclipse '04: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange}, Doi = {10.1145/1066129.1066131}, Location = {Vancouver, British Columbia, Canada}, Pages = {6--11}, Publisher = {ACM Press}, Title = {Advanced widgets for Eclipse}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1066129.1066131} } @inproceedings{Bull05a, Author = {R. Ian Bull and Jean-Marie Favre}, Booktitle = {MDDAUI}, Editor = {Andreas Pleuss and Jan Van den Bergh and Heinrich Hussmann and Stefan Sauer}, Publisher = {CEUR-WS.org}, Series = {CEUR Workshop Proceedings}, Title = {Visualization in the Context of Model Driven Engineering.}, Url = {http://dblp.uni-trier.de/db/conf/uml/mddaui2005.html#BullF05}, Volume = {159}, Year = {2005}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/uml/mddaui2005.html#BullF05} } @inproceedings{Bull06a, Address = {Athens, Greece}, Author = {R. Ian Bull and Margaret-Anne Storey and Jean-Marie Favre and Marin Litoiu}, Booktitle = {International Conference on Program Comprehension}, Day = {14--16}, Doi = {10.1109/ICPC.2006.11}, Pages = {100--106}, Publisher = {IEEE Computer Society}, Title = {An Architecture to Support Model Driven Software Visualization}, Url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=34208&arnumber=1631112&count=51&index=21}, Year = {2006}, Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=34208&arnumber=1631112&count=51&index=21}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2006.11} } @inproceedings{Bull06b, Address = {New York, NY, USA}, Author = {R. Ian Bull}, Booktitle = {CASCON '06: Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research}, Doi = {10.1145/1188966.1188989}, Location = {Toronto, Ontario, Canada}, Pages = {17}, Publisher = {ACM Press}, Title = {Integrating dynamic views using model driven development}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1188966.1188989} } @book{Bung77a, Author = {M. Bunge}, Publisher = {Riedel}, Title = {Treatise on Basic Philosophy: Ontology I: The Furniture of the World}, Year = {1977} } @techreport{Bung07a, 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.}, Author = {Philipp Bunge}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb07 moose-pub}, Month = feb, Title = {Shrew --- A Prototype for Subversion Analysis}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Bung07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bung07a.pdf} } @mastersthesis{Bung09a, Abstract = {Browsers are a crucial instrument to understand complex systems or models. Each problem domain is accompanied by an abundance of browsers that are created to help analyze and interpret the underlying elements. The issue with these browsers is that they are frequently rewritten from scratch, making them expensive to create and burdensome to maintain. While many frameworks exist to ease the development of user interfaces in general, they provide only limited support to simplifying the creation of browsers. In this thesis we present a dedicated model to describe browsers that equally emphasizes the control of navigation flow within the browser. Our approach is designed to support arbitrary domain models allowing researchers to quickly define new browsers for their data. To validate our model we have implemented the framework Glamour which additionally offers a declarative language to simplify the definition of browsers. We have used Glamour to re-implement several existing browsers and to explore the creation of new browsers.}, Author = {Philipp Bunge}, Institution = {University of Bern}, Keywords = {scg-msc jb09 hasler09 moose-pub}, Month = apr, School = {University of Bern}, Title = {Scripting Browsers with {Glamour}}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Bung09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Bung09a.pdf} } @misc{Bung09b, Abstract = {Browsers are crucial to make software models accessible. Problem domains often require multiple views to access, interpret and edit the underlying elements. However, browsers are expensive to create and burdensome to maintain. Glamour is a framework dedicated to building browsers. It uses a components and connectors architecture and it comes with an embedded domain specific language that allows the user to build dedicated browsers quickly. It accommodates any kind of domain models via on-the-fly transformations and it enforces a strict and explicit separation between the presentation of the data and the navigation flow between different entities.}, Annote = {tooldemo}, Author = {Philipp Bunge and Tudor G\^irba and Lukas Renggli and Jorge Ressia and David R\"othlisberger}, Howpublished = {European Smalltalk User Group 2009 Technology Innovation Awards}, Keywords = {esug scg-misc jb-none hasler09 snf-none girba roethlisberger}, Month = aug, Note = {Glamour was awarded the 3rd prize}, Title = {Scripting Browsers with {Glamour}}, Url = {http://scg.unibe.ch/archive/reports/Bung09bGlamour.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Bung09bGlamour.pdf} } @inproceedings{Bunk06a, Address = {Leipzig, Germany}, Author = {H. Bunke and P. Dickinson and A. Humm and Ch. Irniger and M. Kraetzl}, Booktitle = {Advances in Data Mining, Proc.\ 6th Industrial Conference on Data Mining, ICDM}, Doi = {10.1007/11790853_45}, Editor = {Perner, P.}, Month = jul, Pages = {576--590}, Publisher = {Springer}, Series = {LNAI 4065}, Title = {Computer network monitoring and abnormal event detection using graph matching and multidimensional scaling}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11790853_45} } @book{Burc98a, Author = {H.W. Fowler and R. W. Burchfield}, Edition = {Third}, Isbn = {0-19-860263-4}, Keywords = {book scglib}, Publisher = {Oxford University Press}, Title = {Fowler's Modern English Usage}, Year = {1998} } @inproceedings{Burc05a, Address = {St. Louis, Missouri, USA}, Author = {Michael Burch and Stephan Diehl and Peter Wei\ss gerber}, Booktitle = {Proceedings of 2005 ACM Symposium on Software Visualization (Softviz 2005)}, Keywords = {evolution, visualization}, Month = may, Pages = {37--46}, Title = {Visual Data Mining in software Archives}, Year = {2005} } @inproceedings{Burd97a, Author = {Elizabeth Burd and Malcolm Munro}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM)}, Keywords = {clones}, Location = {Bari, Italy}, Month = sep, Publisher = {IEEE}, Title = {Investigating the Maintenance Implications of the Replication of Code}, Year = {1997} } @inproceedings{Burd98a, Author = {Elizabeth Burd and Malcom Munro}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {2--10}, Publisher = {IEEE Computer Society}, Title = {Assisting Human Understanding to Aid the Targeting of Necessary Reengineering Work}, Year = {1998} } @inproceedings{Burd99a, Address = {Los Alamitos CA}, Author = {Elizabeth Burd and Malcolm Munro}, Booktitle = {Proceedings of the Working Conference on Reverse Engineering, (WCRE 1999)}, Pages = {168--174}, Publisher = {IEEE Computer Society Press}, Title = {An Initial Approach towards Measuring and Characterizing Software Evolution}, Year = {1999} } @inproceedings{Burd00a, Author = {Elizabeth Burd and Steven Bradley and John Davey}, Booktitle = {Seventh Working Conference on Reverse Engineering (WCRE)}, Publisher = {IEEE Press}, Title = {Studying the Process of Software Change: an analysis of software evolution}, Year = {2000} } @inproceedings{Burd02a, Address = {Montreal, Canada}, Author = {Elizabeth Burd and John Bailey}, Booktitle = {Proceedings 2nd Int. Workshop on Source Code Analysis and Manipulation (SCAM'02)}, Month = oct, Pages = {36--43}, Publisher = {IEEE}, Title = {Evaluating Clone Detection Tools for Use during Preventative Maintenance}, Year = {2002} } @mastersthesis{Burk97a, Author = {Benno Burkhardt}, Keywords = {snf-none scg-pub skip-abstract skip-doi toBeChecked scg-msc jb97}, Month = oct, School = {University of Bern}, Title = {Erweiterung objektorientierter Methoden f{\"u}r den konzeptuellen Datenbankentwurf}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Burk97a.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Burk97a.pdf} } @book{Burk97b, Author = {Rainer Burkhardt}, Isbn = {3-8273-1226-4}, Keywords = {uml design scglib}, Publisher = {Addison Wesley}, Title = {{UML}-Unified Modeling Language}, Year = {1997} } @book{Burl94a, Author = {Donald K. Burleson}, Isbn = {0-471-08623-1}, Keywords = {databases distributed scglib}, Publisher = {Wiley-QED}, Title = {Managing Distributed Databases}, Year = {1994} } @techreport{Burm96a, Address = {Darmstadt, Germany}, Author = {P. Burmeister}, Institution = {TU-Darmstadt}, Keywords = {fca}, Title = {Formal Concept Analysis with {ConImp}: Introduction to the basic features}, Url = {http://www.mathematik.tu-darmstadt.de/~burmeister/}, Year = {1996}, Bdsk-Url-1 = {http://www.mathematik.tu-darmstadt.de/~burmeister/} } @book{Burn87a, Author = {A. Burns and A.M. Lister and A.J. Wellings}, Keywords = {plang ada}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Review of Ada Tasking}, Volume = {262}, Year = {1987} } @book{Burn93a, Author = {Alan Burns and Geoff Davies}, Isbn = {0-201-54417-2}, Keywords = {pl concurrency scglib}, Publisher = {Addison Wesley}, Title = {Concurrent Programming}, Year = {1993} } @article{Burn94a, Author = {Margaret M. Burnett and Marla J. Baker}, Journal = {Journal of Visual Languages and Computing}, Keywords = {visprog pl-lit}, Number = {3}, Pages = {287--300}, Title = {A Classification System for Visual Programming Languages}, Url = {ftp://ftp.cs.orst.edu/pub/burnett/VPLclassification.JVLC.Sept94.pdf}, Volume = {5}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.cs.orst.edu/pub/burnett/VPLclassification.JVLC.Sept94.pdf} } @book{Burn95a, Author = {Margaret M. Burnett and Adele Goldberg}, Isbn = {0-13-172397-9}, Keywords = {visprog}, Publisher = {Prentice-Hall}, Title = {Visual Object-Oriented Programming}, Year = {1995} } @book{Burn97a, Author = {Alan Burns and Andy Wellings}, Isbn = {0-201-40365-X}, Keywords = {pl concurrency real-time scglib}, Publisher = {Addison Wesley}, Title = {Real-Time Systems and Programming Languages}, Year = {1997} } @inproceedings{Burn97b, Author = {Ilene Burnstein and Katherine Roberson and Floyd Saner and Abdul Mirza and Abdallah Tubaishat}, Booktitle = {Proceedings of the 9th International Conference on Tools with Artificial Intelligence (TAI-97)}, Month = nov, Publisher = {IEEE Press}, Title = {A Role for Chunking and Fuzzy Reasoning in a Program Comprehension and Debugging Tool}, Year = {1997} } @incollection{Burn99a, Author = {Margaret Burnett}, Booktitle = {Encyclopedia of Electrical and Electronics Engineering}, Editor = {John G. Webster}, Keywords = {visprog pl-lit}, Pages = {275--283}, Publisher = {John Wiley \& Sons Inc.}, Title = {Visual Programming}, Url = {ftp://ftp.cs.orst.edu/pub/burnett/whatIsVP.pdf}, Year = {1999}, Bdsk-Url-1 = {ftp://ftp.cs.orst.edu/pub/burnett/whatIsVP.pdf} } @inproceedings{Burs80a, Author = {Ron M. Burstall and D.B. MacQueen and D.T. Sannella}, Booktitle = {Proceedings, 1980 LISP Conference}, Keywords = {fpl hope}, Month = aug, Pages = {136--143}, Title = {{HOPE}: An Experimental Applicative Language}, Year = {1980} } @article{Burs84a, Author = {Rod Burstall and Butler Lampson}, Journal = {Information and Computation}, Keywords = {fpl pebble pisem}, Note = {Also appeared in Proceedings of the International Symposium on Semantics of Data Types, Springer, LNCS (1984), and as SRC Research Report 1}, Number = {2/3}, Title = {A Kernel Language for Abstract Data Types and Modules}, Url = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-001.html}, Volume = 76, Year = {1984}, Bdsk-Url-1 = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-001.html} } @book{Busc96a, Author = {Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stad}, Isbn = {0-471-95869-7}, Keywords = {olit design-patterns scglib sclit oorp}, Publisher = {John Wiley Press}, Title = {Pattern-Oriented Software Architecture --- {A} System of Patterns}, Year = {1996} } @book{Busc96b, Address = {New York, NY, USA}, Author = {Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stal}, Isbn = {0-471-95869-7}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Pattern-oriented software architecture: a system of patterns}, Year = {1996} } @incollection{Busi95a, 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.}, Author = {Nadia Busi and Roberto Gorrieri}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-04}, Pages = {49--65}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Distributed Conflicts in Communicating Systems}, Volume = {924}, Year = {1995} } @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}, Journal = {IBM Systems Journal}, Keywords = {reverse engineering binder}, Number = {3}, Pages = {477--500}, Title = {Investigating Reverse Engineering Technologies for the {CAS} Program understanding Project}, Volume = {33}, Year = {1994} } @inproceedings{Buss00a, Author = {L. Bussard}, Booktitle = {Workshop on the Aspects and Dimensions of Concerns of ECOOP 2000}, Title = {Towards a pragmatic composition model of corba services based on {AspectJ}}, Year = {2000} } @article{Buss02a, Address = {New York, NY, USA}, Author = {Christoph Bussler and Dieter Fensel and Alexander Maedche}, Doi = {10.1145/637411.637415}, Issn = {0163-5808}, Journal = {SIGMOD Rec.}, Number = {4}, Pages = {24--29}, Publisher = {ACM Press}, Title = {A conceptual architecture for semantic web enabled web services}, Volume = {31}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/637411.637415} } @book{Bust88a, Address = {New York}, Author = {David Bustard and John Elder and Jim Welsh}, Keywords = {concurrency}, Publisher = {Prentice-Hall}, Series = {Prentice Hall International series in computer science}, Title = {Concurrent Program Structures}, Year = {1988} } @inproceedings{Bust07a, author = {Bustos, Alex and Eterovic, Yadran}, title = {Modeling aspects with UML's class, sequence and state diagrams in an industrial setting}, booktitle = {Proceedings of the 11th IASTED International Conference on Software Engineering and Applications}, year = {2007}, isbn = {978-0-88986-706-2}, location = {Cambridge, Massachusetts}, pages = {403--410}, numpages = {8}, url = {http://portal.acm.org/citation.cfm?id=1647636.1647707}, acmid = {1647707}, publisher = {ACTA Press}, address = {Anaheim, CA, USA}, keywords = {UML, aspect orientation, software design} } @techreport{Bute02a, 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.}, Author = {Calogero Butera}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb03 moose-pub}, Month = dec, Title = {A Metrics Front-End for the Moose Reengineering Environment}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Bute02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Bute02a.pdf} } @article{Butt91a, Address = {New York, NY, USA}, Author = {Paul Butterworth and Allen Otis and Jacob Stein}, Doi = {10.1145/125223.125254}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {10}, Pages = {64--77}, Publisher = {ACM Press}, Title = {The {GemStone} object database management system}, Volume = {34}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/125223.125254} } @inproceedings{Buxt80a, Address = {Chicago}, Author = {J.N. Buxton and L.E. Druffel}, Booktitle = {Proceedings IEEE COMPSAC '80}, Keywords = {misc selit stoneman apse ada}, Month = oct, Pages = {66--72}, Title = {Rationale for {STONEMAN}}, Year = {1980} } @article{Buxt83a, Author = {W. Buxton and M.R. Lamb and Dave Sherman and K.C. Smith}, Journal = {Computer Graphics}, Keywords = {uilit menulay uims}, Month = jul, Number = {3}, Pages = {35--42}, Title = {Towards a Comprehensive User Interface Management System}, Volume = {17}, Year = {1983} } @inproceedings{Buxt93a, Address = {Garmisch-Partenkirchen, Germany}, Author = {J.N Buxton}, Booktitle = {Proceedings ESEC '93}, Editor = {Ian Sommerville}, Keywords = {olit esec93}, Month = sep, Pages = {1--9}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On the Decline of Classical Programming}, Volume = {717}, Year = {1993} } @inproceedings{Byel06a, Address = {New York, NY, USA}, Author = {Heorhiy Byelas and Alexandru C. Telea}, Booktitle = {SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization}, Doi = {10.1145/1148493.1148509}, Isbn = {1-59593-464-2}, Location = {Brighton, United Kingdom}, Pages = {105--114}, Publisher = {ACM}, Title = {Visualization of areas of interest in software architecture diagrams}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1148493.1148509} } @incollection{Byeo93a, 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.}, Author = {Kwang June Byeon and Dennis McLeod}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {220--236}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Towards the Unification of Views and Versions for Object Databases}, Volume = {742}, Year = {1993} } @inproceedings{Byko08a, Author = {Vassili Bykov}, Booktitle = {International Workshop on Advanced Software Development Tools and Techniques (WasDeTT)}, Month = jul, Title = {Hopscotch: Towards User Interface Composition}, Year = {2008} } @inproceedings{Byrd82a, Address = {Philadelphia}, Author = {R.J. Byrd and S.E. Smith and Peter de Jong}, Booktitle = {Proceedings ACM SIGOA, Newsletter}, Keywords = {olit-oopl actors}, Month = jun, Pages = {67--78}, Title = {An Actor-Based Programming System}, Volume = {3}, Year = {1982} } @article{Byro08a, Address = {Los Alamitos, CA, USA}, Author = {Lee Byron and Martin Wattenberg}, Doi = {10.1109/TVCG.2008.166}, Issn = {1077-2626}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Pages = {1245-1252}, Publisher = {IEEE Computer Society}, Title = {Stacked Graphs -- Geometry \& Aesthetics}, Volume = {14}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2008.166} } @misc{CCM, Key = {CCM}, Note = {http://www.omg.org/technology/corba/corba3releaseinfo.htm}, Title = {{Corba Components Package, Corba Components and Scripting}}, Url = {http://www.omg.org/technology/corba/corba3releaseinfo.htm}, Bdsk-Url-1 = {http://www.omg.org/technology/corba/corba3releaseinfo.htm} } @techreport{CDIF94a, Author = {CDIF Technical Committee}, Institution = {Electronic Industries Association}, Month = jan, Note = {See http://www.cdif.org/}, Number = {EIA/IS-107}, Title = {{CDIF} Framework for Modeling and Extensibility}, Year = {1994} } @misc{CGI, Key = {CGI}, Note = {http://hoohoo.ncsa.uiuc.edu/cgi/}, Title = {{CGI}, The Common Gateway Interface} } @misc{CME, Key = {CME}, Note = {http://www.research.ibm.com/cme/}, Title = {Concern Manipulation Environment (CME)} } @book{CORB91a, Author = {Digital Equipment and Hewlett-Packard Company and HyperDesk Corporation and NCR Corporation and Object Design Inc. and {SunSoft, Inc}}, Keywords = {obib(gen) binder}, Publisher = {OMG}, Title = {The Common Object Request Broker: Architecture and Specification}, Year = {1991} } @misc{CSS2, Author = {{W3C} Recommendation}, Key = {CSS2}, Note = {http://www.w3.org/TR/REC-CSS2}, Title = {Cascading Style Sheets, Level 2, {CSS2} Specification}, Year = {2002} } @misc{CSharp, Key = {C\#}, Note = {http://www.ecma-international.org/publications/standards/Ecma-334.htm}, Title = {C\#} } @techreport{CWM03a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Keywords = {data warehouse, data mining, metadata, record, repository, XML}, Title = {Common Warehouse Metamodel}, Url = {http://www.omg.org/cgi-bin/doc?formal/03-03-02}, Year = {2003}, Bdsk-Url-1 = {http://www.omg.org/cgi-bin/doc?formal/03-03-02} } @inproceedings{Cabr07a, Abstract = {Most modern programming languages rely on exceptions for dealing with abnormal situations. Although exception handling was a significant improvement over other mechanisms like checking return codes, it is far from perfect. In fact, it can be argued that this mechanism is seriously limited, if not, flawed. This paper aims to contribute to the discussion by providing quantitative measures on how programmers are currently using exception handling. We examined 32 different applications, both for Java and .NET. The major conclusion for this work is that exceptions are not being correctly used as an error recovery mechanism. Exception handlers are not specialized enough for allowing recovery and, typically, programmers just do one of the following actions: logging, user notification and application termination. To our knowledge, this is the most comprehensive study done on exception handling to date, providing a quantitative measure useful for guiding the development of new error handling mechanisms.}, Author = {Bruno Cabral and Paulo Marques}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'07)}, Doi = {10.1007/978-3-540-73589-2_8}, Isbn = {978-3-540-73588-5}, Keywords = {exception, java, net, programming\_language}, Pages = {151--175}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Exception Handling: A Field Study in {Java} and {.NET}}, Volume = {4609}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2_8} } @inproceedings{Cahi93a, Author = {Vinny Cahill and Se\'an Baker and Chris Horn and Gradimir Starovic}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {144--161}, Title = {The Amadeus {GRT} --- Generic Runtime Support for Distributed Persistent Programming}, Volume = {28}, Year = {1993} } @book{Cahi93b, Editor = {Roland Balter and Neville R. Harris and Vinny Cahill and Xavier Rousset de Pina}, Isbn = {3-540-56660-0}, Keywords = {dp esprit93 book scglib}, Publisher = {Springer-Verlag}, Title = {The {COMANDOS}: Distributed Application Platform}, Year = {1993} } @inproceedings{Cai90a, Author = {J. Cai and R. Paige and R. Tarjan}, Booktitle = {Proceedings of CAAP}, Pages = {72--86}, Title = {More efficient bottom-up tree pattern matching}, Year = {1990} } @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}, Booktitle = {IEEE Computers in Cardiology}, Title = {Warped-average template technique to track on a cycle-by-cycle basis the cardiac filling phases on left ventricular volume.}, Volume = {25}, Year = {1998} } @phdthesis{Cain05a, Author = {Andrew Cain}, School = {Swinburne University of Technology}, Title = {Dynamic data flow analysis for object oriented programs}, Year = {2005} } @inproceedings{Calc03a, Author = {Cristiano Calcagno and Walid Taha and Liwen Huang and Xavier Leroy}, Booktitle = {In Krzysztof Czarnecki, Frank Pfenning, and Yannis Smaragdakis, editors, Generative Programming and Component Engineering (GPCE)}, Doi = {10.1007/b13639}, Keywords = {dsl-lit}, Pages = {57--76}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Implementing Multi-stage languages using {ASTs}, {GenSym}, and {Reflection}}, Volume = {2830}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/b13639} } @article{Cald91a, Address = {Los Alamitos, CA, USA}, Author = {Gianluigi Caldiera and Victor R. Basili}, Doi = {10.1109/2.67210}, Issn = {0018-9162}, Journal = {IEEE Computer}, Month = feb, Number = {2}, Pages = {61--70}, Publisher = {IEEE Computer Society Press}, Title = {Identifying and Qualifying Reusable Software Components}, Volume = {24}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.67210} } @inproceedings{Cald92a, Author = {Paul Calder and Mark Linton}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {154--165}, Title = {The Object-Oriented Implementation of a Document Editor}, Volume = {27}, Year = {1992} } @inproceedings{Call87a, Author = {Lisa A. Call and David L. Cohrs and Barton P. Miller}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {277--286}, Title = {{CLAM} --- an Open System for Graphical User Interfaces}, Volume = {22}, Year = {1987} } @article{Call91a, Address = {New York, NY, USA}, Author = {Frank W. Calliss}, Doi = {10.1145/122203.122206}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {1}, Pages = {38--46}, Publisher = {ACM Press}, Title = {A comparison of module constructs in programming languages}, Volume = {26}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/122203.122206} } @inproceedings{Call11a, Abstract = {The dynamic and reflective features of programming languages are powerful constructs that programmers often mention as extremely useful. However, the ability to modify a program at runtime can be both a boon--- in terms of flexibility---, and a curse---in terms of tool support. For instance, usage of these features hampers the design of type systems, the accuracy of static analysis techniques, or the introduction of optimizations by compilers. In this paper, we perform an empirical study of a large Smalltalk codebase---often regarded as the poster-child in terms of availability of these features---, in order to assess how much these features are actually used in practice, whether some are used more than others, and in which kinds of projects. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support.}, Address = {New York, NY, USA}, Annote = {internationalconference}, Author = {Oscar Calla{\'u} and Romain Robbes and {\'E}ric Tanter and David R{\"o}thlisberger}, Booktitle = {Proceedings of the 8th working conference on Mining software repositories (MSR 2011)}, Journal = {msr}, Doi = {10.1145/1985441.1985448}, Keywords = {scg-pub jb11 roethlisberger}, Medium = {2}, Pages = {23--32}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk}, Url = {http://scg.unibe.ch/archive/papers/Call11aDynamicFeaturesMSR2011.pdf}, Year = {2011} } @techreport{Cama95a, 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.}, Address = {Oxford, UK}, Author = {Carlos Camarao de Figueiredo}, Institution = {Departament of Comp. Science, University of Manchester}, Keywords = {obib-semantics logic binder}, Number = {UMCS-95-1-1}, Title = {A Proof System for a Sequential Object-Based Language}, Type = {Technical Report}, Url = {http://www.cs.man.ac.uk/csonly/cstechrep/Abstracts/UMCS-95-1-1.html}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.man.ac.uk/csonly/cstechrep/Abstracts/UMCS-95-1-1.html} } @book{Cama01a, Address = {Princeton}, Author = {Scott Camazine and Jean-Louis Deneubourg and Nigel R. Franks and James Sneyd and Guy Theraulaz and Eric Bonabeau}, Keywords = {bioinspired, stigmergy}, Publisher = {Princeton University Press}, Title = {Self-Organization in Biological Systems}, Year = {2001} } @article{Came86a, Author = {John R. Cameron}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit jsd binder(ood)}, Month = feb, Number = {2}, Pages = {222--240}, Title = {An Overview of {JSD}}, Volume = {SE-12}, Year = {1986} } @book{Came96a, Author = {Debra Cameron and Bill Rosenblatt and Eric Raymond}, Isbn = {1-56592-152-6}, Keywords = {emacs scglib oorp}, Publisher = {O'Reilly}, Title = {Learning {GNU} Emacs}, Year = {1996} } @inproceedings{Came06a, author = {Camesi, Andrea and Hulaas, Jarle and Binder, Walter}, title = {Continuous Bytecode Instruction Counting for CPU Consumption Estimation}, booktitle = {Proceedings of the 3rd international conference on the Quantitative Evaluation of Systems}, year = {2006}, isbn = {0-7695-2665-9}, pages = {19--30}, numpages = {12}, url = {http://portal.acm.org/citation.cfm?id=1173695.1173954}, doi = {10.1109/QEST.2006.12}, acmid = {1173954}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @inproceedings{Came07a, Address = {New York, NY, USA}, Author = {Nicholas R. Cameron and Sophia Drossopoulou and James Noble and Matthew J. Smith}, Booktitle = {Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications (OOPSLA'07)}, Doi = {10.1145/1297027.1297060}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {441--460}, Publisher = {ACM}, Title = {Multiple ownership}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297060} } @incollection{Camp74a, Author = {Roy H. Campbell and A. Nico Habermann}, Booktitle = {Operating Systems, International Symposium}, Editor = {E. Gelenbe and C. Kaiser}, Keywords = {concurrency path expressions}, Pages = {89--102}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Specification of Process Synchronization by Path Expressions}, Volume = {16}, Year = {1974} } @book{Camp96a, Author = {Mary Campione and Hathy Walrath}, Isbn = {0-201-63454-6}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Tutorial: {O}.{O} Programming for the Internet}, Year = {1996} } @inproceedings{Cand04a, Address = {Berkeley, CA, USA}, Author = {Cantrill, Bryan M. and Shapiro, Michael W. and Leventhal, Adam H.}, Booktitle = {Proceedings of USENIX 2004 Annual Technical Conference}, Location = {Boston, MA}, Pages = {15--28}, Publisher = {USENIX Association}, Title = {Dynamic instrumentation of production systems}, Url = {http://www.usenix.org/event/usenix04/tech/general/cantrill.html}, Year = {2004}, Bdsk-Url-1 = {http://www.usenix.org/event/usenix04/tech/general/cantrill.html} } @article{Cand06a, Abstract = {In December 1997, Sun Microsystems had just announced its new flagship machine: a 64-processor symmetric multiprocessor supporting up to 64 gigabytes of memory and thousands of I/O devices. As with any new machine launch, Sun was working feverishly on benchmarks to prove the machine\’s performance. While the benchmarks were generally impressive, there was one in particular\—an especially complicated benchmark involving several machines\—that was exhibiting unexpectedly low performance. The benchmark machine\—a fully racked-out behemoth with the maximum configuration of 64 processors\—would occasionally become mysteriously distracted: Benchmark activity would practically cease, but the operating system kernel remained furiously busy. After some number of minutes spent on unknown work, the operating system would suddenly right itself: Benchmark activity would resume at full throttle and run to completion. Those running the benchmark could see that the machine was on course to break the world record, but these minutes-long periods of unknown kernel activity were enough to be the difference between first and worst.}, Address = {New York, NY, USA}, Author = {Cantrill, Bryan}, Doi = {10.1145/1117389.1117401}, Issn = {1542-7730}, Journal = {Queue}, Number = {1}, Pages = {26--36}, Publisher = {ACM}, Title = {Hidden in Plain Sight}, Url = {http://dx.doi.org/10.1145/1117389.1117401}, Volume = {4}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1117389.1117401} } @article{Canf83a, Author = {E. Rodney Canfield and Paul Erd\"{o}s and Carl Pomerance}, Doi = {10.1016/0022-314X(83)90002-1}, Issn = {0022-314X}, Journal = {J. Number Theory}, Keywords = {onerdos123}, Number = {1}, Pages = {1--28}, Title = {On a problem of {O}ppenheim concerning ``factorisatio numerorum''}, Volume = {17}, Year = {1983}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/0022-314X(83)90002-1} } @article{Canf92a, Author = {Gerardo Canfora and Aniello Cimitile and Ugo de Carlini}, Journal = {Transactions on Software Engineering}, Month = dec, Number = {12}, Organization = {IEEE}, Pages = {1053--1064}, Title = {A Logic-Based Approach to Reverse Engineering Tools Production}, Volume = {18}, Year = {1992} } @article{Canf92b, Author = {E. Rodney Canfield and David M. Jackson}, Doi = {10.1016/0012-365X(92)90362-J}, Issn = {0012-365X}, Journal = {Discrete Math.}, Keywords = {onerdos123}, Number = {1-3}, Pages = {25--30}, Title = {A {D}-finiteness result for products of permutations}, Volume = {99}, Year = {1992}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/0012-365X(92)90362-J} } @article{Canf96a, Address = {New York, NY, USA}, Author = {G. Canfora and A. Cimitile and M. Munro}, Doi = {10.1002/(SICI)1097-024X(199601)26:1<25::AID-SPE994>3.3.CO;2-K}, Issn = {0038-0644}, Journal = {Softw. Pract. Exper.}, Number = {1}, Pages = {25--48}, Publisher = {John Wiley \& Sons, Inc.}, Title = {An improved algorithm for identifying objects in code}, Volume = {26}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/(SICI)1097-024X(199601)26:1%3C25::AID-SPE994%3E3.3.CO;2-K} } @article{Canf98a, Author = {Gerardo Canfora and Aniello Cimitile and Ugo de Carlini and Andrea {De Lucia}}, Journal = {Transactions on Software Engineering}, Month = sep, Number = {9}, Organization = {IEEE}, Pages = {721--740}, Title = {An Extensible System for Source Code Analysis}, Volume = {24}, Year = {1998} } @article{Canf98b, Title = {Conditioned program slicing}, Journal = {Information and Software Technology}, Volume = {40}, Number = {11-12}, Pages = {595 - 607}, Year = {1998}, Issn = {0950-5849}, Doi = {10.1016/S0950-5849(98)00086-X}, Url = {http://www.sciencedirect.com/science/article/pii/S095058499800086X}, Author = {Gerardo Canfora and Aniello Cimitile and Andrea De Lucia}, Keywords = {Conditioned Program slicing}, Abstract = {Slicing is a technique to decompose programs based on the analysis of the control and data flow. In the original Weiser's definition, a slice consists of any subset of program statements preserving the behaviour of the original program with respect to a program point and a subset of the program variables (slicing criterion), for any execution path. We present conditioned slicing, a general slicing model based on statement deletion. A conditioned slice consists of a subset of program statements which preserves the behaviour of the original program with respect to a slicing criterion for a given set of execution paths. The set of initial states of the program that characterise these paths is specified in the form of a first order logic formula on the input variables. We also show how slices deriving from other statement deletion based slicing models can be defined as conditioned slices. This is used to formally define a partial ordering relation between slicing models and to build a classification framework.} } @inproceedings{Canf99a, Author = {Gerardo Canfora and Aniello Cimitile and Andrea {De Lucia} and Giuseppe A. {Di Lucca}}, Booktitle = {Proceedings of IWPC '99 (7th International Workshop on Program Comprehension)}, Keywords = {fca}, Location = {Pittsburg, {USA}}, Month = may, Organization = {IEEE}, Pages = {136--143}, Publisher = {IEEE Computer Society}, Title = {A {Case} {Study} of {Applying} an {Eclectic} {Approach} to {Identify} {Objects} in {Code}}, Year = {1999} } @inproceedings{Canf05a, Author = {Canfora, Gerardo and Cerulo, Luigi}, Booktitle = {Proceedings of the Workshop on Empirical Studies in Reverse Engineering}, Citeulike-Article-Id= {1727459}, Keywords = {bibtex-import}, Month = sep, Pdf = {/media/backup-part/Documentos/computacao/academia/ufpe/dissertacao-msc/papers-relacionados/[2005 canfora]How Software Repositories can Help in Resolving a New Change Request.pdf}, Posted-At = {2007-10-04 14:46:28}, Priority = {4}, Title = {How Software Repositories can Help in Resolving a New Change Request}, Year = {2005} } @inproceedings{Canf06a, Author = {Gerardo Canfora and Luigi Cerulo}, Booktitle = {Proceedings of 2006 ACM Symposium on Applied Computing}, Location = {New York, NY}, Organization = {ACM}, Pages = {1767--1772}, Publisher = {ACM Society Press}, Title = {Supporting Change Request Assignment in Open Source Development}, Year = {2006} } @inproceedings{Canf07a, Address = {Washington, DC, USA}, Author = {Gerardo Canfora and Luigi Cerulo and Massimiliano Di Penta}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.14}, Isbn = {0-7695-2950-X}, Pages = {14}, Publisher = {IEEE Computer Society}, Title = {Identifying Changed Source Code Lines from Version Repositories}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.14} } @inproceedings{Canf07b, author = {Canfora Gerardo and Di Penta Massimiliano}, title = {New Frontiers of Reverse Engineering}, booktitle = {FOSE '07: 2007 Future of Software Engineering}, year = {2007}, pages = {326--341}, address = {Washington, DC, USA}, publisher = {IEEE Computer Society}, doi = {10.1109/FOSE.2007.15}, isbn = {0-7695-2829-5} } @techreport{Cann82a, Author = {H. I. Cannon}, Institution = {Symbolics Inc.}, Keywords = {olit-oopl flavors lisp}, Title = {Flavors: A non-hierarchical approach to object-oriented programming}, Year = {1982} } @inproceedings{Cann89a, Author = {Peter S. Canning and William Cook and Walter L. Hill and John C. Mitchell and Walter G. Olthoff}, Booktitle = {Proceedings of the ACM Conference on Functional Programming and Computer Architecture}, Keywords = {types olit binder ioom-types}, Misc = {Sept. 11-13}, Month = sep, Pages = {273--280}, Title = {F-Bounded Polymorphism for Object-Oriented Programming}, Url = {http://theory.stanford.edu/people/jcm/publications.htm}, Year = {1989}, Bdsk-Url-1 = {http://theory.stanford.edu/people/jcm/publications.htm} } @inproceedings{Cann89b, Author = {Peter S. Canning and William Cook and Walter L. Hill and Walter G. Olthoff}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {types olit oopsla89}, Month = oct, Pages = {457--468}, Title = {Interfaces for Strongly-Typed Object-Oriented Programming}, Volume = {24}, Year = {1989} } @inproceedings{Capi03a, Address = {Los Alamitos CA}, Author = {Andrea Capiluppi}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2003)}, Keywords = {evolution}, Pages = {65--74}, Publisher = {IEEE Computer Society Press}, Title = {Models for the evolution of {OS} projects}, Year = {2003} } @inproceedings{Capi04a, Address = {Los Alamitos CA}, Author = {Andrea Capiluppi and Maurizio Morisio and Patricia Lago}, Booktitle = {Proceedings 8th European Conference on Software Maintenance and Reengineering (CSMR 2004)}, Keywords = {evolution}, Pages = {58--66}, Publisher = {IEEE Computer Society Press}, Title = {Evolution of understandability in {OSS} projects}, Year = {2004} } @inproceedings{Capl87a, Author = {Michael Caplinger}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {126--137}, Title = {An Information System Based on Distributed Objects}, Volume = {22}, Year = {1987} } @inproceedings{Capr93a, Author = {Bruno Caprile and Paolo Tonella}, Booktitle = {Proceedings of 6th Working Conference on Reverse Engineering (WCRE 1999)}, Pages = {112--122}, Publisher = {IEEE Computer Society Press}, Title = {Nomen Est Omen: Analyzing the Language of Function Identifiers}, Year = {1999} } @book{Card83a, Address = {Mahwah, NJ, USA}, Author = {Stuart K. Card and Allen Newell and Thomas P. Moran}, Isbn = {0898592437}, Keywords = {goms}, Publisher = {Lawrence Erlbaum Associates, Inc.}, Title = {The Psychology of Human-Computer Interaction}, Year = {1983} } @article{Card85a, Author = {Luca Cardelli and R. Pike}, Journal = {ACM SIGGRAPH '85}, Keywords = {concurrency squeak ui}, Month = jul, Number = {3}, Pages = {199--204}, Title = {Squeak: a Language for Communicating with Mice}, Volume = {19}, Year = {1985} } @incollection{Card85b, Author = {Luca Cardelli}, Booktitle = {Combinators and Functional Programming Languages, 13th Spring School of the LITP}, Editor = {Cousineau and Curien and Robinet}, Keywords = {fpl types amber}, Pages = {21--47}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Amber}, Volume = {242}, Year = {1985} } @article{Card85c, Author = {Luca Cardelli and Peter Wegner}, Doi = {10.1145/6041.6042}, Journal = {ACM Computing Surveys}, Keywords = {types olit data abstraction oobib(types) ioom-types pl-lit-types}, Month = dec, Number = {4}, Pages = {471--522}, Title = {On Understanding Types, Data Abstraction, and Polymorphism}, Url = {http://lucacardelli.name http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf}, Volume = {17}, Year = {1985}, Bdsk-Url-1 = {http://lucacardelli.name%20http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/6041.6042} } @techreport{Card86a, Address = {Palo Alto, California}, Author = {Luca Cardelli}, Institution = {DEC Systems Research Center}, Keywords = {types fp lambda tfc binder (shelf)}, Number = {10}, Title = {A Polymorphic Lambda Calculus with Type:Type}, Type = {Technical Report}, Url = {http://lucacardelli.name}, Year = {1986}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Card88a, Author = {Luca Cardelli}, Journal = {Information and Computation}, Keywords = {olit-inheritance semantics binder(oop)}, Pages = {138--164}, Title = {A Semantics of Multiple Inheritance}, Volume = {76}, Year = {1988} } @techreport{Card89a, Author = {Luca Cardelli and John C. Mitchell}, Institution = {Digital Equipment Corporation, Systems Research Centre}, Keywords = {olit-types}, Month = aug, Number = {48}, Pages = {60 pages.}, Title = {Operations on Records.}, Year = {1989} } @inproceedings{Card91a, Address = {Sendai, Japan}, Author = {Luca Cardelli and Simone Martini and John C. Mitchell and Andre Scedrov}, Booktitle = {Proceedings Theoretical Aspects of Computer Software (TACS '91)}, Editor = {T. Ito and A.R. Meyer}, Keywords = {types tacs91 binder}, Month = sep, Pages = {750--770}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Extension of System {F} with Subtyping}, Volume = {526}, Year = {1991} } @incollection{Card91b, Author = {Luca Cardelli}, Booktitle = {Formal Description of Programming Concepts}, Editor = {E. J. Neuhold and M. Paul}, Pages = {431--507}, Publisher = {Springer-Verlag}, Series = {IFIP State of the Art Reports Series}, Title = {Typeful programming}, Url = {http://lucacardelli.name}, Year = {1991}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Card92a, Author = {Luca Cardelli and Jim Donahue and Lucille Glassman and Mick Jordan and Bill Kalsow and Greg Nelson}, Journal = {ACM SIGPLAN Notices}, Keywords = {plang modula-3 binder (shelf)}, Month = aug, Number = {8}, Pages = {15--42}, Title = {Modula-3 Language Definition}, Volume = {27}, Year = {1992} } @incollection{Card93a, Author = {Luca Cardelli and John C. Mitchell}, Booktitle = {Theoretical Aspects of Object-Oriented Programming. Types, Semantics and Language Design}, Editor = {Carl A. Gunter and John C. Mitchell}, Pages = {295--350}, Publisher = {MIT Press}, Title = {Operations on Records}, Year = {1993} } @incollection{Card93b, Author = {Luca Cardelli}, Booktitle = {Theoretical Aspects of Object-Oriented Programming. Types, Semantics and Language Design}, Editor = {Carl A. Gunter and John C. Mitchell}, Pages = {373--425}, Publisher = {MIT Press}, Title = {Extensible Records in a Pure Calculus of Subtyping}, Year = {1993} } @article{Card95a, Author = {Luca Cardelli}, Journal = {Computing Systems}, Keywords = {olit-obdpi oobib(obcl) binder obliq scripting}, Number = {1}, Pages = {27--59}, Title = {A Language with Distributed Scope}, Url = {http://lucacardelli.name}, Volume = {8}, Year = {1995}, Bdsk-Url-1 = {http://lucacardelli.name} } @incollection{Card97a, Address = {Boca Raton, FL}, Author = {Luca Cardelli}, Booktitle = {The Computer Science and Engineering Handbook}, Chapter = {103}, Editor = {Allen B. Tucker}, Keywords = {olit-types}, Pages = {2208--2236}, Publisher = {CRC Press}, Title = {Type Systems}, Url = {http://lucacardelli.name}, Year = {1997}, Bdsk-Url-1 = {http://lucacardelli.name} } @inproceedings{Card97b, Author = {Stuart K. Card and Jock Mackinlay}, Booktitle = {Proc. of the IEEE Symposium on Information Visualization}, Pages = {92--99}, Title = {The Structure of the Information Visualization Design Space}, Url = {citeseer.ist.psu.edu/card96structure.html}, Year = {1997}, Bdsk-Url-1 = {citeseer.ist.psu.edu/card96structure.html} } @incollection{Card98a, Author = {Luca Cardelli and Andrew D. Gordon}, Booktitle = {Foundations of Software Science and Computational Structures}, Editor = {Maurice Nivat}, Keywords = {ambients}, Pages = {140--155}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Mobile Ambients}, Url = {http://lucacardelli.name}, Volume = {1378}, Year = {1998}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Card99a, Author = {Luca Cardelli and Rowan Davies}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {web-scripting}, Number = 3, Pages = {309--316}, Title = {Service Combinators for Web Computing}, Volume = 25, Year = {1999} } @book{Card99b, Editor = {Stuart K. Card and Jock D. Mackinlay and Ben Shneiderman}, Keywords = {scglib}, Publisher = {Morgan Kaufmann}, Title = {Readings in Information Visualization --- Using Vision to Think}, Year = {1999} } @inproceedings{Card00a, Author = {Luca Cardelli}, Booktitle = {Foundations of Secure Computation}, Editor = {Friedrich L. Bauer and Ralf Steinbr\"uggen}, Keywords = {pcalc mobility ambients pisem}, Pages = {3--37}, Publisher = {IOS Press}, Series = {NATO Science Series}, Title = {Mobility and Security}, Url = {http://lucacardelli.name}, Year = {2000}, Bdsk-Url-1 = {http://lucacardelli.name} } @inproceedings{Card00b, Author = {Luca Cardelli and Andrew D. Gordon}, Booktitle = {Proceedings of the 27th ACM Symposium on Principles of Programming Languages}, Keywords = {pcalc mobility ambients pisem}, Pages = {365--377}, Title = {Anytime, Anywhere. Modal Logics for Mobile Ambients}, Url = {http://lucacardelli.name}, Year = {2000}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Card00c, Author = {Luca Cardelli and Andrew D. Gordon}, Editor = {D. Le M{\'e}tayer}, Journal = {TCS special issue on Coordination}, Keywords = {pcalc mobility ambients pisem}, Month = jul, Note = {To appear}, Number = {1}, Title = {Mobile Ambients}, Url = {http://lucacardelli.name}, Volume = {240}, Year = {2000}, Bdsk-Url-1 = {http://lucacardelli.name} } @unpublished{Card00d, Author = {Luca Cardelli and Andrew D. Gordon}, Keywords = {pcalc mobility ambients pisem}, Note = {Draft}, Title = {Logical Properties of Name Restriction}, Url = {http://lucacardelli.name}, Year = {2000}, Bdsk-Url-1 = {http://lucacardelli.name} } @article{Card01a, 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.}, Author = {Lu{\'\i}s Caires and Luca Cardelli}, Journal = {TACS '01}, Keywords = {pcalc mobility ambients pisem}, Note = {To appear}, Title = {A Spatial Logic for Concurrency (Part I)}, Url = {http://lucacardelli.name}, Year = {2001}, Bdsk-Url-1 = {http://lucacardelli.name} } @inproceedings{Carg86a, Author = {T.A. Cargill}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl pi debugger c++ oopsla86}, Month = nov, Pages = {350--360}, Title = {Pi: {A} Case Study in Object-Oriented Programming}, Volume = {21}, Year = {1986} } @book{Carg92a, Author = {Tom Cargill}, Isbn = {0-201-56365-7}, Keywords = {c++ scglib}, Publisher = {Addison Wesley}, Title = {{C}++ Programming Style}, Year = {1992} } @phdthesis{Carl98a, Address = {G\"oteborg, Sweden}, Author = {Magnus Carlsson and Thomas Hallgren}, School = {Chalmers University of Technology}, Title = {Fudgets --- Purely Functional Processes with applications to Graphical User Interfaces}, Year = {1998} } @article{Carm90a, Author = {Jos\'e Carmo and Amilcar Sernadas}, Journal = {Formal Aspects of Computing}, Keywords = {linear-logic temporal binder}, Pages = {24--59}, Title = {Branching versus Linear Logics Yet Again}, Volume = {2}, Year = {1990} } @techreport{Carm91a, Address = {Karlsruhe}, Author = {Ian H. Carmichael and James R. Cordy}, Institution = {GMD}, Keywords = {patterns olit txl binder}, Month = apr, Number = {Rex-2-GMD-41-1.0}, Title = {{TXL} --- The Tree Transformation Language V5.0: Syntax and Informal Semantics}, Type = {Project REX Working Paper}, Year = {1991} } @inproceedings{Carm95a, Author = {Carmichael, Ian and Tzerpos, Vassilios and Holt, Rick C.}, Booktitle = {International Conference on Software Maintenance (ICSM)}, Doi = {10.1109/ICSM.1995.526535}, Issn = {1063-6773}, Pages = {134--140}, Publisher = {IEEE CS}, Title = {Design Maintenance: Unexpected Architectural Interactions}, Year = {1995}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1995.526535} } @inproceedings{Caro90a, Address = {Sydney, Australia}, Author = {Denis Caromel}, Booktitle = {TOOLS Pacific '90}, Keywords = {olit-obc binder}, Month = nov, Pages = {245--253}, Title = {Programming Abstractions for Concurrent Programming}, Year = {1990} } @inproceedings{Caro90b, Author = {Denis Caromel}, Booktitle = {Proceedings TOOLS '90}, Editor = {J. B\'ezivin and B. Meyer and J-M. Nerson}, Keywords = {olit-obc tools90 binder}, Month = jun, Pages = {183--197}, Publisher = {Editions Angkor Paris}, Title = {Concurrency: An Object-Oriented Approach}, Year = {1990} } @article{Caro90c, Author = {Denis Caromel}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-obcl eiffel joop}, Month = sep, Number = {3}, Pages = {34--42}, Title = {Concurrency and Reusability: From Sequential to Parallel}, Volume = {3}, Year = {1990} } @phdthesis{Caro91a, Author = {Denis Caromel}, Keywords = {olit-obcl eiffel binder(shelf)}, Month = feb, School = {Universit\'e de Nancy}, Title = {Programmation parall\`ele asynchrone et imp\'erative: \'etudes et propositions}, Type = {{Ph.D}. Thesis}, Year = {1991} } @inproceedings{Caro93a, Author = {Denis Caromel and Manuel Rebuffel}, Booktitle = {TOOLS USA '93}, Keywords = {olit-obc obc92 binder}, Month = aug, Title = {Object-Based Concurrency: 10 Language Features to Achieve Reuse}, Year = {1993} } @inproceedings{Caro01a, Author = {Denis Caromel and Julien Vayssi\`{e}re}, Booktitle = {ECOOP '01: Proceedings of the 15th European Conference on Object-Oriented Programming}, Pages = {256--274}, Publisher = {Springer-Verlag}, Title = {Reflections on MOPs, Components, and {Java} Security}, Year = {2001} } @inproceedings{Caro01b, Author = {Denis Caromel and Fabrice Huet and Julien Vayssi\`{e}re}, Booktitle = {In Metalevel Architectures and Separation of Crosscutting Concerns, Third International Conference, REFLECTION 2001, volume LNCS 2192}, Pages = {118--125}, Publisher = {Springer-Verlag}, Title = {A simple security-aware {MOP} for {Java}}, Year = {2001} } @article{Caro03a, Address = {New York, NY, USA}, Author = {Denis Caromel and Julien Vayssi\`{e}re}, Doi = {10.1002/spe.528}, Issn = {0038-0644}, Journal = {Software: Practice and Experience}, Number = {9}, Pages = {821--846}, Publisher = {John Wiley \& Sons, Inc.}, Title = {A security framework for reflective Java applications}, Volume = {33}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.528} } @inproceedings{Caro04a, Author = {Denis Caromel and Luis Mateu and Eric Tanter}, Booktitle = {Proceedings of the 18th European Conference on Object-Oriented Programming (ECOOP 2004), number 3086 in Lecture Notes in Computer Science}, Pages = {316--340}, Publisher = {Springer-Verlag}, Title = {Sequential Object Monitors}, Year = {2004} } @article{Carr86a, Author = {N. Carriero and D. Gelernter}, Journal = {ACM Transactions on Computer Systems}, Keywords = {concurrency linda}, Month = may, Number = {2}, Pages = {110--129}, Title = {The {S}/Net's Linda Kernel}, Volume = {4}, Year = {1986} } @article{Carr89a, Author = {N. Carriero and D. Gelernter}, Doi = {10.1145/72551.72553}, Journal = {ACM Computing Surveys}, Keywords = {concurrency linda binder}, Month = sep, Number = {3}, Pages = {323--357}, Title = {How to Write Parallel Programs: {A} Guide to the Perplexed}, Volume = {21}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/72551.72553} } @article{Carr89b, Author = {N. Carriero and D. Gelernter}, Journal = {Communications of the ACM}, Keywords = {concurrency linda binder}, Month = apr, Number = {4}, Pages = {444--458}, Title = {Linda in Context}, Volume = {32}, Year = {1989} } @book{Carr90a, Address = {Cambridge}, Author = {Nicholas Carriero and David Gelernter}, Isbn = {0-262-03171-X}, Keywords = {concurrency linda book scglib}, Publisher = {MIT Press, cop. 1990}, Title = {How to Write Parallel Programs: a First Course}, Year = {1990} } @inproceedings{Carr90b, Author = {Bernard Carr\'e and Jean-Marc Geib}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-inheritance oopsla90 ecoop90proc}, Month = oct, Pages = {312--321}, Title = {The Point of View Notion for Multiple Inheritance}, Volume = {25}, Year = {1990} } @incollection{Carr95a, 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.}, Author = {Nick Carriero and David Gelernter and Lenore Zuck}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-28}, Pages = {66--76}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Bauhaus Linda}, Volume = {924}, Year = {1995} } @article{Carr96a, Author = {M. Carrillo and J. Garcia Molina and E. Pimentel and I. Repiso}, Institution = {ACM}, Journal = {Journal of Object-Oriented Programming}, Number = {7}, Title = {Design by Contract in Smalltalk}, Volume = {9}, Year = {1996} } @book{Cars87a, Author = {James P. Carse}, Isbn = {978-0345341846}, Publisher = {Ballantine Books}, Title = {Finite and Infinite Games --- A Vision of Life as Play and Possibility}, Year = {1987} } @inproceedings{Cart91a, Address = {New York, NY, USA}, Author = {Robert Cartwright and Mike Fagan}, Booktitle = {PLDI '91: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation}, Doi = {10.1145/113445.113469}, Isbn = {0-89791-428-7}, Location = {Toronto, Ontario, Canada}, Pages = {278--292}, Publisher = {ACM}, Title = {Soft typing}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/113445.113469} } @inproceedings{Carz94a, Author = {A. Carzaniga and G. P. Picco and G. Vigna}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {53--64}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Designing and Implementing Inter-Client Communication in the O2 Object-Oriented Database Management System}, Volume = {858}, Year = {1994} } @inproceedings{Carz98a, Address = {Orlando, Florida}, Author = {Antonio Carzaniga and Elisabetta Di Nitto and David S. Rosenblum and Alexander L. Wolf}, Booktitle = {Third International Software Architecture Workshop}, Keywords = {event style}, Month = nov, Pages = {17--20}, Title = {Issues in Supporting Event-Based Architectural Styles}, Year = {1998} } @inproceedings{Casa88a, 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.}, Address = {Palo Alto}, Author = {Eduardo Casais}, Booktitle = {Proceedings of the ACM Conference on Office Information Systems (COIS)}, Keywords = {olit-oopl knos osg-ftp aoe88 oobib(sys) cop-lit}, Month = mar, Pages = {284--290}, Title = {An Object-Oriented System Implementing {KNO}s}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/knosImplementation.pdf}, Year = {1988}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/knosImplementation.pdf} } @techreport{Casa89a, Author = {Eduardo Casais}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg ood89}, Month = jul, Pages = {161--189}, Title = {Reorganizing an Object System}, Type = {Object Oriented Development}, Year = {1989} } @techreport{Casa90a, 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.}, Author = {Eduardo Casais}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg-ftp om90}, Month = jul, Pages = {133--195}, Title = {Managing Class Evolution in Object-Oriented Systems}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/classEvolution.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/classEvolution.pdf} } @techreport{Casa91a, 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.}, Author = {Eduardo Casais}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Pages = {287--301}, Title = {Managing Class Evolution Through Reorganisation}, Type = {Object Composition}, Year = {1991} } @phdthesis{Casa91b, Author = {Eduardo Casais}, Keywords = {olit osg-phd binder (shelf)}, Month = may, Number = {no. 369)}, School = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Managing Evolution in Object Oriented Environments: An Algorithmic Approach}, Type = {{Ph.D}. Thesis}, Year = {1991} } @inproceedings{Casa92a, Address = {Utrecht, the Netherlands}, Author = {Eduardo Casais}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc refactoring ooreeng}, Month = jun, Pages = {114--132}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Incremental Class Reorganization Approach}, Volume = {615}, Year = {1992} } @article{Casa94a, Author = {Eduardo Casais}, Journal = {Object-Oriented Systems}, Keywords = {olit binder}, Month = dec, Number = {2}, Pages = {95--115}, Publisher = {Chapman \& Hall}, Title = {Automatic Reorganization of Object-Oriented Hierarchies: {A} Case Study}, Volume = {1}, Year = {1994} } @incollection{Casa95a, 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.}, Author = {Eduardo Casais}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC08}, Pages = {201--244}, Publisher = {Prentice-Hall}, Title = {Managing Class Evolution in Object-Oriented Systems}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @article{Casa97a, Author = {Eduardo Casais and Antero Taivalsaari}, Journal = {Theory and Practice of Object Systems (TAPOS)}, Keywords = {reeng reveng famoos}, Number = {4}, Pages = {233--301}, Publisher = {John Wiley \& Sons}, Title = {Object-Oriented Software Evolution and Re-engineering (Special Issue)}, Volume = {3}, Year = {1997} } @article{Casa98a, Author = {Eduardo Casais}, Journal = {Journal of Object-Oriented Programming}, Month = jan, Number = {8}, Pages = {45--52}, Title = {Re-Engineering Object-Oriented Legacy Systems}, Volume = {10}, Year = {1998} } @inproceedings{Casa01a, Author = {G. Casazza and G. Antoniol and U. Villano and E. Merlo and M. {Di Penta}}, Booktitle = {Proc. Int. Workshop on Source Code Analysis and Manipulation (IWSCAM)}, Pages = {90--97}, Publisher = {IEEE}, Title = {Identifying Clones in the Linux Kernel}, Year = {2001} } @inproceedings{Casa09a, Address = {New York, NY, USA}, Author = {Casaccio, Gwena\"{e}l and Pollet, Damien and Denker, Marcus and Ducasse, St\'{e}phane}, Booktitle = {IWST '09: Proceedings of the International Workshop on Smalltalk Technologies}, Date-Added = {2010-06-16 13:16:18 +0200}, Date-Modified= {2010-06-16 13:16:18 +0200}, Doi = {10.1145/1735935.1735948}, Isbn = {978-1-60558-899-5}, Keywords = {smalltalk; reflection; meta-programming}, Location = {Brest, France}, Pages = {77--81}, Publisher = {ACM}, Rating = {2}, Title = {Object spaces for safe image surgery}, Year = {2009}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1735935.1735948} } @unpublished{Case92a, Author = {Yves Caseau and Laurent Perron}, Keywords = {olit-types laure binder}, Month = may, Note = {draft}, Title = {A Type System for Object-Oriented Database Programming and Querying Languages}, Year = {1992} } @inproceedings{Case93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Yves Caseau and Laurent Perron}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {142--160}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Attaching Second-Order Types to Methods in an Object-Oriented Language}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Case93b, Author = {Yves Caseau}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {271--287}, Title = {Efficient Handling of Multiple Inheritance Hierarchies}, Volume = {28}, Year = {1993} } @article{Casn91a, Author = {Stephen M. Casner}, Journal = {ACM Transactions of Graphics}, Month = apr, Number = {2}, Pages = {111--151}, Title = {A Task-Analytic Approach to the Automated Design of Graphic Presentations}, Volume = {10}, Year = {1991} } @misc{Cass06a, Author = {Damien Cassou and Karsten Kuche}, Howpublished = {European Smalltalk User Group Innovation Technology Award}, Month = sep, Title = {Dakar Testing}, Year = {2006}, note = {Demonstration}, Annote = {tooldemo} } @inproceedings{Cass07a, Abstract = {Recently, traits have been proposed as a single inheritance backward compatible solution in which the composing entity has the control over the trait composition. Traits are fine-grained units used to compose classes, while avoiding many of the problems of multiple inheritance and mixin-based approaches. To evaluate the expressiveness of traits, some hierarchies were refactored, showing code reuse. However, such large refactorings, while valuable, may not be facing all the problems, since the hierarchies were previously expressed within single inheritance and following certain patterns. We wanted to evaluate how traits enable reuse, and what problems could be encountered when building a library using traits from scratch, taking into account that traits are units of reuse. This paper presents our work on designing a new stream library named Nile. We present the reuse that we attained using traits, and the problems we encountered.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Damien Cassou and St\'ephane Ducasse and Roel Wuyts}, Booktitle = {ICDL'07: Proceedings of the 15th International Conference on Dynamic Languages}, address = {Lugano, Switzerland}, Doi = {10.1145/1352678.1352682}, Inria = {hors}, Isbn = {978-1-60558-084-5}, Keywords = {nile cook}, Pages = {50--75}, Publisher = {ACM Digital Library}, Selectif = {non}, Title = {Redesigning with Traits: the {Nile} Stream trait-based Library}, Url = {http://scg.unibe.ch/archive/papers/Cass07aTraitsStreamRedesign-ICDL.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cass07aTraitsStreamRedesign-ICDL.pdf}, month = aug, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352682} } @mastersthesis{Cass07b, Abstract = {R\'ecemment, les traits ont propos\'e un solution compatible avec l'h\'eritage simple dans lequel l'entit\'e qui compose a le contr\^ole sur la composition. Les traits sont des \'el\'ements \`a granularit\'e fine qui permettent la composition de classes, mais qui \'evite la plupart des probl\`emes pos\'es par l'h\'eritage multiple et les approches bas\'ees sur les mixins. Pour \'evaluer l'efficacit\'e des traits, des biblioth\`eques ont \'et\'e refactoris\'ees, montrant une r\'eutilisation importante du code. Cependant, bien que ces travaux soient int\'eressants, ils ne permettent pas de rencontrer tous les probl\`emes d'utilisation des traits ; ceci parce que les biblioth\`eques d'origines \'etaient r\'ealis\'ees et pens\'ees avec les contraintes de l'h\'eritage simple. Nous souhaitons \'evaluer l'expressivit\'e des traits lors de la r\'ealisation d'un projet complet, en se servant des traits comme unit\'e de r\'eutilisation de comportement. Ce document pr\'esente le design d'une nouvelle biblioth\`eque de streams appel\'ee Nile. Nous pr\'esentons les traits que nous avons d\'efinis et leur r\'eutilisabilit\'e ainsi que les probl\`emes auxquels nous avons fait face.}, Annote = {master}, Author = {Damien Cassou}, Keywords = {nile cook}, School = {University of Bordeaux}, Title = {Remodularisation \`a base de traits}, Url = {http://scg.unibe.ch/archive/external/Cass07b.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Cass07b.pdf} } @inproceedings{Cass09b, Doi = {10.1145/1621607.1621629}, Annote = {InternationalConference}, Author = {Cassou, Damien and Bertran, Benjamin and Loriant, Nicolas and Consel, Charles}, month = oct, Booktitle = {GPCE'09: Proceedings of the 8th International Conference on Generative Programming and Component Engineering}, coreranking = {B}, url = {http://hal.inria.fr/inria-00405819/PDF/gpce42-cassou.pdf}, abstract = {Developing pervasive computing applications is a difficult task because it requires to deal with a wide range of issues: heterogeneous devices, entity distribution, entity coordination, low-level hardware knowledge... Besides requiring various areas of expertise, programming such applications involves writing a lot of administrative code to glue technologies together and to interface with both hardware and software components. This paper proposes a generative programming approach to providing programming, execution and simulation support dedicated to the pervasive computing domain. This approach relies on a domain-specific language, named DiaSpec, dedicated to the description of pervasive computing systems. Our generative approach factors out features of distributed systems technologies, making DiaSpec-specified software systems portable. The DiaSpec compiler is implemented and has been used to generate dedicated programming frameworks for a variety of pervasive computing applications, including detailed ones to manage the building of an engineering school.}, Keywords = {diaspec software architectures generation damiencbib}, AcceptTotal = {62}, AcceptNum = {18}, Address = {Denver, CO, USA}, Pages = {137--146}, Publisher = {ACM}, Title = {A Generative Programming Approach to Developing Pervasive Computing Systems}, Year = {2009} } @article{Cass09a, Abstract = {Recent years saw the development of a composition mechanism called Traits. Traits are pure units of behavior that can be composed to form classes or other traits. The trait composition mechanism is an alternative to multiple or mixin inheritance in which the composer has full control over the trait composition. To evaluate the expressiveness of traits, some hierarchies were refactored, showing code reuse. However, such large refactorings, while valuable, may not exhibit all possible composition problems, since the hierarchies were previously expressed using single inheritance and following certain patterns. This paper presents our work on designing and implementing a new trait-based stream library named Nile. It evaluates how far traits enable reuse, what problems can be encountered when building a library using traits from scratch and compares the traits solution to alternative composition mechanisms. Nile's core allows the definition of compact collection and file streaming libraries as well as the implementation of a backward-compatible new stream library. Nile method size shows a reduction of 40% compared to the Squeak equivalent. The possibility to reuse the same set of traits to implement two distinct libraries is a concrete illustration of trait reuse capability.}, Aeres = {ACL}, Aeresstatus = {aeres12}, Annote = {internationaljournal}, Author = {Damien Cassou and St\'ephane Ducasse and Roel Wuyts}, Doi = {10.1016/j.cl.2008.05.004}, Halt = {inria-00216108,celwz9}, Inria = {RMOD}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {cook nile stlit-traits}, ImpactFactorVal= {0.567}, ImpactFactorYear= {2010}, Number = {1}, Pages = {2--20}, Publisher = {Elsevier}, Selectif = {non}, Title = {Traits at Work: the design of a new trait-based stream library}, Url = {http://scg.unibe.ch/archive/papers/Cass08a-NileNewKernel-ComputerLanguages.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cass08a-NileNewKernel-ComputerLanguages.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2008.05.004} } @inproceedings{Cass10a, Author = {Cassou, Damien and Bruneau, Julien and Consel, Charles}, Booktitle = {PerCom'10: Proceedings of the 8th International Conference on Pervasive Computing and Communications}, keywords = {damiencbib}, Annote = {tooldemo}, pages = {820--822}, Publisher = {IEEE Computer Society}, Title = {A Tool Suite to Prototype Pervasive Computing Applications}, abstract = {Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous entities, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, encoding it in a program, writing specific code to test the application, and finally deploying it. We present DiaSuite, a tool suite covering the development life-cycle of a pervasive computing system. This tool suite comprises a domain-specific design language, a compiler for this language, which produces a Java programming framework, an editor to define simulation scenarios, and a 2D-renderer to simulate pervasive computing applications. We have validated our tool suite on a variety of comprehensive applications in areas including telecommunications, building automation, and health-care.}, url = {http://hal.inria.fr/docs/00/48/40/67/PDF/percom-demo.pdf}, note = {Demonstration}, doi = {10.1109/PERCOMW.2010.5470550}, month = may, address = {Mannheim, Germany}, Year = {2010} } @inproceedings{Cass10b, author = {Cassou, Damien and Bruneau, Julien and Mercadal, Julien and Enard, Quentin and Balland, Emilie and Loriant, Nicolas and Consel, Charles}, title = {Towards a Tool-based Development Methodology for Sense/Compute/Control Applications}, abstract = {This poster presents a design language and a tool suite covering the development life-cycle of a Sense/Compute/Control (SCC) application. This language makes it possible to define the architecture of an application, following an architectural pattern commonly used in SCC applications. Our underlying methodology assigns roles to the stakeholders, providing separation of concerns. Our tool suite includes a compiler that takes design artifacts written in our language as input. The compiler generates customized support for subsequent development stages, namely implementation and test. In doing so, it ensures the conformance between the architecture and the code. Our tool suite also includes a simulator for testing SCC applications, without requiring code modification. Our methodology has been applied to a wide spectrum of areas, such as building automation, advanced telecommunications, and health-care.}, url = {http://hal.inria.fr/docs/00/51/03/78/PDF/poster-extended-abstract.pdf}, booktitle = {SPLASH'10: Proceedings of the 1st International Conference on Systems, Programming, Languages, and Applications: Software for Humanity}, pages = {1--2}, year = {2010}, publisher = {ACM}, note = {Poster}, month = oct, address = {Reno/Tahoe, NV, USA}, annote = {poster} } @inproceedings{Cass11a, Author = {Cassou, Damien and Balland, Emilie and Consel, Charles and Lawall, Julia}, AcceptTotal = {441}, AcceptNum = {62}, CoreRanking = {A*}, Booktitle = {ICSE'11: Proceedings of the 33rd International Conference on Software Engineering}, keywords = {diaspec diasuite scc generative programming architectural conformance software architectures domain-specific architectures design}, Title = {Leveraging Software Architectures to Guide and Verify The Development of Sense/Compute/Control Applications}, url = {http://hal.inria.fr/docs/00/53/77/89/PDF/icse2011.pdf}, doi = {10.1145/1985793.1985852}, month = may, annote = {internationalconference}, Year = {2011}, address = {Honolulu, HI, USA}, publisher = {ACM}, pages = {431--440}, abstract = {A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification. In this paper, we explore one point in the design space between abstract and concrete component interaction specifications. We introduce a notion of interaction contract that expresses allowed interactions between components, describing both data and control-flow constraints. This declaration is part of the architecture description, allows generation of extensive programming support, and enables various verifications. We instantiate our approach in an architecture description language for Sense/Compute/Control applications, and describe associated compilation and verification strategies.} } @phdthesis{Cass11b, author = {Cassou,Damien}, title = {D\'eveloppement logiciel orient\'e paradigme de conception : la programmation dirig\'ee par la sp\'ecification}, keywords = {scc generative programming architectural conformance software architectures domain-specific architectures design}, url = {http://tel.archives-ouvertes.fr/docs/00/59/03/61/PDF/thesis.pdf}, school = {University of Bordeaux}, year = {2011}, abstract = {Numerous applications focus on collecting information from an external environment, process it, and compute actions on this environment. Graphical user interfaces and avionic systems are two examples. The SCC paradigm, for Sense--Compute--Control, is dedicated to the description of such applications. Developing applications with this paradigm is made difficult by the lack of conceptual framework and tool support. This thesis proposes a conceptual framework dedicated to the SCC paradigm which is materialized by an architecture description language named DiaSpec. This language provides a framework to support the development of an SCC application, assigning roles to the stakeholders and providing separation of concerns. This thesis also proposes dedicated programming support. Indeed, from DiaSpec descriptions a dedicated programming framework is generated in a target language. This programming framework guides the implementation of an SCC application and raises the level of abstraction of this implementation with both high-level and dedicated mechanisms. This programming framework is designed to ensure conformance of the implementation to its architecture described in DiaSpec by leveraging the target language type system. Contributions of this thesis are evaluated through three criteria: expressiveness, usability and productivity.}, note = {(in French)}, month = mar, keywords = {Software Architecture, Domain-Specific Language, Generative Programming, Architectural Conformance} } @inproceedings{Cass11c, author = {Cassou, Damien and Balland, Emilie and Consel, Charles and Lawall, Julia}, title = {Faire levier sur les architectures logicielles pour guider et v\'erifier le d\'eveloppement d'applications {SCC}}, pages = {33--34}, booktitle = {GDR GPL'11: 3\`eme journ\'ees du G\'enie de la programmation et du logiciel}, year = {2011}, month = jun } @misc{Cass11d, key = {Cass11d}, author = {Cassou, Damien}, title = {Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications}, month = jun, howpublished = {FutureSOC'11: 6th HPI Symposium on Future Trends in Service-oriented Computing}, year = {2011}, url = {http://www.hpi.uni-potsdam.de/research_school/activities/events/future_trends_in_soc_2011.html} } @inproceedings{Cass11e, author = {Cassou, Damien and Stinckwich, Serge and Koch, Pierrick}, title = {Using the {DiaSpec} design language and compiler to develop robotics systems}, booktitle = {DSLRob'11: Proceedings of the 2nd International Workshop on Domain-Specific Languages and models for ROBotic systems}, year = {2011}, note = {to be published}, month = sep, address = {San Francisco, CA, USA} } @article{Cass11X, Author = {Cassou, Damien and Bruneau, Julien and Consel, Charles and Balland, Emilie}, Journal = {IEEE Transactions on Software Engineering (TSE)}, Title = {Towards a Tool-based Development Methodology for Pervasive Computing Applications}, year = {2011}, note = {(minor revision)}, CoreRanking = {A*}, ImpactFactorVal= {3.468}, ImpactFactorYear= {2010} } @inbook{Cass12X, author = {Cassou, Damien and Schlegel, Christian and Schultz, Ulrik P. and Stinckwich, Serge}, title = {Formal and Practical Aspects of Domain-Specific Languages: Recent Developments}, chapter = {Trends on Domain-Specific Languages for Robotics Systems}, publisher = {IGI Global}, year = {2012}, address = {Hershey, PA, USA}, note = {(submitted)} } @article{Cast87a, Author = {Ilaria Castellani}, Journal = {Journal of Computer and System Sciences}, Keywords = {pcalc equivalence binder}, Month = apr, Number = {2/3}, Pages = {210--235}, Publisher = {Academic Press}, Title = {Bisimulations and Abstraction Homomorphisms}, Volume = {34}, Year = {1987} } @techreport{Cast89a, Author = {Ilaria Castellani and Guo Qiang Zhang}, Institution = {INRIA}, Keywords = {concurrency binder}, Month = aug, Number = {1078}, Title = {Parallel Product of Event Structures}, Type = {Report no.}, Year = {1989} } @inproceedings{Cast94a, Author = {S. Castano and V. De Antonellis}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {346--358}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reuse in Object-Oriented Information Systems Development}, Volume = {858}, Year = {1994} } @phdthesis{Cast94b, Author = {Giuseppe Castagna}, Keywords = {overloading type matching}, Month = jan, School = {Universit\'e de Paris}, Title = {Overloading, subtyping and late binding: functional foundation of object-oriented programming}, Type = {{Ph.D}. Thesis}, Year = {1994} } @article{Cast95a, Author = {Giuseppe Castagna}, Journal = TOPLAS, Number = 3, Pages = {431--447}, Title = {Covariance and contravariance: conflict without a cause}, Volume = 17, Year = {1995} } @book{Cast97a, Author = {Giuseppe Castagna}, Keywords = {scglib}, Publisher = {Birkhaeuser}, Title = {Object-Oriented Programming A Unified Foundation}, Year = {1997} } @article{Casta95a, Author = {Guiseppe Castagna}, Journal = {ACM Transactions on Programming Languages and Systems}, Keywords = {olit-oopl types languages theory binder}, Month = mar, Number = {3}, Pages = {431--447}, Title = {Covariance and Contravariance: Conflict without a Cause}, Url = {ftp://ftp.ens.fr/pub/dmi/users/castagna/covariance.ps.Z}, Volume = {17}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.ens.fr/pub/dmi/users/castagna/covariance.ps.Z} } @article{Casta95b, Author = {Giuseppe Castagna and Giorgio Ghelli and Giuseppe Longo}, Journal = {Information and Computation}, Keywords = {olit calsulus types}, Number = {1}, Pages = {115--135}, Title = {A Calculus for Overloaded Functions with Subtyping}, Url = {ftp://ftp.ens.fr/pub/dmi/users/castagna/infocompu.ps.Z}, Volume = {117}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.ens.fr/pub/dmi/users/castagna/infocompu.ps.Z} } @book{Catt94a, Editor = {Rick Cattell}, Isbn = {1-55860-302-6}, Keywords = {olit-oopl oobib(oopl) book scglib}, Publisher = {Morgan \& Kaufmann}, Title = {The Object Database Standard: {ODMG}-93}, Year = {1994} } @inproceedings{Caud86a, Author = {Patrick J. Caudill and Allen Wirfs-Brock}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk oopsla86}, Month = nov, Pages = {119--130}, Title = {A Third Generation {Smalltalk}-80 Implementation}, Volume = {21}, Year = {1986} } @inproceedings{Cazz98a, Author = {Walter Cazzola}, Booktitle = {In Proceedings of ECOOP Workshop on Reflective Object-Oriented Programming and Systems (EWROOPS 98), in 12th European Conference on Object-Oriented Programming (ECOOP 98), Brussels, Belgium, on 20th-24th}, Pages = {3--540}, Title = {Evaluation of Object-Oriented Reflective Models}, Year = {1998} } @article{Cazz04a, Author = {Walter Cazzola}, Institution = {ETH Z\"urich}, Journal = {Journal of Object Technology}, Keywords = {dynamic analysis}, Month = aug, Number = {11}, Title = {SmartReflection: Efficient Introspection in Java}, Volume = {3}, Year = {2004} } @inproceedings{Cecc02a, Author = {Emmanuel Cecchet and Julie Marguerite and Willy Zwaenepoel}, Booktitle = {Proceedings of International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'02)}, Keywords = {j2ee}, Pages = {246--261}, Title = {Performance and Scalability of {EJB} Applications}, Year = {2002} } @inproceedings{Cecc05a, Author = {Ceccato, Mario and Marin, Marius and Mens, Kim and Moonen, Leon and Tonella, Paolo and Tourwe, Tom}, Booktitle = {13th International Workshop on Program Comprehension (IWPC)}, Doi = {10.1109/WPC.2005.2}, Isbn = {0-7695-2254-8}, Issn = {1092-8138}, Pages = {13--22}, Publisher = {IEEE CS}, Title = {A Qualitative Comparison of Three Aspect Mining Techniques}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2005.2} } @book{Ceri93a, Address = {Phoenix, Arizona, USA}, Editor = {Stefano Ceri and Katsumi Tanaka}, Isbn = {3-540-57530-8}, Keywords = {olit ceri95 scglib}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {DOOD}'93}, Volume = {760}, Year = {1993} } @inproceedings{Ceri00a, Author = {Stefano Ceri and Piero Fraternali and Aldo Bongio}, Booktitle = {Ninth International World Wide Web Conference}, Title = {Web modeling language ({Web}{M}{L}): a modeling language for designing Web sites}, Year = {2000} } @article{Chab94a, Author = {Bruno Chabrier and Paul Franchi-Zannettacci}, Journal = {Technique et Sciences Informatiques}, Number = {4}, Pages = {539--566}, 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}, Volume = {13}, Year = {1994} } @book{Chab97a, Editor = {Chabanne Oussalah and Et Alii}, Isbn = {2-7296-0642-4}, Keywords = {olit scglib}, Publisher = {InterEditions}, Title = {Ing\'enierie Object: Concepts et techniques}, Year = {1997} } @book{Chac09a, Author = {Chacon, Scott}, Citeulike-Article-Id= {6714685}, Citeulike-Linkout-0= {http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20&path=ASIN/1430218339}, Citeulike-Linkout-1= {http://www.amazon.de/exec/obidos/redirect?tag=citeulike01-21&path=ASIN/1430218339}, Citeulike-Linkout-2= {http://www.amazon.fr/exec/obidos/redirect?tag=citeulike06-21&path=ASIN/1430218339}, Citeulike-Linkout-3= {http://www.amazon.jp/exec/obidos/ASIN/1430218339}, Citeulike-Linkout-4= {http://www.amazon.co.uk/exec/obidos/ASIN/1430218339/citeulike00-21}, Citeulike-Linkout-5= {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1430218339}, Citeulike-Linkout-6= {http://www.worldcat.org/isbn/1430218339}, Citeulike-Linkout-7= {http://books.google.com/books?vid=ISBN1430218339}, Citeulike-Linkout-8= {http://www.amazon.com/gp/search?keywords=1430218339&index=books&linkCode=qs}, Citeulike-Linkout-9= {http://www.librarything.com/isbn/1430218339}, Day = {27}, Edition = {XXII, 265 p.}, Howpublished = {Paperback}, Isbn = {1430218339}, Keywords = {snf}, Month = aug, Posted-At = {2010-02-23 09:37:38}, Priority = {2}, Publisher = {Apress}, Title = {Pro Git}, Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1430218339}, Year = {2009}, Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/1430218339} } @book{Chai00a, Author = {Chailloux}, Isbn = {2841771210}, Publisher = {O'Reilly}, Title = {D\'{e}veloppement d'applications avec Objective CAML}, Year = {2000} } @inproceedings{Cham89a, Author = {Craig Chambers and David Ungar and Elgin Lee}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit-oopl self oopsla89}, Month = oct, Pages = {49--70}, Title = {An Efficient Implementation of {SELF} --- a Dynamically-Typed Object-Oriented Language Based on Prototypes}, Volume = {24}, Year = {1989} } @inproceedings{Cham91a, Address = {Geneva, Switzerland}, Author = {Dennis de Champeaux}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {360--376}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Analysis and Top-Down Software Development}, Volume = 512, Year = {1991} } @inproceedings{Cham91b, Author = {Craig Chambers and David Ungar}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit-oopl self oopsla91}, Month = nov, Pages = {1--15}, Title = {Making Pure Object-Oriented Languages Practical}, Volume = {26}, Year = {1991} } @article{Cham91c, Author = {Craig Chambers and David Ungar and Bay-Wei Chang and Urs H{\"o}lzle}, Journal = {Lisp and Symbolic Computation}, Month = jul, Number = {3}, Pages = {207--222}, Title = {Parents are Shared Parts of Objects: Inheritance and Encapsulation in SELF}, Volume = {4}, Year = {1991} } @inproceedings{Cham92a, Author = {Dennis de Champeaux and Al Anderson and Ed Feldhousen}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {377--391}, Title = {Case Study of Object-Oriented Software Development}, Volume = {27}, Year = {1992} } @inproceedings{Cham92b, Author = {Dennis de Champeaux and Doug Lea and Penelope Faure}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {45--62}, Title = {The Process of Object-Oriented Design}, Volume = {27}, Year = {1992} } @inproceedings{Cham92c, Address = {Utrecht, the Netherlands}, Author = {Craig Chambers}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-oopl cecil ecoop92proc}, Month = jun, Pages = {33--56}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Multi-Methods in {Cecil}}, Volume = {615}, Year = {1992} } @inproceedings{Cham93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Craig Chambers}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {268--296}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Predicate Classes}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @book{Cham93b, Author = {Dennis de Champeaux}, Isbn = {0-201-56355-X}, Keywords = {olit ood book scglib}, Publisher = {Addison Wesley}, Title = {Object-Oriented System Development}, Year = {1993} } @article{Chan87a, Author = {Shi-Kuo Chang}, Doi = {10.1109/MS.1987.229792}, Journal = {IEEE Software}, Keywords = {visprog ptyping binder(visprog) pl-lit}, Month = jan, Number = {1}, Pages = {29--39}, Title = {Visual languages: a tutorial and survey}, Volume = {4}, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.1987.229792} } @book{Chan88a, Address = {Reading, Mass.}, Author = {K.M. Chandy and J. Misra}, Keywords = {concurrency}, Publisher = {Addison Wesley}, Title = {Parallel Program Design: {A} Foundation}, Year = {1988} } @article{Chan89a, Author = {Shi-Kuo Chang and M.J. Tauber and B. Yu and J-S. Yu}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {visprog}, Month = may, Number = {5}, Pages = {506--525}, Title = {A Visual Language Compiler}, Volume = {SE-15}, Year = {1989} } @book{Chan97a, Author = {Patrick Chan and Rosanna Lee}, Isbn = {0-201-63458--9}, Keywords = {olit oopl java}, Publisher = {Addison Wesley}, Title = {The {Java} Class Libraries}, Year = {1996} } @inproceedings{Chan97b, Author = {Jason S. Chang and Mathis H. Chen}, Booktitle = {Proceedings 35th Annual Meeting of the Association for Computational Linguistics}, Keywords = {text alignment}, Title = {An Alignment Method for Noisy Parallel Corpora based on Image Processing Techniques}, Url = {http://acl.ldc.upenn.edu/P/P97/}, Year = {1997}, Bdsk-Url-1 = {http://acl.ldc.upenn.edu/P/P97/} } @book{Chan98a, Author = {Patrick Chan and Rosanna Lee}, Edition = {Second}, Isbn = {0-201-31003-1}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Class Libraries}, Year = {1998} } @inproceedings{Chan03a, Author = {A. Chan and R. Holmes and G.C. Murphy and A.T. Ying}, Booktitle = {International Workshop on Program Comprehension}, Title = {Scaling an object-oriented system execution visualizer through sampling}, Year = {2003} } @inproceedings{Chan07a, Address = {New York, NY, USA}, Author = {Prakash Chandrasekaran and Christopher L. Conway and Joseph M. Joy and Sriram K. Rajamani}, Booktitle = {ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering}, Doi = {10.1145/1287624.1287636}, Isbn = {978-1-59593-811-4}, Location = {Dubrovnik, Croatia}, Pages = {65--74}, Publisher = {ACM}, Title = {Programming asynchronous layers with CLARITY}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287636} } @inproceedings{Chan08a, Address = {New York, NY, USA}, Author = {Chang, Hung-Fu and Mockus, Audris}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370766}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {61--66}, Publisher = {ACM}, Title = {Evaluation of source code copy detection methods on freebsd}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370766} } @article {Chan09a, Author = {Chan, Brian and Foo, King and Marks, Lionel and Zou, Ying}, Affiliation = {Queen's University Department of Electrical and Computer Engineering Kingston ON Canada}, Title = {An approach for estimating the time needed to perform code changes in business applications}, journal = {International Journal on Software Tools for Technology Transfer (STTT)}, Publisher = {Springer Berlin / Heidelberg}, Issn = {1433-2779}, Keyword = {Computer Science}, Pages = {503-515}, Volume = {11}, Issue = {6}, Url = {http://dx.doi.org/10.1007/s10009-009-0122-5}, Note = {10.1007/s10009-009-0122-5}, Abstract = {Business applications automate various business processes within an organization. Business analysts frequently modify business processes to maintain a competitive edge. Estimating the time needed to modify a business process is not a trivial task, since changes to the business process result in changes to the source code of which the business analyst has limited knowledge. We propose a change impact metric which estimates the code to be modified as a result of a business process change. We demonstrate the effectiveness of our proposed change impact metric through a case study, using seven large business applications from the OFBiz open source project.}, Year = {2009} } @article{Chan10a, author = {Chang, Jonathan and Blei, David M.}, doi = {10.1214/09-AOAS309}, issn = {1932-6157}, journal = {The Annals of Applied Statistics}, month = mar, number = {1}, pages = {124--150}, title = {Hierarchical relational models for document networks}, volume = {4}, year = {2010}, Bdsk-Url-1 = {http://dx.doi.org/10.1214/09-AOAS309} } @article{Chap01a, Author = {Ned Chapin and Joanne E. Hale and Khaled Md. Khan and Juan F. Ramil and Wui-Gee Than}, Journal = {Journal of software maintenance and evolution}, Pages = {3--30}, Title = {Types of software evolution and software maintenance}, Volume = 13, Year = {2001} } @article{Char06a, Address = {Los Alamitos, CA, USA}, Author = {Kaushal Chari and Alan Hevner}, Journal = {IEEE Transactions on Software Enginering}, Number = {07}, Pages = {503--5099}, Publisher = {IEEE Computer Society}, Title = {System Test Planning of Software: An Optimization Approach}, Volume = {32}, Year = {2006} } @inproceedings{Char06b, Author = {Anis Charfi and Michel Riveill and Mireille Blay-Fornarino and Anne-Marie Pinna-Dery}, Booktitle = {In Proceedings of the 4th Software Engineering Properties of Languages and Aspect Technologies (SPLAT) Workshop}, Month = mar, Title = {Transparent and Dynamic Aspect Composition}, Url = {http://aosd.net/workshops/splat/2006/papers/charfi.pdf}, Year = {2006}, Bdsk-Url-1 = {http://aosd.net/workshops/splat/2006/papers/charfi.pdf} } @inproceedings{Char09a, Author = {Philippe Charles and Robert M. Fuhrer and Stanley M. Sutton Jr. and Evelyn Duesterwald and Jurgen J. Vinju}, Booktitle = {OOPSLA}, Doi = {10.1145/1640089.1640104}, Editor = {Shail Arora and Gary T. Leavens}, Pages = {191-206}, Publisher = {ACM}, Title = {Accelerating the creation of customized, language-Specific {IDEs} in {Eclipse}}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640089.1640104} } @inproceedings{Chas92a, Author = {Jeffrey S. Chase and Henry M. Levy and Edward D. Lazowska and Miche Baker-Harvey}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {397--413}, Title = {Lightweight Shared Objects in a 64-Bit Operating System}, Volume = {27}, Year = {1992} } @inproceedings{Chas98a, Author = {M. P. Chase and S.M. Christey and D.R. Harris and A.S. Yeh}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {79--89}, Publisher = {IEEE Computer Society}, Title = {Managing Recovered Function and Structure of Legacy Software Components}, Year = {1998} } @book{Chau98a, Author = {Akmal B. Chaudhri and Mary Loomis}, Keywords = {scglib, databases}, Publisher = {Prentice-Hall}, Title = {Object Databases in Practice}, Year = {1998} } @inproceedings{Chau01a, Address = {Vienna, Austria}, Author = {Michel Chaudron}, Booktitle = {Workshop on Composition Languages, WCL '01}, Keywords = {olit}, Month = sep, Pages = {15--24}, Title = {Reflections on the Anatomy of Software Composition Languages and Mechanisms}, Url = {http://www.cs.iastate.edu/~lumpe/WCL2001/}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.iastate.edu/~lumpe/WCL2001/} } @article{Chen76a, Author = {P.P.S. Chen}, Journal = {ACM TODS}, Keywords = {dblit}, Month = mar, Number = {1}, Pages = {9--36}, Title = {The Entity-Relationship Model: Toward a Unified View of Data}, Volume = {1}, Year = {1976} } @incollection{Chen93a, 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.}, Author = {Qiming Chen and Ming-Chien Shan}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {237--250}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Abstract View Objects for Multiple {OODB} Integration}, Volume = {742}, Year = {1993} } @inproceedings{Chen94a, Address = {Bologna, Italy}, Author = {Weimin Chen and Volker Turau and Wolfgang Klas}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {408--431}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Efficient Dynamic Look-up Strategy for Multi-Methods}, Volume = {821}, Year = {1994} } @inproceedings{Chen94b, Author = {Jia-L. Chen and D. McLeod and D. O'Leary}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {40--52}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Schema Evolution for Object-Based Accounting Database Systems}, Volume = {858}, Year = {1994} } @inproceedings{Chen94c, Author = {Yih-Farn Chen and David S. Rosenblum and Kiem-Phong Vo}, Booktitle = {Proceedings of the 16th international conference on Software engineering}, Isbn = {0-8186-5855-X}, Keywords = {testing}, Location = {Sorrento, Italy}, Pages = {211--220}, Publisher = {IEEE Computer Society Press}, Title = {TestTube: a system for selective regression testing}, Year = {1994} } @inproceedings{Chen95a, Address = {Washington, DC, USA}, Author = {T. Y. Chen and C. K. Low}, Booktitle = {Proceedings of the Second Asia Pacific Software Engineering Conference (APSEC'95)}, Isbn = {0-8186-7171-8}, Pages = {22}, Publisher = {IEEE Computer Society}, Title = {Dynamic Data Flow Analysis for {C++}}, Year = {1995} } @article{Chen96a, Author = {Jan-Bon Chen and Samuel C. Lee}, Journal = {Journal of Object Oriented Programming}, Keywords = {fca}, Month = jan, Number = {8}, Pages = {26--35}, Title = {Generation and {Reorganization} of {Subtype} Hierarchies}, Volume = {8}, Year = {1996} } @article{Chen98a, Annote = {Also published in Proceedings of ESEC/FSE '97}, Author = {Chen, Yih-Farn and Gansner, Emden R. and Koutsofios, Eleftherios}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {repository abb reverse analysis fse97 esec97}, Month = sep, Number = {9}, Pages = {682--693}, Title = {A {C}++ Data Model Supporting Reachability Analysis and Dead Code Detection}, Url = {http://www.research.att.com/~chen/chen/acacia-tse98.ps}, Volume = {24}, Year = {1998}, Bdsk-Url-1 = {http://www.research.att.com/~chen/chen/acacia-tse98.ps} } @inproceedings{Chen00a, Author = {Chen, Kunrong and Rajlich, V{\'a}clav}, Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM)}, Keywords = {feature}, Location = {Los Alamitos CA}, Pages = {241--249}, Publisher = {IEEE Computer Society Press}, Title = {Case Study of Feature Location Using Dependence Graph}, Year = {2000} } @article{Chen02a, Author = {Chen, Chun-Houh}, Journal = {Statistica Sinica}, Keywords = {seriation}, Month = dec, Number = {7}, Title = {Generalized Association Plots: Information Vizualization via Interactively Generated Correlation Matrices}, Volume = {12}, Year = {2002} } @inproceedings{Chen02b, Doi = {10.1109/MCSA.2002.1017490}, Address = {Washington, DC, USA}, Author = {Chen, Guanling and Kotz, David}, Booktitle = {WMCSA'02: Proceedings of the 4th Workshop on Mobile Computing Systems and Applications}, keywords = {damiencbib operator-graph}, Pages = {105--114}, Publisher = {IEEE Computer Society}, Title = {Context Aggregation and Dissemination in Ubiquitous Computing Systems}, Year = {2002} } @book{Chen03a, Author = {Jim X. Chen}, Keywords = {scglib newentry}, Publisher = {Springer}, Title = {Guide to Graphics Software Tools}, Year = {2003} } @inproceedings{Chen05a, Author = {Chenchen Xiao and Tzerpos, V.}, Booktitle={Software Maintenance and Reengineering, 2005. CSMR 2005. Ninth European Conference on}, title={Software Clustering Based on Dynamic Dependencies}, Year={2005}, Month=mar, Pages={ 124 - 133}, Abstract={The reverse engineering literature contains many software clustering approaches that attempt to cluster large software systems based on the static dependencies between software artifacts. However, the usefulness of clustering based on dynamic dependencies has not been investigated. It is possible that dynamic clusterings can provide a fresh outlook on the structure of a large software system. In this paper, we present an approach for the evaluation of dynamic clusterings. We apply this approach to a large open source software system, and present experimental results that suggest that dynamic clusterings have considerable merit.}, Doi={10.1109/CSMR.2005.49}, ISSN={1534-5351 } } @inproceedings{Chen07a, Address = {Washington, DC, USA}, Author = {Haibo Chen and Jie Yu and Rong Chen and Binyu Zang and Pen-Chung Yew}, Booktitle = {ICSE '07: Proceedings of the 29th international conference on Software Engineering}, Doi = {10.1109/ICSE.2007.65}, Isbn = {0-7695-2828-7}, Pages = {271--281}, Publisher = {IEEE Computer Society}, Title = {POLUS: A POwerful Live Updating System}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2007.65} } @inproceedings{Chen07b, author = {Chen, Feng and Ro\c{s}u, Grigore}, title = {{MOP}: an efficient and generic runtime verification framework}, booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications}, year = {2007}, isbn = {978-1-59593-786-5}, pages = {569--588}, location = {Montreal, Quebec, Canada}, doi = {10.1145/1297027.1297069}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @inproceedings{Cheo02a, Address = {Malaga, Spain}, Author = {Y. Cheon and G. T. Leavens}, Booktitle = {Proceedings ECOOP 2002}, Editor = {Boris Magnusson}, Keywords = {unit tests testing ecoop02proc}, Month = jun, Pages = {231--255}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {A simple and practical approach to unit testing: The JML and JUnit way}, Volume = 2374, Year = {2002} } @inproceedings{Cheo05a, Address = {Washington, DC, USA}, Author = {Elaine Cheong and Jie Liu}, Booktitle = {DATE '05: Proceedings of the conference on Design, Automation and Test in Europe}, Doi = {10.1109/DATE.2005.165}, Isbn = {0-7695-2288-2}, Pages = {1050--1055}, Publisher = {IEEE Computer Society}, Title = {galsC: A Language for Event-Driven Embedded Systems}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/DATE.2005.165} } @article{Cher91a, author = {Cherniavsky, John C. and Smith, Carl H.}, title = {On Weyuker's Axioms for Software Complexity Measures}, journal = {IEEE Trans. Softw. Eng.}, volume = {17}, number = {6}, month = {jun}, year = {1991}, issn = {0098-5589}, pages = {636--638}, numpages = {3}, url = {http://portal.acm.org/citation.cfm?id=126218.126240}, doi = {10.1109/32.87287}, acmid = {126240}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA}, keywords = {computational complexity, software complexity measures, software metrics} } @inproceedings{Cher07a, Abstract = {This paper presents the creation, deployment, and evaluation of a large-scale, spatially-stable, paper-based visualization of a software system. The visualization was created for a single team, who were involved systematically in its initial design and subsequent design iterations. The evaluation indicates that the visualization supported the "onboarding" scenario but otherwise failed to realize the research team's expectations. We present several lessons learned, and cautions to future research into large-scale, spatially-stable visualizations of software systems.}, Author = {Cherubini, M. and Venolia, G. and DeLine, R.}, Booktitle = {Visual Languages and Human-Centric Computing, 2007. VL/HCC 2007. IEEE Symposium on}, Citeulike-Article-Id= {2623649}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/VLHCC.2007.19}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4351339}, Day = {27}, Doi = {10.1109/VLHCC.2007.19}, Journal = {Visual Languages and Human-Centric Computing, 2007. VL/HCC 2007. IEEE Symposium on}, Keywords = {codemap, empiricalstudy, *hipgroup}, Pages = {157--162}, Posted-At = {2010-01-08 08:26:12}, Priority = {2}, Title = {Building an Ecologically valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code}, Url = {http://dx.doi.org/10.1109/VLHCC.2007.19}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2007.19} } @inproceedings{Cher07b, Abstract = {Software developers are rooted in the written form of their code, yet they often draw diagrams representing their code. Unfortunately, we still know little about how and why they create these diagrams, and so there is little research to inform the design of visual tools to support developers' work. This paper presents findings from semi-structured interviews that have been validated with a structured survey. Results show that most of the diagrams had a transient nature because of the high cost of changing whiteboard sketches to electronic renderings. Diagrams that documented design decisions were often externalized in these temporary drawings and then subsequently lost. Current visualization tools and the software development practices that we observed do not solve these issues, but these results suggest several directions for future research.}, Address = {New York, NY, USA}, Author = {Cherubini, Mauro and Venolia, Gina and DeLine, Rob and Ko, Andrew J.}, Booktitle = {CHI '07: Proceedings of the SIGCHI conference on Human factors in computing systems}, Citeulike-Article-Id= {1561270}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1240624.1240714}, Citeulike-Linkout-1= {http://dx.doi.org/10.1145/1240624.1240714}, Doi = {10.1145/1240624.1240714}, Isbn = {978-1-59593-593-9}, Keywords = {codemap, empiricalstudy, *hipgroup}, Location = {San Jose, California, USA}, Pages = {557--566}, Posted-At = {2010-01-08 08:27:08}, Priority = {2}, Publisher = {ACM}, Title = {Let's go to the whiteboard: how and why software developers use drawings}, Url = {http://dx.doi.org/10.1145/1240624.1240714}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1240624.1240714} } @article{Chev78a, Address = {New York, NY, USA}, Author = {R. J. Chevance and T. Heidet}, Doi = {10.1145/953411.953414}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {4}, Pages = {44--57}, Publisher = {ACM}, Title = {Static profile and dynamic behavior of COBOL programs}, Volume = {13}, Year = {1978}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/953411.953414} } @article{Chi89a, Author = {Michelene T. H. Chi and Miriam Bassok and Matthew W. Lewis and Peter Reimann and Robert Glaser}, Journal = {Cognitive Science}, Keywords = {examples}, Month = apr, Number = {2}, Pages = {145--182}, Title = {Self-Explanations: How students study and use examples in learning to solve problems.}, Volume = {13}, Year = {1989} } @inproceedings{Chib93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Shigeru Chiba and Takashi Masuda}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {483--502}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Designing an Extensible Distributed Language with a Meta-Level Architecture}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @techreport{Chib93b, Author = {Shigeru Chiba}, Institution = {Dept of Information Science, University of Tokyo}, Number = {93-3}, Title = {Open C++ Release 1.2 Programmer Guide}, Year = {1993} } @inproceedings{Chib95a, Author = {Shigeru Chiba}, Booktitle = {Proceedings of OOPSLA '95}, Keywords = {olit meta oopsla95 oobib}, Month = oct, Pages = {285--299}, Series = {ACM SIGPLAN Notices}, Title = {A Metaobject Protocol for {C}++}, Volume = {30}, Year = {1995} } @inproceedings{Chib96a, Author = {Shigeru Chiba and Gregor Kiczales and John Lamping}, Booktitle = {Proceedings of {ISOTAS} '96}, Editor = {Kokichi Futatsugi and Satoshi Matsuoka}, Isbn = {3-540-60954-7}, Pages = {157--172}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Avoiding Confusion in Metacircularity: The Meta-Helix}, Url = {http://www2.parc.com/csl/groups/sda/publications/papers/Chiba-ISOTAS96/for-web.pdf}, Volume = {1049}, Year = {1996} } @inproceedings{Chib00, Author = {Shigeru Chiba}, Booktitle = {Proceedings of ECOOP 2000}, Coden = {LNCSD9}, Issn = {0302-9743}, Pages = {313--336}, Series = {LNCS}, Title = {Load-Time Structural Reflection in {Java}}, Volume = {1850}, Year = {2000} } @inproceedings{Chib03, Author = {Shigeru Chiba and Muga Nishizawa}, Booktitle = {In Proceedings of the second International Conference on Generative Programming and Component Engineering (GPCE'03)}, Pages = {364--376}, Series = {LNCS}, Title = {An Easy-to-Use Toolkit for Efficient {Java} Bytecode Translators}, Volume = {2830}, Year = {2003} } @inproceedings{Chid91a, Author = {Shyam R. Chidamber and Chris F. Kemerer}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {197--211}, Title = {Towards a Metrics Suite for Object Oriented Design}, Volume = {26}, Year = {1991} } @article{Chid94a, Author = {Shyam R. Chidamber and Chris F. Kemerer}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit}, Month = jun, Number = {6}, Pages = {476--493}, Title = {A Metrics Suite for Object Oriented Design}, Volume = {20}, Year = {1994} } @article{Chik90a, Author = {Elliot Chikofsky and Cross II, James}, Doi = {10.1109/52.43044}, Journal = {IEEE Software}, Keywords = {reeng reveng}, Month = jan, Number = {1}, Pages = {13--17}, Publisher = {IEEE Computer Society Press}, Title = {Reverse Engineering and Design Recovery: A Taxonomy}, Volume = {7}, Year = {1990}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.43044} } @incollection{Chik92a, Author = {Elliot J. Chikofsky and James H. Cross II}, Booktitle = {Software Reengineering}, Editor = {Robert S. Arnold}, Keywords = {reeng reveng oorp}, Pages = {54--58}, Publisher = {IEEE Computer Society Press}, Title = {Reverse Engineering and Design Recovery: A Taxonomy}, Year = {1992} } @article{Chil94a, 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}, Author = {Chilenski, J. J. and Miller, S. P.}, Date-Added = {2007-02-01 14:05:28 +0100}, Date-Modified= {2007-02-01 14:05:28 +0100}, Isbn = {0268-6961}, Journal = {Software Engineering Journal}, 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}, Number = {5}, Pages = {193--200}, Title = {Applicability of modified condition/decision coverage to software testing}, Volume = {9}, Year = {1994} } @book{Chil00a, Author = {Childs, Matt and Lomax, Paul and Petrusha, Ron}, Isbn = {ISBN 1-56592-720-6}, Keywords = {olit scripting vbscript scglib}, Month = may, Publisher = {O'Reilly}, Title = {{VBScript in a Nutshell}}, Url = {http://www.oreilly.com/catalog/vbscriptian/index.html}, Year = {2000}, Bdsk-Url-1 = {http://www.oreilly.com/catalog/vbscriptian/index.html} } @article{Chin91a, Author = {R.S. Chin and S.T. Chanson}, Journal = {ACM Computing Surveys}, Keywords = {olit-obc distribution}, Month = mar, Number = {1}, Pages = {91--124}, Title = {Distributed Object-Based Programming Systems}, Volume = {23}, Year = {1991} } @inproceedings{Chin06a, author = {Chin, Jeannette S and Callaghan, Vic and Clarke, Graham}, title = {An End-User Programming Paradigm for Pervasive Computing Applications}, booktitle = {ICPS'06: Proceedings of the 3rd International Conference on Pervasive Services}, month = jun, year = {2006}, isbn = {1-4244-0237-9}, pages = {325--328}, location = {Lyon, France}, doi = {10.1109/PERSER.2006.1652254}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @inproceedings{Chiu02a, Address = {Washington, DC, USA}, Author = {Kenneth Chiu and Madhusudhan Govindaraju and Randall Bramley}, Booktitle = {HPDC '02: Proceedings of the 11 th IEEE International Symposium on High Performance Distributed Computing HPDC-11 20002 (HPDC'02)}, Isbn = {0-7695-1686-6}, Pages = {246}, Publisher = {IEEE Computer Society}, Title = {Investigating the Limits of SOAP Performance for Scientific Computing}, Year = {2002} } @book{Chof91a, Address = {Hamburg, Germany}, Editor = {Choffrut, M.Jantzen, C.}, Isbn = {3-540-53709-0}, Keywords = {olit stacs91 scglib}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {STACS}'91}, Volume = {480}, Year = {1991} } @inproceedings{Choi89a, 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}, 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.}, Booktitle = {System Sciences}, 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}, Pages = {275--284}, Title = {The Mothra Tool Set (Software Testing)}, Volume = {2}, Year = {1989} } @article{Choi90a, Author = {Song C. Choi and Walt Scacchi}, Journal = {IEEE Software}, Keywords = {clustering}, Month = jan, Pages = {66--71}, Title = {Extracting and {Restructuring} the {Design} of {Large} {Systems}}, Year = {1990} } @book{Chom57a, Address = {The Hague}, Author = {Noam Chomsky}, Publisher = {Mouton and Co}, Title = {Syntactic Structures}, Year = {1957} } @inproceedings{Chou88a, Author = {H. Chou and W. Kim}, Booktitle = {25th ACM/IEEE Design Automation Conference}, Keywords = {olit-oodb versions (smc)}, Title = {Versions and Change Notification in an Object-oriented Database System}, Year = {1988} } @unpublished{Chou95a, Author = {M-P. Chou and M. Dodani and C. Hughes and K. Kinsley}, Keywords = {olit-oodb binder}, Note = {University of Iowa}, Title = {{CADDET}: {A} Configurable Automated Database Design Engineering Tool}, Type = {Draft}, Year = {1995} } @book{Chri98a, Author = {Tom Christiansen and Nathan Torkington}, Keywords = {scglib}, Publisher = {O'Reilly}, Title = {Perl Cookbook}, Year = {1998} } @article{Chri03a, Author = {Aske Simon Christensen and Anders Moller and Michael I. Schwartzbach}, Journal = {ACM Transactions on Programming Languages and Systems}, Number = {6}, Pages = {814--875}, Title = {Extending Java for highlevel web service construction}, Volume = {25}, Year = {2003} } @inproceedings{Chri05a, Author = {Andreas Christl and Rainer Koschke and Margaret-Anne Storey}, Booktitle = {WCRE '05: Proceedings of the 12th Working Conference on Reverse Engineering}, Pages = {89--98}, Title = {Equipping the Reflexion Method with Automated Clustering}, Year = {2005} } @inproceedings{Chu03a, Address = {New York, NY, USA}, Author = {Mark C. Chu-Carroll and James Wright and Annie T. T. Ying}, Booktitle = {AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {10.1145/643603.643623}, Isbn = {1-58113-660-9}, Pages = {188--197}, Publisher = {ACM Press}, Title = {Visual separation of concerns through multidimensional program storage}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643623} } @article{Chua98a, Author = {Mei C. Chuah and Stephen G. Eick}, Journal = {IEEE Computer Graphics and Applications}, Keywords = {visualization}, Month = jul, Number = {4}, Pages = {24--29}, Publisher = {IEEE Computer Society Press}, Title = {Information Rich Glyphs for Software Management Data}, Volume = {18}, Year = {1998} } @inproceedings{Chur93a, Author = {Kenneth Ward Church}, Booktitle = {Proceedings 31st Annual Meeting of the Association for Computational Linguistics}, Keywords = {dotplot;text alignment}, Month = jun, Pages = {1--8}, Publisher = {Association for Computational Linguistics}, Title = {Char\_align: A Program for Aligning Parallel Texts at the Character Level}, Year = {1993} } @article{Chur93b, Author = {Kenneth Ward Church and Jonathan Isaac Helfman}, Journal = {J. Computational and Graphical Statistics}, Keywords = {dotplot, clones}, Month = jun, Number = {2}, Pages = {153--174}, Publisher = {American Statistical Association}, Title = {Dotplot: A Program for Exploring Self-Similarity in Millions of Lines for Text and Code}, Url = {http://citeseer.nj.nec.com/church93dotplot.html}, Volume = {2}, Year = {1993}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/church93dotplot.html} } @article{Chur95a, Annote = {oometrics}, Author = {N. I. Churcher and M. J. Shepperd}, Journal = {IEEE Transactions on Software Engineering}, Month = mar, Number = {3}, Pages = {263--265}, Title = {A Metrics Suite for Object Oriented Design}, Volume = {21}, Year = {1995} } @inproceedings{Chye99a, Address = {New York, NY, USA}, Author = {Yu Chye Cheong and Stanislaw Jarzabek}, Booktitle = {SSR '99: Proceedings of the 1999 symposium on Software reusability}, Doi = {10.1145/303008.303043}, Isbn = {1-58113-101-1}, Location = {Los Angeles, California, United States}, Pages = {103--112}, Publisher = {ACM Press}, Title = {Frame-based method for customizing generic software architectures}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/303008.303043} } @inproceedings{Cian90a, Address = {New Orleans}, Author = {Paolo Ciancarini}, Booktitle = {Proceedings of the 1990 International Conference of Computer Languages}, Keywords = {concurrency binder}, Misc = {March 12-15}, Month = mar, Pages = {252--260}, Title = {Coordination Languages for Open System design}, Year = {1990} } @inproceedings{Cian91a, Address = {Como, Italy}, Author = {Paolo Ciancarini}, Booktitle = {Proceedings of the 6th International Workshop on Software Specification and Design}, Keywords = {concurrency binder}, Misc = {Oct. 25-26}, Month = oct, Pages = {44--51}, Title = {{POLIS}: {A} Programming Model for Multiple Tuple Spaces}, Year = {1991} } @techreport{Cian92a, Author = {Paolo Ciancarini and Keld K. Jensen and Dani Yankelevich}, Institution = {University of Pisa, Computer Science Dept.}, Keywords = {concurrency binder (shelf)}, Month = aug, Title = {The Semantics of a Parallel Language based on a Shared Data Space}, Type = {TR-26/92}, Year = {1992} } @book{Cian94a, Doi = {10.1007/3-540-59450-7}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akiro Yonezawa}, Isbn = {3-540-59450-7}, Keywords = {olit ecoop94proc scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Based Models and Languages for Concurrent Systems, Workshop {ECOOP}'94}, Volume = {924}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-59450-7} } @incollection{Cian95a, 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.}, Author = {Paolo Ciancarini and Keld K. Jensen and Daniel Yankelevich}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-06}, Pages = {77--106}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On the Operational Semantics of a Coordination Language}, Volume = {924}, Year = {1995} } @proceedings{Cian96a, Booktitle = {Proceedings of the First International Conference, COORDINATION '96}, Editor = {Paolo Ciancarini and Chris Hankin}, Isbn = {3-540-61052-9}, Keywords = {coordination coord96 scglib}, Month = apr, Number = 1061, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Coordination Languages and Models}, Year = {1996} } @article{Cian96b, Author = {Paolo Ciancarini}, Journal = {ACM Computing Surveys}, Keywords = {coordination}, Month = jun, Number = {2}, Pages = {300--302}, Title = {Coordination Models and Languages as Software Integrators}, Volume = {28}, Year = {1996} } @inproceedings{Cian96c, Address = {Linz, Austria}, Author = {Paolo Cinacarini and Davide Rossi}, Booktitle = {MOS '96: Towards the Programmable Internet}, Keywords = {coordination}, Month = jul, Pages = {213--228}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Jada: Coordination and Communication for {Java} Agents}, Volume = {1222}, Year = {1996} } @book{Cian99a, Address = {Florence, Italy}, Editor = {Paolo Ciancarini and Alesandro Fantechi and Roberto Gorrieri}, Isbn = {0-7923-8429-6}, Keywords = {FMOODS '99 scglib}, Month = feb, Publisher = {Kluer Academic Publishers}, Title = {{FMOODS}'99}, Year = {1999} } @proceedings{Cian99b, Booktitle = {Proceedings of the Third International Conference, COORDINATION '99}, Editor = {Paolo Ciancarini and Alexander L. Wolf}, Isbn = {3-540-61052-9}, Keywords = {coordination coord96 scglib}, Month = apr, Number = 1594, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Coordination Languages and Models}, Year = {1999} } @inproceedings{Ciar05a, Address = {St. Louis, Missouri, USA}, Author = {Ciaran O'Reilly and David Bustard and Philip Morrow}, Booktitle = {Proceedings of 2005 ACM Symposium on Software Visualization (Softviz 2005)}, Keywords = {evolution, visualization}, Month = may, Pages = {57--65}, Title = {The war room command console: shared visualizations for inclusive team coordination}, Year = {2005} } @misc{Cifu06a, Key = {Squawk}, Note = {http://developers.sun.com/learning/javaoneonline/2006/coolstuff/TS-1598.pdf}, Title = {Squawk: a {J}ava VM for Wireless Sensor and Actuator Devices} } @article{Cimi95a, Author = {A. Cimitile and G. Visaggio}, Journal = {Journal of Systems and Software}, Pages = {117--127}, Title = {Software Salvaging and the Call Dominance Tree}, Volume = {28}, Year = {1995} } @inproceedings{Cimi98a, Author = {A. Cimitile and DeCarlini, U. and DeLucia, A.}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {59--69}, Publisher = {IEEE Computer Society}, Title = {On the Knowledge Required to Understand a Program}, Year = {1998} } @article{Cimi99a, Address = {New York, NY, USA}, Author = {Aniello Cimitile and Andrea De Lucia and Guiseppe Antonio Di Lucca and Anna Rita Fasolino}, Doi = {10.1016/S0164-1212(98)10057-2}, Issn = {0164-1212}, Journal = {J. Syst. Softw.}, Number = {3}, Pages = {199--211}, Publisher = {Elsevier Science Inc.}, Title = {Identifying objects in legacy systems using design metrics}, Volume = {44}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0164-1212(98)10057-2} } @misc{Cincom2002, Key = {Cincom2002}, Note = {Cincom}, Title = {VisualWorks Application Developer's Guide}, Year = {2002} } @book{Cioba06a, Booktitle = {Applications of Membrane Computing}, Editor = {Gabriel Ciobanu and Mario J. P{\'e}rez-Jim{\'e}nez and Gheorghe Paun}, Isbn = {978-3-540-25017-3}, Publisher = {Springer}, Series = {Natural Computing Series}, Title = {Applications of Membrane Computing}, Year = {2006} } @article{Citr98a, Author = {Wayne Citrin and Soraya Ghiasi and Benjamin G. Zorn}, Doi = {10.1006/jvlc.1998.0080}, Journal = {Journal of Visual Languages and Computing}, Keywords = {visprog graph transformation}, Number = {2}, Pages = {241--258}, Title = {{VIPR} and the Visual Programming Challenge}, Url = {citeseer.ist.psu.edu/citrin98vipr.html}, Volume = {9}, Year = {1998}, Bdsk-Url-1 = {citeseer.ist.psu.edu/citrin98vipr.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1006/jvlc.1998.0080} } @inproceedings{Ciup99a, Author = {Oliver Ciupke}, Booktitle = {Proceedings of TOOLS 30 (USA)}, Pages = {18--32}, Title = {Automatic Detection of Design Problems in Object-Oriented Reengineering}, Year = {1999} } @proceedings{Ciup99b, Address = {Forschungszentrum Informatik, Haid-und-Neu-Strasse 10-14, 76131 Karlsruhe, Germany}, Annote = {workshopproceedings}, Editor = {Oliver Ciupke and St\'ephane Ducasse}, Keywords = {skip-pdf stefPub scg-pub skip-abstract skip-doi jb-none}, Month = jun, Note = {FZI 2-6-6/99}, Title = {Proceedings of the {ECOOP} '99 Workshop on Experiences in Object-Oriented Re-Engineering}, Year = {1999} } @inproceedings{Ciup08a, Author = {Ilinca Ciupa and Manuel Oriol and Bertrand Meyer and Alexander Pretschner}, Booktitle = {IEEE International Symposium on Software Reliability Engineering (ISSRE)}, Month = nov, Title = {Finding Faults: Manual Testing vs. Random+ Testing vs. User Reports}, Year = {2008} } @article {Ciup11a, author = {Ciupa, I. and Pretschner, A. and Oriol, M. and Leitner, A. and Meyer, B.}, title = {On the number and nature of faults found by random testing}, journal = {Software Testing, Verification and Reliability}, volume = {21}, number = {1}, publisher = {John Wiley & Sons, Ltd.}, issn = {1099-1689}, url = {http://dx.doi.org/10.1002/stvr.415}, doi = {10.1002/stvr.415}, pages = {3--28}, keywords = {random tests, object-oriented software, test selection strategies, empirical studies}, year = {2011} } @inproceedings{Cive93a, Author = {Franco Civello}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {376--393}, Title = {Roles for composite objects in object-oriented analysis and design}, Volume = {28}, Year = {1993} } @techreport{Clam91a, Address = {Pittsburgh, PA}, Author = {Stewart M. Clamen}, Institution = {Carnegie Mellon University}, Keywords = {oodb-olit survey (smc)}, Month = may, Title = {Data Persistence in Programming Languages --- {A} Survey}, Type = {{CMU-CS-91-155}}, Url = {ftp://reports.adm.cs.cmu.edu/1991/CMU-CS-91-155.ps}, Year = {1991}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/1991/CMU-CS-91-155.ps} } @techreport{Clam92a, 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.}, Address = {Pittsburgh, PA}, Author = {Stewart M. Clamen}, Institution = {CMU}, Keywords = {olit-oodb schema evolution versions (smc)}, Month = jun, Title = {Class Evolution and Instance Adaptation}, Type = {CS-92-133}, Url = {ftp://reports.adm.cs.cmu.edu/1992/CMU-CS-92-133R.ps}, Year = {1992}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/1992/CMU-CS-92-133R.ps} } @article{Clam94a, 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.}, Author = {Stewart M. Clamen}, Journal = {Distributed and Parallel Databases: An International Journal}, Keywords = {olit-oodb schema evolution versions (smc)}, Month = jan, Number = {1}, Title = {Schema Evolution and Integration}, Volume = {2}, Year = {1994} } @article{Clar86a, Author = {Edmund M. Clarke and E.A. Emerson and A.P. Sistla}, Journal = {ACM TOPLAS}, Keywords = {concurrency regular processes binder}, Month = apr, Number = {2}, Pages = {244--263}, Title = {Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications}, Volume = {8}, Year = {1986} } @article{Clar97a, Author = {Charles L. A. Clarke and Gordon V. Cormack}, Doi = {10.1145/256167.256174}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Keywords = {regex}, Number = {3}, Pages = {413--426}, Publisher = {ACM Press}, Title = {On the use of regular expressions for searching text}, Volume = {19}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/256167.256174} } @inproceedings{Clar98a, Author = {David G. Clarke and John M. Potter and James Noble}, Booktitle = {Proceedings OOPSLA '98}, Doi = {10.1145/286936.286947}, Isbn = {1-58113-005-8}, Location = {Vancouver, British Columbia, Canada}, Pages = {48--64}, Publisher = {ACM Press}, Title = {Ownership types for flexible alias protection}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/286936.286947} } @inproceedings{Clar01a, Address = {London, UK}, Author = {David G. Clarke and James Noble and John M. Potter}, Booktitle = {Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP'91)}, Month = jun, Pages = {53--76}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Simple Ownership Types for Object Containment}, Year = {2001} } @inproceedings{Clar02a, Address = {New York, NY, USA}, Author = {Dave Clarke and Sophia Drossopoulou}, Booktitle = {Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'02)}, Doi = {10.1145/582419.582447}, Isbn = {1-58113-471-1}, Location = {Seattle, Washington, USA}, Pages = {292--310}, Publisher = {ACM}, Title = {Ownership, encapsulation and the disjointness of type and effect}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/582419.582447} } @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}, Bdsk-Url-1 = {http://albini.xactium.com} } @book{Clar08a, Author = {Tony Clark and Paul Sammut and James Willans}, Keywords = {dsl-lit}, Publisher = {Ceteva}, Title = {Superlanguages, Developing Languages and Applications with {XMF}}, Url = {http://www.ceteva.com/docs/Superlanguages.pdf}, Volume = {First Edition}, Year = {2008}, Bdsk-Url-1 = {http://www.ceteva.com/docs/Superlanguages.pdf} } @book{Clar08b, Author = {Tony Clark and Paul Sammut and James Willans}, Note = {\url{http://www.ceteva.com/docs/Applied+Metamodelling+(Second+Edition).pdf}}, Publisher = {Ceteva}, Title = {Applied Metamodelling, a Foundation for Language Driven Development}, Volume = {Second Edition}, Year = {2008} } @misc{Claraty, key = {CLARATy}, title = {{CLARATy}: robotic software framework}, url = {http://claraty.jpl.nasa.gov}, keywords = {robotics}, note = {http://claraty.jpl.nasa.gov} } @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}, Journal = {Theoretical Computer Science}, Note = {To appear}, Title = {{Maude}: Specification and Programming in Rewriting Logic}, Year = {2001} } @inproceedings{Clay98a, Author = {R. Clayton and S. Rugaber and L. Wills}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {69--79}, Publisher = {IEEE Computer Society}, Title = {Incremental Migration Strategies: Data Flow Analysis for Wrapping}, Year = {1998} } @inproceedings{Clea89a, Author = {Rance Cleaveland and Joachim Parrow and Bernhard Steffen}, Booktitle = {Automatic Verification Methods for Finite State Systems: Proceedings}, Editor = {Joseph Sifakis}, Keywords = {pcalc ccs regular processes binder}, Pages = {24--37}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Concurrency Workbench}, Volume = {407}, Year = {1989} } @inproceedings{Clea90a, Author = {Rance Cleaveland and Bernhard Steffen}, Booktitle = {Proceedings of CONCUR '90}, Editor = {J.C.M. Baeten and J.W. Klop}, Keywords = {pcalc equivalence concur90 binder}, Pages = {141--151}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Preorder for Partial Process Specifications}, Volume = {458}, Year = {1990} } @book{Clea92a, Address = {Stony Brooks, NY, USA}, Editor = {W.R. Cleaveland}, Isbn = {3-540-55822-5}, Keywords = {olit concur92 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'92}, Volume = {630}, Year = {1992} } @inproceedings{Clea93a, 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.}, Address = {Raleigh-Durham, North Carolina.}, Author = {Rance Cleaveland}, Booktitle = {Proceedings of the Real-Time Systems Symposium}, Keywords = {concurrency}, Month = dec, Note = {To appear}, Title = {{RTSL}: {A} Language for Real-Time Schedulability Analysis}, Year = {1993} } @article{Clea93b, 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.}, Author = {Rance Cleaveland}, Journal = {Formal Aspects of Computing}, Keywords = {concurrency pcalc}, Pages = {1--20}, Title = {Testing Equivalence as a Bisimulation Equivalence}, Url = {ftp://science.csc.ncsu.edu//pub/papers/fac93.dvi.gz}, Volume = {5}, Year = {1993}, Bdsk-Url-1 = {ftp://science.csc.ncsu.edu//pub/papers/fac93.dvi.gz} } @article{Clea93c, 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.}, Author = {Rance Cleaveland}, Journal = {ACM Transactions on Programming Languages and Systems}, Keywords = {concurrency pcalc ccs}, Month = jan, Number = {1}, Pages = {36--72}, Title = {The Concurrency Workbench: {A} Semantics-Based Verification tool for the verification of concurrent systems}, Url = {ftp://science.csc.ncsu.edu//pub/papers/cwb.ps.gz}, Volume = {15}, Year = {1993}, Bdsk-Url-1 = {ftp://science.csc.ncsu.edu//pub/papers/cwb.ps.gz} } @inproceedings{Clea94a, 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.}, Address = {Portland, Oregon}, Author = {Rance Cleaveland}, Booktitle = {Proceedings of Principles of Programming}, Keywords = {concurrency pcalc ccs}, Month = jan, Note = {To appear}, Title = {An Operational Framework for Value-Passing Processes}, Url = {ftp://science.csc.ncsu.edu//pub/papers/popl94.ps.gz}, Year = {1994}, Bdsk-Url-1 = {ftp://science.csc.ncsu.edu//pub/papers/popl94.ps.gz} } @inproceedings {Clea07a, Title = {Assisting Concept Location in Software Comprehension}, Booktitle = {Proceedings of 19th Annual Psychology of Programming Workshop (PPIG 07)}, Year = {2007}, Month = jul, Address = {Joensuu, Finland}, Author = {Cleary, B and Exton, Chris} } @inproceedings{Clee03a, Author = {Thomas Cleenewerck}, Booktitle = {Proceedings of the 2nd international conference on Generative programming and component engineering}, Organization = {Springer-Verlag New York, Inc. New York, NY, USA}, Pages = {245--264}, Title = {Component-based {DSL} Development}, Year = {2003} } @article{Clem95a, Author = {Paul C. Clements}, Journal = {American Programmer}, Keywords = {composition}, Number = {11}, Title = {From Subroutines to Subsystems: Component-Based Software Development}, Url = {http://www.cutter.com}, Volume = {8}, Year = {1995}, Bdsk-Url-1 = {http://www.cutter.com} } @incollection{Clem96a, Author = {Paul C. Clements and Linda Northrop}, Booktitle = {Component-Based Software Engineering}, Editor = {Alan W. Brown}, Keywords = {composition}, Pages = {55--68}, Publisher = {IEEE Press}, Title = {Software Architecture: An Executive Overview}, Year = {1997} } @inproceedings{Clem01a, Author = {John Clements and Paul T. Graunke and Shriram Krishnamurthi and Matthias Felleisen}, Booktitle = {Proceedings of Monterey Workshop}, Title = {Little Languages and their Programming Environments}, Url = {http://www.cs.rice.edu/CS/PLT/Publications/mw01-cgkf.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.rice.edu/CS/PLT/Publications/mw01-cgkf.pdf} } @book{Clem02a, Address = {Boston, MA}, Author = {Paul Clements and Linda Northrop}, Publisher = {Addison-Wesley}, Title = {Software Product Lines: Practices and Patterns}, Year = {2002} } @book{Clem02b, title = {Documenting Software Architectures: Views and Beyond}, author = {Clements, Paul and Bachmann, Felix and Bass, Len and Garlan, David and Ivers, James and Little, Reed and Nord, Robert and Stafford, Judith}, publisher = {Addison-Wesley Professional}, keywords = {architecture damiencbib}, year = {2002} } @article{Clem09a, author = {Clements, Paul and Shaw, Mary}, title = {"The Golden Age of Software Architecture" Revisited}, journal = {IEEE Software}, volume = {26}, number = {4}, month = jul, year = {2009}, issn = {0740-7459}, pages = {70--72}, numpages = {3}, doi = {10.1109/MS.2009.83}, acmid = {1592163}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA}, keywords = {software architecture design development system organization adl damiencbib} } @inproceedings{Cler88a, Address = {Oslo}, Author = {Silvia Clerici and F. Orejas}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-inheritance ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {78--92}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{GSBL}: An Algebraic Specification Language Based on Inheritance}, Volume = {322}, Year = {1988} } @book{Clev94a, Author = {William S. Cleveland}, Keywords = {scglib}, Publisher = {Hobart Press}, Title = {The Elements of Graphing Data}, Year = {1994} } @inproceedings{Clev00a, Author = {Holger Cleve and Andreas Zeller}, Booktitle = {Proceedings of the Fourth International Workshop on Automated Debugging}, Month = aug, Title = {Finding Failure Causes through Automated Testing}, Year = {2000} } @inproceedings{Clev06a, Author = {Anthony Cleve and Jean Henrard and Jean-Luc Hainaut}, Booktitle = {WCRE 06: Proceedings of the 13th Working Conference on Reverse Engineering}, Title = {Data Reverse Engineering using System Dependency Graphs}, Year = {2006}, Month = oct, Pages = {157 -166}, Abstract = {Data reverse engineering (DRE) is a complex and costly process that requires a deep understanding of large data-intensive software systems. This process can be made easier with the use of program understanding methods and tools. In this paper, we focus on the program slicing technique and we show how it can be adapted to support DRE. We present a DML-independent SDG construction approach involving the analysis of database operations as a first stage. We describe a tool based upon this approach and we report on two industrial DRE projects}, Keywords = {reverse engineering enterprise}, Doi = {10.1109/WCRE.2006.22}, ISSN = {1095-1350} } @inproceedings{Clif00a, Author = {Curtis Clifton and Gary T. Leavens and Craig Chambers and Todd Millstein}, Booktitle = {{OOPSLA} 2000 Conference on Object-Oriented Programming, Systems, Languages, and Applications}, Pages = {130--145}, Title = {{MultiJava}: Modular Open Classes and Symmetric Multiple Dispatch for {Java}}, Year = {2000} } @techreport{Clin81a, Author = {W.D. Clinger}, Institution = {MIT Artificial Intelligence Laboratory}, Keywords = {concurrency actors}, Month = may, Title = {Foundations of Actor Semantics}, Type = {AI-TR-633}, Year = {1981} } @book{Clin95a, Author = {Marshall P. Cline and Greg A. Lomow}, Isbn = {0-201-58958-3}, Keywords = {oolit-oopl book}, Publisher = {Addison Wesley}, Title = {{C}++ FAQs}, Year = {1995} } @book{Cloc87a, Author = {W. F. Clocksin and Chris Mellish}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Isbn = {3-540-17539-3}, Keywords = {pl-lit}, Publisher = {Springer}, Title = {Programming in Prolog, 3rd Edition}, Year = {1987} } @misc{ClosureCompiler, Author = {Anthony Hannan}, Key = {ClosureCompiler}, Note = {http://wiki.squeak.org/squeak/ClosureCompiler}, Title = {Squeak {Closure} {Compiler}}, Year = {2004}, Month = jul } @techreport{Clou00a, Author = {Paul Clough}, Institution = {University of Sheffield, Department of Computer Science}, Keywords = {plagiarism, copy detection}, Lastaccess = {nov 22, 2002}, Month = jun, Title = {Plagiarism in Natural and Programming Languages: An Overview of Current Tools and Technologies}, Url = {http://www.dcs.shef.ac.uk/~cloughie/research.htm#plagiarism}, Year = {2000}, Bdsk-Url-1 = {http://www.dcs.shef.ac.uk/~cloughie/research.htm#plagiarism} } @inproceedings{Clyd92a, Author = {Stephen W. Clyde and David W. Embley and Scott N. Woodfield}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {452--465}, Title = {Tunable Formalism in Object-Oriented Systems Analysis: Meeting the Needs of Both Theoreticians and Practitioners}, Volume = {27}, Year = {1992} } @book{Coad91a, Author = {Peter Coad and Edward Yourdon}, Isbn = {0-13-630070-7}, Keywords = {oobib(gen) book scglib}, Publisher = {Prentice-Hall}, Title = {Object Oriented Design}, Year = {1991} } @article{Coad92a, Author = {P. Coad}, Journal = {Communications of the ACM}, Number = {9}, Pages = {152--159}, Title = {Object-Oriented Patterns}, Volume = {35}, Year = {1992} } @book{Coad95a, Author = {Peter Coad and Daid North and Mark Mayfield}, Isbn = {0-13-108614-6}, Keywords = {olit patterns models strategies scglib}, Publisher = {Prentice-Hall}, Title = {Object Models: Strategies, Patterns, \& Applications}, Year = {1995} } @book{Coad99a, Author = {Peter Coad and Eric Lefebvre and Jeff De Luca}, Isbn = {0-13-011510-X}, Keywords = {java uml scglib}, Publisher = {Prentice Hall}, Title = {Java Modeling in Color with UML}, Year = {1999} } @inproceedings{Coad01a, Author = {Yvonne Coady and Gregor Kiczales and Mike Feeley and Greg Smolyn}, Booktitle = {ESEC '01}, Editor = {Volker Gruhn}, Publisher = {ACM Press}, Title = {Using {AspectC} to Improve the Modularity of Path-Specific Customization in Operating System Code}, Year = {2001} } @inproceedings{Cobl03a, Author = {Jamieson M. Cobleigh and Dimitra Giannakopoulou and Corina S. Pasareanu}, Booktitle = {TACAS}, Ee = {http://link.springer.de/link/service/series/0558/bibs/2619/26190331.htm}, Pages = {331-346}, Title = {Learning Assumptions for Compositional Verification}, Url = {http://ti.arc.nasa.gov/m/pub/archive/0452.pdf}, Year = {2003}, Bdsk-Url-1 = {http://ti.arc.nasa.gov/m/pub/archive/0452.pdf} } @article{Cock93a, Author = {Alistair Cockburn}, Journal = {IBM Systems Journal}, Keywords = {oorp}, Month = mar, Number = {3}, Pages = {420--444}, Title = {The impact of object-orientation on application development}, Volume = {32}, Year = {1993} } @inproceedings{Cock99a, Address = {Orlando, FL}, Author = {Alistair Cockburn}, Booktitle = {4th International Multiconference on Systemics, Cybernetics, and Informatics}, Title = {Characterizing People as Non-Linear, First-Order Components in Software Development}, Year = {1999} } @book{Cock02a, Author = {Alistair Cockburn}, Isbn = {0201699699}, Keywords = {scglib agile}, Publisher = {Addison Wesley}, Title = {Agile Software Development}, Year = {2002} } @book{Cock03a, Author = {Alistair Cockburn}, Isbn = {0201702258}, Keywords = {scglib book}, Publisher = {Addison Wesley}, Title = {Writing Effective Use Cases}, Year = {2003} } @misc{Cock06a, Author = {Alistair Cockburn}, Keywords = {testing examples}, Note = {Retrieved August 25th 2006 \url{alistair.cockburn.us/index.php/Dos_equis_driven_design}}, Title = {Dos equis driven design}, Url = {http://alistair.cockburn.us/index.php/Dos_equis_driven_design}, Year = {2006}, Bdsk-Url-1 = {http://alistair.cockburn.us/index.php/Dos_equis_driven_design} } @misc{Cocoon, Key = {Cocoon}, Note = {http://cocoon.apache.org/}, Title = {Apache Cocoon, The Apache Cocoon Project} } @article{Codd70a, author = {Codd, E. F.}, title = {A relational model of data for large shared data banks}, journal = {Communications of the ACM}, volume = {13}, month = jun, year = {1970}, issn = {0001-0782}, pages = {377--387}, url = {http://doi.acm.org/10.1145/362384.362685}, doi = {10.1145/362384.362685}, acmid = {362685}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {composition, consistency, data bank, data base, data integrity, data organization, data structure, derivability, hierarchies of data, join, networks of data, predicate calculus, redundancy, relations, retrieval language, security} } @article{Code94a, Author = {W. Codenie and K. {de Hondt} and T. D'Hondt and P. Steyaert}, Journal = {ACM SIG{\-}PLAN Notices}, Month = dec, Number = {12}, Pages = {48--57}, Title = {Agora: message passing as a foundation for exploring {OO} language concepts}, Volume = {29}, Year = {1994} } @inproceedings{Coel06a, Address = {New York, NY, USA}, Author = {Wesley Coelho and Gail C. Murphy}, Booktitle = {AOSD'06: Proceedings of the 5th international conference on Aspect-oriented software development}, Doi = {10.1145/1119655.1119677}, Isbn = {1-59593-300-X}, Location = {Bonn, Germany}, Pages = {158--168}, Publisher = {ACM Press}, Title = {Presenting crosscutting structure with active models}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1119655.1119677} } @article{Cohe75a, Address = {Austin, Texas}, Author = {E. Cohen and D. Jefferson}, Journal = {ACM SIGOPS}, Keywords = {security olit hydra capability}, Month = nov, Number = {5}, Pages = {141--160}, Title = {Protection in the Hydra Operating System}, Volume = {9}, Year = {1975} } @inproceedings{Cohe06a, Address = {New York, NY, USA}, Author = {Tal Cohen and Joseph (Yossi) Gil and Itay Maman}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming languages, systems, and applications}, Doi = {10.1145/1167473.1167481}, Isbn = {1-59593-348-4}, Location = {Portland, Oregon, USA}, Pages = {89--108}, Publisher = {ACM Press}, Title = {{JTL}: the {Java} tools language}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167481} } @proceedings{Cohe06b, Author = {Tal Cohen and Joseph Gil}, Editor = {Awais Rashid and Mehmet Aksit}, Title = {Transactions on Aspect-Oriented Software Development II}, Booktitle = {T. Aspect-Oriented Software Development II}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Volume = {4242}, Year = {2006}, Isbn = {3-540-48890-1}, Bibsource = {DBLP, http://dblp.uni-trier.de} } @inproceedings{Cohe09a, Author = {Cohen, Tal and Gil, Joseph (Yossi)}, Title = {Three approaches to object evolution}, Booktitle = {Proceedings of the 7th International Conference on Principles and Practice of Programming in Java}, Series = {PPPJ '09}, Year = {2009}, Isbn = {978-1-60558-598-7}, Location = {Calgary, Alberta, Canada}, Pages = {57--66}, Numpages = {10}, Url = {http://doi.acm.org/10.1145/1596655.1596665}, Doi = {10.1145/1596655.1596665}, Acmid = {1596665}, Publisher = {ACM}, Address = {New York, NY, USA} } @book{Cohn04a, Address = {Redwood City, CA, USA}, Author = {Mike Cohn}, Isbn = {0321205685}, Publisher = {Addison Wesley Longman Publishing Co., Inc.}, Title = {User Stories Applied: For Agile Software Development}, Year = {2004} } @inproceedings{Coin87a, Author = {Pierre Cointe}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-oopl obvlisp oopsla87 uni-refl}, Month = dec, Pages = {156--167}, Title = {Metaclasses are First Class: the {ObjVlisp} Model}, Volume = {22}, Year = {1987}, Url = {http://stephane.ducasse.free.fr/Web/ArchivedLectures/p156-cointe.pdf}, Doi = {10.1145/38765.38822} } @inproceedings{Coin89a, Author = {Jean-Pierre Briot and Pierre Cointe}, Booktitle = {Proceedings OOPSLA '89}, Month = oct, Pages = {419--432}, Title = {{Programming with Explicit Metaclasses in {Smalltalk}-80}}, Year = {1989} } @inproceedings{Coin90a, Author = {Pierre Cointe}, Booktitle = {OOPSLA/ECOOP Workshop on Reflection and Metalevel Architecture}, Title = {The {Class}{Talk} System: A Laboratory to Study Reflection in Smalltalk}, Year = {1990} } @incollection{Coin92a, Author = {Pierre Cointe}, Booktitle = {Object oriented Programming: the {CLOS} Perspective}, Pages = {215--250}, Publisher = {MIT Press}, Title = {{CLOS} and {Smalltalk}: a comparison}, Year = {1992} } @book{Coin96a, Address = {Kaiserslautern, Germany}, Editor = {Pierre Cointe}, Isbn = {3-540-61439-7}, Keywords = {olit ecoop96proc scglib}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ECOOP}'96}, Volume = {1098}, Year = {1996} } @book{Cold99a, Author = {Jens Coldewey and Wolfgang Keller and Klaus Renzel}, Keywords = {olit patterns famoos dbreeng oorp}, Note = {To appear}, Publisher = {Publisher Unknown}, Title = {Architectural Patterns for Business Information Systems}, Year = {1999} } @book{Cole94a, Author = {Derek Coleman and Patrick Arnold and Stephanie Bodoff and Chris Dollin and Helena Gilchrist and Fiona Hayes}, Isbn = {0-13-338823-9}, Keywords = {oobib(gen) olit book scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Development: The Fusion Method}, Year = {1994} } @inproceedings{Cole01a, Address = {Berlin}, Author = {R.J. Cole and P.W. Eklund}, Booktitle = {Proceedings 9th International Conference on Conceptual Structures}, Keywords = {fca}, Pages = {319--332}, Publisher = {Springer-Verlag}, Series = {LNAI 2120}, Title = {Browsing Semi-structured Web texts using Formal Concept Analysis}, Year = {2001} } @inproceedings{Cole03a, Address = {USA}, Author = {Cole, R. and Tilley, T.}, Booktitle = {Proceedings of Fifteenth International Conference on Software Engineering and Knowledge Engineering, SEKE03}, Keywords = {fca}, Month = jun, Pages = {726--733}, Publisher = {Knowledge Systems Institute}, Title = {Conceptual Analysis of Software Structure}, Year = {2003} } @article{Coll81a, 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}, Annote = {internationaljournal}, Author = {C.B. Collins and Ian P. Goulden and David M. Jackson and Oscar Nierstrasz}, Doi = {10.1016/0012-365X(81)90234-X}, Journal = {Discrete Mathematics}, Keywords = {misc enumeration onerdos123}, Publisher = {North-Holland}, Title = {A Combinatorial Application of Matrix Riccati Equations and their q-analogue}, Url = {http://scg.unibe.ch/archive/uw/Coll81a.pdf}, Volume = {36}, Year = {1981}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uw/Coll81a.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/0012-365X(81)90234-X} } @inproceedings{Coll93a, Author = {P. Collette}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {230--242}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Application of the Composition Principle to Unity-Like Specifications}, Volume = {668}, Year = {1993} } @book{Coll95a, Author = {Dave Collins}, Keywords = {book scglib}, Publisher = {Benjamin/Cummings Publishing}, Title = {Designing Object-Oriented User Interfaces}, Year = {1995} } @inproceedings{Coll96a, Author = {Jason A. Collins and Jim E. Greer and Sherman X. Huang}, Booktitle = {Proceedings of the Third International Conference on Intelligent Tutoring Systems}, City = {Montreal, Canada}, Pages = {569--577}, Title = {Adaptive Assessment using Granularity Hierarchies and Bayesian Nets}, Year = {1996} } @inproceedings{Coll98a, Address = {Hannover, Germany}, Author = {Collison, Andrey and Bieri, Hanspeter}, Booktitle = {Proceedings of Computer Graphics International '98}, Keywords = {repository abb graphics fcg-pub booga gscope codbms cgi98}, Month = jun, Publisher = {IEEE}, Title = {{An Architecture of a Universal DBMS fpr Graphics Applications}}, Url = {http://www.iam.unibe.ch/~booga/publications/papercollison.pdf}, Year = {1998}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~booga/publications/papercollison.pdf} } @inproceedings{Coll03a, Address = {New York NY}, Author = {Christian Collberg and Stephen Kobourov and Jasvir Nagra and Jacob Pitts and Kevin Wampler}, Booktitle = {Proceedings of the 2003 ACM Symposium on Software Visualization}, Isbn = {1-58113-642-0}, Keywords = {evolution}, Location = {San Diego, California}, Pages = {77--86}, Publisher = {ACM Press}, Title = {A System for Graph-based Visualization of the Evolution of Software}, Year = {2003} } @book{Coll03b, author = {Collinson, R.P.G.}, title = {Introduction to Avionics Systems}, edition = {second}, publisher = {Springer}, year = {2003}, keywords = {damiencbib avionics}, isbn = {978-1402072789} } @book{Coll04a, Author = {Ben Collins-Sussman and Brian W. Fitzpatrick and C. Michael Pilato}, Isbn = {0-596-00448-6}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Version Control with Subversion}, Url = {http://svnbook.red-bean.com/ http://svnbook.red-bean.com/nightly/en/svn-book.pdf}, Year = {2004}, Bdsk-Url-1 = {http://svnbook.red-bean.com/%20http://svnbook.red-bean.com/nightly/en/svn-book.pdf} } @inproceedings {Coll05a, title = {Player 2.0: Toward a Practical Robot Programming Framework}, pages = {1--9}, publisher = {ARAA}, keywords = {robotics damiencbib}, booktitle = {ACRA'05: Proceedings of the 7th Australasian Conference on Robotics and Automation}, year = {2005}, address = {Sydney, Australia}, author = {Collett, Toby H.J. and MacDonald, Bruce A. and Gerkey, Brian P.} } @misc{Comanche, Key = {Comanche}, Keywords = {squeak web server}, Note = {http://squeaklab.org/comanche}, Title = {Comanche: a full featured web serving environment for {Smalltalk}} } @techreport{Comp93a, Author = {Adriana B. Compagnoni and Benjamin C. Pierce}, Institution = {LFCS, University of Edinburgh}, Keywords = {olit-types}, Month = aug, Note = {To appear in MSCS}, Title = {Multiple Inheritance via Intersection Types}, Type = {ECS-LFCS-93-275}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fomeet.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fomeet.ps.gz} } @techreport{Comp94a, Author = {Adriana B. Compagnoni}, Institution = {LFCS, University of Edinburgh}, Keywords = {olit-types}, Month = jan, Title = {Subtyping in {${F}^\omega_\wedge$} is decidable}, Type = {ECS-LFCS-94-281}, Year = {1994} } @manual{Comp00a, Note = {http://i44www.info.uni-karlsruhe.de/~compost}, Organization = {University of Karlsruhe}, Title = {COMPOST}, Url = {http://i44www.info.uni-karlsruhe.de/~compost}, Year = {1996}, Bdsk-Url-1 = {http://i44www.info.uni-karlsruhe.de/~compost} } @article{Comp99a, Author = {Daniele Compare and Paola Inverardi and Alexander L. Wolf}, Journal = {ACM Transactions on Software Engineering and Methodology}, Month = feb, Number = {2}, Pages = {101--31}, Title = {Uncovering Architectural Mismatch in Component Behavior}, Volume = {33}, Year = {1999} } @techreport{ConF95a, Author = {Groupe ConForM}, Institution = {EPFL}, Keywords = {concurrency olit formal methods epfl binder}, Misc = {19 December}, Month = dec, Title = {Concurrency and Formal Methods}, Type = {Journee scientifique Groupe ConForM}, Year = {1995} } @misc{Concentration, Key = {Concentration}, Keywords = {games examples}, Note = {http://en.wikipedia.org/wiki/\-Concentration\-\_(game)}, Title = {Concentration}, Url = {http://en.wikipedia.org/wiki/Concentration_(game)}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/Concentration_(game)} } @inproceedings{Conn89a, Author = {R.C.H. Connor and Alan Dearle and Ron Morrison and A.L. Brown}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {types olit oopsla89}, Month = oct, Pages = {279--286}, Title = {An Object Addressing Mechanism for Statically Types Languages with Multiple Inheritance}, Volume = {24}, Year = {1989} } @book{Conn95a, Author = {John Connel and Linda Shafer}, Isbn = {0-13-629643-2}, Keywords = {oli-appl scglib}, Publisher = {Yourdon Press Computing Series}, Title = {Object-Oriented Rapid Prototyping}, Year = {1995} } @article{Conr98a, Annote = {internationaljournal}, Author = {Reidar Conradi and Bernhard Westfechtel}, Journal = {ACM Computing Surveys}, Month = jun, Number = {2}, Pages = {232--282}, Publisher = {ACM CS Press}, Title = {Version Models for Software Configuration Management}, Volume = {30}, Year = {1998} } @inproceedings{Conr99a, Author = {Reidar Conradi and Bernhard Westfechtel}, Booktitle = {Proceedings SCM 1999 (International Workshop on Software Configuration Management}, Keywords = {scm}, Pages = {228--231}, Title = {{SCM}: Status and Future Challenges}, Year = {1999} } @techreport{Cons91a, Address = {Iraklion, Crete}, Author = {Panos Constantopoulos and Martin D{\"o}rr and E. Pataki and Eleni Petra and G. Spanoudakis and Yannis Vassiliou}, Institution = {Foundation of Research and Technology --- Hellas}, Keywords = {olit-ithaca sib}, Misc = {Jan 12}, Month = jan, Number = {FORTH.91.E2.3}, Title = {The Software Information Base --- Selection Tool Integrated Prototype}, Type = {ITHACA report}, Year = {1991} } @techreport{Cons92a, Address = {Iraklion, Crete}, Author = {Panos Constantopoulos and Matthias Jarke and John Mylopoulos and Yannis Vassiliou}, Institution = {Foundation of Research and Technology --- Hellas}, Keywords = {olit-ithaca sib}, Month = jan, Number = {FORTH.92.E2.1}, Title = {The Software Information Base: {A} Server for Reuse}, Type = {ITHACA report}, Year = {1992} } @inproceedings{Cons92b, Author = {Mariano P. Consens and Alberto O. Mendelzon and Arthur G. Ryman}, Booktitle = {Proceedings of the 14th International Conference on Software Engineering}, Pages = {138--156}, Title = {Visualizing and Querying Software Structures}, Year = {1992} } @inproceedings{Cons93a, Author = {Mariano P. Consens and Alberto O. Mendelzon}, Booktitle = {Proceeding of the 1993 ACM SIGMOD International Conference on Management Data, SIGMOD Record Volume 22, No. 2}, Keywords = {olit sigmod93}, Pages = {511--516}, Title = {Hy+: {A} Hygraph-based Query and Visualisation System}, Year = {1993} } @inproceedings{Cons93c, Author = {Charles Consel and Olivier Danvy}, Booktitle = {Conference Record of {POPL}~'93}, Month = jan, Organization = {ACM}, Pages = {493--501}, Title = {Tutorial Notes on Partial Evaluation}, Year = {1993} } @inproceedings{Cons94b, Author = {M. Consens and M. Z. Hazan and A. Mendelzon}, Booktitle = {Proceedings 1st. International Conference on Applications of Databases, LNCS 819}, Title = {Debugging Distributed Programs by Visualizing and Querying Event Traces}, Year = {1994} } @incollection{Cons95a, 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.}, Author = {Panos Constantopoulos and Martin D{\"o}rr}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg ithaca repository abb OOSC07}, Pages = {177--200}, Publisher = {Prentice-Hall}, Title = {Component Classification in the Software Information Base}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @inproceedings{Cons05a, Author = {Charles Consel and Fabien Latry and Laurent R\'{e}veill\`{e}re and Pierre Cointe}, Booktitle = {Fourth International Conference on Generative Programming and Component Engineering ({GPCE})}, Keywords = {dsl-lit}, Month = sep, Pages = {29--46}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A Generative Programming Approach to Developing {DSL} Compilers}, Url = {http://www.labri.fr/publications/paradis/2005/CLRC05}, Volume = {3676}, Year = {2005}, Bdsk-Url-1 = {http://www.labri.fr/publications/paradis/2005/CLRC05} } @inproceedings{Cons07a, Address = {White Plains, NY, USA}, Author = {Consel, Charles and Jouve, Wilfried and Lancia, Julien and Palix, Nicolas}, Booktitle = {Proceedings of The 4th IEEE Workshop on Middleware Support for Pervasive Computing (PerWare'07)}, Keywords = {pervasive generation middleware diaspec}, Month = mar, Pages = {501--506}, Pdf = {http://phoenix.labri.fr/publications/papers/consel-al_perware-07.pdf}, Title = {Ontology-Directed Generation of Frameworks For Pervasive Service Development}, Url = {http://phoenix.labri.fr/publications/talks/consel-al_perware07_talk.pdf}, Year = {2007}, Bdsk-Url-1 = {http://phoenix.labri.fr/publications/talks/consel-al_perware07_talk.pdf} } @inproceedings{Cons08a, Author = {Costanza, Pascal}, Title = {Context-oriented programming in ContextL: state of the art}, Booktitle = {Celebrating the 50th Anniversary of Lisp}, Series = {LISP50}, Year = {2008}, isbn = {978-1-60558-383-9}, location = {Nashville, Tennessee}, pages = {4:1--4:5}, articleno = {4}, numpages = {5}, url = {http://doi.acm.org/10.1145/1529966.1529970}, doi = {10.1145/1529966.1529970}, acmid = {1529970}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {behavioral variations, context-oriented programming, dynamic scoping, layer activation} } @misc{ContextJ, Key = {ContextJ}, Keywords = {cop-lit}, Note = {http://prog.vub.ac.be/~pcostanza/contextj.html}, Title = {{ContextJ}}, Url = {http://prog.vub.ac.be/~pcostanza/contextj.html}, Bdsk-Url-1 = {http://prog.vub.ac.be/~pcostanza/contextj.html} } @misc{ContextL, Key = {ContextL}, Keywords = {cop-lit}, Note = {http://common-lisp.net/project/closer/contextl.html}, Title = {{ContextL}}, Url = {http://common-lisp.net/project/closer/contextl.html}, Bdsk-Url-1 = {http://common-lisp.net/project/closer/contextl.html} } @misc{ContextS, Key = {ContextS}, Keywords = {cop-lit}, Note = {http://www.swa.hpi.uni-potsdam.de/downloads/index.html}, Title = {{ContextS}}, Url = {http://www.swa.hpi.uni-potsdam.de/downloads/index.html}, Bdsk-Url-1 = {http://www.swa.hpi.uni-potsdam.de/downloads/index.html} } @article{Conw63a, Address = {New York, NY, USA}, Author = {Melvin E. Conway}, Doi = {10.1145/366663.366704}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {7}, Pages = {396--408}, Publisher = {ACM Press}, Title = {Design of a separable transition-diagram compiler}, Volume = {6}, Year = {1963}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/366663.366704} } @article{Conw68a, Author = {Melvin E. Conway}, Journal = {Datamation}, Keywords = {oorp}, Month = apr, Number = {4}, Pages = {28--31}, Title = {How do committees invent?}, Volume = {14}, Year = {1968} } @article{Cook84a, Author = {P.R. Cook}, Journal = {Byte}, Keywords = {olit-appl hypertext multimedia}, Month = jul, Pages = {151--167}, Title = {Electronic Encyclopedias}, Year = {1984} } @inproceedings{Cook87a, Author = {Steve Cook}, Booktitle = {OOPSLA '87 Addendum To The Proceedings}, Month = oct, Pages = {35--40}, Publisher = {ACM Press}, Title = {{OOPSLA} '87 {Panel} {P2}: Varieties of Inheritance}, Year = {1987} } @inproceedings{Cook89a, Author = {William Cook and Jens Palsberg}, Booktitle = {Proceedings OOPSLA '89}, Keywords = {olit-inheritance oopsla89 binder(oop) ioom-types pl-lit}, Month = oct, Pages = {433--443}, Title = {A Denotational Semantics of Inheritance and its Correctness}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {24}, Year = {1989}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @inproceedings{Cook89b, Address = {Nottingham}, Author = {William Cook}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {types olit eiffel binder ecoop89proc ioom-types}, Misc = {July 10-14}, Month = jul, Pages = {57--70}, Publisher = {Cambridge University Press}, Title = {A Proposal for Making Eiffel Type-safe}, 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}, Bdsk-Url-1 = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/tec89.htm%20http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/ec89/ec890057.pdf} } @phdthesis{Cook89c, Author = {William R. Cook}, Keywords = {scglib ecoop89proc}, Month = may, School = {Department of Computer Science, Brown University, Providence, RI}, Title = {A Denotational Semantics of Inheritance}, Type = {{Ph.D}. Thesis}, Year = {1989} } @book{Cook89d, Address = {Nottingham}, Editor = {Stephen Cook}, Misc = {July 10-14}, Month = jul, Publisher = {Cambridge University Press}, Title = {Proceeding of {ECOOP}'89 European Conference on Object-Oriented Programming}, Year = {1989} } @inproceedings{Cook90a, Address = {San Francisco}, Author = {William Cook and Walter Hill and Peter Canning}, Booktitle = {Proceedings POPL '90}, Doi = {10.1145/96709.96721}, Keywords = {olit-inheritance popl90 ioom-types pl-lit-types}, Misc = {Jan 17-19}, Month = jan, Title = {Inheritance is not Subtyping}, Url = {http://www.cs.utexas.edu/~wcook/papers/InheritanceSubtyping90/CookPOPL90.pdf}, Year = {1990}, Bdsk-Url-1 = {http://www.cs.utexas.edu/~wcook/papers/InheritanceSubtyping90/CookPOPL90.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/96709.96721} } @inproceedings{Cook90b, Address = {London, UK}, Author = {William R. Cook}, Booktitle = {Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages}, Isbn = {3-540-53931-X}, Keywords = {expression-problem}, Pages = {151--178}, Publisher = {Springer-Verlag}, Title = {Object-Oriented Programming Versus Abstract Data Types}, Url = {http://www.cs.utexas.edu/~wcook/papers/OOPvsADT/CookOOPvsADT90.pdf}, Year = {1991}, Bdsk-Url-1 = {http://www.cs.utexas.edu/~wcook/papers/OOPvsADT/CookOOPvsADT90.pdf} } @inproceedings{Cook92a, Author = {William R. Cook}, Booktitle = {Proceedings of OOPSLA '92 (7th Conference on Object-Oriented Programming Systems, Languages and Applications)}, Doi = {10.1145/141936.141938}, Keywords = {olit oopsla92 stlit-traits}, Location = {Vancouver, Canada}, Month = oct, Pages = {1--15}, Publisher = {ACM Press}, Title = {Interfaces and {Specifications} for the {Smalltalk}-80 {Collection} {Classes}}, Url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.7900&rep=rep1&type=pdf}, Volume = {27}, Year = {1992}, Bdsk-Url-1 = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.7900&rep=rep1&type=pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/141936.141938} } @inproceedings{Cook93a, Author = {William Cook}, Booktitle = {ACM OOPS Messenger, Addendum to the Proceedings of OOPSLA 1993}, Keywords = {olit odp corba}, Month = apr, Pages = {70--71}, Title = {Application Integration, not Application Distribution}, Volume = {5}, Year = {1994} } @inproceedings{Cook99a, Author = {Stephen Cook and He Ji and Rachel Harrison}, Booktitle = {Proceedings of ICSM 2001}, Organization = {IEEE}, Pages = {592--601}, Publisher = {IEEE Press}, Title = {Dynamic and Static Views of Software Evolution}, Year = {1999} } @inproceedings{Cook01a, Author = {Stephen Cook and Rachel Harrison and Brian Ritchie}, Booktitle = {ECOOP 2001 Workshop Reader}, Keywords = {oorp}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Assessing the Evolution of Financial Management Information Systems}, Volume = {2323}, Year = {2001} } @inproceedings{Cook01b, Author = {Stephen Cook and H. Ji and Rachel Harrison}, Booktitle = {IEEE ICSM 2001}, Keywords = {oorp}, Title = {Dynamic and Static Views of Software Evolution}, Year = {2001} } @article{Cook09a, Address = {New York, NY, USA}, Author = {William R. Cook}, Doi = {10.1145/1639949.1640133}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {10}, Pages = {557--572}, Publisher = {ACM}, Title = {On understanding data abstraction, revisited}, Url = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf}, Volume = {44}, Year = {2009}, Bdsk-Url-1 = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1639949.1640133} } @book{Coop95a, Author = {Alan Cooper}, Keywords = {scglib 2books}, Publisher = {Hungry Minds}, Title = {About Face --- The Essentials of User Interface Design}, Year = {1995} } @book{Coop99a, Author = {Alan Cooper}, Keywords = {scglib}, Publisher = {SAMS}, Title = {The Inmates are running the Asylum}, Year = {1999} } @book{Coop00a, Author = {James W. Cooper}, Keywords = {java scglib book}, Publisher = {Addison Wesley}, Title = {Java Design Patterns}, Year = {2000} } @book{Copl92a, Author = {James O. Coplien}, Isbn = {0-201-54855-0}, Keywords = {olit-oopl oobib(oopl) book scglib sclit oorp}, Publisher = {Addison Wesley}, Title = {Advanced {C}++: Programming Styles and Idioms}, Year = {1992} } @book{Copl95a, Author = {James O. Coplien and Douglas Schmidt}, Isbn = {0-201-60734-4}, Keywords = {oobib(design-patterns) book scglib}, Publisher = {Addison Wesley}, Title = {Pattern Languages of Program Design}, Year = {1995} } @techreport{Copl95b, Author = {James O. Coplien}, Institution = {Software Production Research Department AT\&T Bell Laboratories}, Keywords = {olit binder}, Number = {1995}, Title = {Multi-Paradigm Design and Implementation}, Type = {Report}, Year = {1995} } @booklet{Copl95c, Author = {James O. Coplien}, Howpublished = {CHOOSE Tutorial}, Keywords = {olit binder}, Title = {Advanced {C}++ Programming Styles: Using {C}++ as a Higher-Level Language}, Year = {1995} } @incollection{Copl95d, Author = {James O. Coplien}, Booktitle = {Pattern Languages of Program Design}, Editor = {James O. Coplien and Douglas Schmidt}, Isbn = {0-201-60734-4}, Keywords = {oorp}, Pages = {183--237}, Publisher = {Addison Wesley}, Title = {A Development Process Generative Pattern Language}, Year = {1995} } @incollection{Copl95e, Author = {James O. Coplien}, Booktitle = {Pattern Languages of Program Design 1}, Editor = {James O. Coplien and Douglas C. Schmidt}, Keywords = {oorp}, Pages = {184--237}, Publisher = {Addison Wesley}, Title = {A Generative Development-Process Pattern Language}, Year = {1995} } @book{Copl99a, Address = {Reading, Mass.}, Author = {James O. Coplien}, Publisher = {Addison Wesley}, Title = {Multi-Paradigm Design for {C}++}, Year = {1999} } @incollection{Copp80a, Author = {M. Coppo and M. Dezani-Ciancaglini and B. Venneri and New York}, Booktitle = {To H. B. Curry: Essays on Combinatory Logic Lambda Calculus, and Formalism}, Keywords = {types intersection (bcp)}, Pages = {535--560}, Publisher = {Academic Press}, Title = {Principal type schemes and lambda calculus semantics}, Year = {1980} } @inproceedings{Copp92a, author = {Coppick, J. Chris and Cheatham, Thomas J.}, title = {Software metrics for object-oriented systems}, keywords = {damiencbib cyclomatic complexity}, booktitle = {CSC'92: Proceedings of the 20th Conference on Computer Science}, year = {1992}, isbn = {0-89791-472-4}, pages = {317--322}, address = {Kansas City, Missouri, United States}, doi = {10.1145/131214.131254}, publisher = {ACM} } @article{Corb89a, Author = {Thomas A. Corbi}, Journal = {IBM Systems Journal}, Keywords = {oorp}, Number = {2}, Pages = {294--306}, Publisher = {IBM}, Title = {Program Understanding: Challenge for the 1990's}, Volume = {28}, Year = {1989} } @inproceedings{Corb94a, Author = {P. Corbellini and Della Vigna and F. Mercalli and M. Pugliese}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {359--370}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Approach to the Integration of Online Services into Office Automation Environments}, Volume = {858}, Year = {1994} } @inproceedings{Cord88a, Address = {Miami, FL}, Author = {James R. Cordy and Charles D. Halpern and Eric Promislow}, Booktitle = {Proceedings of The International Conference of Computer Languages}, Keywords = {patterns olit txl binder}, Misc = {Oct. 9-13}, Month = oct, Pages = {280--285}, Title = {{TXL}: {A} Rapid Prototyping System for Programming Language Dialects}, Year = {1988} } @techreport{Cord91a, Address = {Karlsruhe}, Author = {James R. Cordy}, Institution = {GMD}, Keywords = {patterns olit txl binder}, Month = apr, Number = {Rex-2-GMD-42-1.0}, Title = {User's Guide to {TXL} --- The Tree Transformation Language V5.0}, Type = {Project REX Working Paper}, Year = {1991} } @inproceedings{Cord03a, Address = {Portland, Oregon, USA}, Author = {James R. Cordy}, Booktitle = {Proc. 11th Int. Workshop on Program Comprehension (IWPC'03)}, Keywords = {clones}, Month = may, Pages = {196--205}, Publisher = {IEEE}, Title = {Comprehending Reality---Practical Barriers to Industrial Adoption of Software Maintenance Automation}, Year = {2003} } @inproceedings{Cord04a, Address = {Markham, Ontario, Canada}, Author = {James R. Cordy and Thomas R. Dean and Nikita Synytskyy}, Booktitle = {Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research (CASCON 04)}, Pages = {1--12}, Publisher = {IBM Press}, Title = {Practical Language-Independent Detection of Near-Miss Clones}, Year = {2004} } @article{Cordy06a, Author = {James R. Cordy}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1016/j.scico.2006.04.002}, Journal = {Sci. Comput. Program.}, Keywords = {cclit txl}, Number = {3}, Pages = {190-210}, Title = {The {TXL} source transformation language}, Url = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_TXL_SCP.pdf}, Volume = {61}, Year = {2006}, Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_TXL_SCP.pdf} } @inproceedings{Cordy06b, Author = {James R. Cordy}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Booktitle = {PEPM}, Ee = {10.1145/1111542.1111544}, Keywords = {cclit txl}, Pages = {1-11}, Title = {Source transformation, analysis and generation in {TXL}}, Url = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_PEPM06_TXL.pdf}, Year = {2006}, Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/Cordy_PEPM06_TXL.pdf} } @inproceedings{Corm90a, Address = {White Plains, New York}, Author = {G.V. Cormack and A.K. Wright}, Booktitle = {Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation}, Keywords = {types fp inference tfc}, Pages = {127--136}, Title = {Type-Dependent Parameter Inference}, Year = {1990} } @book{Corm90b, Author = {Thomas H. Corman and Charles E. Leiserson and Ronald L. Rivest}, Isbn = {0-262-03141-8}, Keywords = {algorithms scglib}, Publisher = {MIT Press}, Title = {Introduction to Algorithms}, Year = {1990} } @misc{Corn96a, Author = {Steve Cornett}, 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}, Title = {Code Coverage Analysis}, Url = {http://www.bullseye.com/coverage.html}, Year = {1996}, Bdsk-Url-1 = {http://www.bullseye.com/coverage.html} } @misc{Corn99a, Author = {Steve Cornett}, 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}, Title = {What is Wrong with Line Coverage}, Url = {http://www.bullseye.com/lineCoverage.html}, Year = {1999}, Bdsk-Url-1 = {http://www.bullseye.com/lineCoverage.html} } @misc{Corn06a, Author = {Steve Cornett}, 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}, Title = {Minimum Acceptable Code Coverage}, Url = {http://www.bullseye.com/minimum.html}, Year = {2006}, Bdsk-Url-1 = {http://www.bullseye.com/minimum.html} } @inproceedings{Corn07a, Author = {Bas Cornelissen}, Booktitle = {Proceeding of the 14th Working Conference on Reverse Engineering (WCRE)}, Publisher = {IEEE}, Title = {Dynamic Analysis Techniques for the Reconstruction of Architectural Views}, Year = {2007} } @inproceedings{Corn07b, Author = {Bas Cornelissen and Danny Holten and Andy Zaidman and Leon Moonen and Jarke J. van Wijk and Arie van Deursen}, Booktitle = {Proceedings of the 15th International Conference on Program Comprehension (ICPC)}, Doi = {10.1109/ICPC.2009.5090033}, Pages = {49--58}, Publisher = {IEEE Computer Society}, Title = {Understanding Execution Traces Using Massive Sequence and Circular Bundle Views}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2009.5090033} } @article{Corn09a, Address = {Los Alamitos, CA, USA}, Author = {Bas Cornelissen and Andy Zaidman and Arie van Deursen and Leon Moonen and Rainer Koschke}, Doi = {10.1109/TSE.2009.28}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {5}, Pages = {684--702}, Publisher = {IEEE Computer Society}, Title = {A Systematic Survey of Program Comprehension through Dynamic Analysis}, Url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-033.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-033.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2009.28} } @inproceedings{Corn09b, Author = {Bas Cornelissen and Andy Zaidman and Arie van Deursen and Bart van Rompaey}, Booktitle = {Proceedings 17th International Conference on Program Comprehension (ICPC)}, Isbn = {0-7695-2860-0}, Pages = {100--109}, Publisher = {IEEE Computer Society}, Title = {Trace Visualization for Program Comprehension: A Controlled Experiment}, Year = {2009} } @inproceedings{Corn11a, author = {Cornea, Bogdan and Bourgeois, Julien}, title = {Performance Prediction of Distributed Applications Using Block Benchmarking Methods}, booktitle = {PDP'11, 19-th Int. Euromicro Conf. on Parallel, Distributed and Network-Based Processing}, pages = {}, address = {Ayia Napa, Cyprus}, publisher = {IEEE Computer Society Press}, month = feb, year = {2011} } @article{Cort06a, Address = {Piscataway, NJ, USA}, Author = {Pier Francesco Cortese and Giuseppe Di Battista and Antonello Moneta and Maurizio Patrignani and Maurizio Pizzonia}, Doi = {10.1109/TVCG.2006.185}, Issn = {1077-2626}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Number = {5}, Pages = {725--732}, Publisher = {IEEE Educational Activities Department}, Title = {Topographic Visualization of Prefix Propagation in the Internet}, Volume = {12}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2006.185} } @inproceedings{Corw03a, Author = {John Corwin and David F. Bacon and David Grove and Chet Murthy}, Booktitle = {Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications}, Doi = {10.1145/949305.949326}, Isbn = {1-58113-712-5}, Keywords = {module class extension}, Location = {Anaheim, California, USA}, Pages = {241--254}, Publisher = {ACM Press}, Title = {{MJ}: a rational module system for {Java} and its applications}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949305.949326} } @article{Cost84a, Author = {G. Costa and Colin Stirling}, Journal = {Acta Informatica}, Keywords = {pcalc ccs fairness READ}, Number = {5}, Pages = {417--442}, Title = {A Fair Calculus of Communicating Systems}, Volume = {21}, Year = {1984} } @inproceedings{Cost03a, Address = {Darmstadt, Germany}, Author = {Pascal Costanza}, Booktitle = {ECOOP 2003 Workshop on Object-oriented Language Engineering for the Post-Java Era}, Keywords = {cop-lit}, Month = jul, Publisher = {ACM}, Series = {SIGPLAN Notices}, Title = {Dynamically Scoped Functions}, Url = {http://p-cos.net/documents/dynfun.pdf}, Volume = {38/8}, Year = {2003}, Bdsk-Url-1 = {http://p-cos.net/documents/dynfun.pdf} } @inproceedings{Cost05a, Address = {New York, NY, USA}, Author = {Pascal Costanza and Robert Hirschfeld}, Booktitle = {Proceedings of the Dynamic Languages Symposium (DLS) '05, co-organized with OOPSLA'05}, Doi = {10.1145/1146841.1146842}, Isbn = {1-59593-283-6}, Keywords = {contextl cop-lit}, Location = {San Diego, CA, USA}, Month = oct, Pages = {1--10}, Publisher = {ACM}, Title = {Language Constructs for Context-oriented Programming: An Overview of {ContextL}}, Url = {http://p-cos.net/documents/contextl-overview.pdf}, Year = {2005}, Bdsk-Url-1 = {http://p-cos.net/documents/contextl-overview.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1146841.1146842} } @inproceedings{Cost05b, Address = {Stanford, California, USA}, Author = {Pascal Costanza}, Booktitle = {International Lisp Conference 2005}, Keywords = {cop-lit}, Month = jun, Title = {How to Make Lisp More Special}, Url = {http://p-cos.net/documents/special-full.pdf}, Year = {2005}, Bdsk-Url-1 = {http://p-cos.net/documents/special-full.pdf} } @inproceedings{Cost06a, Address = {Oxford, UK}, Author = {Costanza, Pascal and Hirschfeld, Robert and De Meuter, Wolfgang}, Booktitle = {JMLC'06: Proceedings of the Joint Modular Languages Conference}, Doi = {10.1007/11860990_7}, Keywords = {cop-lit damiencbib contextj contextl}, Month = sep, Publisher = {Springer}, Series = {LNCS}, Title = {Efficient Layer Activation for Switching Context-dependent Behavior}, pages = {84--103}, Url = {http://p-cos.net/documents/context-switch.pdf}, Volume = {4228}, Year = {2006}, Bdsk-Url-1 = {http://p-cos.net/documents/context-switch.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11860990_7} } @inproceedings{Cost06c, Author = {Fabio Costa, Lucas Provensi, Frederico Vaz}, Booktitle = {Workshop on Models at Runtime}, Title = {Towards a More Effective Coupling of Reflection and Runtime Metamodels for Middleware}, Year = {2006} } @inproceedings{Cost07a, Address = {New York, NY, USA}, Author = {Pascal Costanza and Robert Hirschfeld}, Booktitle = {SAC '07: Proceedings of the 2007 ACM Symposium on Applied Computing}, Doi = {10.1145/1244002.1244279}, Pages = {1280--1285}, Publisher = {ACM Press}, Title = {Reflective layer activation in {ContextL}}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1244002.1244279} } @book{Cott95a, Author = {Sean Cottter and Mike Potel}, Isbn = {0-201-40970-4}, Keywords = {olit-reuse scglib}, Publisher = {Addison Wesley}, Title = {Inside Taligent Technology}, Year = {1995} } @inproceedings{Cott05, Author = {Thomas Cottenier and Tzilla Elrad}, Booktitle = {Dynamic Aspect Workshop (DAW'05) as part of AOSD'05}, Title = {Contextual Pointcut Expressions for Dynamic Service Customization}, Year = {2005} } @book{Coul94a, Author = {George Coulouris and Jean Dollimore and Tim Kindberg}, Isbn = {0-201-62433-8}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Distributed Systems Concepts and Design}, Year = {1994} } @book{Coul98a, Author = {Bernard Coulange}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {Software Reuse}, Year = {1998} } @inproceedings{Cous85a, Author = {Guy Cousineau and Pierre-Louis Curien and M. Mauny}, Booktitle = {Proceedings Functional Programming languages and Computer Architecture}, Editor = {J-P. Jouannaud}, Keywords = {fpl caml semantics binder}, Pages = {50--64}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Categorical Abstract Machine}, Volume = {201}, Year = {1985} } @inproceedings{Cout87a, Address = {Paris, France}, Author = {Jo\"elle Coutaz}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {121--130}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Construction of User Interfaces and the Object Paradigm}, Volume = {276}, Year = {1987} } @inproceedings{Cout89a, Address = {Nottingham}, Author = {Jo\"elle Coutaz}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit ui binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {383--399}, Publisher = {Cambridge University Press}, Title = {Architecture Models for Interactive Software}, Year = {1989} } @book{Covi97a, Author = {Michael A. Covington and Donald Nute and Andr\'e Vellino}, Isbn = {0-13-138645-X}, Keywords = {prolog scglib}, Publisher = {Prentice-Hall}, Title = {Prolog Programming in Depth}, Year = {1997} } @misc{Cowa00a, Author = {D. Coward}, Note = {http://java.\-sun.com/products/servlet/}, Title = {Java servlet specification version 2.3}, Year = {2000} } @book{Cowl97a, Author = {Michael F. Cowlishaw}, Isbn = {0-13-806332-X}, Keywords = {scripting rexx java}, Publisher = {Prentice-Hall}, Title = {The NetRexx Language}, Year = {1997} } @incollection{Cox66a, Author = {D.R. Cox and P.A.W. Lewis}, Booktitle = {Monographs on Applied Probability and Statistics}, Publisher = {Chapman and Hall}, Title = {The Statistical Analysis of Series of Events}, Year = {1966} } @article{Cox83a, Author = {Brad J. Cox}, Journal = {SIGPLAN Notices}, Keywords = {olit-oopl oopc}, Month = jan, Number = {1}, Pages = {15--22}, Title = {The Object Oriented Pre-Compiler}, Volume = {18}, Year = {1983} } @article{Cox84a, Author = {Brad J. Cox}, Journal = {IEEE Software}, Keywords = {olit-oopl oopc objc}, Month = jan, Number = {1}, Title = {Message/Object Programming: An Evolutionary Change in Programming Technology}, Volume = {1}, Year = {1984} } @inproceedings{Cox85a, Address = {New York, NY, USA}, Author = {P. T. Cox and Tomasz Pietrzykowski}, Booktitle = {SIGSMALL '85: Proceedings of the 1985 ACM SIGSMALL symposium on Small systems}, Doi = {10.1145/317164.317168}, Isbn = {0-89791-154-7}, Keywords = {visprog prograph}, Location = {Danvers, Massachusetts, United States}, Pages = {27--33}, Publisher = {ACM}, Title = {Advanced programming aids in {PROGRAPH}}, Year = {1985}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/317164.317168} } @book{Cox86a, Address = {Reading, Mass.}, Author = {Brad J. Cox}, Keywords = {olit-oopl repository objc oobib(oopl)}, Publisher = {Addison Wesley}, Title = {Object Oriented Programming --- An Evolutionary Approach}, Year = {1986} } @inproceedings{Cox87a, Author = {Brad J. Cox and Kurt J. Schmucker}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {423--429}, Title = {Producer: {A} Tool for Translating {Smalltalk}-80 to Objective-{C}}, Volume = {22}, Year = {1987} } @article{Cox89a, Author = {P.T. Cox and F.R. Giles and Tomasz Pietrzykowski}, Doi = {10.1109/WVL.1989.77057}, Journal = {Visual Languages, 1989., IEEE Workshop on}, Keywords = {high level languages, programming environments, user interfaces4GL, Prograph, dataflow language, graphics, integrated programming languages, mathematical formalisms, natural languages, object-oriented language, pictorial language, programming, programming environments, software development environments, textual conditioning, visprog}, Month = oct, Pages = {150-156}, Title = {Prograph: a step towards liberating programming from textual conditioning}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WVL.1989.77057} } @article{Cox90a, Author = {Brad J. Cox}, Journal = {IEEE Software}, Keywords = {olit repository}, Month = nov, Number = {6}, Pages = {25--33}, Title = {Planning the Software Industrial Revolution}, Volume = {7}, Year = {1990} } @incollection{Cox95a, Author = {P.T. Cox and F.R. Giles and Tomasz Pietrzykowski}, Booktitle = {Visual Object-Oriented Programming}, Editor = {Margaret M. Burnett and Adele Goldberg and Ted G. Lewis}, Keywords = {visprog}, Pages = {45--66}, Publisher = {Manning Publications Co.}, Title = {Prograph}, Year = {1995} } @book{Cox96a, Author = {Brad J. Cox}, Isbn = {0-201-50208-9}, Keywords = {olit scglib}, Publisher = {Addison Wesley}, Title = {Superdistribution}, Year = {1996} } @article{Cox97a, Author = {Brad J. Cox}, Journal = {IEEE Software Magazine}, Keywords = {olit-oopl poise repository}, Month = jan, Title = {Objects as Property}, Url = {http://virtualschool.edu/cox/IEEE97.html}, Year = {1997}, Bdsk-Url-1 = {http://virtualschool.edu/cox/IEEE97.html} } @inproceedings{Cox00a, Author = {Anthony Cox and Charles Clarke}, Booktitle = {Proceedings 7th Asia-Pacific Software Engineering Conference (APSEC)}, Month = dec, Title = {A comparative evaluation of techniques for syntactic level source-code analysis}, Year = {2000} } @inproceedings{Cox01a, Address = {Washington, DC, USA}, Author = {Anthony Cox and Charles Clarke}, Booktitle = {Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)}, Doi = {10.1109/ICSM.2001.972707}, Isbn = {0-7695-1189-9}, Keywords = {parsing}, Pages = {12}, Publisher = {IEEE Computer Society}, Title = {Representing and Accessing Extracted Information}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2001.972707} } @inproceedings{Cox03a, Author = {Anthony Cox and Charles Clarke}, Booktitle = {Proceedings of the 11th International IEEE Workshop on Program Comprehension (IWPC'03)}, Doi = {10.1109/IWPC.2003.10006}, Keywords = {parsing}, Month = may, Pages = {154--163}, Publisher = {IEEE}, Title = {Syntactic Approximation Using Iterative Lexical Analysis}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/IWPC.2003.10006} } @article{Cox08a, Address = {New York, NY, USA}, Author = {Russ Cox and Tom Bergan and Austin T. Clements and Frans Kaashoek and Eddie Kohler}, Doi = {10.1145/1353534.1346312}, Issn = {0163-5964}, Journal = {SIGARCH Comput. Archit. News}, Keywords = {dsllit}, Number = {1}, Pages = {244--254}, Publisher = {ACM}, Title = {{Xoc}, an extension-oriented compiler for systems programming}, Volume = {36}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1353534.1346312} } @book{Coyn95a, Author = {Richard Coyne}, Keywords = {scglib book}, Publisher = {MIT Press}, Title = {Designing Information Technology in the Postmodern Age}, Year = {1995} } @inproceedings{Crac06a, Address = {New York, NY, USA}, Author = {Florin Craciun and Hong Yaw Goh and Corneliu Popeea and Wei-Ngan Chin}, Booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1176617.1176650}, Isbn = {1-59593-491-X}, Location = {Portland, Oregon, USA}, Pages = {639--640}, Publisher = {ACM}, Title = {Core-java: an expression-oriented java}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176650} } @book{Crai00a, Author = {Ian Craig}, Keywords = {scglib oop}, Publisher = {Springer-Verlag}, Title = {The Interpretation of Object-Oriented Programming Languages}, Year = {2000} } @book{Crai05a, Address = {Berlin, Germany}, Author = {Iain D. Craig}, Isbn = {1-85233-969-1}, Pages = {269}, Publisher = {Springer Verlag}, Title = {Virtual machines}, Year = {2005} } @article{Crem02a, Author = {Katja Cremer and Andr{\'e} Marburger and Bernhard Westfechtel}, Doi = {10.1002/smr.254}, Issn = {1040-550X}, Journal = {Journal of Software Maintenance}, Keywords = {design-recovery}, Number = {4}, Pages = {257--292}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Graph-based tools for re-engineering}, Volume = {14}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.254} } @inproceedings{Crew97a, Author = {Roger F. Crew}, Booktitle = {Proceedings of the USENIX Conference on Domain-Specific Languages}, Title = {ASTLOG: A Language for Examining Abstract Syntax Trees}, Year = {1997} } @techreport{Cris99a, 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.}, Author = {Cristina Gheorghiu Cris}, Institution = {University of Bern}, Keywords = {scg-ip jb-none piccola}, Month = jan, Title = {Visualisierung von pi-Programmen}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Cris99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Cris99a.pdf} } @article{Crof85a, Author = {W. Bruce Croft}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl poise}, Month = dec, Number = {4}, Pages = {8--13}, Title = {Planning the Software Industrial Revolution Task Management for an Intelligent Interface}, Volume = {8}, Year = {1985} } @inproceedings{Crof88a, Address = {Palo Alto, CA}, Author = {W. Bruce Croft and L.S. Lefkowitz}, Booktitle = {Proceedings of the Conference on Office Information Systems}, Keywords = {olit tasks polymer}, Pages = {55--62}, Title = {Using a Planner to Support Office Work}, Year = {1988} } @article{Cros95a, Author = {Cross II, James H. and Alex Quilici and Linda Wills and Philip Newcomb and Elliot Chikofsky}, Journal = {SIGSoft Software Engineering Notes}, Month = dec, Number = {5}, Title = {Second Working Conference on Reverse Engineering Summary Report}, Volume = {20}, Year = {1995} } @inproceedings{Cros98a, Author = {Cross II, James H. and T. Dean Hendrix and Larry A. Barowsky and Karl S. Mathias}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {201--210}, Publisher = {IEEE Computer Society}, Title = {Scalable Visualizations to Support Reverse Engineering: A Framework for Evaluation}, Year = {1998} } @article{Cross98b, Author = {Cross II, James H. and Saeed Maghsoodloo and Dean Hendrix}, Journal = {Journal of Empirical Software Engineering}, Number = {2}, Pages = {131--158}, Title = {Control Structure Diagrams: Overview and Evaluation}, Volume = {3}, Year = {1998} } @book{Crow95a, Author = {Jon Crowcroft}, Isbn = {1-85728-229-9}, Keywords = {odp book scglib}, Publisher = {UCL Press}, Title = {Open Distributed Systems}, Year = {1995} } @techreport{Cruz97a, 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.}, Author = {Juan Carlos Cruz and Sander Tichelaar and Oscar Nierstrasz}, Institution = {IAM, University of Bern}, Keywords = {skip-pdf skip-doi odp coordination scg-wp snf97 scg-coord-98}, Title = {A Coordination Component Framework for Open Systems}, Type = {Working Paper}, Year = {1997} } @techreport{Cruz97b, 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.}, Author = {Juan Carlos Cruz}, Institution = {IAM, University of Bern}, Keywords = {odp coordination real-time scg-wp snf97 scg-coord-98}, Title = {Coordination Support for Real-Time Multiagent Systems Development}, Type = {Working Paper}, Year = {1997} } @inproceedings{Cruz98b, 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.}, Address = {Vienna, Austria}, Author = {Juan Carlos Cruz and Sander Tichelaar}, Booktitle = {Ninth International Workshop on Database and Expert Systems Applications}, Doi = {10.1109/DEXA.1998.707460}, Editor = {Roland R. Wagner}, Keywords = {snf-none scg-pub scg-coord-98 jb98 tich-papunr}, Misc = {August 26-28}, Month = aug, Pages = {578--582}, Publisher = {IEEE Computer Press}, Title = {Managing Evolution of Coordination Aspects in Open Systems}, Url = {http://scg.unibe.ch/archive/papers/Cruz98bManagingEvolution.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz98bManagingEvolution.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/DEXA.1998.707460} } @inproceedings{Cruz99a, 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}, Author = {Juan-Carlos Cruz and St\'ephane Ducasse}, Booktitle = {Proceedings of Coordination '99}, Keywords = {stefPub olit scg-pub skip-doi scg-coord-99 snf99 flo colas jb99}, Pages = {355--371}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Group Based Approach for Coordinating Active Objects}, Url = {http://scg.unibe.ch/archive/papers/Cruz99aGroupBasedApproach.pdf}, Volume = {1594}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz99aGroupBasedApproach.pdf} } @inproceedings{Cruz99b, 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}, Author = {Juan-Carlos Cruz and St\'ephane Ducasse}, Booktitle = {Proceedings of International Workshop in Future Trends in Distributed Computing Systems '99}, Doi = {10.1109/FTDCS.1999.818794}, Keywords = {olit scg-pub scg-coord-99 snf99 jb99 stefPub}, Title = {Coordinating Open Distributed Systems}, Url = {http://scg.unibe.ch/archive/papers/Cruz99FTDCS.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz99FTDCS.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/FTDCS.1999.818794} } @inproceedings{Cruz01a, 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.}, Address = {Le Croisic, France}, Author = {Juan-Carlos Cruz}, Booktitle = {Proceedings of LMO 2001}, Keywords = {olit scg-pub skip-doi scg coordination jb01}, Pages = {11--26}, Title = {CORODS: A Coordination Programming System for Open Distributed Systems}, Url = {http://scg.unibe.ch/archive/papers/Cruz01LMO.pdf}, Volume = {7}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz01LMO.pdf} } @inproceedings{Cruz01b, 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.}, Address = {Calgary, Canada}, Author = {Juan-Carlos Cruz}, Booktitle = {Proceedings of OOIS 2001}, Keywords = {olit scg-pub skip-doi scg coordination jb01}, Title = {Supporting Development of Object Information Systems with CoLaSD}, Url = {http://scg.unibe.ch/archive/papers/Cruz01OOIS.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz01OOIS.pdf} } @inproceedings{Cruz02a, 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.}, Address = {York, United Kingdom}, Author = {Juan-Carlos Cruz}, Booktitle = {Proceedings of COORDINATION 2002}, Keywords = {snf03 olit scg-pub skip-doi scg coordination jb02}, Title = {{OpenCoLaS} --- a Coordination Framework for {CoLaS} Dialects}, Url = {http://scg.unibe.ch/archive/papers/Cruz02Coordination.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Cruz02Coordination.pdf} } @phdthesis{Cruz06a, 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.}, Address = {Bern}, Author = {Juan Carlos Cruz}, Keywords = {scg-pub skip-doi scg-phd jb06 fb06}, Month = jun, Pages = {269}, School = {University of Bern}, Title = {A Group Based Approach for Coordinating Active Objects}, Url = {http://scg.unibe.ch/archive/phd/cruz-phd.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/cruz-phd.pdf} } @article{Cuad09a, Doi = {10.1109/TSE.2009.14}, title = {A Model-Based Approach to Families of Embedded Domain Specific Languages}, year = {2009}, volume = {99}, number = {1}, journal = {{IEEE} Transactions on Software Engineering}, author = {Jes\'us S\'anchez Cuadrado and Jes\'us Garc\'ia Molina}, keywords = {damiencbib} } @inproceedings{Cubr03a, Address = {New York NY}, Author = {Davor Cubranic and Gail Murphy}, Booktitle = {Proceedings 25th International Conference on Software Engineering (ICSE 2003)}, Doi = {10.1109/ICSE.2003.1201219}, Isbn = {0-7695-1877-X}, Keywords = {evolution}, Location = {Portland, Oregon}, Pages = {408--418}, Publisher = {ACM Press}, Title = {Hipikat: Recommending Pertinent Software Development Artifacts}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2003.1201219} } @phdthesis{Cubr04a, Address = {Vancouver BC}, Author = {Davor \v{C}ubrani\'{c}}, Keywords = {evolution}, Month = dec, Pages = {149}, School = {University of British Columbia}, Title = {Project History as a Group Memory: Learning From the Past}, Year = {2004} } @inproceedings{Cubr04b, Author = {Davor \v{C}ubrani\'c and Gail C. Murphy}, Booktitle = {Proceedings of the Sixteenth International Conference on Software Engineering \& Knowledge Engineering}, Date = {2005-01-07}, Description = {dblp}, Isbn = {1-891706-14-4}, Keywords = {dblp}, Pages = {92--97}, Title = {Automatic bug triage using text categorization.}, Url = {http://dblp.uni-trier.de/db/conf/seke/seke2004.html#CubraniM04}, Year = {2004}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/seke/seke2004.html#CubraniM04} } @unpublished{Cuet95a, Author = {A. Cueto and Mahesh Dodani}, Keywords = {oobib(gen) binder}, Note = {University of Iowa}, Title = {Browsing the Dynamic Behavior of Interactive Objects with DynaBrowse}, Type = {Draft}, Year = {1995} } @unpublished{Cuet95b, Author = {A. Cueto and Mahesh Dodani}, Keywords = {oobib(gen) binder}, Note = {University of Iowa}, Title = {Spy: An Object-Oriented Interactive Debugger}, Type = {Draft}, Year = {1995} } @inproceedings{Cunn86a, Author = {Ward Cunningham and Kent Beck}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit concepts smalltalk oopsla86}, Month = nov, Pages = {361--367}, Title = {A Diagram for Object-Oriented Programs}, Volume = {21}, Year = {1986} } @techreport{Cunn93a, Annotate = {Also {inProceedings} of the First European Workshop on Case-Based Reasoning, Kaiserslauten, Germany)}, Author = {P\'adraig Cunningham and Alexander N. Mikoyan}, Institution = {Trinity College, Dublin}, Keywords = {plagiarism}, Number = {TCD-CS-93-22}, Title = {Using {CBR} Techniques to Detect Plagiarism in Computing Assignments}, Url = {http:://citeseer.ist.psu.edu/cunningham93using.html}, Year = {1993}, Bdsk-Url-1 = {http:://citeseer.ist.psu.edu/cunningham93using.html} } @misc{Cunn06a, Author = {Ward Cunningham}, Title = {{P}rivate communication}, Year = {2006} } @inproceedings{Curr82a, Address = {Philadelphia}, Author = {Gael Curry and Larry Baer and Daniel Lipkie and Bruce Lee}, Booktitle = {Proceedings ACM SIGOA, Newsletter}, Keywords = {olit-oopl mesa traits oobib(oopl)}, Month = jun, Title = {{TRAITS}: an Approach to Multiple Inheritance Subclassing}, Volume = {3}, Year = {1982} } @article{Curr84a, Author = {G. Curry and R. Ayers}, Journal = {IEEE TOSE}, Keywords = {olit-inheritance appl star mesa traits}, Month = sep, Number = {5}, Title = {Experiences with {TRAITS} in the {XEROX} {STAR} Workstation}, Volume = {10}, Year = {1984} } @inproceedings{Curr86a, Author = {Gael Curry}, Booktitle = {Proceedings of 1986 joint computer conference}, Keywords = {olit-inheritance mesa traits}, Pages = {25--30}, Title = {An approach to type safety in a traits system}, Year = {1986} } @inproceedings{Curt90a, Author = {Pavel Curtis and James Rauen}, Booktitle = {Proceedings of the 1990 ACM conference on LISP and functional programming}, Isbn = {0-89791-368-X}, Location = {Nice, France}, Pages = {13--19}, Publisher = {ACM Press}, Title = {A module system for scheme}, Year = {1990} } @article{Cusa91a, Author = {Elspeth Cusack}, Journal = {Formal Aspects of Computing}, Keywords = {concurrency csp binder}, Pages = {129--141}, Title = {Refinement, Conformance and Inheritance}, Volume = {3}, Year = {1991} } @inproceedings{Cusa91b, Address = {Geneva, Switzerland}, Author = {Elspeth Cusack}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-inheritance ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {167--179}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance in Object-Oriented gz}, Volume = 512, Year = {1991} } @inproceedings{Cuts07a, Author = {Van Cutsem, Tom and Mostinckx, Stijn and Boix, Elisa Gonzalez and Dedecker, Jessie and De Meuter, Wolfgang}, Doi = {10.1109/SCCC.2007.12}, Issn = {1522-4902}, booktitle = {SCCC'07: Proceedings of the 26th International Conference of the Chilean Computer Science Society}, Keywords = {damiencbib}, Month = nov, Pages = {3--12}, address = {Iquique, Chile}, Publisher = {IEEE Computer Society}, Title = {AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SCCC.2007.12} } @inproceedings{Cuts09a, Author = {Van Cutsem, Tom and Alexandre Bergel and St\'ephane Ducasse and De Meuter, Wolfgang}, Booktitle = {Proceedings ECOOP 2009}, Editor = {Sophia Drossopoulou}, Keywords = {traits alexPub stefPub}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Adding State and Visibility Control to Traits using Lexical Nesting}, Url = {http://rmod.lille.inria.fr/Archive/Papers/Cuts09TraitsAmbientTalk.pdf}, Year = {2009}, Bdsk-Url-1 = {http://rmod.lille.inria.fr/Archive/Papers/Cuts09TraitsAmbientTalk.pdf} } @book{Cyph93a, Address = {Cambridge, MA, USA}, Editor = {Allen Cypher and Daniel C. Halbert and David Kurlander and Henry Lieberman and David Maulsby and Brad A. Myers and Alan Turransky}, Isbn = {0-262-03213-9}, Keywords = {visprog}, Publisher = {MIT Press}, Title = {Watch what {I} do: programming by demonstration}, Url = {http://acypher.com/wwid/}, Year = {1993}, Bdsk-Url-1 = {http://acypher.com/wwid/} } @article{Cytr91a, Address = {New York, NY, USA}, Author = {Ron Cytron and Jeanne Ferrante and Barry K. Rosen and Mark N. Wegman and F. Kenneth Zadeck}, Doi = {10.1145/115372.115320}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Keywords = {cclit}, Number = {4}, Pages = {451--490}, Publisher = {ACM}, Title = {Efficiently computing static single assignment form and the control dependence graph}, Volume = {13}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/115372.115320} } @inproceedings{Czar99a, 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.}, Address = {Lisbon, Portugal}, Author = {Krzysztof Czarnecki and Ulrich Eisenecker}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {18--42}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Synthesizing Objects}, Volume = 1628, Year = {1999} } @book{Czar00a, Address = {New York, NY, USA}, Author = {Krzysztof Czarnecki and Ulrich W. Eisenecker}, Isbn = {0-201-30977-7}, Publisher = {ACM Press/Addison-Wesley Publishing Co.}, Title = {Generative programming: methods, tools, and applications}, Year = {2000} } @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}, Booktitle = {Proceedings WCRE '00}, Month = nov, Publisher = {IEEE Computer Society Press}, Title = {Data Exchange in {Bauhaus}}, Year = {2000} } @inproceedings{DAmb05a, Annote = {internationalworkshop}, Author = {Marco D'Ambros and Michele Lanza and Harald Gall}, Booktitle = {Proceedings of Vissoft 2005 (3th IEEE International Workshop on Visualizing Software for Understanding)}, Pages = {46--51}, Title = {Fractal Figures: Visualizing Development Effort for CVS Entities}, Year = {2005} } @inproceedings{DAmb06a, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of CSMR 2006 (10th IEEE European Conference on Software Maintenance and Reengineering)}, Mon = mar, Pages = {227 - 236}, Publisher = {IEEE Computer Society Press}, Title = {Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship}, Year = {2006} } @inproceedings{DAmb06b, Author = {Marco D'Ambros and Michele Lanza and Mircea Lungu}, Booktitle = {Proceedings of MSR 2006 (3rd International Workshop on Mining Software Repositories)}, Mon = may, Pages = {26 - 32}, Title = {The Evolution Radar: Integrating Fine-grained and Coarse-grained Logical Coupling Information}, Year = {2006} } @inproceedings{DAmb06c, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of MSR 2006 (3rd International Workshop on Mining Software Repositories)}, Mon = may, Pages = {177 - 178}, Title = {Applying the Evolution Radar to PostgreSQL}, Year = {2006} } @inproceedings{DAmb06d, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of WCRE 2006 (13th Working Conference on Reverse Engineering)}, Mon = oct, Pages = {189 - 198}, Title = {Reverse Engineering with Logical Coupling}, Year = {2006} } @inproceedings{DAmb07a, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of CSMR 2007 (11th IEEE European Conference on Software Maintenance and Reengineering)}, Mon = mar, Pages = {to be published}, Title = {{BugCrawler}: Visualizing Evolving Software Systems}, Year = {2007} } @inproceedings{DAmb07b, Author = {Marco D'Ambros and Michele Lanza and Martin Pinzger}, Booktitle = {Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis)}, Mon = jun, Pages = {to be published}, Title = {``A Bug's Life'' - Visualizing a Bug Database}, Year = {2007} } @incollection{DAmb08a, Author = {Marco D'Ambros and Harald Gall and Michele Lanza and Martin Pinzger}, Booktitle = {Software Evolution}, Isbn = {978-3-540-76439-7}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {37-67}, Publisher = {Springer}, Title = {Analyzing Software Repositories to Understand Software Evolution}, Year = {2008}} @inproceedings{DAmb08b, Annote = {internationalconference}, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of CSMR 2008 (12th IEEE European Conference on Software Maintenance and Reengineering)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {3-12}, Publisher = {IEEE CS Press}, Title = {A Flexible Framework to Support Collaborative Software Evolution Analysis}, Year = {2008}} @inproceedings{DAmb08c, Annote = {internationalworkshop}, Author = {Marco D'Ambros and Michele Lanza}, Booktitle = {Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques)}, Keywords = {moose-pub pub-iene proj-dicosa}, Title = {Churrasco: Supporting Collaborative Software Evolution Analysis}, Year = {2008}} @article{DAmb09a, Annote = {internationaljournal}, Author = {Marco D'Ambros and Michele Lanza and Mircea Lungu}, Journal = {Transactions on Software Engineering (TSE)}, Number = {5}, Pages = {720 - 735}, Publisher = {IEEE Computer Society}, Keywords = {moose-pub pub-iene proj-dicosa}, Title = {Visualizing Co-Change Information with the Evolution Radar}, Volume = {35}, Year = {2009}} @article{DAmb09b, Annote = {internationaljournal}, Author = {Marco D'Ambros and Michele Lanza}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)}, Month = may, Number = {3}, Pages = {217-232}, Keywords = {moose-pub pub-iene proj-dicosa}, Publisher = {Wiley}, Title = {Visual Software Evolution Reconstruction}, Volume = {21}, Year = {2009}} @inproceedings{DAmb09d, Annote = {internationalconference}, Author = {Marco D'Ambros and Mircea Lungu and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of WSE 2009 (11th IEEE International Symposium on Web Systems Evolution)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {109-118}, Publisher = {IEEE CS Press}, Title = {Promises and Perils of Porting Software Visualization Tools to the Web}, Year = {2009}} @inproceedings{DAmb09e, Annote = {internationalconference}, Author = {Marco D'Ambros and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of WCRE 2009 (16th IEEE Working Conference on Reverse Engineering)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {135-144}, Publisher = {IEEE CS Press}, Title = {On the Relationship Between Change Coupling and Software Defects}, Year = {2009}} @article{DAmb10a, Annote = {internationaljournal}, Author = {Marco D'Ambros and Michele Lanza}, Journal = {Journal of Science of Computer Programming (SCP)}, Month = apr, Number = {4}, Pages = {276-287}, Keywords = {moose-pub pub-iene proj-dicosa}, Publisher = {Elsevier}, Title = {Distributed and Collaborative Software Evolution Analysis with Churrasco}, Volume = {75}, Year = {2010}} @inproceedings{DAmb10b, Annote = {internationalworkshop}, Author = {Marco D'Ambros and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of Web2SE 2010 (1st International Workshop on Web 2.0 for Software Engineering)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {14-19}, Publisher = {IEEE CS Press}, Title = {Commit 2.0}, Year = {2010}} @inproceedings{DAmb10c, Annote = {internationalconference}, Author = {Marco D'Ambros and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of MSR 2010 (7th IEEE Working Conference on Mining Software Repositories)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {31-40}, Publisher = {IEEE CS Press}, Title = {An Extensive Comparison of Bug Prediction Approaches}, Year = {2010}} @inproceedings{DAmb10d, Annote = {internationalconference}, Author = {Marco D'Ambros and Alberto Bacchelli and Michele Lanza}, Booktitle = {Proceedings of QSIC 2010 (10th International Conference on Quality Software)}, Keywords = {moose-pub pub-iene proj-dicosa}, Pages = {23-31}, Publisher = {IEEE CS Press}, Title = {On the Impact of Design Flaws on Software Defects}, Year = {2010}} @phdthesis{DAmb10e, Author = {Marco D'Ambros}, Keywords = {moose-pub pub-iene proj-dicosa}, Month = oct, School = {University of Lugano, Switzerland}, Title = {On the Evolution of Source Code and Defects}, Year = {2010}} @techreport{DCE97a, Author = {{Open} {Group}}, Institution = {{Open} {Group}}, Key = {DCE}, Keywords = {uuid}, Month = aug, Number = {C706}, Title = {{DCE} 1.1: Remote Procedure Call}, Url = {http://www.opengroup.org/onlinepubs/009629399/}, Year = {1997}, Bdsk-Url-1 = {http://www.opengroup.org/onlinepubs/009629399/} } @inproceedings{DHon99a, Annote = {internationalconference}, Author = {D'Hondt, Maja and De Meuter, Wolfgang and Wuyts, Roel}, Booktitle = {Proceedings of GCSE '99}, Keywords = {SOUL}, Title = {Using Reflective Programming to Describe Domain Knowledge as an Aspect}, Url = {http://scg.unibe.ch/archive/papers/DHon99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/DHon99a.pdf} } @inproceedings{DHon00a, Annote = {internationalconference}, Author = {D'Hondt, Theo and De Volder, Kris and Mens, Kim and Wuyts, Roel}, Booktitle = {SACT'00: Proceedings of the 1st International Symposium on Software Architectures and Component Technology}, Keywords = {SOUL damiencbib}, Title = {Co-evolution of Object-Oriented Software Design and Implementation}, address = {Enschede, The Netherlands}, Url = {http://scg.unibe.ch/archive/papers/DHon00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/DHon00a.pdf}, pages = {207--224} } @inproceedings{DHon02a, Author = {Th\'eo D'Hondt and Wolfgang}, Booktitle = {Actes de LMO'2002: Langages et Mod\`eles \`a Objets}, Title = {Of first-class methods and dynamic scope}, Year = {2002} } @incollection{DHon08a, author = {D'Hondt, Theo}, title = {Are Bytecodes an Atavism?}, booktitle = {Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15-16, 2008 Revised Selected Papers}, year = {2008}, isbn = {978-3-540-89274-8}, pages = {140--155}, doi = {10.1007/978-3-540-89275-5_8}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @manual{DOM98, 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}, Title = {Document Object Model Specification {DOM} 1.0}, Year = {1998} } @manual{DOM00, Organization = {World Wide Web Consortium}, Title = {Document Object Model {DOM} Level 2 Events Specification}, Url = {http://www.w3.org/TR/DOM-Level-2-Events}, Year = {1998}, Bdsk-Url-1 = {http://www.w3.org/TR/DOM-Level-2-Events} } @misc{DPWS, Key = {DPWS}, Note = {http://schemas.xmlsoap.org/ws/2006/02/devprof/}, Title = {Devices Profile for Web Services}, Url = {http://schemas.xmlsoap.org/ws/2006/02/devprof/}, Bdsk-Url-1 = {http://schemas.xmlsoap.org/ws/2006/02/devprof/} } @misc{DabbleDB, Key = {DabbleDB}, Note = {http://dabbledb.com/}, Title = {Dabble DB}, Url = {http://dabbledb.com/}, Bdsk-Url-1 = {http://dabbledb.com/} } @inproceedings{Daga93a, Address = {Columbus, OH}, Author = {Ido Dagan and Kenneth W. Church and William A. Gale}, Booktitle = {Proceedings of the Workshop on Very Large Corpora: Academic and Industrial Perspectives}, Keywords = {text alignment}, Pages = {1--8}, Title = {Robust Bilingual Word Alignment for Machine Aided Translation}, Url = {http://citeseer.ist.psu.edu/ido93robust.html}, Year = {1993}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/ido93robust.html} } @inproceedings{Dage98a, Author = {Michel Dagenais and Ettore Merlo and Bruno Lagu{\"e} and Daniel Proulx}, Booktitle = {Proceedings of CASCON 1998}, Location = {Toronto, Ontario, Canada}, Pages = {192--200}, Title = {Clones Occurrence in Large Object Oriented Software Packages}, Year = {1998} } @inproceedings{Dage08a, Address = {New York, NY, USA}, Author = {Dagenais, Barth\'{e}l\'{e}my and Robillard, Martin P.}, Booktitle = {ICSE '08: Proceedings of the 30th international conference on Software engineering}, Doi = {10.1145/1368088.1368154}, Isbn = {978-1-60558-079-1}, Location = {Leipzig, Germany}, Pages = {481--490}, Publisher = {ACM}, Title = {Recommending adaptive changes for framework evolution}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368154} } @techreport{Dahl70a, Address = {Oslo, N}, Author = {O.-J. Dahl and B. Myrhaug and K. Nygaard}, Institution = {Norsk Regnesentral (Norwegian Computing Center)}, Month = oct, Number = {N. S-22}, Title = {{(Simula67) Common Base Language}}, Year = {1970} } @book{Dahl72a, Author = {Ole-Johan Dahl and Edsgar W. Dijkstra and C.A.R. Hoare}, Publisher = {Academic Press}, Title = {Structured Programming}, Year = {1972} } @inproceedings{Dahl07a, Address = {Cairns, Australia}, Author = {Dominik Dahlem and Lotte Nickel and Jan Sacha and Bartosz Biskupski and Jim Dowling and Ren\'e Meier}, Booktitle = {In Proceedings of the IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2007)}, Publisher = {IEEE Computer Society}, Title = {Towards Improving the Availability of Service Compositions}, Year = {2007} } @inproceedings{Dahm99, Address = {D{\"u}sseldorf, Deutschland}, Author = {M. Dahm}, Booktitle = {Proceedings of Java-Informations-Tage (JIT'99)}, Isbn = {3-540-66464-5}, Month = {sep}, Pages = {267--277}, Title = {Byte Code Engineering}, Year = {1999} } @inproceedings{Dall06a, Address = {New York, NY, USA}, Author = {Valentin Dallmeier and Christian Lindig and Andrzej Wasylkowski and Andreas Zeller}, Booktitle = {Proceedings of the 2006 international workshop on Dynamic systems analysis (WODA'06)}, Doi = {10.1145/1138912.1138918}, Isbn = {1-59593-400-6}, Location = {Shanghai, China}, Pages = {17--24}, Publisher = {ACM}, Title = {Mining object behavior with ADABU}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1138912.1138918} } @inproceedings{Dalz98a, Author = {Silvano Dal Zilio}, Booktitle = {Proc. of SOAP '98 --- International Workshop on Semantics of Objects as Processes}, Keywords = {pcalc mobility blue calculus pisem}, Pages = {35--42}, Publisher = {BRICS Notes Series 5}, Title = {Quiet and Bouncing Objects: Two Migration Abstractions in a Simple Distributed Blue Calculus}, Url = {http://research.microsoft.com/~sdal/bouncingobj.htm}, Year = {1998}, Bdsk-Url-1 = {http://research.microsoft.com/~sdal/bouncingobj.htm} } @inproceedings{Dalz99a, Author = {Silvano Dal Zilio}, Booktitle = {Proc. of JFLA '99}, Keywords = {pcalc mobility blue calculus pisem}, Month = feb, Pages = {189--206}, Title = {Concurrent Objects in the Blue Calculus}, Url = {http://research.microsoft.com/~sdal/blueobj.htm}, Year = {1999}, Bdsk-Url-1 = {http://research.microsoft.com/~sdal/blueobj.htm} } @phdthesis{Dalz99b, Author = {Silvano Dal-Zilio}, Month = jul, Note = {In french}, School = {Universit{\'e} de Nice --- Sophia Antipolis}, Title = {Le calcul bleu: types et objects}, Type = {{Ph.D}. Thesis}, Year = {1999} } @inproceedings{Dalz00a, Author = {Silvano Dal Zilio}, Booktitle = {Proc. of IFIP TCS 2000}, Keywords = {pcalc mobility blue calculus pisem}, Month = aug, Pages = {409--424}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Interpretation of Typed Concurrent Objects in the Blue Calculus}, Url = {http://research.microsoft.com/~sdal/interptypcoo.htm}, Volume = {1872}, Year = {2000}, Bdsk-Url-1 = {http://research.microsoft.com/~sdal/interptypcoo.htm} } @techreport{Dam88a, Address = {Edinburgh}, Author = {Mads Dam}, Institution = {Computer Society Press}, Keywords = {pcalc ccs binder (shelf)}, Month = jul, Pages = {178--185}, Title = {Relevance Logic and Concurrent Composition}, Type = {Proc. 3rd Annual Symposium on Logic in Computer Science}, Year = {1988} } @phdthesis{Dam90a, Author = {Mads Dam}, Keywords = {pcalc ccs binder (shelf)}, Month = sep, Number = {report CST-66-90}, School = {Computer Science Dept., University of Edinburgh}, Title = {Relevance Logic and Concurrent Composition}, Type = {{Ph.D}. Thesis}, Year = {1990} } @article{Damb11a, title = {On Porting Software Visualization Tools to the Web}, author = {Marco D'Ambros and Michele Lanza and Mircea Lungu and Romain Robbes}, journal = {In Journal on Software Tools for Technology Transfer}, annote = {internationaljournal}, pages = {181 -- 200}, keywords = {moose-pub}, doi = {10.1007/s10009-010-0171-9}, x-editorial-board = {yes}, x-proceedings = {yes}, volume = {13}, x-international-audience = {yes}, year = {2011}, abstract = { Software systems are hard to understand due to the complexity and the sheer size of the data to be analyzed. Software visualization tools are a great help as they can sum up large quantities of data in dense, meaningful pictures. Traditionally, such tools come in the form of desktop applications. Modern web frameworks are about to change this status quo, as building software visualization tools as web applications can help in making them available to a larger audience in a collaborative setting. Such a migration comes with a number of promises, perils, and technical implications that must be considered before starting any migration process. In this paper, we share our experiences in porting two such tools to the web and provide guidelines about the porting. In particular, we discuss promises and perils that go hand in hand with such an endeavor and present a number of technological alternatives that are available to implement web- based visualizations.}, url = {http://scg.unibe.ch/archive/papers/Damb11a.pdf} } @techreport{Dami88a, 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.}, Author = {Laurent Dami and Eugene Fiume and Oscar Nierstrasz and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit skip-doi scripts osg aoe88}, Month = jun, Pages = {144--161}, Title = {Temporal Scripts for Objects}, Type = {Active Object Environments}, Url = {http://scg.unibe.ch/archive/osg/Dami88aTemporalScripts.pdf}, Year = {1988}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Dami88aTemporalScripts.pdf} } @techreport{Dami88b, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit scripts osg aoe88}, Month = jun, Pages = {162--171}, Title = {Musical Scripts}, Type = {Active Object Environments}, Year = {1988} } @techreport{Dami89a, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg ood89}, Month = jul, Pages = {143--160}, Title = {Reusability through Horizontal Composition}, Type = {Object Oriented Development}, Year = {1989} } @techreport{Dami90a, 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.}, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg-ftp om90}, Month = jul, Pages = {357--366}, Title = {Scripting Musical Components in Application Interfaces}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/musicalScripting.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/musicalScripting.pdf} } @techreport{Dami91a, 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.}, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg oc91}, Month = jun, Note = {Working paper}, Pages = {85--98}, Title = {More Functional Reusability in {C}/{C}++/Objective-{C} with Curried Functions}, Type = {Object Composition}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/curry.pdf}, Year = {1991}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/curry.pdf} } @techreport{Dami92a, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg of92}, Month = jul, Pages = {41--77}, Title = {{HOP}: Hierarchical Objects with Ports}, Type = {Object Frameworks}, Year = {1992} } @techreport{Dami93a, 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.}, Author = {Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit hop osg vo93}, Month = jul, Pages = {151--212}, Title = {The {HOP} Calculus}, Type = {Visual Objects}, Year = {1993} } @phdthesis{Dami94a, Author = {Laurent Dami}, Keywords = {olit hop osg book scglib contract-types}, Number = {No. 396}, School = {University of Geneva}, Title = {Software Composition: Towards an Integration of Functional and Object-Oriented Approaches}, Type = {{Ph.D}. Thesis}, Year = {1994} } @inproceedings{Dami94b, Author = {M. Damiani}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {298--312}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Intelligent Information System for Heterogeneous Data Exploration}, Volume = {858}, Year = {1994} } @unpublished{Dami94c, Author = {Laurent Dami}, Keywords = {oilt subtyping binder}, Note = {Centre Universitaire d'Informatique de Gen\`eve}, Title = {Named Parameters: {A} Foundation for Subtyping}, Type = {Draft}, Year = {1994} } @incollection{Dami95a, 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.}, Author = {Laurent Dami}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC06 contract-types}, Pages = {153--174}, Publisher = {Prentice-Hall}, Title = {Functions, Records and Compatibility in the Lambda {N} Calculus}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @misc{Dami95b, Author = {Laurent Dami}, Keywords = {olit binder}, Note = {submitted to TLCA 95}, Title = {Pure Lambda Calculus with Records: From Compatibility To Subtyping}, Year = {1995} } @article{Dami98a, Author = {Laurent Dami}, Journal = {Theoretical Computer Science}, Keywords = {types olit oobib(types) contract-types}, Month = feb, Number = {2}, Pages = {201--231}, Title = {A lambda-calculus for dynamic binding}, Url = {ftp://cui.unige.ch/pub/dami/dynBind.ps.Z}, Volume = {192}, Year = {1998}, Bdsk-Url-1 = {ftp://cui.unige.ch/pub/dami/dynBind.ps.Z} } @article{Danf88a, Author = {S. Danforth and Chris Tomlinson}, Journal = {ACM Computing Surveys}, Keywords = {types olit oobib(types)}, Month = mar, Number = {1}, Pages = {29--72}, Title = {Type Theories and Object-Oriented Programming}, Volume = {20}, Year = {1988} } @inproceedings{Danf94b, Author = {Scott Danforth and Ira R. Forman}, Booktitle = {Proceedings of TOOLS EUROPE '94}, Pages = {63--73}, Title = {Derived Metaclass in {SOM}}, Year = {1994} } @inproceedings{Dant06a, Address = {New York, NY, USA}, Author = {Daniel S. Dantas and David Walker}, Booktitle = {POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Doi = {10.1145/1111037.1111071}, Isbn = {1-59593-027-2}, Location = {Charleston, South Carolina, USA}, Pages = {383--396}, Publisher = {ACM Press}, Title = {Harmless advice}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1111037.1111071} } @techreport{Danz00a, Author = {Marc Danzeisen}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = jun, Title = {{ASTRA} --- Portfolio}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Danz00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Danz00a.pdf} } @inproceedings{Dao02a, Author = {Michel Dao and Marianne Huchard and Th{\'e}r{\`e}se Libourel and Cyril Roume and Herv{\'e} Leblanc}, Booktitle = {Proceedings of {METRICS} '02 (8$_{th}$ IEEE International Symposium on Software Metrics}, Pages = {227--236}, Publisher = {IEEE Computer Society}, Title = {A {New} {Approach} to {Factorization}: {Introducing} {Metrics}}, Year = {2002} } @inproceedings{Dao04a, Author = {Michel Dao and Marianne Huchard and Mohamed Rouane Hacene and Cyril Roume andPetko Valtchev}, Booktitle = {Proceedings of {ICCS} '94 (12th International Conference on Conceptual Structures)}, Month = jul, Pages = {346--360}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Improving {Generalization} {Level} in {UML} {Models} {Iterative} {Cross} {Generalization} in {Practice}}, Volume = {3127}, Year = {2004} } @inproceedings{Dao06a, Author = {Michel Dao and Marianne Huchard and Mohamed Rouane-Hacene and Cyril Roume and Petko Valtchev}, Booktitle = {{ICEIS}'06: {I}nternational {C}onference on {E}nterprise {I}nformation {S}ystems}, Isbn = {972-8865-43-0}, Pages = {276-283}, Title = {{T}owards {P}ractical {T}ools for {M}ining {A}bstractions in {UML} {M}odels}, Year = {2006} } @inproceedings{Daqi09a, Abstract = {Programmers copy and paste code ...}, Author = {Hou, Daqing and Jablonski, Patricia and Jacob, Ferosh}, Booktitle = {2009 IEEE 17th International Conference on Program Comprehension}, Citeulike-Article-Id= {6707981}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/ICPC.2009.5090049}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5090049}, Doi = {10.1109/ICPC.2009.5090049}, Isbn = {978-1-4244-3998-0}, Keywords = {copy\_, paste\_code, snf}, Location = {Vancouver, BC, Canada}, Month = may, Pages = {238--242}, Posted-At = {2010-02-21 18:14:28}, Priority = {0}, Publisher = {IEEE}, Title = {CnP: Towards an environment for the proactive management of copy-and-paste programming}, Url = {http://dx.doi.org/10.1109/ICPC.2009.5090049}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2009.5090049} } @inproceedings{Dard04a, Annote = {internationalworkshop}, Author = {Betiana Darderes and M{\'a}ximo Prieto}, Booktitle = {OOPSLA Workshop on Revival of Dynamic Languages}, Month = oct, Title = {Subjective Behavior: a General Dynamic Method Dispatch}, Url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.7749&rep=rep1&type=pdf}, Year = {2004} } @inproceedings{Daro87a, Author = {Ph. Darondeau and B. Gamatie}, Booktitle = {Proceedings TAPSOFT '87}, Editor = {Ehrig and Kowalski and Levi and Montanari}, Keywords = {pcalc equivalence tapsoft87 tccs binder(ccs)}, Pages = {153--168}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Fully Observational Model for Infinite Behaviours of Communicating Systems}, Volume = {249}, Year = {1987} } @inproceedings{Dasg86a, Author = {Partha Dasgupta}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl clouds distribution os oopsla86 oobib(sys)}, Month = nov, Pages = {57--66}, Title = {A Probe-Based Monitoring Scheme for an Object-Oriented Distributed Operating System}, Volume = {21}, Year = {1986} } @article{Dasg91a, Author = {Partha Dasgupta and LeBlanc, Jr., R.J. and M. Ahamad and U. Ramachandran}, Journal = {IEEE Computer}, Keywords = {olit-oopl clouds distribution}, Month = nov, Number = {11}, Pages = {34--44}, Title = {The Cloads Distributed Operating System}, Volume = {24}, Year = {1991} } @inproceedings{Dash99a, Doi = {10.1145/302405.302407}, author = {Dashofy, Eric M. and Medvidovic, Nenad and Taylor, Richard N.}, title = {Using off-the-shelf middleware to implement connectors in distributed software architectures}, booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software engineering}, year = {1999}, pages = {3--12}, address = {Los Angeles, CA, USA}, keywords = {c2 damiencbib architectures}, publisher = {ACM} } @book{Date92a, Author = {C. J. Date and D. McGoveran}, Isbn = {0-201-55710-X}, Keywords = {book scglib}, Publisher = {Addison Wesley}, Title = {A Guide to Sybase and {SQL} Server}, Year = {1992} } @techreport{Datr00a, Author = {{Bell} {Canada}}, Institution = {{Bell} {Canada}}, Key = {Dat}, Month = may, Title = {{DATRIX} Abstract Semantic Graph Reference Manual (version 1.4)}, Year = {2000} } @article{Dave95a, Author = {N. Davey and P. Barson and S.D.H. Field and R.J. Frank and D.S.W. Tansley}, Journal = {International Journal of Applied Software Technology}, Number = {3/4}, Pages = {219--236}, Title = {The Development of a Software Clone Detector}, Url = {http://homepages.feis.herts.ac.uk/~nngroup/pubs/pubs-19956.html}, Volume = {1}, Year = {1995}, Bdsk-Url-1 = {http://homepages.feis.herts.ac.uk/~nngroup/pubs/pubs-19956.html} } @inproceedings{Dave01a, Address = {Vienna, Austria}, Author = {John Davey and Elizabeth Burd}, Booktitle = {Proceedings of the 4th international Workshop on Principles of Software Evolution (IWPSE 2001)}, Keywords = {evolution clustering}, Pages = {146--149}, Title = {Clustering and concept analysis for software evolution}, Year = {2001} } @book{Dave02a, Author = {B.A. Davey and H. A. Priestley}, Publisher = {Cambridge University Press}, Title = {Introduction to Lattices and Order: Second Edition}, Year = {2002} } @book{Dave03a, Author = {B.A. Davey and H.A. Priestley}, Isbn = {0--521-78451-4}, Keywords = {scglib}, Publisher = {Cambridge University Press}, Title = {Introduction to Lattices and Order}, Year = {2003} } @article{Davi93a, Author = {John Davis and Tom Morgan}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {67--74}, Title = {Object-Oriented Development at Brooklyn Union Gas}, Volume = {10}, Year = {1993} } @inproceedings{Davi93b, Author = {G. David and F. Drewes and H.-J. Kreowski}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {167--181}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Hyperedge Replacement with Rendezvous}, Volume = {668}, Year = {1993} } @book{Davi95a, Author = {Alan Mark Davis}, Isbn = {0-07-015840-1}, Keywords = {scglib oorp}, Publisher = {McGraw-Hill}, Title = {201 Principles of Software Development}, Year = {1995} } @book{Davi05a, Author = {Martha Davis}, Isbn = {0120884240}, Keywords = {scglib book}, Publisher = {Elsevier Academic Press}, Title = {Scientific Papers and Presentations}, Year = {2005} } @inproceedings{Daya88a, Author = {Umeshwar Dayal and Alejandro Buchmann and Dennis McCarthy}, Booktitle = {Proceedings of the 2nd workshop on Object-Oriented Database Systems: Advances in Object-Oriented Database Systems}, Pages = {129--143}, Series = {LNCS}, Title = {Rules Are Objects Too: A knowledge Model For An Active, Object-Oriented Database System}, Volume = {334}, Year = {1988} } @inbook{Daya96a, Author = {Umeshwar Dayal and Alejandro Buchmann and Sharma Chakravarthy}, Chapter = {7}, Pages = {177--206}, Publisher = {Morgan Kaufman Publishers}, Title = {The HiPAC project}, Year = {1996} } @inproceedings{Daya98a, Author = {H. Dayani-Fard and I. Jurisca}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {174--182}, Publisher = {IEEE Computer Society}, Title = {Reverse Engineering by Mining Dynamic Repositories}, Year = {1998} } @inproceedings{DeAl08a, Address = {New York, NY, USA}, Author = {Brian de Alwis and Gail C. Murphy}, Booktitle = {Proceedings of the 30th International Conference on Software Engineering (ICSE)}, Doi = {10.1145/1368088.1368092}, Isbn = {978-1-60558-079-1}, Location = {Leipzig, Germany}, Pages = {21--30}, Publisher = {ACM}, Title = {Answering conceptual queries with Ferret}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368092} } @inproceedings{DeBa96a, Author = {Jean-Marc DeBaud}, Booktitle = {Proceedings of WCRE 1996}, Publisher = {IEEE Computer Society}, Title = {Lessons from a Domain-Based Reengineering Effort}, Year = {1998} } @book{DeBon90a, Author = {Edward de Bono}, Isbn = {0140258396}, Keywords = {scglib complexity}, Publisher = {Penguin Books Ltd}, Title = {Simplicity}, Year = {1990} } @inproceedings{DeLa98a, Author = {David E. DeLano and Linda Rising}, Booktitle = {Pattern Languages of Program Design 3}, Editor = {Robert Martin and Dirk Riehle and Frank Buschmann}, Keywords = {olit patterns oorp}, Pages = {503--527}, Publisher = {Addison-Welsey}, Title = {Patterns for System Testing}, Year = {1998} } @book{DeMa86a, Author = {Tom deMarco}, Isbn = {0131717111}, Keywords = {metrics}, Publisher = {Springer-Verlag}, Title = {Controlling Software Projects: Management, Measurement, and Estimates}, Year = {1986} } @book{DeMa99a, Author = {Tom DeMarco and Timothy Lister}, Edition = {2nd}, Keywords = {oorp 2copies hci scglib}, Publisher = {Dorset House}, Title = {Peopleware, Productive Projects and Teams}, Year = {1999} } @book{DeMa02, Author = {Tom DeMarco}, Isbn = {0-7679-0769-8}, Keywords = {oorp scglib}, Publisher = {Broadway Books}, Title = {Slack, Getting Past Burnout, BusyWork, and the Myth of Total Efficiency}, Year = {2002} } @inproceedings{DeMi87a, Address = {Paris, France}, Author = {Linda G. DeMichiel and Richard P. Gabriel}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-oopl clos ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {151--170}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The {Common} {Lisp} Object System: An Overview}, Volume = {276}, Year = {1987} } @article{DePa01a, Address = {New York, NY, USA}, Author = {Paul De Palma}, Doi = {10.1145/376134.376145}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {6}, Pages = {27--30}, Publisher = {ACM Press}, Title = {Viewpoint: Why women avoid computer science}, Volume = {44}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/376134.376145} } @article{DeRe76a, Author = {Frank DeRemer and Hans H. Kron}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit(reuse) binder}, Month = jun, Number = {2}, Pages = {80--86}, Title = {Programming in the Large Versus Programming in the Small}, Volume = {2}, Year = {1976} } @inproceedings{DeVo99a, Address = {London, UK}, Author = {Kris De Volder and Theo D'Hondt}, Booktitle = {Reflection '99: Proceedings of the Second International Conference on Meta-Level Architectures and Reflection}, Isbn = {3-540-66280-4}, Pages = {250--272}, Publisher = {Springer-Verlag}, Title = {Aspect-Orientated Logic Meta Programming}, Year = {1999} } @inproceedings{DeVo00a, Annote = {internationalworkshop}, Author = {De Volder, Kris and Fabry, Johan and Wuyts, Roel}, Booktitle = {Proceedings of the ECOOP 2000: Fifth International Workshop on Component-Oriented Programming}, Keywords = {scg-old scg-pub skip-abstract skip-doi}, Title = {Logic Meta Components as a Generic Component Model}, Url = {http://scg.unibe.ch/archive/papers/DeVo00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/DeVo00a.pdf} } @mastersthesis{DeZa09a, Abstract = {External domain specific languages are ubiquitous in computer science. Getting ahold of definitions of these languages and being able to analyze them is difficult. The code has to be parsed and transformed to a model before we can even start to retrieve meaningful information. Often a parser is not openly available or is written in an other language. Hence a developer analyzing the code has to manually figure out the grammar and write his own parser. This thesis will address the problem by automating the grammar and parser retrieval process. The approach uses a combination of Parsing Expression Grammars and Genetic Programming.}, Author = {Sandro De Zanet}, Institution = {University of Bern}, Keywords = {scg-msc jb10 snf09 peg parsing}, Month = jul, School = {University of Bern}, Title = {Grammar Generation with Genetic Programming --- Evolutionary Grammar Generation}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/DeZa09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/DeZa09a.pdf} } @inproceedings{Dean95a, Address = {Aarhus, Denmark}, Author = {Jeffrey Dean and David Grove and Craig Chambers}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {77--101}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis}, Volume = {952}, Year = {1995} } @article{Dean03a, Author = {Thomas R. Dean and James R. Cordy and Andrew J. Malton and Kevin A. Schneider}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1023/A:1025801405075}, Journal = {Autom. Softw. Eng.}, Keywords = {cclit txl}, Number = {4}, Pages = {311-336}, Title = {Agile Parsing in {TXL}}, Url = {http://research.cs.queensu.ca/~cordy/Papers/JASE_AP.pdf}, Volume = {10}, Year = {2003}, Bdsk-Url-1 = {http://research.cs.queensu.ca/~cordy/Papers/JASE_AP.pdf} } @inproceedings{Deck94a, Author = {Karsten M. Decker and Jiri J. Dvorak and Ren\'e M. Rehmann}, Booktitle = {Priority Programme Informatics Research, Information Conference Module 3 on Massively parallel systems}, Month = nov, Pages = {40--47}, Title = {A tool environment for parallel programming --- User-driven development of a novel programming environment for distributed memory parallel processor systems}, Year = {1994} } @inproceedings{Deco86a, Author = {Dominique Decouchant}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk distribution oopsla86}, Month = nov, Pages = {444--452}, Title = {Design of a Distributed Object Manager for the {Smalltalk}-80 System}, Volume = {21}, Year = {1986} } @inproceedings{Deco91a, Author = {D. Decouchant and P. Le Dot and M. Riveill and C. Roisin and X. Rousset de Pina}, Booktitle = {Proceedings of the 11th IEEE Conference on Distributed Computing Systems}, Keywords = {olit-obcl guide binder}, Month = may, Title = {A Synchronization Mechanism for an Object-Oriented Distributed System}, Year = {1991} } @inproceedings{Dede02a, Author = {Jessie Dedecker and Wolfgang De Meuter}, Booktitle = {Workshop: Agent-oriented methodologies. OOPSLA 2002, Seattle, WA USA.}, Keywords = {prototype}, Title = {Using the Prototype-based Programming Paradigm for Structuring Mobile Applications}, Year = {2002} } @inproceedings{Dede06a, Author = {Dedecker, Jessie and Van Cutsem, Tom and Mostinckx, Stijn and D'Hondt, Theo and De Meuter, Wolfgang}, Booktitle = {ECOOP'06: Proceedings of the 20th European Conference on Object-Oriented Programming}, Doi = {10.1007/11785477_16}, Editor = {Dave Thomas}, Keywords = {damiencbib}, month = jul, address = {Nantes, France}, Pages = {230--254}, Publisher = {Springer-Verlag}, Title = {Ambient-Oriented Programming in AmbientTalk}, Volume = {4067}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11785477_16} } @article{Deer90a, Author = {Scott C. Deerwester and Susan T. Dumais and Thomas K. Landauer and George W. Furnas and Richard A. Harshman}, Journal = {Journal of the American Society of Information Science}, Number = {6}, Pages = {391--407}, Title = {Indexing by Latent Semantic Analysis}, Url = {citeseer.ist.psu.edu/deerwester90indexing.html}, Volume = {41}, Year = {1990}, Bdsk-Url-1 = {citeseer.ist.psu.edu/deerwester90indexing.html} } @article{Dega88a, Author = {P. Degano and Rocco De Nicola and Ugo Montanari}, Journal = {Acta Informatica}, Keywords = {pcalc ccs}, Number = {1/2}, Pages = {59--92}, Title = {A Distributed Operational Semantics for {CCS} Based on Condition/Event Systems}, Volume = {26}, Year = {1988} } @inproceedings{Dega93a, Author = {P. Degano and R. Gorrieri and S. Vigna}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {concurrency tapsoft93}, Month = apr, Pages = {15--30}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Relating Some Models for Concurrency}, Volume = {668}, Year = {1993} } @inproceedings{Deis05a, Author = {Florian Dei{\ss}enb\"ock and Markus Pizska}, Booktitle = {International Workshop on Program Comprehension (IWPC 2005)}, Pages = {97--106}, Title = {Concise and Consistent Naming}, Year = {2005} } @inproceedings{Deis06a, Annote = {internationalconference}, Author = {Florian Deissenboeck and Daniel Ratiu}, Booktitle = {Proceedings of the 3rd International Workshop on Metamodels, Schemas, Grammars and Ontologies (ATEM'06)}, Title = {A Unified Meta-Model for Concept-Based Reverse Engineering}, Year = {2006} } @techreport{Deke02a, Author = {Uri Dekel}, Institution = {Department of Computer Science, Technion}, Keywords = {conceptanalysis fca}, Title = {Applications of Concept Lattices to Code Inspection and Review}, Year = {2002} } @mastersthesis{Deke03a, Author = {Uri Dekel}, Month = feb, School = {Technion-Israel Institute of Technology}, Title = {Revealing {JAVA} {Class} {Structures} using {Concept} {Lattices}}, Type = {Diploma Thesis}, Year = {2003} } @inproceedings{Deke03b, 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.}, Author = {Uri Dekel and Yossi Gil}, Booktitle = {WCRE}, Month = nov, Pages = {353--362}, Publisher = {IEEE Press}, Title = {Revealing Class Structure with Concept Lattices}, Year = {2003} } @inproceedings{Deko05a, Author = {Steve Dekorte}, 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}, Title = {Io: a small programming language}, Url = {http://www.iolanguage.com/}, Year = {2005}, Bdsk-Url-1 = {http://www.iolanguage.com/} } @inproceedings{Delc91a, Address = {Geneva, Switzerland}, Author = {Christine Delcourt and Roberto Zicari}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {97--117}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Design of an Integrity Consistency Checker ({ICC}) for an Object-Oriented Database System}, Volume = 512, Year = {1991} } @inproceedings{Deli05a, Author = {Robert DeLine and Amir Khella and Mary Czerwinski and George G. Robertson}, Booktitle = {SOFTVIS}, Date = {2006-02-15}, Description = {dblp}, Ee = {http://doi.acm.org/10.1145/1056018.1056044}, Isbn = {1-59593-073-6}, Keywords = {dblp}, Pages = {183-192}, Title = {Towards understanding programs through wear-based filtering.}, Url = {http://dblp.uni-trier.de/db/conf/softvis/softvis2005.html#DeLineKCR05}, Year = {2005}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/softvis/softvis2005.html#DeLineKCR05} } @inproceedings{Deli05b, Author = {Robert DeLine}, Booktitle = {Proceedings of the 2005 International Workshop on Visual Languages and Computing}, Date = {2007-06-12}, Description = {dblp}, Isbn = {1-891706-17-9}, Keywords = {dblp}, Pages = {309-314}, Publisher = {IEEE Computer Society}, Title = {Staying Oriented with Software Terrain Maps}, Url = {http://dblp.uni-trier.de/db/conf/dms/dms2005.html#DeLine05}, Year = {2005}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/dms/dms2005.html#DeLine05} } @inproceedings{Deli05c, Address = {Washington, DC, USA}, Author = {Robert DeLine and Mary Czerwinski and George G. Robertson}, Booktitle = {VLHCC '05: Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing}, Doi = {10.1109/VLHCC.2005.32}, Isbn = {0-7695-2443-5}, Pages = {241-248}, Publisher = {IEEE Computer Society}, Title = {Easing Program Comprehension by Sharing Navigation Data}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2005.32} } @inproceedings{Deli06a, Author = {Robert DeLine and Mary Czerwinski and Brian Meyers and Gina Venolia and Steven M. Drucker and George G. Robertson}, Booktitle = {VL/HCC}, Date = {2007-07-02}, Description = {dblp}, Ee = {http://doi.ieeecomputersociety.org/10.1109/VLHCC.2006.14}, Isbn = {0-7695-2586-5}, Keywords = {dblp}, Pages = {11-18}, Title = {Code Thumbnails: Using Spatial Memory to Navigate Source Code.}, Url = {http://dblp.uni-trier.de/db/conf/vl/vlhcc2006.html#DeLineCMVDR06}, Year = {2006}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/vl/vlhcc2006.html#DeLineCMVDR06} } @book{Delo91a, Address = {Munich,Germany}, Editor = {C. Delobel and M. Kifer and Y. Masunaga}, Isbn = {3-540-55015-1}, Keywords = {olit delo91 scglib}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {DOOD}'91}, Volume = {566}, Year = {1991} } @book{Dema82a, Author = {Tom De Marco}, Keywords = {oorp}, Publisher = {Yourdon Press}, Title = {Controlling Software Projects}, Year = {1982} } @techreport{Deme79a, Address = {Ithaca, New York}, Author = {Alan Demers and Jim Donahue}, Institution = {Department of Computer Science, Cornell University}, Keywords = {fpl russell tfc}, Title = {Revised Report on Russell}, Type = {TR79-389}, Year = {1979} } @inproceedings{Deme80a, Author = {A.J. Demers and Jim Donahue}, Booktitle = {Proceedings, POPL 80}, Keywords = {types fp tfc russell popl80}, Pages = {234--244}, Title = {''Type-Completeness'' as a Language Principle}, Year = {1980} } @techreport{Deme92z, 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.}, Author = {Serge Demeyer}, Institution = {vub}, Keywords = {olit oodb sergedem-techrep}, Month = may, Title = {A survey of Object-Oriented Databases}, Type = {technical report}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme92z/%20http://progwww.vub.ac.be/papers/paperquery.html%20ftp://progftp.vub.ac.be/tech_report/1992/vub-prog-tr-92-01.ps.Z} } @inproceedings{Deme94m, 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.}, Author = {Serge Demeyer and Patrick Steyaert and Koen De Hondt}, Booktitle = {Proceedings of the 1rst Workshop on Open Hypermedia Systems --- Hypertext '94}, Editor = {Uffe Kock Wiil and Kasper Osterbye}, Keywords = {olit hypermedia zypher sergedem-papunr}, Month = sep, Publisher = {Institute for Electronic Systems --- Department of Mathematics and Computer Science --- Frederik Bajers Vej 7 --- DK 9220 Aalborg --- Denmark}, Series = {R-94-2038}, Title = {Techniques for Building Open Hypermedia Systems}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme94m/%20http://www.iam.unibe.ch/~demeyer/Deme94m/tchohs.html%20http://www.daimi.aau.dk/~kock/OHS-ECHT94/} } @techreport{Deme94z, 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).}, Author = {Serge Demeyer}, Institution = {vub}, Keywords = {olit hypermedia zypher sergedem-techrep}, Month = jun, Title = {Virtual Hypertext Based on Paths and Warm Links}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme94z/%20http://www.iam.unibe.ch/~demeyer/Deme94z/vrthypt.html%20http://progwww.vub.ac.be/papers/paperquery.html} } @techreport{Deme95z, 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.}, Author = {Serge Demeyer}, Institution = {vub}, Keywords = {olit hypermedia zypher sergedem-techrep}, Month = mar, Title = {Ending the Tyranny of the Link: Adding Paths to the Dexter-model}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme95z/%20http://www.iam.unibe.ch/~demeyer/Deme95z/dxpath.html%20http://progwww.vub.ac.be/papers/paperquery.html} } @phdthesis{Deme96a, 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.}, Author = {Serge Demeyer}, Keywords = {olit hypermedia zypher mop sergedem-thesis}, Month = jul, School = {Vrije Universiteit Brussel (Belgium), Department of Computer Science}, Title = {{ZYPHER} Tailorability as a link from Object-Oriented Software Engineering to Open Hypermedia}, Url = {http://www.iam.unibe.ch/~demeyer/Deme96a/ http://www.iam.unibe.ch/~demeyer/Zypher/ http://dinf.vub.ac.be/~demeyer/Zypher/}, Year = {1996}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme96a/%20http://www.iam.unibe.ch/~demeyer/Zypher/%20http://dinf.vub.ac.be/~demeyer/Zypher/} } @techreport{Deme96b, Author = {Serge Demeyer and Theo Dirk Meijler and Robb Nebbe}, Institution = {University of Bern}, Month = nov, Title = {State-of-the-Art in Software Models}, Year = {1996} } @techreport{Deme96c, Author = {Wolfgang De Meuter and Tom Mens and Patrick Steyaert}, Institution = {Programming Technology Lab, Vrije Universiteit Brussel}, Title = {Agora: Reintroducing Safety in Prototype-based Languages}, Year = {1996} } @inproceedings{Deme96m, 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}, Author = {Serge Demeyer and Patrick Steyaert and Koen De Hondt and Wim Codenie and Roel Wuyts and Theo D'Hondt}, Booktitle = {Proceedings of the 2nd Workshop on Open Hypermedia Systems --- Hypertext '96}, Editor = {Uffe Kock Wiil and Serge Demeyer}, Keywords = {olit hypermedia zypher sergedem-papunr}, Month = apr, Note = {UCI-ICS Technical Report 96-10}, Pages = {15--23}, Publisher = {Department of Information and Computer Science --- University of California Irvine --- CA 92717-3425}, Title = {The Zypher Meta Object Protocol}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme96m/%20http://www.iam.unibe.ch/~demeyer/Deme96m/psstmnt.html%20http://www.daimi.aau.dk/~kock/OHS-HT96/%20http://progwww.vub.ac.be/papers/paperquery.html} } @book{Deme97a, Editor = {Serge Demeyer and Harald Gall}, Keywords = {olit famoos-wrkproc scg-pub skip-abstract skip-doi toBeChecked snf97 jb97 sergedem-wrkproc oorp}, Month = sep, Publisher = {Technical University of Vienna --- Information Systems Institute --- Distributed Systems Group}, Series = {TUV-1841-97-10}, Title = {Proceedings of the {ESEC}/{FSE} Workshop on Object-Oriented Re-engineering}, Url = {http://www.iam.unibe.ch/~demeyer/Deme97a/}, Year = {1997}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme97a/} } @article{Deme97b, 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}, Author = {Serge Demeyer and Theo Dirk Meijler and Oscar Nierstrasz and Patrick Steyaert}, Doi = {10.1145/262793.262805}, Journal = {Communications of the ACM}, Keywords = {olit famoos-papref hypermedia zypher scg-pub snf97 onhindex(68) jb97 sergedem-papref}, Month = oct, Number = {10}, Pages = {60--64}, Publisher = {ACM Press}, Title = {Design Guidelines for Tailorable Frameworks}, Url = {http://scg.unibe.ch/archive/papers/Deme97bDesignGuidelines.pdf}, Volume = {40}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme97bDesignGuidelines.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/262793.262805} } @unpublished{Deme97c, Author = {Serge Demeyer}, Month = feb, Note = {3rd FAMOSS Re--engineering workshop, March 1997, Karlsruhe Germany}, Title = {{Tool} {Support} for {Object}--{Oriented} {Re}--engineering. {F}{A}{M}{O}{O}{S} --- {Lessons} {Learned} {II}}, Year = {1997} } @inproceedings{Deme97m, Abstract = {This document describes a hypothetical "Framework Browser" in the form of a scenario describing the ideal framework programming environment.}, Author = {Serge Demeyer}, Booktitle = {Proceedings of the 3rd Workshop on Open Hypermedia Systems --- Hypertext '97}, Editor = {Uffe Kock Wiil}, Keywords = {olit hypermedia zypher scg-pub skip-doi toBeChecked snf97 jb97 sergedem-papunr}, Month = apr, Pages = {26--36}, Publisher = {The Danish National Centre for IT Research --- Forskerparken Gustav Wieds Vej 10 --- DK-8000 Aarhus C --- Denmark}, Series = {CIT Scientific report SR-97-01}, Title = {A Framework Browser Scenario}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme97m/%20http://www.iam.unibe.ch/~demeyer/Deme97m/OHWS3scenaria.html%20http://www.daimi.aau.dk/~kock/OHS-HT97/} } @inproceedings{Deme97n, Abstract = {-No abstract, the paper is only 2 pages-}, Author = {Serge Demeyer and Theo Dirk Meijler and Matthias Rieger}, Booktitle = {Object-Oriented Technology (ECOOP '97 Workshop Reader)}, Editor = {Jan Bosch and Stuart Mitchell}, Keywords = {olit famoos-papunr scg-wp snf97 sergedem-papunr}, Month = jun, Pages = {280--281}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards Design Pattern Transformations}, Url = {http://www.iam.unibe.ch/~demeyer/Deme97n/ http://www.iam.unibe.ch/~demeyer/Deme97n/ECOOP97.html}, Volume = 1357, Year = {1997}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme97n/%20http://www.iam.unibe.ch/~demeyer/Deme97n/ECOOP97.html} } @unpublished{Deme97z, 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.}, Author = {Serge Demeyer and St\'ephane Ducasse and Robb Nebbe and Oscar Nierstrasz and Tamar Richner}, Keywords = {olit famoos-techrep scg-wp skip-doi snf97 sergedem-techrep}, Month = may, Note = {technical report}, Title = {Using Restructuring Transformations to Reengineer Object-Oriented Systems}, Url = {http://www.iam.unibe.ch/~demeyer/Deme97z/index.html http://scg.unibe.ch/archive/papers/Deme97zWCRE.pdf}, Year = {1997}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme97z/index.html%20http://scg.unibe.ch/archive/papers/Deme97zWCRE.pdf} } @article{Deme98a, 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.}, Author = {Serge Demeyer and Koen De Hondt and Patrick Steyaert}, Journal = {Computing Surveys}, Keywords = {olit hypermedia snf98 zypher scg-wp sergedem-papref jb98}, Note = {To appear in March 2000}, Publisher = {ACM}, Title = {Consistent Framework Documentation with Computed Links and Framework Contracts}, Url = {http://www.iam.unibe.ch/~demeyer/Deme98a/ http://www.iam.unibe.ch/~demeyer/Deme98a/paper.html}, Year = {1998}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme98a/%20http://www.iam.unibe.ch/~demeyer/Deme98a/paper.html} } @book{Deme98c, Address = {Kaiserslautern, Germany}, Editor = {Serge Demeyer and Jan Bosch}, Isbn = {3-540-65460-7-(Donation-Serge)}, Keywords = {skip-pdf olit ecoop98proc scg-pub skip-abstract skip-doi toBeChecked scglib snf98 jb98 sergedem-volume jb98}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Technology ({ECOOP}'98 Workshop Reader)}, Volume = {1543}, Year = {1998} } @article{Deme98m, Author = {Serge Demeyer and Harald Gall}, Journal = {Software Engineering Notes}, Keywords = {olit famoos-papunr scg-pub skip-abstract skip-doi toBeChecked snf98 sergedem-papunr jb98}, Month = jan, Number = {1}, Pages = {28--29}, Publisher = {ACM}, Title = {Workshop on Object-Oriented Re-engineering ({WOOR}'97)}, Url = {http://scg.unibe.ch/archive/famoos/ESEC97/WOOR97rprt.html}, Volume = {23}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/ESEC97/WOOR97rprt.html} } @inproceedings{Deme98n, Annote = {internationalworkshop}, Author = {Serge Demeyer and St\'ephane Ducasse}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr scg-pub skip-pdf skip-abstract skip-doi snf98 metrics jb98 stefPub}, Pages = {247--249}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Do Metrics Support Framework Development?}, Volume = {1543}, Year = {1998} } @inproceedings{Deme98o, Author = {Serge Demeyer}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr scg-pub skip-abstract skip-doi toBeChecked snf98 sergedem-papunr jb98}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Analysis of Overridden Methods to Infer Hot Spots}, Url = {http://www.iam.unibe.ch/~demeyer/Deme98o/ http://www.iam.unibe.ch/~demeyer/Deme98o/paper.html}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme98o/%20http://www.iam.unibe.ch/~demeyer/Deme98o/paper.html} } @misc{Deme98p, 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.}, Author = {Serge Demeyer and Matthias Rieger and Sander Tichelaar}, Keywords = {olit famoos-papunr scg-pub skip-doi sergedem-papunr tich-papunr snf98 jb98}, Month = apr, Note = {Writing Workshop at EuroPLOP '98}, Title = {Three Reverse Engineering Patterns}, Url = {http://scg.unibe.ch/archive/papers/Deme98pThreeRevEngPatterns.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme98pThreeRevEngPatterns.pdf} } @inproceedings{Deme98q, Author = {De Meuter, Wolfgang}, Booktitle = {Prototype-based Programming}, Editor = {J. Noble and I. Moore and A. Taivalsaari}, Keywords = {was Wolf98a}, Publisher = {Springer-Verlag}, Title = {Agora: The Story of the Simplest {MOP} in the World --- or --- The Scheme of Object--Orientation}, Year = {1998} } @inproceedings{Deme99a, 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}, Author = {Serge Demeyer and St\'ephane Ducasse}, Booktitle = {Proceedings of Languages et Mod\`eles \`a Objets (LMO'99)}, Editor = {Jacques Malenfant}, Keywords = {olit famoos-papref scg-pub skip-doi snf99 jb99 oorp stefPub moose-pub}, Pages = {69--82}, Publisher = {HERMES Science Publications, Paris}, Title = {Metrics, Do They Really Help?}, Url = {http://scg.unibe.ch/archive/papers/Deme99aDemeyerDucasseLMO99.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme99aDemeyerDucasseLMO99.pdf} } @article{Deme99b, 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.}, Author = {Serge Demeyer and Matthias Rieger and Theo Dirk Meijler and Edzard Gelsema}, Journal = {Theory and Practice of Object Systems (TAPOS)}, Keywords = {olit famoos-papref face scg-pub skip-doi toBeChecked snf98 sergedem-papref jb98}, Month = apr, Number = {2}, Pages = {73--81}, Publisher = {John Wiley \& Sons}, Title = {Class Composition for Specifying Framework Design}, Url = {http://scg.unibe.ch/archive/papers/Deme99bClassComposition.pdf}, Volume = {5}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme99bClassComposition.pdf} } @inproceedings{Deme99c, 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}, Author = {Serge Demeyer and St\'ephane Ducasse and Michele Lanza}, Booktitle = {Proceedings of 6th Working Conference on Reverse Engineering (WCRE '99)}, Doi = {10.1109/WCRE.1999.806958}, Editor = {Francoise Balmas and Mike Blaha and Spencer Rugaber}, Keywords = {olit famoos-papref scg-pub snf99 jb99 oorp stefPub moose-pub}, Month = oct, Publisher = {IEEE Computer Society}, Title = {A Hybrid Reverse Engineering Platform Combining Metrics and Program Visualization}, Url = {http://scg.unibe.ch/archive/papers/Deme99cCodeCrawler.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme99cCodeCrawler.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.1999.806958} } @inproceedings{Deme99d, 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.}, Address = {Kaiserslautern, Germany}, Annote = {internationalconference}, Author = {Serge Demeyer and St\'ephane Ducasse and Sander Tichelaar}, Booktitle = {Proceedings UML '99 (The Second International Conference on The Unified Modeling Language)}, Editor = {Bernhard Rumpe}, Keywords = {olit famoos-papref scg-pub skip-doi snf99 jb99 stefPub moose-pub}, Misc = {acceptance rate: 44/166 = 26\%, SCI impact 0.515, ranked 39/69}, AcceptTotal = {166}, AcceptNum = {44}, Month = oct, Pages = {630--644}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Why Unified is not Universal. {UML} Shortcomings for Coping with Round-trip Engineering}, Url = {http://scg.unibe.ch/archive/papers/Deme99dUML99.pdf}, Volume = {1723}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme99dUML99.pdf} } @misc{Deme99e, Author = {Isabelle Borne and Serge Demeyer and Galal Hassan Galal}, Keywords = {olit famoos-wrkproc scg-pub skip-abstract skip-doi toBeChecked sergedem-wrkproc jb99}, Month = jun, Title = {Proceedings of the {ECOOP}'99 Workshop on Object-Oriented Architectural Evolution}, Url = {http://www.iam.unibe.ch/~demeyer/Deme99e/ http://www.emn.fr/borne/ECOOP99-OOAE.html}, Year = {1999}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme99e/%20http://www.emn.fr/borne/ECOOP99-OOAE.html} } @book{Deme99f, Doi = {10.1145/340855.340857}, Editor = {Serge Demeyer and Harald Gall}, Keywords = {olit famoos-wrkproc scg-pub skip-abstract sergedem-wrkproc snf99 jb99}, Month = sep, Publisher = {Technical University of Vienna --- Information Systems Institute --- Distributed Systems Group}, Series = {TUV-1841-99-13}, Title = {Proceedings of the {ESEC}/{FSE}'99 Workshop on Object-Oriented Re-engineering ({WOOR}'99)}, Url = {http://www.iam.unibe.ch/~demeyer/Deme99f/}, Year = {1999}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme99f/}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/340855.340857} } @inproceedings{Deme99m, Abstract = {-No abstract, the paper is only 2 pages-}, Author = {Serge Demeyer}, Booktitle = {Proceedings of the 1st Workshop on Structural Computing --- Hypertext '99}, Editor = {Peter Nuernberg}, Keywords = {olit famoos-papunr scg-pub skip-doi toBeChecked sergedem-papunr snf99 jb99}, Month = feb, Title = {Structural Computing: The Case for Reengineering Tools}, Url = {http://www.iam.unibe.ch/~demeyer/Deme99m/ http://www.iam.unibe.ch/~demeyer/Deme99m/ht99_02.html}, Year = {1999}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Deme99m/%20http://www.iam.unibe.ch/~demeyer/Deme99m/ht99_02.html} } @inproceedings{Deme99n, 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.}, Address = {Konstanz, Germany}, Annote = {internationalworkshop}, Author = {Serge Demeyer and St\'ephane Ducasse and Sander Tichelaar}, Booktitle = {Proceedings of the 4th European Conference on Pattern Languages of Programming and Computing, 1999}, Editor = {Paul Dyson}, Keywords = {olit famoos-papunr scg-pub skip-doi sergedem-papunr tich-papunr snf99 jb99 stefPub}, Month = jul, Publisher = {UVK Universit\"atsverlag Konstanz GmbH}, Title = {A Pattern Language for Reverse Engineering}, Url = {http://scg.unibe.ch/archive/papers/Deme99nEuroplop99.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme99nEuroplop99.pdf} } @inproceedings{Deme00a, 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.}, Address = {New York NY}, Annote = {internationalconference topconference}, Author = {Serge Demeyer and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of 15th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '00)}, Doi = {10.1145/353171.353183}, Keywords = {olit scg-pub jb00 snf00 oorp stefPub moose-pub onhindex(208)}, Misc = {acceptance rate: 26/142 = 18\%, SCI impact factor 0.190, ranked 66/77}, AcceptTotal = {142}, AcceptNum = {26}, Note = {Also in ACM SIGPLAN Notices 35 (10)}, Pages = {166--178}, Publisher = {ACM Press}, Title = {Finding Refactorings via Change Metrics}, Url = {http://scg.unibe.ch/archive/papers/Deme00aFindingRefactoring.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme00aFindingRefactoring.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/353171.353183} } @inproceedings{Deme00d, 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}, Author = {Serge Demeyer and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of EuroPLoP '2000}, Isbn = {3-87940-775-4}, Keywords = {snf-none stefPub olit scg-pub skip-doi jb00}, Pages = {189--208}, Publisher = {UVK GmbH}, Title = {A Pattern Language for Reverse Engineering}, Url = {http://scg.unibe.ch/archive/papers/Deme00dRevEng.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme00dRevEng.pdf} } @article{Deme00m, Author = {Serge Demeyer and Harald Gall}, Doi = {10.1145/340855.340857}, Journal = {Software Engineering Notes}, Keywords = {olit famoos-papunr scg-pub skip-abstract toBeChecked snf99 sergedem-papunr jbxx}, Month = jan, Number = {1}, Publisher = {ACM}, Title = {Workshop on Object-Oriented Re-engineering ({WOOR}'99)}, Url = {http://scg.unibe.ch/archive/famoos/ESEC99/WOOR99report.html}, Volume = {25}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/ESEC99/WOOR99report.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/340855.340857} } @techreport{Deme01y, Annote = {report notrefereed}, Author = {Serge Demeyer and Sander Tichelaar and St\'ephane Ducasse}, Institution = {University of Bern}, Keywords = {olit sergedem-techrep tich-techrep stefPub moose-pub}, Title = {{FAMIX} 2.1 --- {The} {FAMOOS} {Information} {Exchange} {Model}}, Year = {2001} } @book{Deme02a, 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}, Author = {Serge Demeyer and St\'ephane Ducasse and Oscar Nierstrasz}, Isbn = {1-55860-639-4}, Keywords = {olit scg-pub skip-doi jb02 patterns reeng snf02 stefPub moose-pub onhindex(291)}, Publisher = {Morgan Kaufmann}, Title = {Object-Oriented Reengineering Patterns}, Url = {http://scg.unibe.ch/download/oorp}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/download/oorp} } @inproceedings{Deme03a, Annote = {workshopproceedings}, Author = {Serge Demeyer and St\'ephane Ducasse and Kim Mens and Adrian Trifu and Rajesh Vasa}, Booktitle = {Object-Oriented Technology (ECOOP'03 Workshop Reader)}, Keywords = {skip-pdf skip-doi skip-abstract scg-pub jb04 stefPub recast03}, Publisher = {Springer-Verlag}, Pages = {72-85}, Series = {LNCS}, Title = {Report of the {ECOOP}'03 Workshop on Object-Oriented Reengineering}, Year = {2003} } @misc{Deme03b, Annote = {workshopproceedings}, Author = {Wolfgang Demeuter and St\'ephane Ducasse and Theo D'hondt and Ole Lehrmann Madsen}, Booktitle = {Object-Oriented Technology (ECOOP'03 Workshop Reader)}, Keywords = {skip-pdf skip-doi skip-abstract scg-pub jb04 stefPub snf03}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Report of the {ECOOP}'03 Workshop on Object-Oriented Language Engineering in Post-Java Era}, Year = {2003} } @inproceedings{Deme03c, Author = {Wolfgang De Meuter, Theo D'hondt, Jessie Dedecker}, Booktitle = {Andrei Ershov Fifth International Conference on Perspectives of System Informatics, Siberia, Russia}, Keywords = {prototype}, Title = {Intersecting classes and prototypes}, Year = {2003} } @inproceedings{Deme04a, Address = {New York, NY, USA}, Author = {Camil Demetrescu and Irene Finocchi}, Booktitle = {Proceedings of the 2004 ACM symposium on Applied computing (SAC'04)}, Doi = {10.1145/967900.968205}, Isbn = {1-58113-812-1}, Location = {Nicosia, Cyprus}, Pages = {1524--1530}, Publisher = {ACM}, Title = {A portable virtual machine for program debugging and directing}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/967900.968205} } @inproceedings{Deme05a, 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.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalworkshop}, 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}, Booktitle = {Proceedings of IWPSE 2005 (8th International Workshop on Principles of Software Evolution)}, Doi = {10.1109/IWPSE.2005.30}, Inri = {hors}, Keywords = {scg-pub evolution stefPub jointERCIM girba recast06 jb06 moose-pub}, Location = {Lisbon, Portugal}, Misc = {acceptance rate: 13/54=24\%}, AcceptTotal = {54}, AcceptNum = {13}, Pages = {123--131}, Publisher = {IEEE Computer Society Press}, Rate = {24%}, Selectif = {oui}, Title = {The {LAN}-simulation: A Research and Teaching Example for Refactoring}, Url = {http://scg.unibe.ch/archive/papers/Deme05aLANRefactoring.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme05aLANRefactoring.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/IWPSE.2005.30} } @misc{Deme05b, 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. Software engineers are now confronted with millions of lines of industrial source code, developed using object-oriented design methods and languages of the late 80s and early 90s. These systems exhibit a range of problems, effectively preventing them from satisfying the evolving requirements imposed by their customers. This paper shares our knowledge concerning the reengineering of object-oriented legacy systems. We draw upon our experiences, to show you techniques and tools we have applied on real industrial OO systems to detect and repair problems. In particular, we discuss issues like reverse engineering, design extraction, metrics, refactoring and program visualisation.}, Address = {Washington, DC, USA}, Annote = {tutorial}, Author = {Serge Demeyer and St\'{e}phane Ducasse and Oscar Nierstrasz}, Booktitle = {ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance}, Doi = {10.1109/ICSM.2005.67}, Isbn = {0-7695-2368-4}, Keywords = {scg-misc jb-none tutorial}, Note = {tutorial}, Pages = {723--724}, Publisher = {IEEE Computer Society}, Title = {Object-Oriented Reengineering: Patterns and Techniques}, Url = {http://scg.unibe.ch/archive/papers/Deme05bOORP-Tutorial.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deme05bOORP-Tutorial.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2005.67} } @inproceedings{Deme06a, Annote = {workshopproceedings}, 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}, Booktitle = {Object-Oriented Technology. ECOOP'05 Workshop Reader}, Keywords = {scg-pub skip-abstract skip-doi jb-none stefPub}, Title = {Report of the 6th ECOOP'05 Workshop on Object-Oriented Reengineering}, Url = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_report/WR_2006_ECOOP2005_WOOR.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_report/WR_2006_ECOOP2005_WOOR.pdf} } @book{Deme08a, 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}, Author = {Serge Demeyer and St\'ephane Ducasse and Oscar Nierstrasz}, Isbn = {978-3-9523341-2-6}, Keywords = {olit scg08 scg-pub snf-none jb09 skip-doi stefPub mooseCincom moose-pub}, Medium = {2}, Peerreview = {no}, Publisher = {Square Bracket Associates}, Title = {Object-Oriented Reengineering Patterns}, Url = {http://scg.unibe.ch/download/oorp/}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/download/oorp/} } @inproceedings{Dems02a, Address = {New York, NY, USA}, Author = {Brian Demsky and Martin Rinard}, Booktitle = {Proceedings of the 24th International Conference on Software Engineering (ICSE'02)}, Doi = {10.1145/581339.581379}, Isbn = {1-58113-472-X}, Location = {Orlando, Florida}, Pages = {313--324}, Publisher = {ACM}, Title = {Role-based exploration of object-oriented programs}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581379} } @inproceedings{Deni00a, Author = {Guy Saint-Denis and Reinhard Schauer and Rudolf K. Keller}, Booktitle = {Proceedings of the Thirty-Third Annual Hawaii International Conference on System Sciences}, Title = {Selecting a Model Interchange Format. The {SPOOL} Case Study}, Year = {2000} } @inproceedings{Deni04a, Address = {Paris, France}, Author = {Simon Denier}, Booktitle = {Actes de la Premi\`ere Journ\'ee Francophone sur le D\'eveloppement du Logiciel par Aspects (JFDLPA'04)}, Editor = {Pierre Cointe}, Month = sep, Pages = {62--78}, Title = {Traits Programming with {AspectJ}}, Url = {http://www.emn.fr/x-info/obasco/events/jfdlpa04/}, Year = {2004}, Bdsk-Url-1 = {http://www.emn.fr/x-info/obasco/events/jfdlpa04/} } @inproceedings{Deni09a, Abstract = {The increasing amount of data available about software systems poses new challenges for re- and reverse engineering research, as the proposed approaches need to scale. In this context, concerns about meta-modeling and analysis techniques need to be augmented by technical concerns about how to reuse and how to build upon the efforts of previous research. MOOSE is an extensive infrastructure for reverse engineering evolved for over 10 years that promotes the reuse of engineering efforts in research. MOOSE accommodates various types of data modeled in the FAMIX family of meta-models. The goal of this half-day workshop is to strengthen the community of researchers and practitioners who are working in re- and reverse engineering, by providing a forum for building future research starting from MOOSE and FAMIX as shared infrastructure.}, Annote = {internationalworkshop}, Author = {Simon Denier and Tudor G\^irba}, Booktitle = {16th Working Conference on Software Maintenance and Reengineering (WCRE 2009)}, Doi = {10.1109/WCRE.2009.56}, Keywords = {scg09 scg-pub girba jb10 moose-pub hasler10}, Medium = {2}, Month = oct, Pages = {325--326}, Peerreview = {yes}, Title = {Workshop on {FAMIX} and {Moose} in Software Reengineering ({FAMOOSr} 2009)}, Url = {http://scg.unibe.ch/archive/papers/Deni09aFAMOOSr2009.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Deni09aFAMOOSr2009.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2009.56} } @inproceedings{Denk00a, Abstract = {Mittels CORBA k\"onnen verteilte Applikationen einfach \"uber ein Netzwerk miteinander kommunizieren. Doch das von CORBA zur Verf\"ugung gestellte Kommunikationsmodell reicht in manchen F\"allen nicht aus, es wird ein Modell zur asynchronen Kommunikation zwischen lose gekoppelten Objekten ben\"otigt. Der CORBA Event Service ist ein Versuch, ein solches Kommunikationsmodell bereitzustellen. Der Event Service hat sich aber als unzureichend herausgestellt. Daher wurde er um einige Aspekte zum Notiocation Service erweitert.}, Author = {Marcus Denker}, Booktitle = {Architektur vernetzter Systeme}, Issn = {1432-7864}, Page = {7--13}, Publisher = {Universit\"at Karlsruhe, Institut fuer Telematik (Interner Bericht)}, Title = {Event und Notification Service in CORBA}, Url = {http://marcusdenker.de/publications/Denk00aCorba.pdf}, Year = {2000}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk00aCorba.pdf} } @article{Denk01a, Author = {Marcus Denker}, Journal = {Der Eulenspiegel}, Number = {2}, Publisher = {Fachschaft Mathematik/Informatik, University of Karlsruhe}, Title = {Squeak: Zurück in die Zukunft}, Url = {http://marcusdenker.de/publications/Denk01aEulenSpiegelSqueak.pdf}, Volume = {2001}, Year = {2001}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk01aEulenSpiegelSqueak.pdf} } @misc{Denk02a, Abstract = {Das Squeak-System m\"ochte eine flexible Programmierumgebung und ein m\"achtiges multimediales Autorensystem f\"ur Kinder bereitstellen. Die besonderen Eigenschaften eines solchen Systems stellen besondere Anforderungen an die Implementierung. Die Studienarbeit zeigt die Probleme der bestehenden Implementierungen auf und stellt einen verbesserten Entwurf vor.}, Author = {Marcus Denker}, Note = {Studienarbeit, Universit\"at Karlsruhe}, Title = {Entwurf von Optimierungen f\"ur Squeak}, Url = {http://marcusdenker.de/publications/Denk02aStudienarbeit.pdf}, Year = {2002}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk02aStudienarbeit.pdf} } @mastersthesis{Denk04a, Author = {Marcus Denker}, School = {University of Karlsruhe}, Title = {Erweiterung eines statischen \"Ubersetzers zu einem Laufzeit\"ubersetzungssystem}, Type = {diploma thesis}, Url = {http://marcusdenker.de/publications/Denk04aThesisDipl.pdf}, Year = {2004}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk04aThesisDipl.pdf} } @inproceedings{Denk04b, Abstract = {This is not a real article. While putting together the demo image for for 21C3, I decided to not write an article that is just to be read (mostly because these are really boring to write...) This text is just a short user manual for that thing (we call it Squeak Image) that I will use for the demo at 21C3. So if you follow the instructions, you will be able to go through the slides and play with everything yourself.}, Author = {Marcus Denker}, Booktitle = {Proceedings of the 21st Chaos Communication Congress}, Isbn = {3-934636-02-0}, Page = {52--59}, Publisher = {Chaos Computer Club}, Title = {Squeak@21c3}, Url = {http://marcusdenker.de/publications/Denk04bSqueak21C3.pdf}, Year = {2004}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk04bSqueak21C3.pdf} } @inproceedings{Denk05a, Abstract = {Squeak allows kids of all ages to be creative with their computer. The goal of the Squeak Project is to build a system without constraints: It is used at schools, universities and in industry. Squeak is an open System: It is implemented in Squeak itself, all parts are available for learning and hacking. The whole source code is available and can be changed while the system is running. Squeak is available on the internet under a free license, it is highly portable and currently used on over 20 different platforms. This talk will give an overview over the Squeak Project: From the eToy kids programming environment up to the Seaside system for professional web development. The eToys make programming fun for children from around age 8. The talk will show how to build simple eToy programs and how Squeak is used at school. But even professional developers are using Squeak; The Seaside framework shows how the openness of Squeak can help to make developers more productive. The last part of the talk will give a glimpse into the future: OpenCroquet. The Croquet project is building a revolutionary collaborative environment based on Squeak. It provides a scalable, peer-to-peer multiuser 3D environment that is completely open for exploration and makes novel ways for communication and interaction possible.}, Author = {Marcus Denker}, Booktitle = {Proceedings of LinuxTag 2005}, Title = {Squeak and Croquet}, Url = {http://marcusdenker.de/publications/Denk05aLinuxTag.pdf}, Year = {2005}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Denk05aLinuxTag.pdf} } @article{Denk06a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Marcus Denker and St\'ephane Ducasse and {\'E}ric Tanter}, Doi = {10.1016/j.cl.2005.10.002}, Impactfactor = {0.467, SCI 2005}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg-pub stefPub jb06 snf-actsc snf06}, Misc = {SCI impact factor 0.467 (2005)}, Month = jul, Number = {2-3}, Pages = {125--139}, Publisher = {Elsevier}, Selectif = {non}, Title = {Runtime Bytecode Transformation for {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Denk06aRuntimeByteCodeESUGJournal.pdf}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk06aRuntimeByteCodeESUGJournal.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2005.10.002} } @inproceedings{Denk06c, 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}, Author = {Marcus Denker and Orla Greevy and Michele Lanza}, Booktitle = {2nd International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2006)}, Keywords = {scg-pub skip-doi snf07 jb07 fb06 reflectivity}, Medium = {2}, Pages = {32--38}, Peerreview = {yes}, Title = {Higher Abstractions for Dynamic Analysis}, Url = {http://scg.unibe.ch/archive/papers/Denk06cHigherAbstractionsPCODA06.pdf http://www.lore.ua.ac.be/Events/PCODA2006/index.html}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk06cHigherAbstractionsPCODA06.pdf%20http://www.lore.ua.ac.be/Events/PCODA2006/index.html} } @inproceedings{Denk07a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalworkshop}, Author = {Marcus Denker and St\'ephane Ducasse}, Booktitle = {Proceedings of the ERCIM Working Group on Software Evolution (2006)}, Doi = {10.1016/j.entcs.2006.08.003}, Inria = {hors}, Issn = {1571-0661}, Keywords = {scg07 stefPub scg-pub snf06 recast06 jb07}, Medium = {2}, Month = jan, Pages = {81--91}, Peerreview = {yes}, Publisher = {Elsevier}, Selectif = {non}, Series = {Electronic Notes in Theoretical Computer Science}, Title = {Software Evolution from the Field: an Experience Report from the {Squeak} Maintainers}, Url = {http://scg.unibe.ch/archive/papers/Denk07aErcimEvolutionSqueak.pdf}, Volume = {166}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk07aErcimEvolutionSqueak.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2006.08.003} } @inproceedings{Denk07b, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Marcus Denker and St\'ephane Ducasse and Adrian Lienhard and Philippe Marschall}, Booktitle = {Journal of Object Technology, Special Issue. Proceedings of TOOLS Europe 2007}, Cached = {http://scg.unibe.ch/archive/papers/Denk07bPersephoneTools.pdf}, Inria = {hors}, Issn = {1660-1769}, Keywords = {scg07 scg-pub jb08 snf07 skip-doi jot snf-bmcc reflectivity}, Medium = {2}, Month = oct, Pages = {231--251}, Peerreview = {yes}, Publisher = {ETH}, Selectif = {non}, Title = {Sub-Method Reflection}, doi = {10.5381/jot.2007.6.9.a14}, url = {http://www.jot.fm/contents/issue_2007_10/paper14.html http://www.jot.fm/issues/issue_2007_10/paper14.pdf}, Volume = {6/9}, Year = {2007}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_10/paper14%20http://www.jot.fm/issues/issue_2007_10/paper14.pdf} } @inproceedings{Denk07c, Abstract = {Real world software systems change continuously to meet new demands. Most programming languages and development environments, however, are more concerned with limiting the effects of change rather than enabling and exploiting change. Various techniques and technologies to exploit change have been developed over the years, but there exists no common support for these approaches. We propose Changeboxes as a general-purpose mechanism for encapsulating change as a first-class entity in a running software system. Changeboxes support multiple, concurrent and possibly inconsistent views of software artifacts within the same running system. Since Changeboxes are first-class, they can be manipulated to control the scope of change in a running system.Furthermore, Changeboxes capture the semantics of change. Changeboxes can be used, for example, to encapsulate refactorings, or to replay or analyze the history of changes. In this paper we introduce Changeboxes by means of a prototype implementation. We illustrate the benefits that Changeboxes offer for evolving software systems, and we present the results of a preliminary performance evaluation that assesses the costs associated with Changeboxes while suggesting possible strategies for improvement.}, Annote = {internationalconference}, Author = {Marcus Denker and Tudor G\^irba and Adrian Lienhard and Oscar Nierstrasz and Lukas Renggli and Pascal Zumkehr}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007)}, Doi = {10.1145/1352678.1352681}, Isbn = {978-1-60558-084-5}, Keywords = {scg07 scg-pub jb08 snf08 girba cop-lit}, Medium = {2}, Pages = {25--49}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Title = {Encapsulating and Exploiting Change with {Changeboxes}}, Url = {http://scg.unibe.ch/archive/papers/Denk07cChangeboxes.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk07cChangeboxes.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352681} } @inproceedings{Denk07d, Abstract = {The dynamic analysis approach to feature identification describes a technique for capturing feature behavior and mapping it to source code. Major drawbacks of this approach are (1) large amounts of data and (2) lack of support for sub-method elements. In this paper we propose to leverage sub-method reflection to identify and model features. We perform an on-the-fly analysis resulting in annotating the operations participating in a feature's behavior with meta-data.The primary advantage of our annotation approach is that we obtain a fine-grained level of granularity while at the same time eliminating the need to retain and analyze large traces for feature analysis.}, Annote = {internationalworkshop}, Author = {Marcus Denker and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the 3rd International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2007)}, Issn = {1872-5392}, Keywords = {scg07 scg-pub skip-doi snf08 jb08 reflectivity}, Medium = {2}, Pages = {29--33}, Peerreview = {yes}, Publisher = {Technische Universiteit Delft}, Title = {Supporting Feature Analysis with Runtime Annotations}, Url = {http://scg.unibe.ch/archive/papers/Denk07dFeatureAnnotationPCODA.pdf http://swerl.tudelft.nl/bin/view/Main/PCODA2007}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk07dFeatureAnnotationPCODA.pdf%20http://swerl.tudelft.nl/bin/view/Main/PCODA2007} } @phdthesis{Denk08a, Abstract = {Computational reflection is a fundamental mechanism in object oriented languages. Reflection has proved useful in many contexts, such as in the design of development environments, language extension, and the dynamic, unanticipated adaptation of running systems We identify three problems with the current approach to reflection in object oriented languages: partial behavioral reflection needs to be anticipated, structural reflection is limited to the granularity of a method, and behavioral reflection cannot be applied to the whole system. To address these problems, we extend structural reflection to cover sub-method elements and present how sub-method structural reflection supports unanticipated partial behavioral reflection. We add the concept of context to represent meta-level execution and show how this allows behavioral reflection to be applied even to system classes. We describe an implementation in Smalltalk. Benchmarks validate the practicability of our approach. In addition, we present an experimental evaluation in which we show how the system is used for dynamic analysis. We realize dynamic feature analysis by annotating the sub-method structure of the system directly to denote features instead of recording full execution traces.}, Author = {Marcus Denker}, Keywords = {scg-phd snf08 jb08 reflectivity}, Month = may, School = {University of Bern}, Title = {Sub-method Structural and Behavioral Reflection}, Type = {{PhD} thesis}, Url = {http://scg.unibe.ch/archive/phd/denker-phd.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/denker-phd.pdf} } @inproceedings{Denk08b, Abstract = {Behavioral reflection is crucial to support for example functional upgrades, on-the-fly debugging, or monitoring critical applications. However the use of reflective features can lead to severe problems due to infinite metacall recursion even in simple cases. This is especially a problem when reflecting on core language features since there is a high chance that such features are used to implement the reflective behavior itself. In this paper we analyze the problem of infinite meta-object call recursion and solve it by providing a first class representation of meta-level execution: at any point in the execution of a system it can be determined if we are operating on a meta-level or base level so that we can prevent infinite recursion. We present how meta-level execution can be represented by a meta-context and how reflection becomes context-aware. Our solution makes it possible to freely apply behavioral reflection even on system classes: the meta-context brings stability to behavioral reflection. We validate the concept with a robust implementation and we present benchmarks.}, Aeres = {ACT}, Aeresstatus = {aeres12}, Annote = {internationalconference}, Author = {Marcus Denker and Mathieu Suen and St\'ephane Ducasse}, Booktitle = {Proceedings of TOOLS EUROPE 2008}, Doi = {10.1007/978-3-540-69824-1_13}, Hal = {inria-00271286,p56w09p}, Inria = {RMD}, Issn = {1865-1348}, Keywords = {scg08 scg-pub jb08 fb08 snf08 reflectivity}, Medium = {2}, Pages = {218--237}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Selectif = {non}, Series = {LNBIP}, Title = {The Meta in Meta-object Architectures}, Url = {http://scg.unibe.ch/archive/papers/Denk08bMetaContextLNBIP.pdf}, Volume = 11, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Denk08bMetaContextLNBIP.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-69824-1_13} } @inproceedings{Denk10a, Abstract = {A feature represents a functional requirement fulfilled by a system. Since many maintenance tasks are expressed in terms of features, it is important to establish the correspondence between a feature and its implementation in source code. Traditional approaches to establish this correspondence exercise features to generate a trace of runtime events, which is then processed by post-mortem analysis. These approaches typically generate large amounts of data to analyze. Due to their static nature, these approaches do not support incremental and interactive analysis of features. We propose a radically different approach called live feature analysis, which provides a model at runtime of features. Our approach analyzes features on a running system and also makes it possible to grow feature representations by exercising different scenarios of the same feature, and identifies execution elements even to the sub-method level. We describe how live feature analysis is implemented effectively by annotating structural representations of code based on abstract syntax trees. We illustrate our live analysis with a case study where we achieve a more complete feature representation by exercising and merging variants of feature behavior and demonstrate the efficiency or our technique with benchmarks.}, Author = {Marcus Denker and Jorge Ressia and Orla Greevy and Oscar Nierstrasz}, Annote = {internationalconference}, Booktitle = {Proceedings of MODELS 2010 Part II}, Publisher = {Springer-Verlag}, Series = {LNCS}, Volume = 6395, Pages = {138--152}, Keywords = {snf10 jb11 scg-pub scg10 bifrost}, Month = oct, Title = {Modeling Features at Runtime}, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Denk10a-Models10-FeatureModels.pdf}, Doi = {10.1007/978-3-642-16129-2_11}, PeerReview = {yes}, Medium = {2}, ISBN = {978-3-642-16128-5}, Misc = {Acceptance rate: 20.8\%} } @proceedings{Denn96a, Address = {Leysin, Suisse}, Booktitle = {Actes LMO '96}, Editor = {Yves Dennebouy}, Keywords = {lmo96 scglib}, Misc = {16-18 Octobre}, Month = oct, Publisher = {EPFL}, Title = {Languages et Mod\`eles \`a Objets}, Year = {1996} } @inproceedings{Dent97a, Author = {Enrico Denti and Antonio Natali and Andrea Omicini}, Booktitle = {Proceedings of COORDINATION '97 (Coordination Languages and Models}, Editor = {David Garlan and Daniel Le M{\'e}tayer}, Keywords = {olit coordination97}, Pages = {274--288}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Programmable Coordination Medium}, Volume = 1282, Year = {1997} } @inproceedings{Deri96a, 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.}, Author = {Luca Deri}, Booktitle = {ECOOP '96 Workshop on 'OO Technologies For Network and Service Management' Proceedings}, Brokenurl = {http://www.zurich.ibm.com/~lde/SimpleNM.ps.Z}, Keywords = {olit scg-pub skip-doi toBeChecked snf96 jb96}, Month = jul, Title = {Network Management for the 90s}, Year = {1996} } @inproceedings{Deri96b, 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.}, Author = {Luca Deri}, Booktitle = {2nd International IEEE Workshop on Systems Management Proceedings}, Brokenurl = {http://www.zurich.ibm.com/~lde/Surfin.ps.Z}, Keywords = {olit scg-pub skip-doi toBeChecked snf96 jb96}, Month = jun, Pages = {158--167}, Title = {Surfin' Network Resources Across the Web}, Year = {1996} } @phdthesis{Deri97a, Author = {Luca Deri}, Keywords = {snf-none olit scg-pub skip-doi skip-abstract toBeChecked scg-phd jb97}, Month = jun, School = {University of Bern}, Title = {A Component-based Architecture for Open, Independently Extensible Distributed Systems}, Type = {{Ph.D}. Thesis}, Url = {http://scg.unibe.ch/archive/phd/deri-phd.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/deri-phd.pdf} } @article{Derr85a, Author = {Nigel Derrett and William Kent and P. Lyngbaek}, Journal = {IEEE Database Engineering}, Keywords = {olit-db iris}, Month = dec, Number = {4}, Pages = {66--74}, Title = {Some Aspects of Operations in an Object-Oriented Database}, Volume = {8}, Year = {1985} } @inproceedings{Ders93a, Author = {N. Deshowitz}, Booktitle = {Proceedings TAPSOFT '93}, Month = apr, Pages = {243--250}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Trees, Ordinals and Termination}, Volume = {668}, Year = {1993} } @inproceedings{Dery96a, Annote = {nationalconference}, Author = {Anne-Marie Dery and St\'ephane Ducasse and Mireille Fornarino}, Booktitle = {Actes d'Interfaces Hommes Machine (IHM'96)}, Keywords = {stefPub}, Title = {Inhibition et resynchronisation des contr\^oleurs de dialogue}, Year = {1996} } @incollection{Dery96b, Annote = {articlebook}, Author = {Anne-Marie Dery and St\'ephane Ducasse and Mireille Fornarino}, Booktitle = {Ing\'eni\`erie Objet}, Editor = {O. Mourad}, Keywords = {stefPub}, Note = {ISBN: 2-7296-0642-4}, Pages = {131--155}, Publisher = {Inter-Editions}, Title = {Objets et D\'ependances}, Year = {1996} } @techreport{Dery96c, Annote = {report notrefereed}, Author = {Anne-Marie Dery and St\'ephane Ducasse and Mireille Fornarino}, Institution = {Laboratoire I3S}, Keywords = {stefPub}, Number = {I3S Lab, RR-96-06}, Title = {A New Vision of Control in the {PAC} Model}, Year = {1996} } @inproceedings{DesR88a, Author = {Jim des Rivi\`eres}, Booktitle = {Meta-level Architectures and Reflection}, Editor = {North-Holland, P. Maes and D. Nardi}, Pages = {101--110}, Title = {Control-{Related} {Meta}-{Level} {Facilities} in {LISP}}, Year = {1988} } @inproceedings{Desf00a, Author = {Desfray, P}, Booktitle = {Uml In The.Com Enterprise: Modeling CORBA, Components, XML/XMI And Metadata Workshop}, Pages = {6--9}, Title = {UML Profiles versus Metamodeling Extensions. . . an Ongoing Debate}, Year = {2000} } @inproceedings{Desm06a, Address = {University of Twente, Enschede, The Netherlands}, Author = {Brecht Desmet and Jorge Vallejos and Pascal Costanza}, Booktitle = {3rd European Workshop on Aspects in Sofware (EWAS 2006)}, Keywords = {cop-lit}, Month = aug, Title = {Introducing Mixin Layers to Support the Development of Context-Aware Systems}, Url = {http://p-cos.net/documents/mixin-layers.pdf}, Year = {2006}, Bdsk-Url-1 = {http://p-cos.net/documents/mixin-layers.pdf} } @inproceedings{Desm06b, Address = {Nantes, France}, Author = {Brecht Desmet and Jorge Vallejos Vargas and Stijn Mostinckx and Pascal Costanza}, Booktitle = {ECOOP 2006 Workshop on Object Technology for Ambient Intelligence and Pervasive Computing (OT4AmI)}, Keywords = {cop-lit}, Month = jul, Title = {Using Mixin Layers for Context-Aware and Self-Adaptable Systems}, Url = {http://p-cos.net/documents/vub-prog-tr-06-14.pdf}, Year = {2006}, Bdsk-Url-1 = {http://p-cos.net/documents/vub-prog-tr-06-14.pdf} } @inproceedings{Desm06c, Address = {Washington, DC, USA}, Author = {Michael Desmond and Margaret-Anne Storey and Chris Exton}, Booktitle = {ICPC '06: Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC'06)}, Doi = {10.1109/ICPC.2006.24}, Isbn = {0-7695-2601-2}, Pages = {260--263}, Publisher = {IEEE Computer Society}, Title = {Fluid Source Code Views}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.24} } @inproceedings{Detl99a, 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.}, Address = {Lisbon, Portugal}, Author = {David Detlefs and Ole Agesen}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {258--278}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inlining of Virtual Methods}, Volume = 1628, Year = {1999} } @inproceedings{Deur97a, Author = {Deursen, {Arie van} and Paul Klint}, Booktitle = {First ACM-SIGPLAN Workshop on Domain-Specific Languages; DSL'97}, Editor = {S. Kamin}, Keywords = {dsllit}, Month = jan, Pages = {109--127}, Title = {Little Languages: Little Maintenance?}, Year = {1997} } @inproceedings{Deur98a, Author = {Deursen, {Arie van} and Leon Moonen}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {220--229}, Publisher = {IEEE Computer Society}, Title = {Type Inference for COBOL Systems}, Year = {1998} } @inproceedings{Deur99a, Author = {Deursen, {Arie van} and Tobias Kuipers}, Booktitle = {Proceedings ICSM'99 (International Conference on Software Maintenance)}, Editor = {Hongji Yang and Lee White}, Month = sep, Pages = {40--49}, Publisher = {IEEE}, Title = {Building Document Generators}, Year = {1999} } @inproceedings{Deur99b, 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.}, Author = {Deursen, {Arie van} and Tobias Kuipers}, Booktitle = {ICSE}, Pages = {246--255}, Publisher = {IEEE Press}, Title = {Identifying objects using cluster and concept analysis}, Year = {1999} } @article{Deur00a, Author = {Deursen, {Arie van} and Paul Klint and Joost Visser}, Doi = {10.1145/352029.352035}, Journal = {ACM SIGPLAN Notices}, Keywords = {dsllit}, Month = jun, Number = {6}, Pages = {26--36}, Title = {Domain-Specific Languages: An Annotated Bibliography}, Url = {http://homepages.cwi.nl/~arie/papers/dslbib.pdf}, Volume = {35}, Year = {2000}, Bdsk-Url-1 = {http://homepages.cwi.nl/~arie/papers/dslbib.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/352029.352035} } @inproceedings{Deur01a, Author = {Deursen, {Arie van} and Leon Moonen and Bergh, {Alex van den} and Gerard Kok}, Booktitle = {Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes (XP2001)}, Editor = {M. Marchesi}, Keywords = {testing}, Pages = {92--95}, Publisher = {University of Cagliari}, Title = {Refactoring Test Code}, Url = {http://homepages.cwi.nl/~leon/papers/xp2001/xp2001.pdf}, Year = {2001}, Bdsk-Url-1 = {http://homepages.cwi.nl/~leon/papers/xp2001/xp2001.pdf} } @inproceedings{Deur01b, Author = {Deursen, {Arie van}}, Booktitle = {Working Conference on Reverse Engineering}, Keywords = {Testing Comprehension}, Pages = {176-}, Title = {Program Comprehension Risks and Opportunities in Extreme Programming}, Year = {2001} } @inproceedings{Deur02a, Author = {Deursen, {Arie van} and Leon Moonen}, 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, Title = {The Video Store Revisited --- Thoughts on Refactoring and Testing}, Year = {2002} } @inproceedings{Deur04a, Author = {Deursen, {Arie van} and Hofmeister, Christine and Koschke, Rainer and Moonen, Leon and Riva, Claudio}, Booktitle = {Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA)}, Key = {Deursen}, Pages = {122--134}, Title = {Symphony: View-Driven Software Architecture Reconstruction}, Url = {http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm}, Year = {2004}, Bdsk-Url-1 = {http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm} } @article{Deut76a, Author = {L. Peter Deutsch and Daniel G. Bobrow}, Journal = {CACM}, Keywords = {olit memory lisp}, Month = sep, Number = {9}, Pages = {522--526}, Title = {An Efficient, Incremental Garbage Collector}, Volume = {19}, Year = {1976} } @inproceedings{Deut84a, Address = {Salt Lake City, Utah}, Author = {L. Peter Deutsch and Allan M. Schiffman}, Booktitle = {Proceedings POPL '84}, Doi = {10.1145/800017.800542}, Keywords = {olit-oopl smalltalk casais popl84}, Misc = {Jan. 15-18}, Month = jan, Title = {Efficient Implementation of the {Smalltalk}-80 system}, Url = {http://webpages.charter.net/allanms/popl84.pdf}, Year = {1984}, Bdsk-Url-1 = {http://webpages.charter.net/allanms/popl84.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/800017.800542} } @inproceedings{Deut89a, Address = {Nottingham}, Author = {L. Peter Deutsch}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit smalltalk binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {73--87}, Publisher = {Cambridge University Press}, Title = {The Past, Present and Future of {Smalltalk}}, Year = {1989} } @book{Deut89b, Address = {Reading, Mass.}, Author = {L. Peter Deutsch}, Keywords = {olit smalltalk}, Pages = {57--71}, Publisher = {ACM Press \& Addison Wesley}, Title = {Design Reuse and Frameworks in the {Smalltalk}-80 System Software Reusability}, Volume = {II}, Year = {1989} } @article{Deux90a, 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.}, Author = {O. Deux and et al.}, Journal = {IEEE Transactions on Knowledge and Data Engineering}, Keywords = {olit-oodb (smc)}, Month = mar, Number = {1}, Pages = {91--108}, Title = {The Story of O2}, Volume = {2}, Year = {1990} } @article{Deva91a, Author = {P. Devanbu and R. Brachman and P. Selfridge and B. Ballard}, Journal = {CACM}, Keywords = {olit}, Month = may, Number = {5}, Pages = {34--49}, Title = {LaSSIE: {A} Knowledge-Based Software Information System}, Volume = {34}, Year = {1991} } @article{Deve84a, Author = {J. Devereux and P. H{\"a}berli and O. Smithies}, Journal = {Nucleic Acids Research}, Keywords = {dotplot}, Pages = {395--397}, Title = {A Comprehensive Set of Sequence Analysis Programs for the {VAX}}, Volume = {12}, Year = {1984} } @inproceedings{Devo98a, Author = {Martine Devos and Michel Tilman}, Booktitle = {OOPSLA'98 Practioner's Report}, Title = {Incremental development of a repository-based framework supporting organizational inquiry and learning}, Year = {1998} } @misc{Dewa00a, Author = {Rick Dewar et al.}, Keywords = {olit oorp}, Note = {http://www.dcs.ed.ac.uk/home/rgd/wiki/html/PublicReengineering/ReengineeringPatterns.htm}, Title = {PublicReengineering Wiki} } @inproceedings{Dewa99a, Author = {Rick Dewar}, Booktitle = {Proceedings of EuroPLoP 1999}, Keywords = {olit oorp}, Title = {Characteristics of Legacy System Reengineering}, Url = {http://www.argo.be/europlop/writers.htm}, Year = {1999}, Bdsk-Url-1 = {http://www.argo.be/europlop/writers.htm} } @book{Dewd93a, Author = {A. K. Dewdney}, Keywords = {scglib}, Publisher = {W. H. Freeman and Company}, Title = {The {Tinkertoy} Computer and Other Machinations}, Year = {1993} } @inproceedings{Dewh87a, Address = {Paris, France}, Author = {S.C. Dewhurst}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc oorp}, Misc = {June 15-17}, Month = jun, Pages = {71--78}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Representation of Scope During Translation}, Volume = {276}, Year = {1987} } @article{Dey01a, Address = {London, UK}, Author = {Anind K. Dey}, Doi = {10.1007/s007790170019}, Issn = {1617-4909}, Journal = {Personal Ubiquitous Computing}, Number = {1}, Pages = {4--7}, Publisher = {Springer-Verlag}, Title = {Understanding and Using Context}, Volume = {5}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s007790170019} } @article{Dey01b, author = {Dey, Anind K. and Abowd, Gregory D. and Salber, Daniel}, title = {A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications}, journal = {Human-Computer Interaction}, volume = {16}, number = {2}, doi = {10.1207/S15327051HCI16234_02}, month = dec, year = {2001}, pages = {97--166}, publisher = {L. Erlbaum Associates Inc.}, address = {Hillsdale, NJ, USA}, keywords = {damiencbib context toolkit} } @inproceedings{Deza08a, Abstract = {The demands of developing modern, highly dynamic applications have led to an increasing interest in dynamic programming languages and mechanisms. Not only applications must evolve over time, but the object models themselves may need to be adapted to the requirements of different run-time contexts. Class-based models and prototype-based models, for example, may need to co-exist to meet the demands of dynamically evolving applications. Multi-dimensional dispatch, fine-grained and dynamic software composition, and run-time evolution of behaviour are further examples of diverse mechanisms which may need to co-exist in a dynamically evolving run-time environment How can we model the semantics of these highly dynamic features, yet still offer some reasonable safety guarantees? To this end we present an original calculus in which objects can adapt their behaviour at run-time to changing contexts. Both objects and environments are represented by first-class mappings between variables and values. Message sends are dynamically resolved to method calls. Variables may be dynamically bound, making it possible to model a variety of dynamic mechanisms within the same calculus. Despite the highly dynamic nature of the calculus, safety properties are assured by a type assignment system.}, Annote = {internationalworkshop}, Author = {Mariangiola Dezani-Ciancaglini and Paola Giannini and Oscar Nierstrasz}, Bdsk-Url-1 = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html http://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf}, Booktitle = {Proceedings of the 6th International Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL 2008)}, Keywords = {snf08 scg08 scg-pub skip-doi jb08 cop-lit}, Medium = {2}, Note = {Extended version published in Scientific Annals of Computer Science}, Peerreview = {yes}, Title = {A Calculus of Evolving Objects}, Url = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html http://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf}, Year = {2008}, Bdsk-Url-2 = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html%20http://scg.unibe.ch/archive/papers/Deza08aEvolvingObjects.pdf} } @article{Deza08b, Abstract = {The demands of developing modern, highly dynamic applications have led to an increasing interest in dynamic programming languages and mechanisms. Not only must applications evolve over time, but the object models themselves may need to be adapted to the requirements of different run-time contexts. Class-based models and prototype-based models, for example, may need to co-exist to meet the demands of dynamically evolving applications. Multi-dimensional dispatch, fine-grained and dynamic software composition, and run-time evolution of behaviour are further examples of diverse mechanisms which may need to co-exist in a dynamically evolving run-time environment. How can we model the semantics of these highly dynamic features, yet still offer some reasonable safety guarantees? To this end we present an original calculus in which objects can adapt their behaviour at run-time. Both objects and environments are represented by first-class mappings between variables and values. Message sends are dynamically resolved to method calls. Variables may be dynamically bound, making it possible to model a variety of dynamic mechanisms within the same calculus. Despite the highly dynamic nature of the calculus, safety properties are assured by a type assignment system.}, Annote = {internationaljournal}, Author = {Mariangiola Dezani-Ciancaglini and Paola Giannini and Oscar Nierstrasz}, Bdsk-Url-1 = {http://www.info.uaic.ro/bin/Annals/XVIII http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf}, Journal = {Scientific Annals of Computer Science}, Keywords = {snf09 scg08 scg-pub skip-doi jb09 cop-lit}, Medium = {2}, Organization = {``A.I. Cuza'' University, Ia\c si, Rom\^ania}, Pages = {63-98}, Peerreview = {yes}, Publisher = {``A.I. Cuza'' University Press, Ia\c si}, Title = {A Calculus of Evolving Objects}, Url = {http://www.info.uaic.ro/bin/Annals/XVIII http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf}, Volume = {XVIII}, Year = {2008}, Bdsk-Url-2 = {http://www.info.uaic.ro/bin/Annals/XVIII%20http://scg.unibe.ch/archive/papers/Deza08bEvolvingObjects.pdf} } @inproceedings{DiLu01a, Author = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di Penta} and Anna Rita Fasolino and Pasquale Granato}, Booktitle = {Proceedings Seventh IEEE Workshop on Empirical Studies of Software Maintenance}, Month = oct, Publisher = {IEEE}, Title = {Clone Analysis in the Web Era: an Approach to Identify Cloned Web Pages}, Year = {2001} } @inproceedings{DiLu02a, Address = {Oxford, UK}, Author = {Guiseppe Antonio {Di Lucca} and Massimiliano {Di Penta} and Anna Rita Fasolino}, Booktitle = {Proceedings of the 26th Annual Computer Software and Application Conference}, Keywords = {clones}, Month = aug, Pages = {481--486}, Publisher = {IEEE}, Title = {An Approach to Identify Duplicated Web Pages}, Year = {2002} } @book{Diac98a, Address = {Singapore}, Author = {R. Diaconescu and K. Futatsugi}, Publisher = {World Scientific}, Title = {Cafe{OBJ} Report}, Year = {1998} } @book{Diaz89a, Address = {Barcelona, Spain}, Editor = {J. D\'iaz and F. Orejas}, Isbn = {3-540-53939-9}, Keywords = {olit tapsoft89 scglib}, Month = mar, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {TAPSOFT}'89: Volume 1}, Volume = {351}, Year = {1989} } @book{Diaz89b, Address = {Barcelona, Spain}, Editor = {J. D\'iaz and F. Orejas}, Isbn = {3-540-53940-2}, Keywords = {olit tapsoft89 scglib}, Month = mar, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {TAPSOFT}'89: Volume 2}, Volume = {352}, Year = {1989} } @inproceedings{Diaz05a, Address = {New York, NY, USA}, Author = {J. Andres Diaz-Pace and Marcelo R. Campo}, Booktitle = {Proceedings of Object Oriented Programming, Systems, Languages, and Applications (OOPSLA'2005)}, Doi = {10.1145/1094811.1094821}, Isbn = {1-59593-031-0}, Location = {San Diego, CA, USA}, Pages = {117--132}, Publisher = {ACM Press}, Title = {ArchMatE: From Architectural Styles to Object-Oriented Models through Exploratory Tool Support}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1094811.1094821} } @book{Diba99a, Author = {Giuseppe Di Battista and Peter Eades and Roberto Tamassia and Ioannis G. Tolls}, Keywords = {scglib}, Publisher = {Prentice-Hall}, Title = {Graph Drawing --- Algorithms for the visualization of graphs}, Year = {1999} } @inproceedings{Dick95a, Author = {Herv{\'e} Dicky and Christoph Dony and Marianne Huchard and Th{\'e}r{\`e}se Libourel}, Booktitle = {BDA: 11\`emes Journ\'ees Bases de Donn\'ees Avanc\'ees}, Keywords = {fca}, Location = {Nancy, France}, Pages = {25--42}, Title = {{ARES}, {Adding} a class and {RES}tructuring {Inhertitance} {Hierarchy}}, Url = {http://www.lirmm.fr/w3arc/fr/publications/1995/}, Year = {1995}, Bdsk-Url-1 = {http://www.lirmm.fr/w3arc/fr/publications/1995/} } @inproceedings{Dick96a, Author = {Herv{\'e} Dicky and Christoph Dony and Marianne Huchard and Th{\'e}r{\`e}se Libourel}, Booktitle = {Proceedings of {OOPSLA} '96 (11th ACM SIGPLAN conference on Object-oriented Programming, Systems, Languages, and Applications)}, Location = {San Jose, California, United States}, Pages = {251--267}, Publisher = {ACM Press}, Title = {On {Automatic} {Class} {Insertion} with {Overloading}}, Year = {1996} } @inproceedings{Dick01a, Author = {William Dickinson and David Leon and Andy Podgurski}, Booktitle = {Proceedings of the 23rd international conference on Software engineering}, Isbn = {0-7695-1050-7}, Keywords = {testing}, Location = {Toronto, Ontario, Canada}, Pages = {339--348}, Publisher = {IEEE Computer Society}, Title = {Finding failures by cluster analysis of execution profiles}, Year = {2001} } @inproceedings{Diec99a, 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.}, Address = {Lisbon, Portugal}, Author = {Sylvia Dieckmann and Urs H{\"o}lzle}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {92--115}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Study of the Allocation Behavior of the SPECjvm98 {Java} Benchmarks}, Volume = 1628, Year = {1999} } @inproceedings{Died87a, Author = {Jim Diederich and Jack Milton}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {61--77}, Title = {An Object-Oriented Design System Shell}, Volume = {22}, Year = {1987} } @incollection{Died89a, Address = {Reading, Mass.}, Author = {Jim Diederich and Jack Milton}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit-db design oocda89}, Pages = {177--197}, Publisher = {ACM Press and Addison Wesley}, Title = {Objects, Messages and Rules in Database Design}, Year = {1989} } @book{Dieh02a, Editor = {Stephan Diehl}, Keywords = {scglib newentry}, Publisher = {Springer}, Title = {Software Visualization}, Year = {2002} } @book{Dieh07a, Address = {Berlin Heidelberg}, Author = {Stephan Diehl}, Isbn = {978-3-540-46504-1}, Publisher = {Springer-Verlag}, Title = {Software Visualization}, Year = {2007} } @inproceedings{Diet89a, Author = {Dietrich, Jr., Walter C. and Lee R. Nackman and Franklin Gracer}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {77--84}, Title = {Saving a Legacy With Objects}, Volume = {24}, Year = {1989} } @techreport{Diet99a, Author = {Urs Dietrich and Christian Kaufmann}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = oct, Title = {Dokumentation zu BernHist {III}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Diet99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Diet99a.pdf} } @inproceedings{Diet07a, Address = {Berlin, Germany}, Author = {W. Dietl and P. M{\"u}ller}, Booktitle = {Proceedings of the International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO'07)}, Editor = {Tobias Wrigstad}, Month = jul, Title = {Runtime Universe Type Inference}, Year = {2007} } @inproceedings{Dig05a, Author = {Daniel Dig and Ralph Johnson}, Booktitle = {Proceedings of 21st International Conference on Software Maintenance (ICSM 2005)}, Keywords = {evolution van}, Month = sep, Pages = {389--398}, Title = {The Role of Refactorings in {API} Evolution}, Year = {2005} } @inproceedings{Dig06, Address = {New York, NY, USA}, Author = {Dig, Danny and Johnson, Ralph}, Booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1176617.1176668}, Isbn = {1-59593-491-X}, Location = {Portland, Oregon, USA}, Pages = {675--676}, Publisher = {ACM}, Title = {Automated upgrading of component-based applications}, Url = {http://doi.acm.org/10.1145/1176617.1176668}, Year = {2006}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1176617.1176668}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1176617.1176668} } @article{Dig06a, Author = {Danny Dig and Ralph Johnson}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)}, Keywords = {evolution}, Month = apr, Number = 2, Pages = {83--107}, Title = {How do {APIs} evolve? A story of refactoring}, Volume = 18, Year = {2006} } @inproceedings{Dig06b, Author = {Danny Dig and Can Comertoglu and Darko Marinov and Ralph Johnson}, Booktitle = {ECOOP}, Doi = {10.1007/11785477_24}, Pages = {404-428}, Title = {Automated Detection of Refactorings in Evolving Components}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11785477_24} } @inproceedings{Dig07a, Author = {Danny Dig and Kashif Manzoor and Ralph Johnson and Tien Nguyen}, Booktitle = {International Conference on Software Engineering (ICSE 2007)}, Keywords = {evolution scm}, Pages = {427--436}, Title = {Refactoring-aware Configuration Management for Object-Oriented Programs}, Year = {2007} } @inproceedings{Digi98a, Author = {Di Gianantonio, Pietro and Honsell, Furio and Liquori, Luigi}, Title = {A lambda calculus of objects with self-inflicted extension}, Booktitle = {Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = {OOPSLA '98}, Year = {1998}, Isbn = {1-58113-005-8}, Location = {Vancouver, British Columbia, Canada}, Pages = {166--178}, Numpages = {13}, Url = {http://doi.acm.org/10.1145/286936.286955}, Doi = {10.1145/286936.286955}, Acmid = {286955}, Publisher = {ACM}, Address = {New York, NY, USA} } @incollection{Dijk68a, Address = {New York}, Author = {Edsgar W. Dijkstra}, Booktitle = {Programming Languages}, Editor = {F. Genuys}, Keywords = {concurrency}, Pages = {43--112}, Publisher = {Academic Press}, Title = {Co-operating Sequential Processes}, Year = {1968} } @article{Dijk68b, Author = {Edsgar W. Dijkstra}, Journal = {CACM}, Keywords = {concurrency}, Month = may, Number = {5}, Pages = {341--346}, Title = {The Structure of the "{THE}" multiprogramming systems"}, Volume = {11}, Year = {1968} } @article{Dijk68c, Author = {Edsger W. Dijkstra}, Journal = {Communications of the ACM}, Month = mar, Number = {3}, Pages = {147--148}, Title = {Go To Statement Considered Harmful}, Volume = {11}, Year = {1968} } @article{Dijk71a, Author = {Edsger W. Dijkstra}, Journal = {Acta Informatica}, Keywords = {dining philosophers}, Number = {2}, Pages = {115--138}, Title = {Hierarchical ordering of sequential processes}, Url = {http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF}, Volume = {1}, Year = {1971}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD310.PDF} } @article{Dijk72a, Address = {New York, NY, USA}, Author = {Edsgar W. Dijkstra}, Doi = {10.1145/355604.361591}, Issn = {0001-0782}, Journal = {Commun. ACM}, Keywords = {comprehension ei-lit}, Number = {10}, Pages = {859--866}, Publisher = {ACM}, Title = {The Humble Programmer}, Url = {http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html}, Volume = {15}, Year = {1972}, Bdsk-Url-1 = {http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/355604.361591} } @incollection{Dijk72b, Address = {New York, NY}, Author = {E. W. Dijkstra}, Booktitle = {Structured Programming}, Editor = {E. Dijkstra and O-J. Dahl and C. A. R. Hoare}, Pages = {1--82}, Publisher = {Academic Press, Inc.}, Title = {Notes on Structured Programming}, Year = {1972} } @article{Dijk72c, Author = {Edsgar W. Dijkstra}, Journal = {EWD}, Keywords = {separation of concerns}, Pages = {60--66}, Publisher = {Springer-Verlag}, Title = {Selected Writings on Computing: A Personal Perspective}, Volume = {477}, Year = {1972} } @article{Dijk75a, Author = {Edsgar W. Dijkstra}, Journal = {CACM}, Keywords = {concurrency}, Month = aug, Number = {8}, Pages = {453--457}, Title = {Guarded Commands, Nondeterminacy, and Formal Derivation of Programs}, Volume = {18}, Year = {1975} } @book{Dijk76, Author = {Edsger Wybe Dijkstra}, Publisher = {Prentice Hall}, Title = {A Discipline of Programming}, Year = {1976} } @article{Dijk78a, Author = {Edsgar W. Dijkstra and Leslie Lamport and A.J. Martin and C.S. Scholten and E.F.M. Steffens}, Journal = {CACM}, Keywords = {concurrency memory}, Month = nov, Number = {11}, Title = {On-the-Fly Garbage Collection: An Exercise in Cooperation}, Volume = {21}, Year = {1978} } @book{Dijk90a, Author = {E.W. Dijkstra and C. S. Scholten}, Isbn = {3-540-96957-8}, Keywords = {Predicate calculus semantics scglib}, Publisher = {Springer Verlag}, Title = {Predicate Calculus and Program Semantics}, Year = {1990} } @book{Diko92a, Author = {Marc Dik{\"o}tter}, Keywords = {olit-oopl gee binder (shelf)}, Publisher = {Ecole Polytechnique F\'ed\'erale de Lausanne (EPFL)}, Title = {Le Calcul des Accepteurs: Une Approache Uniforme de l'Abstraction}, Year = {1992} } @article{Dimit04a, Author = {Sergey Dimitriev}, Journal = {onBoard Online Magazine}, Keywords = {dsllit}, Month = nov, Number = {1}, Title = {Language Oriented Programming: The Next Programming Paradigm}, Url = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/}, Volume = {1}, Year = {2004}, Bdsk-Url-1 = {http://www.onboard.jetbrains.com/is1/articles/04/10/lop/} } @inproceedings{Ding01a, Author = {Lei Ding and Nenad Medvidovic}, Booktitle = {Working Conference on Software Architecture (WICSA)}, Pages = {191--201}, Title = {Focus: A Light-Weight, Incremental Approach to Software Architecture Recovery and Evolution}, Year = {2001} } @book{Dipe05a, Address = {Milano}, Editor = {Massimiliano {Di Penta} and Maarit Harsu}, Isbn = {88-464-6396-X}, Keywords = {scglib}, Publisher = {Franco Angeli}, Series = {RCOST / Software Technology Series}, Title = {Tools for Software Maintenance and Reengineering}, Year = {2005} } @inproceedings{Dipe07a, Address = {Washington, DC, USA}, Author = {Massimiliano Di Penta and R. E. K. Stirewalt and Eileen Kraemer}, Booktitle = {Proceedings of the 15th International Conference on Program Comprehension}, Doi = {10.1109/ICPC.2007.17}, Isbn = {0-7695-2860-0}, Pages = {281--285}, Publisher = {IEEE Computer Society}, Title = {Designing your Next Empirical Study on Program Comprehension}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2007.17} } @article{Dipe08a, author = {Massimiliano Di Penta and Luigi Cerulo and Lerina Aversano}, title = {The Evolution and Decay of Statically Detected Source Code Vulnerabilities}, journal = {Source Code Analysis and Manipulation, IEEE International Workshop on}, volume = {0}, isbn = {978-0-7695-3353-7}, year = {2008}, pages = {101-110}, doi = {10.1109/SCAM.2008.20}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @inproceedings{Ditt86a, Author = {K. Dittrich and W. Gotthard and P. Lockemann}, Booktitle = {Proceedings of the International Workshop on Advanced Programming Environments}, Keywords = {scm}, Pages = {353--371}, Series = {LNCS}, Title = {DAMOKLES, a Database System for Software Engineering Environments}, Volume = {244}, Year = {1986} } @techreport{Diwa02a, author = {Amer Diwan and Han Lee and Dirk Grunwald}, title = {Energy consumption and garbage collection in low-powered computing}, institution = {University of Colorado}, Type = {CU-CS-930-02}, year = {2002} } @book{Dix04a, Author = {Alan Dix, Janet E. Finlay, Gregory D. Abowd}, Date-Added = {2006-08-25 10:48:43 +0200}, Date-Modified= {2006-08-25 10:57:09 +0200}, Keywords = {hci}, Publisher = {Prentice Hall}, Title = {Human-Computer Interaction (3rd Edition)}, Year = {2004} } @inproceedings{Dixo89a, Author = {R. Dixon and T. McKee and M. Vaughan and P. Schweizer}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit-inheritance oopsla89}, Month = oct, Pages = {211--214}, Title = {A Fast Method Dispatcher for Compiled Languages with Multiple Inheritance}, Volume = {24}, Year = {1989} } @inproceedings{Dixo89b, Address = {Nottingham}, Author = {G.N. Dixon and Graham D. Parrington and Santosh K. Shrivastava and Stuart M. Wheater}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl arjuna ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {169--189}, Publisher = {Cambridge University Press}, Title = {The Treatment of Persistent Objects in Arjuna}, Year = {1989} } @inproceedings{Dmit99a, Address = {San Francisco, CA, USA}, Author = {Dmitriev, Misha}, Booktitle = {Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3)}, Date-Added = {2010-06-20 14:28:39 +0200}, Date-Modified= {2010-06-20 14:28:39 +0200}, Isbn = {1-55860-585-1}, Keywords = {schema-evolution;persistency; refactoring; dsu}, Pages = {279--296}, Publisher = {Morgan Kaufmann Publishers Inc.}, Rating = {3}, Title = {The First Experience of Class Evolution Support in PJama}, Year = {1999} } @inproceedings{Dmit01a, Author = {M. Dmitriev}, 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, Title = {Towards Flexible and Safe Technology for Runtime Evolution of {Java} Language Applications}, Year = {2001} } @inproceedings{Dmit04a, author = {Mikhail Dmitriev}, title = {Profiling Java Applications Using Code Hotswapping and Dynamic Call Graph Revelation}, booktitle = {WOSP '04: Proceedings of the Fourth International Workshop on Software and Performance}, year = {2004}, isbn = {1-58113-673-0}, pages = {139--150}, location = {Redwood Shores, California}, publisher = {ACM Press} } @inproceedings{Dmit04b, Author = {M. Dmitriev}, Booktitle = {Proceedings of the Fourth International Workshop on Software and Performance}, Keywords = {java dynamic class modification hotswap}, Pages = {139--150}, Publisher = {ACM Press}, Title = {Profiling Java Applications Using Code Hotswapping and Dynamic Call Graph Revelation}, Year = {2004} } @inproceedings{Dmit04c, author = {Dmitriev, Mikhail}, title = {Profiling Java applications using code hotswapping and dynamic call graph revelation}, booktitle = {Proceedings of the 4th international workshop on Software and performance}, series = {WOSP '04}, year = {2004}, isbn = {1-58113-673-0}, location = {Redwood Shores, California}, pages = {139--150}, numpages = {12}, url = {http://doi.acm.org/10.1145/974044.974067}, doi = {10.1145/974044.974067}, acmid = {974067}, publisher = {ACM}, address = {New York, NY, USA} } @misc{Dmit04d, Author = {Sergey Dmitriev}, Journal = {onBoard online magazine}, Month = nov, Note = {\url{http://www.onboard.jetbrains.com/is1/articles/04/10/lop/mps.pdf}}, Title = {Language Oriented Programming: The Next Programming Paradigm}, Volume = {1}, Year = {2004} } @article{Dobs06a, author = {Dobson, Simon and Denazis, Spyros and Fern\'{a}ndez, Antonio and Ga\"{\i}ti, Dominique and Gelenbe, Erol and Massacci, Fabio and Nixon, Paddy and Saffre, Fabrice and Schmidt, Nikita and Zambonelli, Franco}, title = {A survey of autonomic communications}, journal = {ACM Transactions on Autonomous and Adaptive Systems}, keywords = {damiencbib}, volume = {1}, number = {2}, year = {2006}, issn = {1556-4665}, pages = {223--259}, doi = {10.1145/1186778.1186782}, publisher = {ACM}, address = {New York, NY, USA} } @article{Doda89a, Author = {Mahesh Dodani and Charles Hughes and Michael Moshell}, Journal = {BYTE}, Keywords = {obib(gen) binder}, Month = mar, Number = {3}, Title = {Separation of Powers}, Volume = {14}, Year = {1989} } @article{Doda90a, Author = {Mahesh Dodani and A.J.G. Babu}, Journal = {Computer Science Education Journal}, Keywords = {obib(gen) binder}, Number = {2}, Pages = {191--212}, Title = {Karmarkar's Projective Method for Linear Programming: {A} Computational Appraisal}, Volume = {21}, Year = {1990} } @inproceedings{Doda92a, Address = {Utrecht, the Netherlands}, Author = {Mahesh Dodani and Chung-Shin Tsai}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {types olit ecoop92proc}, Month = jun, Pages = {309--328}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{ACTS}: {A} Type System for Object-Oriented Programming Based on Abstract and Concrete Classes}, Volume = {615}, Year = {1992} } @article{Doda92b, Author = {M. Dodani and C.S. Tsai}, Journal = {Journal of Object-Oriented Systems}, Keywords = {obib(gen) binder}, Number = {??}, Pages = {??-??}, Title = {A Reliable and Flexible Type System for Object-Oriented Programming}, Volume = {??}, Year = {1992} } @article{Doda92c, Author = {M. Dodani and T. Lee and C.S. Tsai}, Journal = {Journal of Theory and Practice of Object-Oriented Systems}, Keywords = {obib(gen) binder}, Number = {??}, Pages = {??-??}, Title = {Integrating Reliable Type Systems Into Object-Oiented Software Development Environments}, Volume = {??}, Year = {1992} } @article{Doda93a, Author = {Mahesh Dodani}, Journal = {Computer Science Education Journal}, Keywords = {obib(gen) binder}, Number = {1}, Pages = {87--98}, Title = {Practical Object-Oriented Software Engineering}, Volume = {4}, Year = {1993} } @article{Doda93b, Author = {Mahesh Dodani}, Journal = {OOPS Messenger}, Keywords = {obib(gen) binder}, Number = {2}, Pages = {251--257}, Title = {Teaching Practical Object-Oriented Engineering}, Volume = {4}, Year = {1993} } @inproceedings{Doda93c, Author = {Mahesh Dodani and J.H. Perng}, Booktitle = {International Conference on Computers and Communications}, Keywords = {obib(gen) binder}, Publisher = {IEEE Computer Society}, Title = {{IOWARE}: {A} Design Architecture for Interactive Object-Oriented Frameworks}, Year = {1993} } @article{Doda94a, Author = {Mahesh Dodani}, Journal = {Report on Object-Oriented Analysis and Desing}, Keywords = {oobib(gen) specification binder}, Month = nov, Number = {4}, Publisher = {SIGS Publications}, Title = {Model-Based Specifications of Object-Oriented Software}, Volume = {1}, Year = {1994} } @incollection{Doda94b, Author = {Mahesh Dodani and Kok Siew Gan}, Booktitle = {Advances in Modular Languages}, Editor = {Peter Schultheses}, Keywords = {oobib(gen) olit-oopl binder}, Pages = {79--92}, Publisher = {University of Ulm (Germany)}, Title = {A Semantic Framework for Understanding the Behavior of Modules and Classes in Programming Languages}, Year = {1994} } @article{Doda94c, Author = {Mahesh Dodani}, Journal = {Report on Object-Oriented Analysis}, Keywords = {oobib(gen) binder}, Month = sep, Number = {3}, Pages = {33--37}, Title = {Specifying Object-Oriented Software}, Volume = {1}, Year = {1994} } @inproceedings{Doda94d, Author = {Mahesh Dodani and Shih-Poe Lee}, Booktitle = {Proceedings of OOPSLA '94 Poster Session}, Keywords = {oobib(gen) binder}, Month = oct, Publisher = {ACM}, Title = {A History-Based Semantic Framework for Object-Oriented Software Engineering Methodologies"}, Year = {1994} } @article{Doda94e, Author = {Mahesh Dodani}, Journal = {Report on Object-Oriented Analysis and Design}, Keywords = {obib(gen) binder}, Month = aug, Number = {2}, Pages = {20--24}, Publisher = {SIGS Publications}, Title = {Fusing Formal Methods with Object-Oriented Software Engineering Methodologies}, Volume = {1}, Year = {1994} } @incollection{Doda94f, Author = {Mahesh Dodani and Chung-Shin Tsai and Siu-Pui Tami Lee}, Booktitle = {TOOLS '94 14th on Technology of Object-Oriented Languages and Systems}, Editor = {E. Ege and B. Meyer and M. Singh}, Keywords = {obib(gen) olit-oopl binder}, Pages = {124--136}, Publisher = {Prentice-Hall}, Title = {Flexible TYpe Systems for Object-Oriented Programming}, Year = {1994} } @article{Doda94g, Author = {Mahesh Dodani}, Journal = {Report on Object-Oriented Analysis and Design}, Keywords = {obib(gen) binder}, Month = jun, Number = {1}, Pages = {17--21}, Publisher = {SIGS Publications}, Title = {Semantically Rich Object-Oriented Software Engineering Methodologies}, Volume = {1}, Year = {1994} } @article{Doda94h, Author = {Mahesh Dodani}, Journal = {Report on Object-Oriented Analysis and Design}, Keywords = {obib(gen) binder}, Month = may, Number = {3}, Pages = {6--7}, Publisher = {SIGS Publications}, Title = {{WANTED}: Archaeological Object-Oriented Designers}, Volume = {7}, Year = {1994} } @article{Doda94i, Author = {Mahesh Dodani}, Journal = {OOPS Messenger}, Keywords = {obib(gen) binder}, Month = apr, Number = {2}, Title = {Formal Methods for Object-Oriented Software Engineering}, Volume = {5}, Year = {1994} } @techreport{Doda94j, Author = {Mahesh Dodani}, Institution = {University of Iowa}, Keywords = {obib(gen) binder}, Title = {A Semantic Framework for Integrating Formal Methods With Object-Oriented ({OO}) Software Engineering Methodologies}, Type = {Report}, Year = {1994} } @article{Doda95a, Author = {Mahesh Dodani}, Journal = {OOPS Messenger}, Keywords = {oobib(gen) binder}, Month = apr, Number = {2}, Title = {An Effective Object-Oriented Software Engineering Curriculum}, Volume = {6}, Year = {1995} } @inproceedings{Doda95b, Author = {Mahesh Dodani and Randall Rupp}, Booktitle = {WIFT '95 Workshop on Industrial-strength Formal Techniques}, Keywords = {oobib(gen) binder}, Title = {Integrating Formal Specifications with Object-Oriented Software Engineering Methodologies: {A} Case Study}, Year = {1995} } @unpublished{Doda95c, Author = {Mahesh Dodani and J.H Perng}, Keywords = {oobib(gen) binder}, Note = {University of Iowa}, Title = {An Object-Oriented Design of a User Interface Framework}, Type = {Draft}, Year = {1995} } @unpublished{Doda95d, Author = {Mahesh Dodani and K.S. Gan}, Keywords = {oobib(gen) binder}, Note = {University of Iowa}, Title = {Dynamic Modules for Establishing Relationships Between Collaborating Objects in Object-Oriented Programming}, Type = {Draft}, Year = {1995} } @inproceedings{Doi88a, Address = {Oslo}, Author = {Norihisa Doi and Yasushi Kodama and Ken Hirose}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-obc ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {250--266}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Implementation of an Operating System Kernel Using Concurrent Object-Oriented Language {ABCL}/c+}, Volume = {322}, Year = {1988} } @article{Dola03a, Address = {Piscataway, NJ, USA}, Author = {J. J. Dolado and M. Harman and M. C. Otero and L. Hu}, Doi = {10.1109/TSE.2003.1214329}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {7}, Pages = {665--670}, Publisher = {IEEE Press}, Title = {An Empirical Investigation of the Influence of a Type of Side Effects on Program Comprehension}, Volume = {29}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2003.1214329} } @misc{DolphinSmalltalk, Author = {DolphinSmalltalk}, Key = {DoplphinSmalltalk}, Month = sep, Note = {http://www.object-arts.com/DolphinSmalltalk.htm}, Title = {{Doplhin} {Smalltalk}}, Year = {2003} } @techreport{Dols02a, Author = {Eelco Dolstra and Eelco Visser}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Keywords = {cclit ptlit stratego dsllit}, Number = {UU-CS-2002-022}, Pubcat = {techreport}, Title = {Building interpreters with rewriting strategies}, Url = {http://www.cs.uu.nl/research/techreps/repo/CS-2002/2002-022.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/repo/CS-2002/2002-022.pdf} } @inproceedings{Doma02a, author = {Domani, Tamar and Goldshtein, Gal and Kolodner, Elliot K. and Lewis, Ethan and Petrank, Erez and Sheinwald, Dafna}, title = {Thread-local heaps for Java}, booktitle = {Proceedings of the 3rd international symposium on Memory management}, series = {ISMM '02}, year = {2002}, isbn = {1-58113-539-4}, location = {Berlin, Germany}, pages = {76--87}, numpages = {12}, url = {http://doi.acm.org/10.1145/512429.512439}, doi = {10.1145/512429.512439}, acmid = {512439}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {JVM, Java, garbage collection, local garbage collection, locality, scalable garbage collection} } @book{Dona76a, Author = {Jim Donahue}, Keywords = {pl-semantics}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Complementary Definitions of Programming Language Semantics}, Volume = {42}, Year = {1976} } @inproceedings{Dona85a, Author = {Jim Donahue}, Booktitle = {Proceedings ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices}, Keywords = {plang mesa}, Month = jul, Pages = {245--251}, Title = {Integration Mechanisms in Cedar}, Volume = {20}, Year = {1985} } @article{Dona85b, Author = {Jim Donahue and Alan Demers}, Journal = {Transactions on Programming Languages and Systems}, Keywords = {types fpl russell tfc binder}, Number = {3}, Pages = {426--445}, Title = {Data Types are Values}, Volume = {7}, Year = {1985} } @inproceedings{Dona99a, Author = {Judith Donath and Karrie Karahalios and Fernanda Viegas}, Booktitle = {Proceedings of the 32nd Hawaii International Conference on System Sciences}, Publisher = {IEEE}, Title = {Visualizing Conversation}, Year = {1999} } @inproceedings{Dony88a, Address = {Oslo}, Author = {Christophe Dony}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc exceptions}, Misc = {August 15-17}, Month = apr, Pages = {146--161}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Exception Handling System for an Object-Oriented Language}, Volume = {322}, Year = {1988} } @inproceedings{Dony90a, Author = {Christophe Dony}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {322--330}, Title = {Exception Handling and Object-Oriented Programming: Towards a Synthesis}, Volume = {25}, Year = {1990} } @inproceedings{Dony92a, Author = {Christophe Dony and Jacques Malenfant and Pierre Cointe}, Booktitle = {Proceedings OOPSLA '92}, Keywords = {ioom-prototype}, Month = oct, Pages = {201--217}, Title = {Prototype-Based Languages: From a New Taxonomy to Constructive Proposals and Their Validation}, Year = {1992} } @inproceedings{Dony96a, Author = {Daniel Bardou and Christophe Dony}, Booktitle = {Proceedings of OOPSLA '96}, Keywords = {ioom-prototype oopsla96}, Month = oct, Pages = {122--137}, Title = {Split Objects: a Disciplined Use of Delegation within Objects}, Year = {1996} } @techreport{Dony98a, Author = {Dony, C. and Huchard, M. and Leblanc, H. and Libourel, T.}, Institution = {CNET}, Keywords = {fca}, Month = apr, Number = {Rapport d'avancement 01.98}, Pages = {2--29}, Title = {Meta-modele de representation de hierarchies de classes}, Year = {1998} } @incollection{Dony98b, Author = {Christophe Dony and Jacques Malenfant and Daniel Bardou}, Booktitle = {Prototype-based Programming: Concepts, Languages and Applications}, Editor = {James Noble and Antero Taivalsaari and Ivan Moore}, Pages = {17--45}, Publisher = {Springer Verlag}, Title = {Classification of Object-Centered Languages}, Year = {1998} } @misc{Doors, Key = {Doors}, Keywords = {requirement tracing testing}, Note = {http://www2.telelogic.com/products/doorsers/doors/index.cfm}, Title = {Telelogic DOORS}, Url = {http://www2.telelogic.com/products/doorsers/doors/index.cfm}, Bdsk-Url-1 = {http://www2.telelogic.com/products/doorsers/doors/index.cfm} } @inproceedings{Doue01a, Address = {Berlin, Heidelberg, and New York}, Author = {Remi Douence and Olivier Motelet and Mario Sudholt}, Booktitle = {Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)}, Month = sep, Pages = {170--186}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A formal definition of crosscuts}, Volume = {2192}, Year = {2001} } @article{Doue01b, Address = {Hingham, MA, USA}, Author = {Douence, R\'{e}mi and S\"{u}dholt, Mario}, Doi = {10.1023/A:1011549115358}, Issn = {1388-3690}, Journal = {Higher Order Symbol. Comput.}, Number = {1}, Pages = {7--34}, Publisher = {Kluwer Academic Publishers}, Title = {A Generic Reification Technique for Object-Oriented Reflective Languages}, Volume = {14}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1011549115358} } @techreport{Doue02a, Author = {R\'{e}mi Douence and Mario S\"{u}dholt}, Institution = {Ecole des Mines de Nantes}, Keywords = {aspect}, Month = dec, Title = {A model and a tool for Event-based Aspect-Oriented Programming ({EAOP})}, Type = {Technical Report}, Year = {2002} } @inproceedings{Doue02b, Author = {Douence, R\'{e}mi and Fradet, Pascal and S\"{u}dholt, Mario}, Booktitle = {GPCE'02: Proceedings of the 1st International Conference on Generative Programming and Component Engineering}, Pages = {173-188}, Publisher = {Springer-Verlag}, Title = {A Framework for the Detection and Resolution of Aspect Interactions}, keywords = {damiencbib aspect}, Year = {2002}, address = {London, UK} } @inproceedings{Doue04a, Address = {New York, NY, USA}, Author = {R\'{e}mi Douence and Pascal Fradet and Mario S\"{u}dholt}, Booktitle = {AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development}, Doi = {10.1145/976270.976288}, Isbn = {1-58113-842-3}, Location = {Lancaster, UK}, Pages = {141--150}, Publisher = {ACM Press}, Title = {Composition, reuse and interaction analysis of stateful aspects}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976288} } @inproceedings{Dous05a, Author = {Bernard DOUSSET and Said KAROUACH}, Booktitle = {10i\`eme journ\'ees d'\'etudes sur les syst\`emes d'information \'elabor\'ee: Bibliom\'etrie, Informatique strat\'egique, Veille technologique}, Month = jun, Title = {Manipulation de graphes de grande taille pour l'\'etude des r\'eseaux d'acteurs et des r\'eseaux s\'emantiques}, Year = {2005} } @article{Dout09a, Abstract = {In rapidly evolving domains such as Computer Assisted Orthopaedic Surgery (CAOS) emphasis is often put first on innovation and new functionality, rather than in developing the common infrastructure needed to support integration and reuse of these innovations. In fact, developing such an infrastructure is often considered to be a high-risk venture given the volatility of such a domain. We present CompAS, a method that exploits the very evolution of innovations in the domain to carry out the necessary quantitative and qualitative commonality and variability analysis, especially in the case of scarce system documentation. We show how our technique applies to the CAOS domain by using conference proceedings as a key source of information about the evolution of features in CAOS systems over a period of several years. We detect and classify evolution patterns to determine functional commonality and variability. We also identify non-functional requirements to help capture domain variability. We have validated our approach by evaluating the degree to which representative test systems can be covered by the common and variable features produced by our analysis.}, Annote = {internationaljournal}, Author = {Gis\`ele Douta and Haydar Talib and Oscar Nierstrasz and Frank Langlotz}, Doi = {10.1016/j.infsof.2008.05.017}, Issn = {0950-5849}, Journal = {Information and Software Technology}, Keywords = {scg09 scg-pub jb09 snf09}, Medium = {2}, Number = {2}, Pages = {448-459}, Peerreview = {yes}, Title = {{CompAS}: A new approach to commonality and variability analysis with applications in computer assisted orthopaedic surgery}, Url = {http://scg.unibe.ch/archive/papers/Dout09aCompAS.pdf}, Volume = {51}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Dout09aCompAS.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2008.05.017} } @book{Dowd06a, Author = {Mark Dowd and John McDonald and Justin Schuh}, Isbn = {0-321-44442-6}, Keywords = {reading-math scgbib}, Month = nov, Publisher = {Addison Wesley Professional}, Title = {The art of software security assessment}, Year = {2006} } @book{Down98a, author = {Troy Bryan Downing}, title = {Java {RMI}: Remote Method Invocation}, year = {1998}, isbn = {978-0764580437}, keywords = {damiencbib}, publisher = {IDG Books Worldwide, Inc.}, address = {Foster City, CA, USA} } @mastersthesis{Dozs07a, Abstract = {Reverse engineering software systems, especially large legacy systems, is a difficult task, because of the sheer size and complexity of the systems. Many approaches have been developed to analyze software systems written in different languages. These approaches employ vary techniques like metrics or visualizations, and typically rely on parsing the system and on extracting a model that conforms to a meta-model. However, no existent meta-model could fulfill the requirements for analyzing Lisp systems, so we developed the FAMIX-Lisp meta-model, as an extension of an existing meta-model. Our FAMIX-Lisp meta-model extends the initial meta-model with capabilities to model Lisp systems by adding new entities that are unique to Lisp, like Macros and CLOS entities. Software visualization has been widely used by the reverse engineering research community during the past two decades, becoming one of the major approaches in reverse engineering. In our thesis we also propose a set of new visualizations for Lisp systems, developed to underline the differences of the language and to help understand and browse complex Lisp systems, namely: (1) The Class-Method Relation View is a visual way of supporting the understanding of the relation between classes and methods in a object-oriented Lisp program; (2) The Class Types View is a visual way of identifying different types of classes, based on their structure (the attributes to methods ratio); (3) The Programming Style Distribution View is a visual way of identifying the programming paradigm used in a program and their distribution over the system's packages; (4) The Generic Concerns View is a visual way of identifying different cross-cutting concerns in a system by visualizing the spread of generic functions in the system. The target of our views is to visualize very large Lisp systems, for which we want to obtain an initial understanding of their structure and their properties, which helps to guide software developers in the first steps of the reverse engineering process of an unknown system.}, Author = {Adrian Dozsa}, Keywords = {moose-pub lisp visualization}, Month = sep, School = {Politehnica University of Timisoara}, Title = {Reverse Engineering Techniques for Lisp Systems}, Url = {http://scg.unibe.ch/archive/external/Dozs07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Dozs07a.pdf} } @inproceedings{Dozs08a, Abstract = {Many reverse engineering approaches have been developed to analyze software systems written in different languages like C/C++ or Java. These approaches typically rely on a meta-model, that is either specific for the language at hand or language independent (e.g. UML). However, one language that was hardly addressed is Lisp. While at first sight it can be accommodated by current language independent meta-models, Lisp has some unique features (e.g. macros, CLOS entities) that are crucial for reverse engineering Lisp systems. In this paper we propose a suite of new visualizations that reveal the special traits of the Lisp language and thus help in understanding complex Lisp systems. To validate our approach we apply them on several large Lisp case studies, and summarize our experience in terms of a series of recurring visual patterns that we have detected.}, Annote = {internationalconference}, Author = {Adrian Dozsa and Tudor G\^irba and Radu Marinescu}, Booktitle = {European Conference on Software Maintenance and Re-Engineering (CSMR 2008)}, Doi = {10.1109/CSMR.2008.4493317}, Keywords = {girba moose-pub scg08 scg-pub visualization metrics lisp jb08 hasler08}, Medium = {2}, Pages = {223--232}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {How {Lisp} systems look different}, Url = {http://scg.unibe.ch/archive/papers/Dozs08aLispLooksDifferent.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Dozs08aLispLooksDifferent.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2008.4493317} } @misc{DrScheme, Key = {DrScheme}, Keywords = {plt scheme}, Note = {http://www.drscheme.org/}, Title = {{Dr}{Scheme}} } @inproceedings{Drah03a, Address = {Los Alamitos CA}, Author = {Dirk Draheim and Lukasz Pekacki}, Booktitle = {International Workshop on Principles of Software Evolution (IWPSE 2003)}, Keywords = {oorp evolution clustering}, Pages = {131--136}, Publisher = {IEEE Computer Society Press}, Title = {Process-Centric Analytical Processing of Version Control Data}, Year = {2003} } @book{Drak98a, Author = {Caleb Drake}, Keywords = {smalltalk olit scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Programming with {C}++ and {Smalltalk}}, Year = {1998} } @inproceedings{Drav91a, Address = {New York, NY, USA}, Author = {Richard P. Draves and Brian N. Bershad and Richard F. Rashid and Randall W. Dean}, Booktitle = {SOSP '91: Proceedings of the thirteenth ACM symposium on Operating systems principles}, Doi = {10.1145/121132.121155}, Isbn = {0-89791-447-3}, Location = {Pacific Grove, California, United States}, Pages = {122--136}, Publisher = {ACM Press}, Title = {Using continuations to implement thread management and communication in operating systems}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/121132.121155} } @inproceedings{Drey09a, title = {A Taxonomy-Driven Approach to Visually Prototyping Pervasive Computing Applications}, author = {Drey, Zo{\'e} and Mercadal, Julien and Consel, Charles}, publisher = {Springer-Verlag}, booktitle = {DSL WC'09: Proceedings of the 1st Working Conference on Domain-Specific Languages}, doi = {10.1007/978-3-642-03034-5_5}, keywords = {damiencbib}, Address = {Oxford, UK}, pages = {78--99}, volume = {5658}, year = {2009} } @inproceedings{Drie93a, Author = {Karel Driesen}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {259--270}, Title = {Selector Table Indexing \& Sparse Arrays}, Volume = {28}, Year = {1993} } @inproceedings{Drie95a, Address = {Aarhus, Denmark}, Author = {Karel Driesen and Urs H{\"o}lzle and Jan Vitek}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {253--282}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Message Dispatch on Pipelined Processors}, Volume = {952}, Year = {1995} } @article{Dris89a, Author = {James R. Driscoll and Neil Sarnak and Daniel D. Sleator and Robert E. Tarjan}, Journal = {Journal of Computer and System Sciences}, Month = feb, Number = {1}, Pages = {86--124}, Title = {Making Data Structures Persistent}, Volume = {38}, Year = {1989} } @inproceedings{Dros01a, Author = {Drossopoulou, Sophia and Damiani, Ferruccio and Dezani-Ciancaglini, Mariangiola and Giannini, Paola}, Title = {Fickle: Dynamic Object Re-classification}, Booktitle = {Proceedings of the 15th European Conference on Object-Oriented Programming}, Series = {ECOOP '01}, Year = {2001}, Isbn = {3-540-42206-4}, Pages = {130--149}, Numpages = {20}, Url = {http://portal.acm.org/citation.cfm?id=646158.680007}, Acmid = {680007}, Publisher = {Springer-Verlag}, Address = {London, UK, UK} } @inproceedings{Dros08a, Author = {Drossopoulou, Sophia and Francalanza, Adrian and M{\"{u}}ller, Peter and Summers, Alexander}, Booktitle = {Proceedings of 22nd European Conference on Object-Oriented Programming (ECOOP'08)}, Doi = {10.1007/978-3-540-70592-5_18}, Month = jul, Pages = {412--437}, Series = {Lecture Notes in Computer Science}, Title = {A Unified Framework for Verification Techniques for Object Invariants}, Url = {http://pubs.doc.ic.ac.uk/verificationTechniquesFramework/}, Year = {2008}, Bdsk-Url-1 = {http://pubs.doc.ic.ac.uk/verificationTechniquesFramework/}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-70592-5_18} } @article{Drumm00a, Author = {Chris Drummond and Dan Ionescu and Robert C. Holte}, Journal = {Software Engineering}, Number = {12}, Pages = {1179--1196}, Title = {A Learning Agent that Assists the Browsing of Software Libraries}, Volume = {26}, Year = {2000} } @inproceedings{Dubo87a, Address = {Monterey, CA}, Author = {Eric Dubois and Jacques Hagelstein}, Booktitle = {Proceedings of the Fourth International Workshop on Software Specifications and Design}, Keywords = {concurrency logic binder}, Misc = {April 3-4}, Month = apr, Title = {Reasoning on Formal Requirements: {A} Lift Control System}, Year = {1987} } @inproceedings{Dubo93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Eric Dubois and Philippe Du Bois and Micha\"el Petit}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {458--482}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {O-{O} Requirements Analysis: an Agent Perspective}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @misc{Duca03e, 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.}, Author = {St\'ephane Ducasse}, Title = {{SUnit} Explained}, Url = {http://www.iam.unibe.ch/~ducasse/Programmez/OnTheWeb/SUnitEnglish2.pdf}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/Programmez/OnTheWeb/SUnitEnglish2.pdf} } @mastersthesis{Duca93a, Annote = {dea}, Author = {St\'ephane Ducasse}, Keywords = {flo}, Month = sep, Note = {Equipe Janus, Supervis\'e par M. Blay-Fornarino et E. Gall\'esio, Team Janus, supervised by M. Blay-Fornarino and E. Gall\'esio}, School = {Laboratoire I3S-Universit\'e de Nice-Sophia Antipolis}, Title = {Protocole meta pour l'expression de relations dans un langage \`a objets}, Year = {1993} } @inproceedings{Duca93b, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Mireille Fornarino}, Booktitle = {OOPSLA '93 International Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming}, Keywords = {stefPub flo}, Note = {Technical Report, University of Nice-Sophia Antipolis, I3S Lab, RR-94-62}, Organization = {ACM}, Title = {Protocol for Managing Dependencies between Objects by controlling Generic Function Invocation}, Year = {1993} } @inproceedings{Duca94a, Annote = {nationalconference}, Author = {St\'ephane Ducasse and Mireille Fornarino}, Booktitle = {Actes des Journ\'ees Francophones des Langages Applicatifs (JFLA'94)}, Editor = {Pierre Cointe, Christian Queinnec et Bernard Serpette}, Keywords = {stefPub flo}, Pages = {239--258}, Title = {Protocole pour la gestion des d\'ependances entre objets gr\^ace au contr\^ole des fonctions g\'en\'eriques}, Year = {1994} } @techreport{Duca94b, Annote = {report notrefereed}, Author = {St\'ephane Ducasse and Mireille Fornarino and Anne-Marie Pinna}, Institution = {Laboratoire I3S}, Keywords = {stefPub flo}, Number = {I3S Lab, RR-94-60}, Title = {Embedding behavioral relationships between objects using computational relection}, Year = {1994} } @inproceedings{Duca95b, Annote = {internationalconference topconference}, Author = {St{\'e}phane Ducasse and Mireille Blay-Fornarino and Anne-Marie Pinna}, Booktitle = {Proceedings of 10th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '95)}, Keywords = {stefPub flo}, Misc = {acceptance rate: 27/167 = 16\%}, AcceptTotal = {167}, AcceptNum = {27}, Month = oct, Pages = {265--280}, Publisher = {ACM}, Title = {A Reflective Model for First Class Dependencies}, Url = {http://scg.unibe.ch/archive/papers/Duca95bAReflectiveModel.pdf}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca95bAReflectiveModel.pdf} } @inproceedings{Duca95c, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse}, Booktitle = {Proceedings of the International IJCAI'95 Workshop on Reflection and Meta-Level Architectures and their Applications in AI}, Institution = {University of Nice-Sophia Antipolis, Laboratoire I3S}, Keywords = {flo}, Note = {RR-95-12}, Pages = {39--49}, Title = {Inheritance Mechanism Reification by Means of First Class Object}, Year = {1995} } @techreport{Duca95d, Annote = {report notrefereed}, Author = {St\'ephane Ducasse and Mireille Fornarino and Anne-Marie Pinna-Dery}, Institution = {University of Nice-Sophia Antipolis, Laboratoire I3S}, Keywords = {stefPub flo}, Number = {RR-95-03}, Title = {Control et PAC model}, Year = {1995} } @techreport{Duca96a, Annote = {report notrefereed}, Author = {St\'ephane Ducasse}, Institution = {University of Nice Sophia-Antipolis, Laboratoire I3S}, Note = {I3S Lab, RR-95-28}, Title = {Reifying Inheritance in a Reflective Language}, Url = {http://scg.unibe.ch/archive/papers/Duca96aInhReify.ps.gz}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca96aInhReify.ps.gz} } @inproceedings{Duca96b, 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}, Author = {St\'ephane Ducasse and Mireille Blay-Fornarino and Anne-Marie Pinna}, Booktitle = {Proceedings of International Symposium on Methodologies for Intelligent Systems (ISMIS '96)}, Doi = {10.1007/3-540-61286-6_154}, Keywords = {flo scg-old scg-pub stefPub}, Month = jun, Number = 1079, Pages = {295--304}, Publisher = {Springer-Verlag}, Series = {LNIA (Lectures Notes in Artificial Intelligence)}, Title = {Object and Dependency Oriented Programming in FLO}, Url = {http://scg.unibe.ch/archive/papers/Duca96bDependencyOP.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca96bDependencyOP.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-61286-6_154} } @phdthesis{Duca97a, Annote = {phdthesis}, Author = {St\'ephane Ducasse}, Keywords = {olit scglit oobib snf97 stefPub flo}, Month = jan, Note = {Th\`ese de l'Universit\'e de Nice-Sophia Antipolis}, School = {Universit\'e de Nice-Sophia Antipolis}, Title = {Int\'egration r\'eflexive de d\'ependances dans un mod\`ele \`a classes}, Url = {http://scg.unibe.ch/archive/papers/Duca97aPhD.ps.gz http://scg.unibe.ch/archive/papers/Duca97aPhD.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca97aPhD.ps.gz%20http://scg.unibe.ch/archive/papers/Duca97aPhD.pdf} } @inproceedings{Duca97b, 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}, Author = {St\'ephane Ducasse and Tamar Richner}, Booktitle = {Proceedings of European Software Engineering Conference and Foundations on Software Engineering (ESEC/FSE'97)}, Doi = {10.1007/3-540-63531-9_32}, Isbn = {978-3-540-63531-4}, Keywords = {olit famoos-papref scglit oobib scg-pub flo snf97 jb97 scg-coord-98 stefPub}, Misc = {acceptance rate: 19/197 = 9\%}, AcceptTotal = {197}, AcceptNum = {19}, Pages = {483--500}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Executable Connectors: Towards Reusable Design Elements}, Url = {http://scg.unibe.ch/archive/papers/Duca97bExecutableConnectors.pdf}, Volume = {1301}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca97bExecutableConnectors.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-63531-9_32} } @inproceedings{Duca97c, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse}, Booktitle = {Object-Oriented Technology (ECOOP '97 Workshop Reader)}, Editor = {Jan Bosch and Stuart Mitchell}, Keywords = {olit famoos-papunr scglit oobib flo scg-pub skip-doi skip-pdf skip-abstract toBeChecked snf97 jb97 stefPub}, Month = jun, Pages = {96--99}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Message Passing Abstractions as Elementary Bricks for Design Pattern Implementation}, Volume = 1357, Year = {1997} } @inproceedings{Duca97d, Annote = {nationalconference}, Author = {St\'ephane Ducasse}, Booktitle = {Actes de Langages et Mod\`eles \`a Objets (LMO'97)}, Keywords = {olit famoos-papref scglit oobib scg-pub skip-doi skip-abstract snf97 jb97 stefPub flo}, Pages = {95--110}, Title = {R\'eification de Sch\'emas de Conception: Une Exp\'erience}, Url = {http://scg.unibe.ch/archive/papers/Duca97dReificationDP.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca97dReificationDP.ps.gz} } @article{Duca97e, Annote = {nationaljournal}, Author = {St\'ephane Ducasse}, Journal = {Revue des Sciences et Technologies de l'Information (RSTI) --- L'Objet}, Keywords = {olit famoos-papref scglit oobib scg-pub skip-abstract skip-doi jb-none snf97 stefPub flo}, Number = {4}, Pages = {355--377}, Publisher = {Hermes, Paris}, Title = {Des techniques de contr\^ole de l'envoi de messages en {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Duca97eMessagePassing.pdf}, Volume = {3}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca97eMessagePassing.pdf} } @techreport{Duca97g, Annote = {report notrefereed}, Author = {St\'ephane Ducasse}, Institution = {University of Bern, Institut of Applied Mathematics and Computer Sciences}, Keywords = {scg-pub skip-doi skip-pdf skip-abstract jb-none flo}, Note = {Extension version of Duca97e: Des techniques de contr\^ole de l'envoi de messages en Smalltalk}, Number = {97-004}, Title = {Des techniques de contr\^ole de l'envoi de messages en {Smalltalk}}, Year = {1997} } @inproceedings{Duca98b, 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.}, Address = {Konstanz, Germany}, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Robb Nebbe and Tamar Richner}, Booktitle = {Proceedings of the 4th European Conference on Pattern Languages of Programming and Computing, 1999}, Editor = {Paul Dyson}, Keywords = {scg-pub skip-doi olit famoos-papunr oobib snf98 pattern jb98 stefPub}, Month = jul, Publisher = {UVK Universit\"atsverlag Konstanz GmbH}, Title = {Two Reengineering Patterns: Eliminating Type Checking}, Url = {http://scg.unibe.ch/archive/papers/Duca98bTwoReengPatterns.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca98bTwoReengPatterns.pdf} } @inproceedings{Duca98c, 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}, Author = {St\'ephane Ducasse and Manuel G{\"u}nter}, Booktitle = {Proceedings of the DEXA workshops}, Keywords = {scg-pub skip-doi flo floc olit coordination oobib snf98 scg-coord-98 jb98 stefPub}, Month = aug, Pages = {572--577}, Publisher = {IEEE Computer Society Press}, Title = {Coordination of Active Objects by Means of Explicit Connectors}, Url = {http://scg.unibe.ch/archive/papers/Duca98cExplicitConnectors.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca98cExplicitConnectors.pdf} } @proceedings{Duca98d, Address = {Forschungszentrum Informatik, Haid-und-Neu-Strasse 10-14, 76131 Karlsruhe, Germany}, Annote = {workshopproceedings}, Editor = {St\'ephane Ducasse and Joachim Weisbrod}, Keywords = {skip-pdf scg-pub skip-abstract skip-doi olit famoos-wrkproc oobib snf98 jb98 stefPub}, Month = jun, Note = {FZI 6/7/98}, Title = {Proceedings of the {ECOOP}'98 Workshop on Experiences in Object-Oriented Re-Engineering}, Year = {1998} } @misc{Duca98z, Annote = {workshopproceedings}, Author = {St\'ephane Ducasse and Joachim Weisbrod}, Booktitle = {Object-Oriented Technology (ECOOP'98 Workshop Reader)}, Keywords = {skip-pdf scg-pub skip-abstract skip-doi jb-none stefPub}, Number = 1543, Pages = {72--96}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Report of the {ECOOP}'98 Workshop on Experiences in Object-Oriented Re-Engineering}, Year = {1998} } @article{Duca99a, 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}, Author = {St\'ephane Ducasse}, Journal = {Journal of Object-Oriented Programming (JOOP)}, Keywords = {olit famoos-papref snf98 oobib scg-pub skip-doi jb99 stefPub flo}, Misc = {SCI impact factor 0.306}, Month = jun, Number = {6}, Pages = {39--44}, Publisher = {SIGS Press}, Title = {Evaluating Message Passing Control Techniques in {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Duca99aMsgPassingControl.pdf}, Volume = {12}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca99aMsgPassingControl.pdf} } @inproceedings{Duca99b, 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}, Author = {St\'ephane Ducasse and Matthias Rieger and Serge Demeyer}, Booktitle = {Proceedings of 15th IEEE International Conference on Software Maintenance (ICSM'99)}, Doi = {10.1109/ICSM.1999.792593}, Editor = {Hongji Yang and Lee White}, Keywords = {olit famoos-papref scg-pub toBeChecked sergedem-papref duploc snf99 jb99 oorp stefPub moose-pub}, Misc = {acceptance rate: 49/100 = 49\%}, AcceptTotal = {100}, AcceptNum = {49}, Month = sep, Pages = {109--118}, Publisher = {IEEE Computer Society}, Title = {A Language Independent Approach for Detecting Duplicated Code}, Url = {http://scg.unibe.ch/archive/papers/Duca99bCodeDuplication.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca99bCodeDuplication.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.1999.792593} } @inproceedings{Duca99c, 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}, Author = {St\'ephane Ducasse and Tamar Richner and Robb Nebbe}, Booktitle = {Proceedings of 6th Working Conference on Reverse Engineering (WCRE'99)}, Doi = {10.1109/WCRE.1999.806956}, Editor = {Francoise Balmas and Mike Blaha and Spencer Rugaber}, Keywords = {olit famoos-papref scg-pub jb99 stefPub}, Month = oct, Pages = {157--168}, Publisher = {IEEE Computer Society}, Title = {Type-Check Elimination: Two Object-Oriented Reengineering Patterns}, Url = {http://scg.unibe.ch/archive/papers/Duca99cTypeCheckElim.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca99cTypeCheckElim.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.1999.806956} } @inproceedings{Duca99d, 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}, Author = {St\'ephane Ducasse and Matthias Rieger and Georges Golomingi}, Booktitle = {Proceedings of the ECOOP '99 Workshop on Experiences in Object-Oriented Re-Engineering}, Editor = {St\'ephane Ducasse and Oliver Ciupke}, Keywords = {olit famoos-papref scg-pub skip-doi jb99 stefPub}, Month = jun, Note = {FZI-Report 2-6-6/99}, Publisher = {Forschungszentrum Informatik, Karlsruhe}, Title = {Tool Support for Refactoring Duplicated {OO} Code}, Url = {http://scg.unibe.ch/archive/papers/Rieg99aToolSuppRefacOOCode.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg99aToolSuppRefacOOCode.pdf} } @proceedings{Duca99e, Annote = {workshopproceedings}, Editor = {St\'ephane Ducasse and Oliver Ciupke}, Keywords = {skip-pdf scg-pub skip-abstract skip-doi olit famoos-wrkproc oobib snf99 jb99 stefPub}, Month = jun, Note = {FZI 2-6-6/99}, Publisher = {Forschungszentrum Informatik, Karlsruhe, Germany}, Title = {Proceedings of the {ECOOP}'99 Workshop on Experiences in Object-Oriented Re-Engineering}, Year = {1999} } @inproceedings{Duca99f, Author = {Mireille Ducass\'e}, Booktitle = {International Conference on Software Engineering}, Pages = {154--168}, Title = {Coca: An Automated Debugger for {C}}, Year = {1999} } @article{Duca97h, Author = {Mireille Ducass\'e}, Journal = {The Journal of Logic programming}, Title = {Opium: An extendable trace analyser for Prolog}, Url = {citeseer.nj.nec.com/ducasse97opium.html}, Year = {1999}, Bdsk-Url-1 = {citeseer.nj.nec.com/ducasse97opium.html} } @inproceedings{Duca99s, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Michele Lanza and Serge Demeyer}, Booktitle = {Object-Oriented Technology (ECOOP'99 Workshop Reader)}, Keywords = {scg-pub snf-none skip-pdf jb-skip skip-abstract skip-doi}, Number = {1743}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reverse Engineering based on Metrics and Program Visualization}, Year = {1999} } @book{Duca99x, Annote = {notrefereed handbook}, Editor = {St\'ephane Ducasse and Serge Demeyer}, Keywords = {olit scg-pub skip-abstract skip-doi jb-none famoos stePub}, Month = oct, Publisher = {University of Bern}, Title = {The {FAMOOS} Object-Oriented Reengineering Handbook}, Url = {http://scg.unibe.ch/archive/papers/Duca99xFamoosHandBook.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca99xFamoosHandBook.pdf} } @inproceedings{Duca00a, 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}, Author = {St{\'e}phane Ducasse and Serge Demeyer and Oscar Nierstrasz}, Booktitle = {Proceedings of EuroPLoP '2000}, Keywords = {snf-none olit scg-pub skip-doi jb00 stefPub}, Pages = {209--217}, Title = {Tie Code And Questions: a Reengineering Pattern}, Url = {http://scg.unibe.ch/archive/papers/Duca00aTieCode.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00aTieCode.pdf} } @inproceedings{Duca00b, 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}, Author = {Ducasse, St\'ephane and Lanza, Michele and Tichelaar, Sander}, Booktitle = {Proceedings of CoSET '00 (2nd International Symposium on Constructing Software Engineering Tools)}, Keywords = {components scg-pub skip-doi snf00 jb00 repository abb oorp stefPub moose-pub}, Month = jun, Title = {Moose: an {Extensible} {Language}-{Independent} {Environment} for {Reengineering} {Object}-{Oriented} {Systems}}, Url = {http://scg.unibe.ch/archive/papers/Duca00bMooseCoset.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00bMooseCoset.pdf} } @inproceedings{Duca00c, 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}, Author = {St\'ephane Ducasse and Serge Demeyer and Oscar Nierstrasz}, Booktitle = {Proceedings of EuroPLoP '2000}, Keywords = {snf-none skip-doi olit scg-pub jb00 stefPub}, Pages = {219--252}, Title = {Transform Conditionals to Polymorphism}, Url = {http://scg.unibe.ch/archive/papers/Duca00cTransform.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00cTransform.pdf} } @inproceedings{Duca00d, 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.}, Address = {Limassol, Cyprus}, Annote = {internationalconference}, Author = {St{\'e}phane Ducasse and Thomas Hofmann and Oscar Nierstrasz}, Booktitle = {Coordination Languages and Models}, Doi = {10.1007/3-540-45263-X_1}, Editor = {Ant{\'o}nio Porto and Gruia-Catalin Roman}, Isbn = {978-3-540-41020-1}, Keywords = {olit scg-pub coordination jb00 scg-coord-00 stefPub}, Misc = {acceptance rate: 18/52 = 35\%}, AcceptTotal = {52}, AcceptNum = {18}, Month = sep, Pages = {1--19}, Series = {LNCS}, Title = {OpenSpaces: An Object-Oriented Framework For Reconfigurable Coordination Spaces}, Url = {http://scg.unibe.ch/archive/papers/Duca00dOpenSpaces.pdf}, Volume = {1906}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00dOpenSpaces.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-45263-X_1} } @inproceedings{Duca00f, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Michele Lanza and Lukas Steiger}, Booktitle = {ECOOP 2000 International Workshop of Architecture Evolution}, Keywords = {scg-pub skip-abstract skip-pdf skip-doi snf00 jb00 stefPub design-recovery moose-pub}, Title = {Supporting Evolution Recovery: a Query-based Approach}, Year = {2000} } @techreport{Duca00g, Annote = {report notrefereed}, Author = {St\'ephane Ducasse and Michele Lanza and Oscar Nierstrasz and Matthias Rieger and Sander Tichelaar}, Institution = {University of Bern}, Keywords = {skip-abstract skip-pdf skip-doi stefPub}, Title = {BEOC Analysis Report}, Year = {2000} } @article{Duca00x, Address = {13 rue du Jura, Paris 13}, Annote = {notrefereed}, Author = {St\'ephane Ducasse and Florence Ducasse}, Journal = {Journal de l'association EPI Enseignement Public et Informatiques}, Keywords = {snf-none scg-pub skip-abstract skip-doi jb00 stefPub}, Month = sep, Number = 97, Title = {De l'enseignement de concepts informatiques}, Url = {http://scg.unibe.ch/archive/papers/Duca00xExperienceEnseig.pdf}, Volume = 4, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00xExperienceEnseig.pdf} } @booklet{Duca00z, Annote = {lectures}, Author = {St\'ephane Ducasse and Florence Ducasse}, Keywords = {scg-old scg-misc stefPub}, Note = {Support de cours de Technologie, 150 pages, http://www.iam.unibe.ch/~ducasse/}, Title = {Caro, Dis-moi c'est quoi programmer?}, Url = {http://scg.unibe.ch/archive/papers/Duca00zCaroLecturesFr.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca00zCaroLecturesFr.pdf} } @article{Duca01a, 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}, Author = {St\'ephane Ducasse and Michele Lanza}, Journal = {Technique et science informatiques}, Keywords = {scg-pub skip-doi jb01 snf02 stePub}, Number = {4}, Pages = {539--566}, Title = {Towards a Methodology for the Understanding of Object-Oriented Systems}, Url = {http://scg.unibe.ch/archive/papers/Duca01aTowardsAMethod.pdf}, Volume = {20}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca01aTowardsAMethod.pdf} } @article{Duca01b, 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}, Author = {St\'ephane Ducasse and Michele Lanza and Sander Tichelaar}, Journal = {Smalltalk Chronicles}, Keywords = {scg-pub skip-doi repository reengineering snf01 jb01 stefPub moose-pub}, Month = aug, Title = {The {Moose} Reengineering Environment}, Url = {http://scg.unibe.ch/archive/papers/Duca01bMoose.pdf http://www.smalltalkchronicles.net/edition3-2/Pages/moose.htm}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca01bMoose.pdf%20http://www.smalltalkchronicles.net/edition3-2/Pages/moose.htm} } @techreport{Duca01c, 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}, Author = {Ducasse, St\'ephane}, Institution = {Universit\'e Pierre et Marie Curie (Paris 6)}, Keywords = {scg-pub skip-doi jb-none reengineering snf02 stefPub moose-pub}, Month = sep, Note = {TR University of Bern, Institute of Computer Science and Applied Mathematics --- iam-03-008}, Title = {Reengineering Object-Oriented Applications}, Url = {http://scg.unibe.ch/archive/papers/Duca01cHab.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca01cHab.pdf} } @article{Duca01s, Annote = {vulgarisation}, Author = {Ducasse, St\'ephane}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = nov, Number = 37, Title = {Squeak: Introspection}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2001}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca01t, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = oct, Number = 36, Title = {Squeak: Classes}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2001}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca01u, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = sep, Number = 35, Title = {Squeak: Syntaxe par l'example}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2001}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca01v, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = jul, Number = 34, Title = {Squeak: Une syntaxe minimaliste}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2001}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca01w, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = jun, Number = 33, Title = {Squeak: Un smalltalk open-source d\'etonnant}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2001}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @techreport{Duca01x, Author = {St\'ephane Ducasse and Sander Tichelaar}, Institution = {University of Bern}, Keywords = {moose-pub}, Note = {To appear}, Title = {{FAMIX} {Smalltalk} language plug-in}, Year = {2001} } @inproceedings{Duca02a, 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}, Author = {St\'ephane Ducasse and Roel Wuyts}, Booktitle = {Proceedings of the Ecoop'02 International Educator Symposium}, Keywords = {snf-none stefPub scg-pub skip-doi jb04}, Title = {Supporting Objects as An Anthropomorphic View at Computation or Why {Smalltalk} for Teaching Objects?}, Url = {http://scg.unibe.ch/archive/papers/Duca02aTeacherWorkshop.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca02aTeacherWorkshop.pdf} } @article{Duca02v, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = sep, Number = 46, Title = {Refactoring Browser et SmallLint}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2002}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca02w, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = jan, Number = 39, Title = {SUnit: Ces tests que souvent l'on deteste}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2002}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca03a, 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}, Author = {St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Cvs = {ErcimPecos}, Journal = {ERCIM News}, Keywords = {scg-pub skip-doi pecos jb03 stefPub}, Month = jan, Title = {Composing Embedded Real-Time Software Components: the {PECOS} Data-Centric Approach}, Url = {http://www.ercim.org/publication/Ercim_News/enw52/nierstrasz.html}, Volume = 52, Year = {2003}, Bdsk-Url-1 = {http://www.ercim.org/publication/Ercim_News/enw52/nierstrasz.html} } @inproceedings{Duca03b, 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}, Author = {St\'ephane Ducasse and Nathanael Sch{\"a}rli and Roel Wuyts}, Booktitle = {Proceedings of the ECOOP '03 Workshop on Object-oriented Language Engineering for the Post-Java Era}, Keywords = {snf03 scg-pub skip-doi jb03 stefPub schaerli}, Month = jul, Title = {Open Surfaces for Controlled Visibility}, Url = {http://scg.unibe.ch/archive/papers/Duca03bSurfaces.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca03bSurfaces.pdf} } @inproceedings{Duca03c, 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}, Author = {St\'ephane Ducasse and Philippe Mougin}, Booktitle = {Proceedings of the ECOOP '03 Workshop on Object-oriented Language Engineering for the Post-Java Era}, Keywords = {snf03 scg-pub skip-doi jb03 stefPub}, Month = jul, Title = {Power to Collections: Generalizing Polymorphism by Unifying Array Programming and Object-Oriented Programming}, Url = {http://scg.unibe.ch/archive/papers/Duca03cOOPALEcoop.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca03cOOPALEcoop.pdf} } @article{Duca03d, 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}, Author = {St\'ephane Ducasse and Sander Tichelaar}, Doi = {10.1002/smr.279}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)}, Keywords = {scg-pub recast04 jb04 stefPub moose-pub}, Misc = {SCI impact factor 0.595}, Month = oct, Number = 5, Pages = {345--373}, Title = {Dimensions of Reengineering Environment Infrastructures}, Url = {http://scg.unibe.ch/archive/papers/Duca03dInfrastructures.pdf}, Volume = 15, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca03dInfrastructures.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.279} } @article{Duca03w, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = may, Number = 53, Title = {Seaside: Des composants pour le web}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2003}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca03x, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = apr, Number = 52, Title = {Seaside: Des applications web complexes simplement...}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2003}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca03y, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = mar, Number = 51, Title = {Squeak: R\'eflexion pour Prototyper}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2003}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @article{Duca03z, Annote = {vulgarisation}, Author = {St\'ephane Ducasse}, Journal = {Programmez! Le Magazine du D\'eveloppement}, Keywords = {stefPub}, Month = feb, Number = 50, Title = {Espionnage en Squeak}, Url = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html}, Volume = 1, Year = {2003}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~ducasse/WebPages/Books.html} } @inproceedings{Duca04a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Michele Lanza and Roland Bertuli}, Booktitle = {Proceedings of 8th European Conference on Software Maintenance and Reengineering (CSMR'04)}, Doi = {10.1109/CSMR.2004.1281433}, Keywords = {recast04 scg-pub stefPub jb04 moose-pub}, Misc = {acceptance rate: 33/62 = 52\%}, AcceptTotal = {62}, AcceptNum = {33}, Pages = {309--318}, Publisher = {IEEE Computer Society Press}, Title = {High-Level Polymetric Views of Condensed Run-Time Information}, Url = {http://scg.unibe.ch/archive/papers/Duca04aRuntimePolymetricViews.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca04aRuntimePolymetricViews.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2004.1281433} } @inproceedings{Duca04b, 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}, Author = {St\'ephane Ducasse and Michael Freidig and Roel Wuyts}, Booktitle = {Fifth International Workshop on Object-Oriented Reengineering (WOOR 2004)}, Keywords = {scg-pub skip-doi recast04 jb04 evolution visualization test stefPub}, Title = {Logic and Trace-based Object-Oriented Application Testing}, Url = {http://scg.unibe.ch/archive/papers/Duca04bTestLogicWoor04.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca04bTestLogicWoor04.pdf} } @techreport{Duca04d, 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}, Author = {St\'ephane Ducasse and Michele Lanza and Laura Ponisio}, Institution = {University of Bern, Institut of Applied Mathematics and Computer Sciences}, Keywords = {jb05 scg-pub skip-doi stefPub snf04 recast05 moose-pub}, Number = {IAM-04-007}, Title = {A Top-Down Program Comprehension Strategy for Packages}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Duca04dPackageVisualization.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca04dPackageVisualization.pdf} } @inproceedings{Duca04e, 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 object-oriented 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}, Author = {St\'ephane Ducasse and Adrian Lienhard and Lukas Renggli}, Booktitle = {Proceedings of 12th International Smalltalk Conference (ISC'04)}, Cvs = {seaside}, Keywords = {scg-pub skip-doi jb05 snf05 stefPub seaside-article}, Misc = {Also Technical Report IAM-04-008}, Month = sep, Pages = {231--257}, Title = {Seaside --- a Multiple Control Flow Web Application Framework}, Url = {http://scg.unibe.ch/archive/papers/Duca04eSeaside.pdf http://www.iam.unibe.ch/publikationen/techreports/2004/iam-04-008}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca04eSeaside.pdf%20http://www.iam.unibe.ch/publikationen/techreports/2004/iam-04-008} } @inproceedings{Duca04f, 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.}, Address = {Amsterdam}, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Tudor G\^irba and Jean-Marie Favre}, Booktitle = {Proceedings Workshop on Software Evolution Through Transformation (SETra 2004)}, Doi = {10.1016/j.entcs.2004.08.035}, Keywords = {scg-pub evolution van stefPub recast05 jointERCIM girba hismo jb05 moose-pub}, Pages = {75--86}, Publisher = {Elsevier}, Title = {Modeling Software Evolution by Treating History as a First Class Entity}, Url = {http://scg.unibe.ch/archive/papers/Duca04fHismo.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca04fHismo.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2004.08.035} } @incollection{Duca05a, 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.}, Address = {Milano}, Aeres = {OS}, Aeresstatus = {aeres08}, Annote = {articlebook}, Author = {St\'ephane Ducasse and Tudor G\^irba and Michele Lanza and Serge Demeyer}, Booktitle = {Tools for Software Maintenance and Reengineering}, Inria = {hors}, Isbn = {88-464-6396-X}, Keywords = {moose-pub scg-pub skip-doi jb05 recast05 stefPub jointERCIM girba}, Pages = {55--71}, Publisher = {Franco Angeli}, Series = {RCOST / Software Technology Series}, Title = {Moose: a Collaborative and Extensible Reengineering Environment}, Url = {http://scg.unibe.ch/archive/papers/Duca05aMooseBookChapter.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05aMooseBookChapter.pdf} } @article{Duca05b, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {St\'ephane Ducasse and Michele Lanza}, Doi = {10.1109/TSE.2005.14}, Impactfactor = {1.967, SCI 2006}, Inria = {hors}, Journal = {Transactions on Software Engineering (TSE)}, Keywords = {hasler07 jb05 scg-pub stefPub recast05 mooseCincom moose-pub}, Misc = {SCI impact factor 1.967}, Month = jan, Number = {1}, Pages = {75--90}, Publisher = {IEEE Computer Society}, Selectif = {oui}, Title = {The {Class} {Blueprint}: Visually Supporting the Understanding of Classes}, Url = {http://scg.unibe.ch/archive/papers/Duca05bTSEClassBlueprint.pdf}, Volume = {31}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05bTSEClassBlueprint.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2005.14} } @inproceedings{Duca05d, Annote = {internationalworkshop}, Author = {St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {Proceedings of CHASE International Workshop 2005}, Keywords = {stefPub girba jb05}, Title = {Being a Long-Living Software Mayor --- the SimCity Metaphor to Explain the Challenges Behind Software Evolution}, Url = {http://scg.unibe.ch/archive/papers/Duca05dChaseSimCity.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05dChaseSimCity.pdf} } @inproceedings{Duca05e, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Michele Lanza and Laura Ponisio}, Booktitle = {Proceedings of the 11th IEEE International Software Metrics Symposium (METRICS'05)}, Cvs = {AlchemistPackageMETRICS05}, Doi = {10.1109/METRICS.2005.15}, Inria = {hors}, Keywords = {jb06 scg-pub stefPub moose-pub recast06}, Misc = {acceptance rate: 39/89 = 44\%}, AcceptTotal = {89}, AcceptNum = {39}, Pages = {70--77}, Publisher = {IEEE Computer Society}, Rate = {44%}, Selectif = {non}, Title = {Butterflies: A Visual Approach to Characterize Packages}, Url = {http://scg.unibe.ch/archive/papers/Duca05ePackageVisualization.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05ePackageVisualization.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/METRICS.2005.15} } @inproceedings{Duca05f, 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 = {conference tooldemo}, Author = {St\'ephane Ducasse and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings of ESEC/FSE 2005}, Cvs = {MooseDemoESEC05}, Doi = {10.1145/1081706.1081723}, Keywords = {scg-pub moose-pub stefPub jb06 recast06 girba}, Month = sep, Note = {Tool demo}, Pages = {99--102}, Title = {{Moose}: an Agile Reengineering Environment}, Url = {http://scg.unibe.ch/archive/papers/Duca05fMooseDemo.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05fMooseDemo.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1081706.1081723} } @article{Duca05g, 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.}, Aeres = {ACL}, Aeresstastus = {2008}, Annote = {internationaljournal}, Author = {St\'ephane Ducasse and Nathanael Sch{\"a}rli and Roel Wuyts}, Doi = {10.1016/j.cl.2004.11.003}, Impactfactor = {0.467, SCI 06}, Inria = {hors}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg08 scg-pub stefPub schaerli jb05 snf05}, Medium = {2}, Misc = {SCI impact factor 0.467}, Month = dec, Number = {3-4}, Pages = {143--164}, Peerreview = {yes}, Publisher = {Elsevier}, Selectif = {non}, Title = {Uniform and Safe Metaclass Composition}, Url = {http://scg.unibe.ch/archive/papers/Duca05ySafeMetaclassTrait.pdf}, Volume = {31}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05ySafeMetaclassTrait.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2004.11.003} } @inproceedings{Duca05h, 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.}, Address = {New York, NY, USA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Lukas Renggli and Roel Wuyts}, Booktitle = {Proceedings ACM International Symposium on Wikis (WikiSym'05)}, Cvs = {SmallWikiTwoOOPSLASymp2005}, Doi = {10.1145/1104973.1104981}, Inria = {hors}, Keywords = {jb06 scg-pub snf-none stefPub moose-pub}, Pages = {75--82}, Publisher = {ACM Computer Society}, Selectif = {non}, Title = {{SmallWiki} --- A Meta-Described Collaborative Content Management System}, Url = {http://scg.unibe.ch/archive/papers/Duca05hSmallwikiWikiSymp05.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05hSmallwikiWikiSymp05.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1104973.1104981} } @inproceedings{Duca05i, 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}, Author = {St\'ephane Ducasse and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of {VISSOFT} 2005 (3th IEEE International Workshop on Visualizing Software for Understanding)}, Keywords = {scg-pub skip-doi jb06 MISSINGPAGENUMBERS stefPub recast06}, Month = sep, Title = {Multi-level Method Understanding Using {Microprints}}, Url = {http://scg.unibe.ch/archive/papers/Duca05imicroprintsVissoft.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca05imicroprintsVissoft.pdf} } @book{Duca05j, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {book}, Author = {St\'ephane Ducasse}, Keywords = {stefPub jb05 scglib}, Note = {ISBN: 1-59059-491-6}, Publisher = {APress}, Title = {Squeak: Learn Programming with Robots}, Year = {2005} } @misc{Duca05k, Aeres = {OV}, Aeresstastus = {2008}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Hilaire Fernandes}, Inria = {hors}, Journal = {Linux Pratique}, Keywords = {stefPub jb05}, Month = mar, Number = 89, Pages = {18--23}, Selectif = {non}, Title = {Squeak: un Smalltalk libre multim\'edia}, Volume = 1, Year = {2005} } @inproceedings{Duca06a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Tudor G\^irba and Roel Wuyts}, Booktitle = {Proceedings of 10th European Conference on Software Maintenance and Reengineering (CSMR'06)}, Doi = {10.1109/CSMR.2006.37}, Inria = {hors}, Keywords = {scg-pub recast06 snf06 jb06 fb06 stefPub girba}, Medium = {2}, Misc = {acceptance rate: 27/65 = 42 \%}, AcceptTotal = {65}, AcceptNum = {27}, Pages = {35--44}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Selectif = {non}, Title = {Object-Oriented Legacy System Trace-based Logic Testing}, Url = {http://scg.unibe.ch/archive/papers/Duca06aTestLogtestingCSMR.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca06aTestLogtestingCSMR.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2006.37} } @article{Duca06b, Abstract = {Inheritance is well-known and accepted as a mechanism for reuse in object-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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {St\'ephane Ducasse and Oscar Nierstrasz and Nathanael Sch{\"a}rli and Roel Wuyts and Andrew P. Black}, Cvs = {TraitsTOPLAS2005}, Doi = {10.1145/1119479.1119483}, Inria = {hors}, Issn = {0164-0925}, Journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)}, Keywords = {scg-pub stefPub snf05 snf06 jb06 toplas traits onhindex(131) schaerli toplastraits stlit-traits}, Misc = {SCI impact factor 1.404 (2005)}, Miscmisc = {was Duca05z}, Month = mar, Number = {2}, Pages = {331--388}, Selectif = {oui}, Title = {Traits: A Mechanism for fine-grained Reuse}, Url = {http://scg.unibe.ch/archive/papers/Duca06bTOPLASTraits.pdf}, Volume = {28}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca06bTOPLASTraits.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1119479.1119483} } @inproceedings{Duca06c, 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.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Tudor G\^irba and Adrian Kuhn}, Booktitle = {Proceedings of 22nd IEEE International Conference on Software Maintenance (ICSM '06)}, Doi = {10.1109/ICSM.2006.22}, Inria = {hors}, Keywords = {scg-pub jb07 fb06 stefPub moose-pub girba recast07 snf06 akuhn}, Medium = {2}, Misc = {acceptance rate: 41/147 = 28\%}, AcceptTotal = {147}, AcceptNum = {41}, Pages = {203--212}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Rate = {28%}, Selectif = {oui}, Title = {Distribution Map}, Url = {http://scg.unibe.ch/archive/papers/Duca06cDistributionMap.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca06cDistributionMap.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2006.22} } @inproceedings{Duca06d, 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}, Address = {Berlin, Germany}, Aeres = {ACT}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006)}, Doi = {10.1007/11880240_42}, Inria = {hors}, Isbn = {978-3-540-45772-5}, Keywords = {scg-pub jb07 fb06 girba moose-pub stefPub recast07 norex06}, Medium = {2}, Pages = {604--618}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Rate = {28%}, Selectif = {oui}, Series = {LNCS}, Title = {Using {Smalltalk} as a Reflective Executable Meta-Language}, Url = {http://scg.unibe.ch/archive/papers/Duca06dMOOSEMODELS2006.pdf}, Volume = {4199}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca06dMOOSEMODELS2006.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11880240_42} } @misc{Duca06e, Aeres = {OV}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Hilaire Fernandes}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = may, Number = 83, Pages = {18--23}, Selectif = {non}, Title = {La syntaxe Smalltalk par la pratique}, Volume = 1, Year = {2006} } @misc{Duca06f, Aeres = {OV}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Serge Stinckwich}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = sep, Number = 86, Selectif = {non}, Title = {Seaside: d\'eveloppement d'applications web en Smalltalk}, Volume = 1, Year = {2006} } @misc{Duca06g, Aeres = {OV}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Serge Stinckwich}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = nov, Number = 88, Selectif = {non}, Title = {Seaside: d\'evelopper des composants r\'eutilisables}, Volume = 1, Year = {2006} } @article{Duca06h, Aeres = {OV}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Serge Stinckwich}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = dec, Number = 89, Selectif = {non}, Title = {Smalltalk: un mod\`ele pur objet}, Volume = 1, Year = {2006} } @article{Duca06i, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {St\'ephane Ducasse and Oscar Nierstrasz and Matthias Rieger}, Cvs = {DuplocJournalPaper}, Doi = {10.1002/smr.317}, Impactfactor = {0.457, SCI 2005}, Inria = {hors}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)}, Keywords = {scg-pub recast06 jb06 stefPub duploc}, Misc = {SCI impact factor 0.457 (2005)}, Month = jan, Number = 1, Pages = {37--58}, Selectif = {non}, Title = {On the Effectiveness of Clone Detection by String Matching}, Url = {http://scg.unibe.ch/archive/papers/Duca06iDuplocJSMEPaper.pdf}, Volume = 18, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca06iDuplocJSMEPaper.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.317} } @article{Duca07a, 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.}, Address = {Los Alamitos, CA, USA}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {St\'ephane Ducasse and Adrian Lienhard and Lukas Renggli}, Doi = {10.1109/MS.2007.144}, Inria = {hors}, Issn = {0740-7459}, Journal = {IEEE Software}, Keywords = {scg07 scg-pub jb08 snf07 seaside-article}, Medium = {2}, Number = {5}, Pages = {56--63}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Selectif = {oui}, Title = {Seaside: A Flexible Environment for Building Dynamic Web Applications}, Url = {http://www.computer.org/portal/cms_docs_software/software/homepage/2007/S507/s5056.pdf}, Volume = {24}, Year = {2007}, Bdsk-Url-1 = {http://www.computer.org/portal/cms_docs_software/software/homepage/2007/S507/s5056.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/MS.2007.144} } @inproceedings{Duca07b, Abstract = {A trait is a unit of behaviour that can be composed with other traits and used by classes. Traits offer an alternative to multiple inheritance. Conflict resolution of traits, while flexible, does not completely handle accidental method name conflicts: if a trait with method m is composed with another trait defining a different method m then resolving the conflict may prove delicate or infeasible in cases where both versions of m are still needed. In this paper we present freezable traits, which provide an expressive composition mechanism to support unanticipated method composition conflicts. Our solution introduces private trait methods and lets the class composer change method visibility at composition time (from public to private and vice versa). Moreover two class composers may use different composition policies for the same trait, something which is not possible in mainstream languages. This approach respects the two main design principles of traits: the class composer is empowered and traits can be flattened away. We present an implementation of freezable traits in Smalltalk. As a side-effect of this implementation we introduced private (early-bound and invisible) methods to Smalltalk by distinguishing object-sends from self-sends. Our implementation uses compile-time bytecode manipulation and, as such, introduces no run-time penalties.}, Address = {New York, NY, USA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference topconference}, Author = {St\'ephane Ducasse and Roel Wuyts and Alexandre Bergel and Oscar Nierstrasz}, Booktitle = {Proceedings of 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'07)}, Doi = {10.1145/1297027.1297040}, Inria = {hors}, Isbn = {978-1-59593-786-5}, Keywords = {scg07 snf08 stefPub alexPub jb08 scg-pub}, Location = {Montreal, Quebec, Canada}, Medium = {2}, Misc = {Acceptance rate: 33/156:21\%}, AcceptTotal = {156}, AcceptNum = {33}, Month = oct, Pages = {171--190}, Peerreview = {yes}, Publisher = {ACM Press}, Rate = {21%}, Selectif = {oui}, Title = {User-Changeable Visibility: Resolving Unanticipated Name Clashes in Traits}, Url = {http://scg.unibe.ch/archive/papers/Duca07b-FreezableTrait.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca07b-FreezableTrait.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297027.1297040} } @inproceedings{Duca07c, Abstract = {Large object-oriented applications are structured over large number of packages. Packages are important but complex structural entities that may be difficult to understand since they play different development roles (i.e., class containers, code ownership basic structure, architectural elements...). Maintainers of large applications face the problem of understanding how packages are structured in general and how they relate to each others. In this paper, we present a compact visualization, named Package Surface Blueprint, that qualifies the relationships that a package has with its neighbours. A Package Surface Blueprint represents packages around the notion of package surfaces: groups of relationships according to the packages they refer to. We present two specific views one stressing the references made by a package and another showing the inheritance structure of a package. We applied the visualization on two large case studies: ArgoUML and Squeak.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference stefPub}, Author = {St\'ephane Ducasse and Damien Pollet and Mathieu Suen and Hani Abdeen and Ilham Alloui}, Booktitle = {ICSM '07: Proceedings of the IEEE International Conference on Software Maintenance}, Inria = {hors}, Keywords = {moose-pub}, Misc = {acceptance rate: 46/214 = 21\%}, AcceptTotal = {214}, AcceptNum = {46}, Pages = {94--103}, Rate = {21%}, Selectif = {oui}, Title = {Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships}, Url = {http://scg.unibe.ch/archive/papers/Duca07cPackageBlueprintICSM2007.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca07cPackageBlueprintICSM2007.pdf} } @misc{Duca07y, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Hilaire Fernandes}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = mar, Number = 92, Pages = {18--23}, Selectif = {non}, Title = {Smalltalk et design patterns, un couple assorti}, Volume = 1, Year = {2007} } @misc{Duca07z, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {St\'ephane Ducasse and Hilaire Fernandes}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = may, Number = 94, Pages = {18--23}, Selectif = {non}, Title = {Tests unitaires en Smalltalk}, Volume = 1, Year = {2007} } @inproceedings{Duca08b, Abstract = {The increasing amount of data available about software systems poses new challenges for re- and reverse engineering research, as the proposed approaches need to scale. In this context, concerns about meta-modeling and analysis techniques need to be augmented by technical concerns about how to reuse and how to build upon the efforts of previous research. Moose is an extensive infrastructure for reverse engineering evolved for over 10 years that promotes the reuse of engineering efforts in research. Moose accommodates various types of data modeled in the FAMIX family of meta-models. The goal of this half-day workshop is to strengthen the community of researchers and practitioners who are working in re- and reverse engineering, by providing a forum for building future research starting from Moose and FAMIX as shared infrastructure.}, Annote = {internationalconference}, Author = {St\'ephane Ducasse and Tudor G\^irba and Orla Greevy and Michele Lanza and Oscar Nierstrasz}, Booktitle = {15th Working Conference on Software Maintenance and Reengineering (WCRE 2008)}, Doi = {10.1109/WCRE.2008.51}, Keywords = {scg08 scg-pub greevy girba jb09 hasler08 moose-pub stefPub}, Medium = {2}, Month = oct, Pages = {343--344}, Peerreview = {yes}, Title = {Workshop on {FAMIX} and {Moose} in Software Reengineering ({FAMOOSr} 2008)}, Url = {http://scg.unibe.ch/archive/papers/Duca08bFAMOOSr2008.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Duca08bFAMOOSr2008.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2008.51} } @inproceedings{Duca09a, Annote = {internationalconference}, Author = {Ducasse, St\'ephane and Pollet, Damien and Bergel, Alexandre and Cassou, Damien}, Booktitle = {Tools'09: Proceedings of the 47th International Conference on Objects, Models, Components, Patterns}, Keywords = {tools09 traits}, Month = jun, Pages = {252--271}, Misc = {acceptance rate: 17/67 = 25\%}, AcceptTotal = {67}, AcceptNum = {17}, Title = {Reusing and Composing Tests with Traits}, CoreRanking = {B}, address = {Zurich, Switzerland}, Url = {http://hal.archives-ouvertes.fr/docs/00/40/35/68/PDF/Reusing_Composing.pdf}, Year = {2009}, Bdsk-Url-1 = {http://hal.archives-ouvertes.fr/docs/00/40/35/68/PDF/Reusing_Composing.pdf} } @article{Duca08a, Abstract = {Object-oriented modelling languages such as EMOF are often used to specify domain specific meta-models. However, these modelling languages lack the ability to describe behavior or operational semantics. Several approaches have used a subset of Java mixed with OCL as executable meta-languages. In this experience report we show how we use Smalltalk as an executable meta-language in the context of the Moose reengineering environment. We present how we implemented EMOF and its behavioral aspects. Over the last decade we validated this approach through incrementally building a meta-described reengineering environment. Such an approach bridges the gap between a code-oriented view and a meta-model driven one. It avoids the creation of yet another language and reuses the infrastructure and run-time of the underlying implementation language. It offers an uniform way of letting developers focus on their tasks while at the same time allowing them to meta-describe their domain model. The advantage of our approach is that developers use the same tools and environment they use for their regular tasks. Still the approach is not Smalltalk specific but can be applied to language offering an introspective API such as Ruby, Python, CLOS, Java and C#.}, Aeres = {ACL}, Annote = {internationaljournal cook}, Author = {St\'ephane Ducasse and Tudor G\^irba and Adrian Kuhn and Lukas Renggli}, Doi = {10.1007/s10270-008-0081-4}, Inria = {hors}, Journal = {Journal of Software and Systems Modeling (SOSYM)}, Keywords = {scg09 scg-pub snf09 jb09 stefPub moose-pub girba cook remoose akuhn}, Medium = {2}, Month = feb, Number = {1}, Pages = {5--19}, Peerreview = {yes}, Publisher = {Springer Verlag}, Selectif = {oui}, Title = {Meta-Environment and Executable Meta-Language using {Smalltalk}: an Experience Report}, Url = {http://scg.unibe.ch/archive/drafts/Duca08a-Sosym-ExecutableMetaLanguage.pdf}, Volume = {8}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/drafts/Duca08a-Sosym-ExecutableMetaLanguage.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10270-008-0081-4} } @inproceedings{Duca09b, Abstract = {Traits are method groups that can be used to compose classes. They do not have a runtime existence and are conceptually folded into the classes that use them. Traits have been implemented in different languages. While implementing them in Smalltalk, our first reflex was to take advantage of the fact that traits are not run-time entities: we optimized the implementation for space and hence shared methods between traits and classes. However, by doing so we broke the introspective API of Smalltalk. This paper illustrates a more general problem seen in all reflective systems: the implementation serves both as a model for execution and as the model that is exposed to the programmer. There is a conflict of interests between the information necessary for execution and the information the programmer is interested in. In addition, as soon as the implementation is exposed via reflection, we are not free to optimize. As the complete implementation is visible reflectively, there is no way to hide the optimizations. Few papers report errors and this is one of them. We report our experience facing the initial API mismatch, which has a significant impact on the system because the language is reflective (i.e., written in itself and causally connected). We present the new introspective API we put in place.}, Aeres = {ACT}, Aeresstatus = {aeres12}, Annote = {internationalworkshop}, Author = {Ducasse, St\'ephane and Denker, Marcus and Lienhard, Adrian}, Booktitle = {Proceedings of the International Workshop on Smalltalk Technologies (IWST'09)}, Inria = {dans}, Keywords = {stefPub jb10 scg-pub snf10}, Isbn = {978-1-60558-899-5}, Pages = {82--86}, Location = {Brest, France}, Doi = {10.1145/1735935.1735949}, Url = {http://scg.unibe.ch/archive/papers/Duca09bTraitsEvolution.pdf}, Publisher = {ACM}, Address = {New York, NY, USA}, Month = {jun}, Selectif = {non}, Title = {Evolving a Reflective Language}, Year = {2009} } @article{Duca09c, 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.}, Aeres = {ACL}, Annote = {internationaljournal}, Author = {Ducasse, St\'ephane and Pollet, Damien}, Doi = {10.1109/TSE.2009.19}, Inria = {hors}, Journal = {IEEE Transactions on Software Engineering}, Month = jul, Number = {4}, Pages = {573-591}, Selectif = {oui}, Title = {Software Architecture Reconstruction: A Process-Oriented Taxonomy}, Url = {http://scg.unibe.ch/archive/external/Duca09x-SOAArchitectureExtraction.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Duca09x-SOAArchitectureExtraction.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2009.19} } @book{Duca10a, Abstract = {Seaside is the open source framework of choice for developing sophisticated and dynamic web applications. Seaside uses the power of objects to master the web. With Seaside web applications is as simple as building desktop applications. Seaside lets you build highly dynamic and interactive web applications. Seaside supports agile development through interactive debugging and unit testing. Seaside is based on Smalltalk, a proven and robust language implemented by different vendors. Seaside is now available for all the major Smalltalk including Pharo, Squeak, GNU Smalltalk, Cincom Smalltalk, GemStone Smalltalk, and VA Smalltalk.}, Author = {St\'ephane Ducasse and Lukas Renggli and C. David Shaffer and Rick Zaccone and Michael Davies}, Annote = {book}, Keywords = {scg-pub scg10 skip-doi snf-none jb10 evol11}, Medium = {2}, Peerreview = {no}, Publisher = {Square Bracket Associates}, Title = {Dynamic Web Development with Seaside}, Note = {http://book.seaside.st/book}, Url = {http://book.seaside.st/book}, Year = {2010}, Isbn = {978-3-9523341-1-9}, Bdsk-Url-1 = {http://book.seaside.st/book} } @inproceedings{Duco87a, Address = {Paris, France}, Author = {R. Ducournau and Michel Habib}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-inheritance ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {243--252}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Some Algorithms for Multiple Inheritance in Object-Oriented Programming}, Volume = {276}, Year = {1987} } @inproceedings{Duco92a, Author = {R. Ducournau and M. Habib and M. Huchard and M.L. Mugnier}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {16--24}, Title = {Monotonic Conflict Resolution Mechanisms for Inheritance}, Volume = {27}, Year = {1992} } @techreport{Duco01a, Author = {R. Ducournau}, Institution = {L.I.R.M.M., Montpellier}, Keywords = {olit types}, Number = {Rapport de Recherche 01-013}, Title = {Sp\'ecialisation et sous-typage: th\`eme et variations}, Url = {http://www.lirmm.fr/~ducour/Publis/spectyperr.ps.gz}, Year = {2001}, Bdsk-Url-1 = {http://www.lirmm.fr/~ducour/Publis/spectyperr.ps.gz} } @incollection{Duco02a, Author = {R. Ducournau}, Booktitle = {Advances in Object-Oriented Information Systems, OOIS'02 Workshops Proc.}, Editor = {J.-M. Bruel and Z. Bellahs\`ene}, Pages = {3--12}, Publisher = {Springer}, Series = {LNCS 2426}, Title = {``{Real World}'' as an Argument for Covariant Specialization in Programming and Modeling}, Year = {2002} } @article{Duco09a, Author = {Roland Ducournau}, Journal = {ACM Computing Surveys}, Note = {to appear}, Title = {Implementing statically typed object-oriented programming languages}, Year = {2010} } @inproceedings{Duen98a, Author = {Due{\~n}as, J. and Lopes de Oliveira, W. and de la Puente, J.}, Booktitle = {Conference on Software Maintenance and Reengineering (CSMR)}, Doi = {10.1109/CSMR.1998.10007}, Pages = {113--120}, Title = {Architecture Recovery for Software Evolution}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.1998.10007} } @article{Dufo03a, Address = {New York, NY, USA}, Author = {Dufour, Bruno and Driesen, Karel and Hendren, Laurie and Verbrugge, Clark}, Doi = {10.1145/949343.949320}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {11}, Pages = {149--168}, Publisher = {ACM}, Title = {Dynamic metrics for java}, Volume = {38}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949343.949320} } @book{Duge90a, Author = {Philippe Dugerdil}, Isbn = {2-88074-182-3}, Keywords = {oolit-oopl oobib(smalltalk) book scglib}, Publisher = {Presses Polytechniques et Universitaires Romandes}, Title = {Smalltalk-80: Programmation par Objets}, Year = {1991} } @inproceedings{Dugg99a, Address = {New York, NY, USA}, Author = {Dominic Duggan}, Booktitle = {OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/320384.320393}, Isbn = {1-58113-238-7}, Location = {Denver, Colorado, United States}, Pages = {97--113}, Publisher = {ACM Press}, Title = {Modular type-based reverse engineering of parameterized types in Java code}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320393} } @inproceedings{Dugg00a, Address = {Berlin Heidelberg}, Author = {Dominic Duggan}, Booktitle = {Proceedings ECOOP 2000}, Editor = {Elisa bertino}, Keywords = {ecoop ecoop02 2002 module mixin}, Pages = {179--200}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Mixin-Based, Semantics-Based Approach to Reusing Domain-Specific Programming Languages}, Volume = {1850}, Year = {2000} } @inproceedings{Dugg01a, Author = {Dominic Duggan and Ching-Ching Techaubol}, Booktitle = {Proceedings OOPSLA 2001}, Keywords = {olit oopsla01}, Month = oct, Pages = {223--240}, Title = {Modular Mixin-Based Inheritance for Application Frameworks}, Year = {2001} } @inproceedings{Dugg01b, Author = {Dominic Duggan}, Booktitle = {Intl. Conf. on Functional Programming}, Pages = {62--73}, Title = {Type-Based Hot Swapping of Running Modules}, Year = {2001} } @inproceedings{Dugg02a, Author = {Sheryl L. Duggin and Barbara Bernal Thomas}, Booktitle = {Proceedings of the 15th Conference on Software Engineering Education and Training (CSEET'02}, Doi = {1093-0175/02}, Publisher = {IEEE}, Title = {An Historical Investigation of Graduate Software Engineering Curriculum}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/1093-0175/02} } @article{Dugg05a, author = {Dominic Duggan}, title = {Type-based hot swapping of running modules}, journal = {Acta Inf.}, volume = {41}, issue = {4}, month = mar, year = {2005}, issn = {0001-5903}, pages = {181--220}, numpages = {40}, url = {http://portal.acm.org/citation.cfm?id=1048696.1048697}, doi = {10.1007/s00236-004-0151-1}, acmid = {1048697}, publisher = {Springer-Verlag New York, Inc.}, address = {Secaucus, NJ, USA} } @inproceedings{Duhl88a, Author = {Joshua Duhl and Craig Damon}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {153--163}, Title = {A Performance Comparison of Object and Relational Databases Using the Sun Benchmark}, Volume = {23}, Year = {1988} } @article{Duma91a, Author = {Susan T. Dumais}, Journal = {Behavior Research Methods, Instruments and Computers}, Pages = {229--236}, Title = {Improving the retrieval of information from external sources}, Volume = {23}, Year = {1991} } @inproceedings{Duma92a, Author = {Susan T. Dumais and Jakob Nielsen}, Booktitle = {Research and Development in Information Retrieval}, Pages = {233--244}, Title = {Automating the Assignment of Submitted Manuscripts to Reviewers}, Year = {1992} } @techreport{Dunc98a, Author = {Andrew Duncan and Urs H\"olze}, Institution = {Departement of Computer Science of University of California, Santa Barbara}, Number = {TRCS-98-32}, Title = {Adding Contracts to Java with Handshake}, Year = {1998} } @inproceedings{Dunk06a, Address = {New York, NY, USA}, Author = {Adam Dunkels and Oliver Schmidt and Thiemo Voigt and Muneeb Ali}, Booktitle = {SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems}, Doi = {10.1145/1182807.1182811}, Isbn = {1-59593-343-3}, Location = {Boulder, Colorado, USA}, Pages = {29--42}, Publisher = {ACM}, Title = {Protothreads: simplifying event-driven programming of memory-constrained embedded systems}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1182807.1182811} } @inproceedings{Duns00a, Author = {Alastair Dunsmore and Marc Roper and Murray Wood}, Booktitle = {Proceedings of ICSE '00 (22nd International Conference on Software Engineering)}, Location = {Limerick, Ireland}, Pages = {467--476}, Publisher = {ACM Press}, Title = {Object-Oriented Inspection in the Face of Delocalisation}, Year = {2000} } @book{Dupr98a, Author = {Lyn Dupre}, Isbn = {020137921X}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Bugs in Writing}, Year = {1998} } @inproceedings{Duss89a, Author = {Patrick H. Dussud}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {215--220}, Title = {{TICLOS}: An Implementation of {CLOS} for the Explorer Family}, Volume = {24}, Year = {1989} } @article{Dutc06a, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Christopher Dutchyn and David B. Tucker and Shriram Krishnamurthi}, Doi = {10.1016/j.scico.2006.01.003}, Issn = {0167-6423}, Journal = {Sci. Comput. Program.}, Number = {3}, Pages = {207--239}, Publisher = {Elsevier North-Holland, Inc.}, Title = {Semantics and scoping of aspects in higher-order languages}, Volume = {63}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2006.01.003} } @book{Duto97a, Author = {Thierry Dutoit}, Isbn = {1402003692}, Keywords = {scglib}, Publisher = {Kluwer Academic Publishers}, Title = {An Introduction to Text-to-Speech Synthesis}, Year = {1997} } @inproceedings{Duwe98a, Address = {Pisa}, Author = {Stephan D{\"{u}}wel and Wolfgang Hesse}, Booktitle = {Proceedings of {CAiSE'98/IFIP} 8.1 3rd International Workshop on Evaluation of Modelling Methods in System Analysis and Design ({EMMSAD'98})}, Keywords = {fca}, Title = {Identifying Candidate Objects during System Analysis}, Year = {1998} } @inproceedings{Duwe99a, Address = {Heidelberg, Germany}, Author = {Stephan D{\"{u}}wel}, Booktitle = {Conference on Advanced Information Systems Engineering. 6th Doctoral Consortium}, Keywords = {fca}, Month = jun, Title = {Enhancing {System} {Analysis} by {Means} of {Formal} {Concept} {Analysis}}, Year = {1999} } @inproceedings{Duwe00a, Address = {Koblenz}, Author = {Stephan D{\"{u}}wel and Wolfgang Hesse}, Booktitle = {Modelle und Modellierungssprachen in Informatik und Wirtschaftsinformatik. Proceedings ``Modellierung 2000''}, Editor = {J. Ebert and U. Frank}, Keywords = {fca}, Pages = {27--40}, Publisher = {F\"{o}lbach-Verlag}, Title = {Bridging the {Gap} between {Use} {Case} {Analysis} and {Class} {Structure} {Design} by {Formal} {Concept} {Analysis}}, Year = {2000} } @phdthesis{Duwe00b, Address = {Marburg}, Author = {Stephan D{\"{u}}wel}, Keywords = {parseError fca}, School = {Philipps-Universit{\"{a}}t}, Title = {BASE --- ein be\-griffs\-basiertes {Analyseverfahren} f{\"{u}}r die {Soft}\-ware-{Ent}\-wick\-lung}, Url = {http://www.ub.uni-marburg.de/digibib/ediss/welcome.html}, Year = {2000}, Bdsk-Url-1 = {http://www.ub.uni-marburg.de/digibib/ediss/welcome.html} } @techreport{Dwye96a, Author = {Mattew B. Dwyer and Mattew J. Craig}, Institution = {CIS TR}, Keywords = {coordination}, Number = {96-9}, Title = {High-Level Coordination Abstraction in Stock Languages}, Year = {1996} } @inproceedings{Dwye97a, 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.}, Author = {Matthew B. Dwyer and Virgil Wallentine}, Booktitle = {Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA '97)}, Keywords = {coordination}, Month = jun, Title = {Object-Oriented Coordination Abstractions for Parallel Software}, Url = {http://www.cis.ksu.edu/~dwyer/papers/ooca.ps}, Year = {1997}, Bdsk-Url-1 = {http://www.cis.ksu.edu/~dwyer/papers/ooca.ps} } @book{Dybv87a, Author = {R. Kent Dybvig}, Isbn = {0-13-791864-X}, Keywords = {scheme oolit-oopl oobib(oopl) book scglib}, Publisher = {Prentice-Hall}, Title = {The {SCHEME} Programming Language}, Year = {1987} } @book{Dybv03a, Author = {Kent Dybvig}, Isbn = {0-262-54148-3}, Keywords = {scglib}, Publisher = {MIT Press}, Title = {The Scheme Programming Language}, Url = {http://www.scheme.com/tspl3/index.html}, Year = {2003}, Bdsk-Url-1 = {http://www.scheme.com/tspl3/index.html} } @manual{Dyla92a, Month = apr, Organization = {Apple Computer, Eastern Research and Technology}, Title = {Dylan: an object-oriented dynamic language}, Year = {1992} } @incollection{Dyso97a, Author = {Paul Dyson and Bruse Anderson}, Booktitle = {Pattern Languages of Program Design 3}, Editor = {Robert Martin and Dirk Riehle and Frank Buschmann}, Keywords = {olit patterns oorp}, Publisher = {Addison Wesley}, Title = {State Patterns}, Year = {1997} } @techreport{ECMA83a, Author = {{ECMA}}, Institution = {ECMA}, Keywords = {olit-appl oda ois documents}, Title = {Office Document Architecture}, Type = {TC 29/83/56, Fourth Working Draft}, Year = {1983} } @book{ECMA97a, Editor = {ECMA}, Keywords = {scripting ecmascript javascript}, Month = jun, Publisher = {European Computer Machinery Association}, Title = {ECMAScript Language Specification}, Url = {http://www.ecma-international.org/publications/standards/Ecma-262.htm}, Year = {1997}, Bdsk-Url-1 = {http://www.ecma-international.org/publications/standards/Ecma-262.htm} } @misc{ELanguage, Key = {ELanguage}, Note = {http://www.erights.org/}, Title = {The {E} {Language}}, Url = {http://www.erights.org/}, Bdsk-Url-1 = {http://www.erights.org/} } @misc{EToyGames, Author = {Markus Gaelli}, Key = {Etoys Games}, Keywords = {games etoys smalltalk gaelli}, Misc = {gaelli}, Note = {http://www.emergent.de/etoys.html}, Title = {Composing Simple Games with {Etoys}}, Url = {http://www.emergent.de/etoys.html}, Bdsk-Url-1 = {http://www.emergent.de/etoys.html} } @article{Earl70a, Address = {New York, NY, USA}, Author = {Jay Earley}, Doi = {10.1145/362007.362035}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {2}, Pages = {94--102}, Publisher = {ACM Press}, Title = {An efficient context-free parsing algorithm}, Volume = {13}, Year = {1970}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/362007.362035} } @inproceedings{Eber94a, Author = {J. Ebert and G. Engels}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {142--157}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Structural and Behavioral Views of {OMT}-Classes}, Volume = {858}, Year = {1994} } @book{Eber00a, Editor = {J. Ebert and Chris Verhoef}, Publisher = {IEEE}, Title = {Proceedings of the Fourth European Conference on Software Maintenance and Reengineering}, Year = {2000} } @techreport{Eber02a, 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.}, Author = {J{\"u}rgen Ebert and Bernt Kullbach and Volker Riediger and Andreas Winter}, Institution = {Universit{\"a}t Koblenz-Landau}, Keywords = {design-recovery}, Number = {7--2002}, Title = {{GUPRO} --- Generic Understanding of Programs, An Overview}, Type = {Fachberichte Informatik}, Url = {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-7-2002.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-7-2002.pdf} } @article{Eber02b, Author = {J{\"u}rgen Ebert and Bernt Kullbach and Volker Riediger and Andreas Winter}, Journal = {Electronic Notes Theoretical Computer Science.}, Number = {2}, Title = {GUPRO - Generic Understanding of Programs}, Volume = {72}, Year = {2002} } @inproceedings{Ebra05, Author = {Peter Ebraert and Yves V and E Berbers}, Booktitle = {CAZOLLA W., Ed., In the proceedings of the Workshop on Reflection, AOP and Meta-Data for Software Evolution in conjunction with the 18th European Conference on Object-Oriented Programming}, Date-Added = {2010-06-16 13:16:18 +0200}, Date-Modified= {2010-06-16 13:16:18 +0200}, Keywords = {DSU; reflection; meta-programming}, Pages = {41--49}, Rating = {5}, Title = {Pitfalls in unanticipated dynamic software evolution}, Year = {2005} } @techreport{Ebra05b, author = {Vandewoude, Yves and Ebraert, Peter and Berbers, Yolande and D'Hondt, Theo}, title = {Influence of type systems on dynamic software evolution}, institution = {Department of Computer Science, K.U.Leuven, Leuven, Belgium}, type = {CW Reports}, number = {CW415}, year = {2005}, url = {https://lirias.kuleuven.be/handle/123456789/131703} } @inproceedings{Ebra06a, Author = {P. Ebraert and T. D'Hondt and Y. Vandewoude and Y. Berbers}, Booktitle = {Proceedings, ERCIM 2006}, Title = {User-centric dynamic evolution}, Year = {2006} } @inproceedings{Ebra07a, author = {Ebraert, Peter and Vallejos, Jorge and Costanza, Pascal and Van Paesschen, Ellen and D'Hondt, Theo}, title = {Change-oriented software engineering}, booktitle = {Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007}, series = {ICDL '07}, year = {2007}, isbn = {978-1-60558-084-5}, location = {Lugano, Switzerland}, pages = {3--24}, numpages = {22}, acmid = {1352680}, publisher = {ACM}, address = {New York, NY, USA} } @misc{Ecke03a, Author = {Bruce Eckel}, Key = {Ecke03a}, Keywords = {dynamic languages static languages testing}, Note = {http://www.mindview.net/WebLog/log-0025}, Title = {{Strong} {Typing} vs. {Strong} {Testing}}, Url = {http://www.mindview.net/WebLog/log-0025}, Year = {2003}, Bdsk-Url-1 = {http://www.mindview.net/WebLog/log-0025} } @misc{Eclipse03a, Key = {Eclipse03a}, Url = {http://www.\-eclipse\-.org/\-white\-papers/\-eclipse-over\-view.pdf}, Title = {Eclipse Platform: Technical Overview}, keywords = {damiencbib}, Year = {2003} } @misc{EclipseJDT, Key = {Eclipse JDT}, Note = {http://www.eclipse.org/jdt/}, Title = {Eclipse Java Development Tools (JDT) Subproject}, Url = {http://www.eclipse.org/jdt/}, Bdsk-Url-1 = {http://www.eclipse.org/jdt/} } @article{Edel88a, Author = {Mark Edel}, Doi = {10.1109/32.7621}, Journal = {IEEE Trans on Software Engineering}, Keywords = {visprog ptyping}, Month = aug, Number = {8}, Pages = {1110--1115}, Title = {The {Tinkertoy} Graphical Programming Environment}, Volume = {SE-14}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.7621} } @inproceedings{Eden01a, Author = {Eden, Amnon H.}, Booktitle = {International ICSE workshop on Software Visualization}, Month = may, Title = {Visualization of Object-Oriented Architectures}, Year = {2001} } @inproceedings{Eden02a, Author = {Eden, Amnon H.}, Booktitle = {6th World Conference on Integrated Design and Process Technology (IDPT)}, Location = {Pasadena, California}, Month = jun, Title = {LePUS: A Visual Formalism for Object-Oriented Architectures}, Year = {2002} } @techreport{Edwa63a, 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.}, Author = {D. J. Edwards and M. L. Minsky}, Institution = {MIT Artificial Intelligence Laboratory}, Key = {Edwa63a}, Number = {AIM-60}, Title = {Recent Improvements in {DDT}}, Url = {ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-060.pdf}, Year = {1963}, Bdsk-Url-1 = {ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-060.pdf} } @article{Edwa94a, Author = {Stephen H. Edwards and Wayne D. Heym and Timothy J. Long and Murali Sitaraman and Bruce W. Weide}, Doi = {10.1145/190679.190682}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {4}, Pages = {29--39}, Publisher = {ACM Press}, Title = {Part II: specifying components in {RESOLVE}}, Volume = {19}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.190682} } @inproceedings{Edwa04a, Author = {Jonathan Edwards}, Booktitle = {OOPSLA 04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1028664.1028713}, Isbn = {1-58113-833-4}, Keywords = {visprog subtext}, Location = {Vancouver, BC, CANADA}, Pages = {124--124}, Publisher = {ACM Press}, Title = {Example centric programming}, Url = {http://subtextual.org/OOPSLA04.pdf}, Year = {2004}, Bdsk-Url-1 = {http://subtextual.org/OOPSLA04.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1028664.1028713} } @inproceedings{Edwa05a, Author = {Jonathan Edwards}, 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}}, Doi = {10.1145/1094811.1094851}, Editor = {Ralph Johnson and Richard P. Gabriel}, Isbn = {1-59593-031-0}, Keywords = {visprog subtext}, Pages = {505--518}, Publisher = {ACM}, Title = {Subtext: uncovering the simplicity of programming}, Url = {http://subtextual.org/OOPSLA05.pdf}, Year = {2005}, Bdsk-Url-1 = {http://subtextual.org/OOPSLA05.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1094811.1094851} } @inproceedings{Edwa07a, Address = {New York, NY, USA}, Author = {Jonathan Edwards}, Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications}, Doi = {10.1145/1297027.1297075}, Isbn = {978-1-59593-786-5}, Keywords = {visprog subtext}, Location = {Montreal, Quebec, Canada}, Pages = {639--658}, Publisher = {ACM}, Title = {No ifs, ands, or buts: uncovering the simplicity of conditionals}, Url = {http://subtextual.org/OOPSLA07.pdf}, Year = {2007}, Bdsk-Url-1 = {http://subtextual.org/OOPSLA07.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297027.1297075} } @inproceedings{Edwar09a, Location = {Vancouver, BC, Canada}, address = {Los Alamitos, CA, USA}, author = {Edwards, George and Garcia, Joshua and Tajalli, Hossein and Popescu, Daniel and Medvidovic, Nenad and Sukhatme, Gaurav and Petrus, Brad}, keywords = {damiencbib robotics scc}, doi = {10.1109/SEAMS.2009.5069083}, isbn = {978-1-4244-3724-5}, booktitle = {SEAMS'09: Proceedings of the 4th International Symposium on Software Engineering for Adaptive and Self-Managing Systems}, pages = {142--151}, publisher = {IEEE Computer Society}, title = {Architecture-driven self-adaptation and self-management in robotics systems}, month = may, year = {2009} } @techreport{Eert91a, Author = {Henk Eertink and Dietmar Wolz}, Institution = {University of Twente}, Keywords = {pcalc lotos binder}, Month = may, Number = {91/016}, Title = {Symbolic Execution of {LOTOS} Specifications}, Type = {Memoranda Informatica 91-47, TIOS}, Year = {1991} } @article{Egbe92a, Author = {Parris K. Egbert and William J. Kubitz}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee}, Month = oct, Number = {10}, Pages = {84--91}, Title = {Application Graphics Modeling Support Through Object Orientation}, Volume = {25}, Year = {1992} } @inproceedings{Ege87a, Address = {Paris, France}, Author = {Raimund K. Ege and David Maier}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {140--150}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Filter Browser Defining Interfaces Graphically}, Volume = {276}, Year = {1987} } @inproceedings{Egge92a, Author = {Thomas Eggenschwiler and Erich Gamma}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {166--177}, Title = {{ET}++ Swaps Manager: Using Object Technology in the Financial Engineering Domain}, Volume = {27}, Year = {1992} } @inproceedings{Egye99a, Author = {Alexander Egyed and Phillipe B. Kruchten}, Booktitle = {Proc. 32nd Annual Hawaii Conference on Systems Sciences}, Title = {Rose/Architect: a tool to visualize architecture}, Year = {1999} } @inproceedings{Egye03a, Author = {Alexander Egyed}, Booktitle = {IEEE Transactions on Software Engineering}, Month = feb, Title = {A Scenario-Driven Approach to Trace Dependency Analysis}, Volume = {29}, Year = {2003} } @inproceedings{Ehri90a, Address = {Noordwijkerhout}, Author = {H-D. Ehrich and Joseph A. Goguen and Amilcar Sernadas}, Booktitle = {Proc. REX/FOOLS Workshop}, Keywords = {concurrency binder}, Month = jun, Note = {To appear}, Title = {A Categorical Theory of Objects as Observed Processes}, Year = {1990} } @inproceedings{Ehri93a, Author = {H. Ehrig and R. M. Jimenez and F. Orejas}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {specification proof tapsoft93}, Month = apr, Pages = {31--45}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Compositionality Results for Different Types of Parameterization and Parameter Passing in Specification Languages}, Volume = {668}, Year = {1993} } @article{Eick92a, Author = {Stephen G. Eick and Joseph L. Steffen and Eric E., Jr., Sumner}, Journal = {IEEE Transactions on Software Engineering}, Month = nov, Note = {Depth}, Number = {11}, Pages = {957--968}, Title = {{SeeSoft}---A Tool for Visualizing Line Oriented Software Statistics}, Volume = {18}, Year = {1992} } @article{Eick93a, Author = {Christoph F. Eick and Bogdan Czejdo}, Journal = {JOOP}, Month = oct, Number = {6}, Pages = {56--62}, Title = {Reactive rules for {C++}}, Volume = {6}, Year = {1993} } @article{Eick94a, Author = {Stephen G. Eick}, Journal = {Journal of Computational Graphics and Statistics}, Number = {2}, Pages = {127--142}, Title = {Graphically Displaying Text}, Volume = {3}, Year = {1994} } @article{Eick95a, Author = {Stephen G. Eick and Paul J. Lucas}, Journal = {Software Practice and Experience}, Number = {4}, Pages = {399--409}, Title = {Displaying Trace Files}, Volume = {26}, Year = {1995} } @article{Eick95b, Author = {Stephen G. Eick and Graham J. Wills}, Journal = {European Journal of Operational Research}, Pages = {445--459}, Title = {High Interaction Graphics}, Url = {citeseer.ist.psu.edu/eick94high.html}, Volume = {84}, Year = {1995}, Bdsk-Url-1 = {citeseer.ist.psu.edu/eick94high.html} } @article{Eick00a, Author = {Stephen G. Eick}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Number = {1}, Pages = {44--58}, Title = {Visual Discovery and Analysis}, Volume = {6}, Year = {2000} } @article{Eick01a, Author = {Stephen Eick and Todd Graves and Alan Karr and J. Marron and Audris Mockus}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {1}, Pages = {1--12}, Publisher = {IEEE Press}, Title = {Does Code Decay? Assessing the Evidence from Change Management Data}, Volume = {27}, Year = {2001} } @article{Eick02a, Author = {Stephen Eick and Todd Graves and Alan Karr and Audris Mockus and Paul Schuster}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {evolution visualization}, Number = {4}, Pages = {396--412}, Title = {Visualizing Software Changes}, Volume = {28}, Year = {2002} } @inproceedings{Eide01a, Author = {Eric Eide and Alastair Reid and Matthew Flatt and Jay Lepreau}, Booktitle = {Workshop on Advanced Separation of Concerns in Software Engineering}, Keywords = {knit aspect}, Title = {Aspect Weaving as Component Knitting: Separating Concerns with Knit}, Url = {http://www.cs.utah.edu/flux/papers/knit-icse01-wasc-base.html}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.utah.edu/flux/papers/knit-icse01-wasc-base.html} } @inproceedings{Eise93a, Author = {Susan Eisenbach and Ross Paterson}, Booktitle = {Proceedings of the 26th Annual Hawaii International Conference on System Sciences}, Keywords = {oobib binder pi concurrency}, Publisher = {IEEE Computer Society Press}, Title = {Pi-Calculus Semantics of the Concurrent Configuration Language Darwin}, Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/formal.ps.Z}, Volume = {2}, Year = {1993}, Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/formal.ps.Z} } @inproceedings{Eise01a, Author = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon}, Booktitle = {Proceedings of ICSM '01 (International Conference on Software Maintenance)}, Keywords = {fca}, Location = {Florence, Italy}, Publisher = {IEEE Computer Society Press}, Title = {Aiding {Program} {Comprehension} by {Static} and {Dynamic} {Feature} {Analysis}}, Year = {2001} } @inproceedings{Eise01b, Author = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon}, Booktitle = {Proceedings of IWPC '01 (9th International Workshop on Program Comprehension)}, Keywords = {fca}, Pages = {300--309}, Publisher = {IEEE Computer Society Press}, Title = {Feature-{Driven} {Program} {Understanding} using {Concept} {Analysis} of {Execution} {Traces}}, Year = {2001} } @inproceedings{Eise02a, Author = {T. Eisenbarth and R. Koschke and G. Vogel}, Booktitle = {9th Working Conference on Reverse Engineering}, Keywords = {trace}, Publisher = {IEEE}, Title = {Static Trace Execution}, Year = {2002} } @inproceedings{Eise02b, Address = {London, UK}, Author = {Daniel Simon and Thomas Eisenbarth}, Booktitle = {SPLC 2: Proceedings of the Second International Conference on Software Product Lines}, Isbn = {3-540-43985-4}, Pages = {272--282}, Publisher = {Springer-Verlag}, Title = {Evolutionary Introduction of Software Product Lines}, Year = {2002} } @article{Eise03a, Author = {Thomas Eisenbarth and Rainer Koschke and Daniel Simon}, Journal = {IEEE Computer}, Keywords = {program comprehension fca}, Month = mar, Number = {3}, Pages = {210--224}, Title = {Locating Features in Source Code}, Volume = {29}, Year = {2003} } @inproceedings{Eise05a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Eisenberg, Andrew and De Volder, Kris}, Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM 2004)}, Keywords = {Feature Feature-Traces DynamicAnalysis}, Location = {Budapest, Hungary}, Month = sep, Pages = {337--346}, Publisher = {IEEE Computer Society Press}, Title = {Dynamic Feature Traces: Finding Features in Unfamiliar code}, Year = {2005} } @article{Eise05b, Address = {New York, NY, USA}, Author = {Thomas Eisenbarth and Rainer Koschke and Gunther Vogel}, Doi = {10.1016/j.jss.2004.04.028}, Issn = {0164-1212}, Journal = {Journal of Systems and Software}, Number = {3}, Pages = {263--284}, Publisher = {Elsevier Science Inc.}, Title = {Static object trace extraction for programs with pointers}, Volume = {77}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2004.04.028} } @inproceedings{Eise06a, Author = {Andrew David Eisenberg and Gregor Kiczales}, Booktitle = {International Conference on Aspect-Oriented Software Development}, Title = {A Simple Edit-Time Metaobject Protocol}, Url = {http://www.cs.ubc.ca/~ade/research/are-mop-oal06.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.cs.ubc.ca/~ade/research/are-mop-oal06.pdf} } @inproceedings{Eixe98a, Author = {Wolfgang Eixelsberger and Michaela Ogris and Gall, Harald and Bernt Bellay}, Booktitle = {International Conference on Software Engineering (ICSE)}, Isbn = {0-8186-8368-6}, Pages = {508--511}, Title = {Software Architecture Recovery of a Program Family}, Year = {1998} } @inproceedings{Eixe98c, Author = {Wolfgang Eixelsberger and Gall, Harald}, Booktitle = {International Computer Software and Applications Conference (COMPSAC)}, Pages = {106--111}, Publisher = {IEEE Computer Society}, Title = {Describing Software Architectures by System Structure and Properties}, Url = {http://csdl2.computer.org/dl/proceedings/compsac/1998/8585/00/85850106.pdf}, Year = {1998}, Bdsk-Url-1 = {http://csdl2.computer.org/dl/proceedings/compsac/1998/8585/00/85850106.pdf} } @article{Ekma03a, Doi = {10.1016/S0167-6423(02)00109-0}, author = {G\"{o}rel Hedin and Eva Magnusson}, title = {{JastAdd}: An aspect-oriented compiler construction system}, journal = {Science of Computer Programming}, volume = {47}, number = {1}, year = {2003}, pages = {37--58}, keywords = {damiencbib}, publisher = {Elsevier North-Holland, Inc.}, address = {Amsterdam, The Netherlands} } @article{Ekma07a, Author = {Torbj{\"o}rn Ekman and G{\"o}rel Hedin}, keywords = {damiencbib jastadd}, Title = {Pluggable checking and inferencing of non-null types for {Java}}, journal = {Journal of Object Technology}, volume = {6}, number = {9}, doi = {10.5381/jot.2007.6.9.a23}, pages = {455--475}, annote = {InternationalConference}, year = {2007} } @article{Ekma07b, Doi = {10.1016/j.scico.2007.02.003}, author = {Torbj\"{o}rn Ekman and G\"{o}rel Hedin}, title = {The {JastAdd} system -- modular extensible compiler construction}, journal = {Science of Computer Programming}, volume = 69, number = {1-3}, year = {2007}, keywords = {damiencbib}, pages = {14--26}, publisher = {Elsevier North-Holland, Inc.}, address = {Amsterdam, The Netherlands} } @inproceedings{Ekma07c, Doi = {10.1145/1297027.1297029}, author = {Torbj\"{o}rn Ekman and G\"{o}rel Hedin}, title = {The {JastAdd} extensible {Java} compiler}, booktitle = {OOPSLA'07: Proceedings of the 22nd Conference on Object-Oriented Programming, Systems, Languages, and Applications}, editor = {Richard P. Gabriel and David F. Bacon and Cristina Videira Lopes and Guy L. Steele Jr.}, year = {2007}, pages = {1--18}, address = {Montreal, Quebec, Canada}, publisher = {ACM Press}, keywords = {damiencbib jastaddj} } @inproceedings{Ekwa08a, Abstract = {Code clones are generally considered to be an obstacle to software maintenance.}, Address = {New York, NY, USA}, Author = {Ekoko, Ekwa D. and Robillard, Martin P.}, Booktitle = {ICSE '08: Proceedings of the 30th international conference on Software engineering}, Citeulike-Article-Id= {6566348}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1368088.1368218}, Citeulike-Linkout-1= {http://dx.doi.org/10.1145/1368088.1368218}, Doi = {10.1145/1368088.1368218}, Isbn = {978-1-60558-079-1}, Keywords = {hot\_clone, snf}, Location = {Leipzig, Germany}, Pages = {843--846}, Posted-At = {2010-01-20 14:12:24}, Priority = {2}, Publisher = {ACM}, Title = {Clonetracker: tool support for code clone management}, Url = {http://dx.doi.org/10.1145/1368088.1368218}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368218} } @inproceedings{Elba00a, Author = {Sebastian G. Elbaum and Alexey G. Malishevsky and Gregg Rothermel}, Booktitle = {International Symposium on Software Testing and Analysis}, Keywords = {testing}, Pages = {102--112}, Publisher = {ACM Press}, Title = {Prioritizing test cases for regression testing}, Year = {2000} } @article{Elem01a, Address = {Los Alamitos, CA, USA}, Author = {Khaled El Emam and Saida Benlarbi and Nishith Goel and Shesh N. Rai}, Doi = {10.1109/32.935855}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {7}, Pages = {630--650}, Publisher = {IEEE Computer Society}, Title = {The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics}, Volume = {27}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.935855} } @inproceedings{Eles97a, Author = {Eles P. and Peng Z. and Kuchcinski K. and Doboli A.}, Booktitle = {Design Automation for Embedded Systems}, Keywords = {simulated annealing}, Month = jan, Pages = {5--32}, Publisher = {Springer Formerly Kluwer Academic Publishers}, Title = {System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search}, Url = {http://www.springerlink.com/index/N0M725Q46126V741.pdf}, Volume = {2}, Year = {1997}, Bdsk-Url-1 = {http://www.springerlink.com/index/N0M725Q46126V741.pdf} } @unpublished{Elia94a, Author = {Gabriele elia and Guiseppe Menga}, Keywords = {pattern oobib(gen) olit-obc cim binder}, Note = {Dept. of Automatica e Informatica Politecnico di Torino}, Title = {G++:{A} Pattern Language for Object-Oriented Design of Concurrent and Distributed Information Systems with Applications to Computer Integrated Manufacturing}, Type = {Draft}, Year = {1994} } @book{Elie95a, Author = {Anton Eliens}, Isbn = {0-201-62444-3}, Keywords = {oobib(gen) book scglib}, Publisher = {Addison Wesley}, Title = {Principles of Object-Oriented Software Development}, Year = {1995} } @article{Elli80a, Author = {Clarence Ellis and Gary J. Nutt}, Journal = {ACM Computing Surveys}, Keywords = {oislit survey}, Month = mar, Number = {1}, Pages = {27--60}, Title = {Computer Science and Office Information Systems}, Volume = {12}, Year = {1980} } @inproceedings{Elli82a, Address = {Philadelphia}, Author = {Clarence Ellis and M. Bernal}, Booktitle = {Proceedings First ACM SIGOA Conference}, Keywords = {oislit officetalk}, Month = jun, Pages = {131--140}, Title = {OfficeTalk-{D}: An Experimental Office Information System}, Year = {1982} } @techreport{Elli92a, Author = {Clarence Ellis and Gary J. Nutt}, Institution = {University of Colorado}, Keywords = {oislit survey binder}, Title = {The Modelling and Analysis of Coordination Systems}, Type = {Technical Report}, Year = {1992} } @inproceedings{Elli99a, Author = {Susan Elliott Sim and Charles L.A. Clarke and Richard C. Holt and Anthony M. Cox}, Booktitle = {International Conference on Software Maintenant (ICSM)}, Doi = {10.1109/ICSM.1999.792636}, Issn = {1063-6773}, Pages = {381--391}, Publisher = {IEEE CS}, Title = {Browsing and Searching Software Architectures}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1999.792636} } @book{Elma94a, Author = {Ramez Elmasri and Shamkant B. Navathe}, Isbn = {0-8053-1753-8}, Keywords = {dblit binder(shelf) scglib}, Publisher = {Benjamin/Cummings}, Title = {Fundamentals of Database Systems}, Year = {1994} } @inproceedings{Elra02a, Address = {New York NY}, Author = {Mohammad El-Ramly and Eleni Stroulia and Paul Sorenson}, Booktitle = {Proceedings ACM International Conference on Software Engineering and Knowledge Engineering}, Pages = {447--454}, Publisher = {ACM Press}, Title = {Recovering software requirements from system-user interaction traces}, Year = {2002} } @article{Elrad01a, Author = {Elrad, Tzilla and Filman, Robert E. and Bader, Atef}, Journal = {cacm}, Month = oct, Number = 10, Title = {Aspect-Oriented Programming}, Volume = 44, Year = {2001} } @inproceedings{Emer84a, Author = {Thomas Emerson}, Booktitle = {Proceedings of the 7th International Conference on Software Engineering (ICSE)}, Title = {A Discriminant Metric for Module Cohesion}, Year = {1984} } @mastersthesis{Enar09a, author = {Enard, Quentin}, title = {Projection de politiques de tol\'erance aux fautes dans les architectures logicielles}, school = {University of Bordeaux}, year = {2009} } @techreport{Engb86a, Author = {Uffe Engberg and M. Nielsen}, Institution = {University of Aarhus}, Keywords = {pcalc mobility eccs}, Number = {PB-208}, Title = {A Calculus of Communicating Systems with Label Passing}, Type = {DAIMI}, Year = {1986} } @inproceedings{Engb90a, Address = {Copenhagen}, Author = {Uffe Engberg and Glynn Winskel}, Booktitle = {Proceedings CAAP '90}, Editor = {A. Arnold}, Keywords = {concurrency petri nets linear logic binder(conc) caap90}, Month = may, Pages = {147--161}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Petri Nets as Models of Linear Logic}, Volume = {431}, Year = {1990} } @inproceedings{Enge96a, Address = {Linz, Austria}, Author = {Vadim Engelson and Dag Fritzson and Peter Fritzson}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {114--141}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Automatic Generation of User Interfaces from Data Structure Specifications and Object-Oriented Application Models}, Volume = {1098}, Year = {1996} } @article{Enge03a, Author = {Engelbrecht, R.L. and Kourie, D.G.}, Doi = {10.1049/ip-sen:20030582}, Issn = {1462-5970}, Journal = {Software, IEE Proceedings}, Keywords = {Java, Smalltalk, program interpreters, programming language semantics Java, Smalltalk to Java commercial translators, anonymous inner classes, array parameter, block semantics, conformance tests, nested Smalltalk blocks, performance tests, static scoping references, translational semantics}, Month = jun, Number = {3}, Pages = {203-211}, Title = {Translating Smalltalk blocks to Java}, Volume = {150}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1049/ip-sen:20030582} } @book{Enja93a, Address = {Wurzburg, Germany}, Editor = {P.Enjalbert and Finkel, K.W.Wagner, A.}, Isbn = {3-540-56503-5}, Keywords = {olit stacts93 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {STACS}'93}, Volume = {665}, Year = {1993} } @book{Enja94a, Editor = {P. Enjalbert and E.W. Mayr and K.W. Wagner}, Isbn = {3-540-57785-8}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {STACS} '94 11th Annual Symposium on Theoretical Aspects of Computer Science}, Volume = {775}, Year = {1994} } @misc{EnterpriseArchitect, Key = {EnterpriseArchitect}, url = {http://www.sparxsystems.com.au/products/ea/index.html}, year = {2010}, Title = {{Enterprise Architect} - {UML} Design Tools and {UML CASE} tools for software development} } @inproceedings{Epst88a, Author = {Danny Epstein and Wilf R. LaLonde}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {pl-lit olit oopsla88}, Month = nov, Pages = {83--94}, Title = {A {Smalltalk} Window System Based on Constraints}, Volume = {23}, Year = {1988} } @inproceedings{Erbe05a, Author = {Erben and L{\"o}hr}, Booktitle = {International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT)}, Month = sep, Publisher = {IEEE CS}, Title = {SAB - The Software Architecture Browser}, Year = {2005} } @book{Erdo02a, Author = {Hakan Erdogmus and Oryal Tanir}, Keywords = {scglib}, Publisher = {Springer}, Title = {Advances in Software Engineering}, Year = {2002} } @book{Erik98a, Author = {Hans-Erik Eriksson and Magnus Penker}, Isbn = {0-471-19161-2}, Keywords = {UML}, Publisher = {John Wiley \& Sons}, Title = {{UML} Toolkit}, Year = {1998} } @article{Erli00a, Doi = {10.1109/6294.846201}, Address = {Piscataway, NJ, USA}, Author = {Len Erlikh}, Journal = {IT Professional}, Number = {3}, Pages = {17--23}, Publisher = {IEEE Educational Activities Department}, keywords = {maintenance costs damiencbib}, Title = {Leveraging Legacy System Dollars for E-Business}, Volume = {2}, Year = {2000} } @techreport{Erni08a, Abstract = {Today's programming language models support a wide variety of mechanisms to share or define the behavior of objects but this often addresses a single object only. As there are operations that are related to a group of objects rather than to a single object, we propose a way to define how those objects operate as group, when stored inside a data container (e.g. Collection, Set, ...). We present a prototype of Collective Behavior in Java that enables some basic collective functionality.}, Author = {David Erni}, Institution = {University of Bern}, Keywords = {snf08 scg-bp jb09}, Month = aug, Title = {{JAG} --- a Prototype for Collective Behavior in {Java}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Erni08a.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Erni08a.pdf} } @techreport{Erni08b, Abstract = {This document is an introduction to hacking the Java compiler. An introduction to the Java compiler is given. Two examples are exercised, a simple hello world and a AST rewriting plugin.}, Author = {David Erni}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb09}, Month = aug, Title = {The Hacker's Guide to {Javac}}, Type = {Bachelor's thesis, supplementary documentation}, Url = {http://scg.unibe.ch/archive/projects/Erni08b.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Erni08b.pdf} } @mastersthesis{Erni10a, Abstract = {Software is intangible and the knowledge about a software system and its architecture is often implicit. Thus the developers'mental model of their software system is an important factor in software engineering. We want to provide developers, and everyone else involved in software development, with a shared, spatial and stable mental model of their software project. We aim to reinforce this by embedding a cartographic visualization in the IDE (Integrated Development Environment). The visualization is always visible in the IDE, similar to the overview map found in many computer games. For each development task, related information is displayed on the map. In this thesis we present Codemap, an Eclipse plug-in that demonstrates the use of software cartography in the context of an IDE. We perform an informal user study to validate our assumptions about the usage of Codemap.}, Author = {David Erni}, Institution = {University of Bern}, Keywords = {scg-msc jb10 snf09 codemap-pub}, Month = jan, School = {University of Bern}, Title = {Codemap---Improving the Mental Model of Software Developers through Cartographic Visualization}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Erni10a.pdf}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Erni10a.pdf} } @inproceedings{Erns98a, Author = {Ernst, Michael and Kaplan, Craig and Chambers, Craig}, Title = {Predicate Dispatching: A Unified Theory of Dispatch}, Abstract = {Predicate dispatching generalizes previous method dispatch mechanisms by permitting arbitrary predicates to control method applicability and by using logical implication between predicates as the overriding relationship. The method selected to handle a message send can depend not just on the classes of the arguments, as in ordinary object-oriented dispatch, but also on the classes of the arguments, as in ordinary object-oriented dispatch, but also on the classes of subcomponents, on an argument's state, and on relationships between objects. This simple mechanism subsumes and extends object-oriented single and multiple dispatch, ML-style pattern matching, predicate classes, and classifiers, which can all be regarded as syntactic sugar for predicate dispatching. This paper introduces predicate dispatching, gives motivating examples, and presents its static and dynamic semantics. An implementation of predicate dispatching is available.}, Booktitle = {Proceedings of the 12th European Conference on Object-Oriented Programming}, Year = {1998}, Isbn = {3-540-64737-6}, Pages = {186--211}, Numpages = {26}, Url = {http://portal.acm.org/citation.cfm?id=646155.679688}, Acmid = {679688}, Publisher = {Springer-Verlag}, Address = {London, UK} } @inproceedings{Erns99a, 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.}, Address = {Lisbon, Portugal}, Author = {Erik Ernst}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {67--91}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Propagating Class and Method Combination}, Volume = 1628, Year = {1999} } @inproceedings{Erns99b, Author = {Michael D. Ernst and Jake Cockrell and William G. Griswold and David Notkin}, Booktitle = {Proceedings of ICSE '99}, Month = may, Title = {Dynamically Discovering Likely Program Invariants to Support Program Evolution}, Year = {1999} } @phdthesis{Erns99c, Author = {Erik Ernst}, School = {Department of Computer Science, University of Aarhus, \AA{}rhus, Denmark}, Title = {gbeta --- a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance}, Year = {1999} } @inproceedings{Erns01a, Author = {Erik Ernst}, Booktitle = {ECOOP 2001}, Editor = {J. L. Knudsen}, Number = {2072}, Pages = {303--326}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Family Polymorphism}, Year = {2001} } @inproceedings{Erns03a, Address = {Heidelberg}, Author = {E. Ernst}, Booktitle = {Proceedings European Conference on Object-Oriented Programming (ECOOP 2003)}, Keywords = {ecoop ecoop03 2003 virtual classes}, Location = {Darmstadt, Germany}, Month = jul, Pages = {303--329}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Higher-order hierarchies}, Year = {2003} } @incollection{Estu94a, Author = {J. Estublier and R. Casallas}, Booktitle = {Trends in Software: Configuration Management}, Editor = {W. F. Tichy}, Keywords = {scm}, Pages = {99--134}, Publisher = {Wiley}, Title = {The Adele Configuration Manager}, Volume = {2}, Year = {1994} } @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}, Journal = {ACM Transactions on Software Engineering and Methodology}, Keywords = {scm}, Month = oct, Number = {4}, Pages = {383--430}, Title = {Impact of Software Engineering Research on the Practice of Software Configuration Management}, Volume = {14}, Year = {2005} } @book{Etie92a, Address = {Paris, France}, Editor = {D.Etiemble and J.C.Syre}, Isbn = {3-540-55599-4}, Keywords = {olit parle92 scglib}, Month = jun, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {PARLE}'92}, Volume = {605}, Year = {1992} } @article{Etzk98a, Author = {Letha Etzkorn and Carl Davis and Wei Li}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit metrics}, Month = sep, Number = {5}, Pages = {27--34}, Title = {A Practical Look at the Lack of Cohesion in Methods Metric}, Volume = {11}, Year = {1998} } @article{Etzk99a, Author = {Letha Etzkorn and Jagdish Bansiya and Carl Davis}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit metrics}, Pages = {35--40}, Title = {Design and Code Complexity Metrics for OO Classes}, Year = {1999} } @article{Eugs03a, Doi = {10.1145/857076.857078}, title = {The many faces of publish/subscribe}, volume = {35}, url = {http://portal.acm.org/citation.cfm?id=857078}, abstract = {Well adapted to the loosely coupled nature of distributed interaction in large-scale applications, the publish/subscribe communication paradigm has recently received increasing attention. With systems based on the publish/subscribe interaction scheme, subscribers register their interest in an event, or a pattern of events, and are subsequently asynchronously notified of events generated by publishers. Many variants of the paradigm have recently been proposed, each variant being specifically adapted to some given application or network model. This paper factors out the common denominator underlying these variants: full decoupling of the communicating entities in time, space, and synchronization. We use these three decoupling dimensions to better identify commonalities and divergences with traditional interaction paradigms. The many variations on the theme of publish/subscribe are classified and synthesized. In particular, their respective benefits and shortcomings are discussed both in terms of interfaces and implementations.}, number = {2}, journal = {ACM Computing Surveys}, author = {Eugster, Patrick Th. and Felber, Pascal A. and Guerraoui, Rachid and Kermarrec, {Anne-Marie}}, year = {2003}, keywords = {distribution interaction publish/subscribe damiencbib}, pages = {114--131} } @inproceedings{Evan99a, Address = {Oakland, CA}, Author = {David Evans and Andrew Twyman}, Booktitle = {Proceedings of the 1999 IEEE Symposium on Security and Privacy}, Keywords = {olit security policy wrappers}, Month = may, Title = {{Flexible Policy-Directed Code Safety}}, Year = {1999} } @article{Evan02a, Address = {Los Alamitos, CA, USA}, Author = {David Evans and David Larochelle}, Doi = {10.1109/52.976940}, Issn = {0740-7459}, Journal = {IEEE Software}, Pages = {42-51}, Publisher = {IEEE Computer Society}, Title = {Improving Security Using Extensible Lightweight Static Analysis}, Volume = {19}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.976940} } @book{Evan03a, Address = {Boston, MA, USA}, Author = {Eric Evans}, Isbn = {0321125215}, Publisher = {Addison-Wesley Longman Publishing Co., Inc.}, Title = {Domain-Driven Design: Tacking Complexity In the Heart of Software}, Year = {2003} } @book{Ever74a, Address = {London}, Author = {B. Everitt}, Keywords = {clustering}, Publisher = {Heineman Educational Books}, Title = {Cluster Analysis}, Year = {1974} } @inproceedings{Ewin86a, Author = {Juanita J. Ewing}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl unix smalltalk oopsla86}, Month = nov, Pages = {46--56}, Title = {An Object-Oriented Operating System Interface}, Volume = {21}, Year = {1986} } @inproceedings{Exer94a, Author = {F. Exertier and S. Haj Houssain}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {1--19}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Issues in Extending a Relational System with Object-Oriented Features}, Volume = {858}, Year = {1994} } @book{Ezra98a, Author = {Michel Ezran and Maurizio Morisio and Collin Tully}, Publisher = {Valtech}, Title = {Practical Software Reuse: the essential guide}, Year = {1998} } @article{Fabr74a, Author = {R.S. Fabry}, Journal = {CACM}, Keywords = {security olit capabilities}, Month = jul, Number = {7}, Pages = {403--412}, Title = {Capability-Based Addressing}, Volume = {17}, Year = {1974} } @article{Fabr97a, Author = {Jean-Charles Fabre}, Journal = {L'Objet}, Note = {article}, Number = {1}, Pages = {9--29}, Title = {Syst\`emes s\^urs de fontionnement, tol\'erance aux fautes par protocoles \`a m\'etaobjets.}, Volume = {3}, Year = {1997} } @article{Fabr03a, Author = {Johan Fabry and Tom Mens}, Journal = {Journal of Computer Languages, Systems and Structures}, Number = {1-2}, Pages = {21--33}, Title = {Language-Independent Detection of Object-Oriented Design Patterns}, Volume = {30}, Year = {2004} } @inproceedings{Fabr04a, Author = {Johan Fabry}, Booktitle = {Proc. of the 3rd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS)}, Editor = {Y. Coady and D. Lorenz}, Month = mar, Pages = {20--25}, Title = {Transaction Management in {EJBs}: Better Separation of Concerns With {AOP}}, Url = {http://aosd.net/2005/workshops/acp4is/past/acp4is04/papers/E00-390907325.pdf}, Year = {2004}, Bdsk-Url-1 = {http://aosd.net/2005/workshops/acp4is/past/acp4is04/papers/E00-390907325.pdf} } @inproceedings{Fabr06a, Address = {New York, NY, USA}, Author = {Fabry, Johan and D'Hondt, Theo}, Booktitle = {SAC '06: Proceedings of the 2006 ACM symposium on Applied computing}, Doi = {10.1145/1141277.1141655}, Isbn = {1-59593-108-2}, Location = {Dijon, France}, Pages = {1615--1620}, Publisher = {ACM}, Title = {KALA: Kernel Aspect language for advanced transactions}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1141277.1141655} } @article{Fabr08a, Doi = {10.1016/j.cl.2007.05.002}, author = {Fabresse, Luc and Dony, Christophe and Huchard, Marianne}, title = {Foundations of a simple and unified component-oriented language}, journal = {Computer Languages, Systems and Structures}, volume = {34}, number = {2-3}, year = {2008}, pages = {130--149}, keywords = {damiencbib architecture component cop scl}, publisher = {Elsevier Science Publishers B. V.}, address = {Amsterdam, The Netherlands, The Netherlands} } @techreport{Fabr10a, author = {Johan Fabry and Andy Kellens and St\'ephane Ducasse}, Institution = {University of Chile}, Month = apr, Title = {AspectMaps: A Scalable Visualization of Join Point Shadows}, Year = {2010}, Type = {TR/DCC-2010-2} } @inproceedings{Fabr11a, author = {Johan Fabry and Andy Kellens and St\'ephane Ducasse}, title = {AspectMaps: A Scalable Visualization of Join Point Shadows}, booktitle = {International Conference on Program Comprehension (ICPC)}, annote = {internationalconference}, keywords = {lse-pub moose-pub}, misc = {Acceptance rate: 18/76 = 23\%}, aeresstatus = {aeres12}, aeres = {ACT}, rate = {23%}, selectif = {oui}, inria = {RMOD}, publisher = {IEEE Computer Society Press}, year = {2011} } @inproceedings{Fact04a, Address = {New York, NY, USA}, Author = {Michael Factor and Assaf Schuster and Konstantin Shagin}, Booktitle = {Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA '04)}, Doi = {10.1145/1028976.1029000}, Isbn = {1-58113-831-9}, Location = {Vancouver, BC, Canada}, Pages = {288--300}, Publisher = {ACM}, Title = {Instrumentation of standard libraries in object-oriented languages: the twin class hierarchy approach}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028976.1029000} } @inproceedings{Faeh03a, Author = {Manuel F{\"a}hndrich and Rustan Leino}, Booktitle = {Proceedings of OOPSLA '03, ACM SIGPLAN Notices}, Title = {Declaring and Checking Non-null Types in an Object-Oriented Language}, Url = {http://research.microsoft.com/~maf/Papers/non-null.pdf}, Year = {2003}, Bdsk-Url-1 = {http://research.microsoft.com/~maf/Papers/non-null.pdf} } @article{Faga76a, Author = {Mike Fagan}, Journal = {IBM Journal of Research and Development}, Number = {3}, Pages = {182}, Title = {Design and code inspections to reduce errors in program development}, Volume = {15}, Year = {1976} } @article{Faid87a, Author = {J.A.W. Faidhi and S.K. Robinson}, Journal = {Computers and Education}, Number = {1}, Pages = {11--19}, Title = {An Empirical Approach for Detecting Program Similarity within a University Programming Environment}, Volume = {11}, Year = {1987} } @article{Fair87a, Author = {J. Fairbairn}, Journal = {Software --- Practice and Experience}, Number = {6}, Pages = {379--386}, Title = {Making Form Follow Function: An Exercise in Functional Programming Style}, Volume = {17}, Year = {1987} } @inproceedings{Fait97a, Address = {Berkeley, CA, USA}, Author = {Rickard E. Faith and Lars S. Nyland and Jan F. Prins}, Booktitle = {DSL'97: Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997}, Keywords = {dsllit}, Location = {Santa Barbara, California}, Pages = {19--19}, Publisher = {USENIX Association}, Title = {{KHEPERA}: a system for rapid implementation of domain specific languages}, Url = {http://www.cs.unc.edu/~faith/faith-dsl-1997.ps}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.unc.edu/~faith/faith-dsl-1997.ps} } @techreport{Fank98a, Author = {Simon Fankhauser}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = jan, Title = {Installation einer Datenbank am Astronomischen Institut der Universit{\"a}t Bern}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Fank98a-bericht.pdf http://scg.unibe.ch/archive/projects/Fank98a-hb.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Fank98a-bericht.pdf%20http://scg.unibe.ch/archive/projects/Fank98a-hb.pdf} } @inproceedings{Fant98a, Author = {Richard Fanta and Vaclav Rajlich}, Booktitle = {Proceedings of the International Conference on Software Maintenance}, Title = {Reengineering Object-Oriented Code}, Year = {1998} } @book{Farl98a, Author = {Jim Farley}, Isbn = {1-56592-206-9}, Keywords = {java distributed olit-pl scglib}, Publisher = {O'Reilly}, Title = {Java Distributed Computing}, Year = {1998} } @inproceedings{Farr82a, Author = {R. Farrow}, Booktitle = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on Compiler Construction}, Keywords = {compiler generator linguist-86 patterns}, Month = jun, Pages = {160--171}, Title = {{LINGUIST}-86: Yet Another Translator Writing System Based on Attribute Grammars}, Volume = {17}, Year = {1982} } @inproceedings{Faus90a, Author = {John E. Faust and Henry M. Levy}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {278--288}, Title = {The Performance of an Object-Oriented Threads Package}, Volume = {25}, Year = {1990} } @inproceedings{Favr01a, Author = {Jean-Marie Favre}, Booktitle = {Proceedings of the 9th International Workshop on Program Comprehension}, Month = may, Pages = {233--244}, Publisher = {IEEE}, Title = {GSEE: a Generic Software Exploration Environment}, Year = {2001} } @inproceedings{Favr03a, Author = {Jean-Marie Favre}, Booktitle = {Proceedings of the International Workshop on Evolution of Large-Scale Industrial Software 2003}, Month = sep, Title = {Meta-Model and Model Co-Evolution within the 3D Software Space}, Year = {2003} } @inproceedings{Favr04a, Address = {Los Alamitos CA}, Author = {Jean-Marie Favre}, Booktitle = {Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004)}, Keywords = {metamodel}, Location = {Delft, The Netherlands}, Month = nov, Pages = {204--213}, Publisher = {IEEE Computer Society Press}, Title = {{Cac}{Opho}{Ny}: Metamodel-Driven Software Architecture Reconstruction}, Year = {2004} } @inproceedings{Favr05a, author = {Jean-Marie Favre}, title = {Languages evolve too! Changing the Software Time Scale}, booktitle = {IWPSE}, year = {2005}, pages = {33-42}, doi = {10.1109/IWPSE.2005.22}, url = {http://www.megaplanet.org/jean-marie-favre/papers/LanguagesEvolveTooChangingTheSoftwareTimeScale.pdf }, ISSN={1550-4077 } } @book{Favr06a, Author = {Jean-Marie Favre and Jacky Estublier and Mireille Blay}, Month = {feb}, Note = {ISBN: 2-7462-12-12-7}, Pages = {240}, Publisher = {Hermes-Lavoisier}, Title = {L'ing\'enierie dirig\'ee par les mod\`eles: au-del\`a du MDA}, Year = {2006} } @article{Faya97a, Author = {Mohamed E. Fayad and Douglas C. Schmidt}, Journal = {Communications of the ACM}, Keywords = {olit frameworks}, Month = oct, Number = {10}, Pages = {39--42}, Title = {Object-Oriented Application Frameworks (Special Issue Introduction)}, Volume = {40}, Year = {1997} } @book{Faya99a, Author = {Mohamed Fayad and Douglas Schmidt and Ralph Johnson}, Keywords = {olit frameworks}, Publisher = {Wiley and Sons}, Title = {Building Application Frameworks: Object Oriented Foundations of Framework Design}, Year = {1999} } @inproceedings{Fazz94a, 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.}, Author = {Michael Fazzolare and Bernhard G. Humm and R. David Ranson}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {240--261}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Extendibility in Hermes/{ST}, a Transactional Distributed Programming Environment}, Volume = {791}, Year = {1994} } @inproceedings{Feat89a, Author = {Martin S. Feather}, Booktitle = {Proc. Fifth International Workshop on Software Specification and Design}, Pages = {169--176}, Title = {Detecting Interference when Merging Specification Evolutions}, Year = {1989} } @book{Feat05a, Author = {Michael C. Feathers}, Isbn = {0-13-117705-2}, Keywords = {olit scglib}, Publisher = {Prentice Hall}, Title = {Working Effectively with Legacy Code}, Year = {2005} } @inproceedings{Feel92a, Author = {Michael J. Feeley and Henry M. Levy}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {247--262}, Title = {Distributed Shared Memory with Versioned Objects}, Volume = {27}, Year = {1992} } @article{Feij98a, Address = {New York, NY, USA}, Author = {Loe Feijs and Roel De Jong}, Doi = {10.1145/290133.290151}, Issn = {0001-0782}, Journal = {Communication of the ACM}, Number = {12}, Pages = {73--78}, Publisher = {ACM Press}, Title = {{3D} visualization of software architectures}, Volume = {41}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/290133.290151} } @article{Feij98b, Author = {Loe Feijs and Ren\'{e} Krikhaar and van Ommering, Rob}, Journal = {Software --- Practice and Experience}, Month = apr, Number = {4}, Pages = {371--400}, Title = {A Relational Approach to Support Software Architecture Analysis}, Volume = {28}, Year = {1998} } @inproceedings{Feij99a, Address = {Toulouse, France}, Author = {Loe M.G. Feijs}, Booktitle = {Proceedings of FM '99}, Month = sep, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Modelling Microsoft {COM} Using $\pi$-calculus}, Volume = 1709, Year = {1999} } @techreport{Feil91a, Author = {Peter H. Feiler}, Institution = {Carnegie-Mellon University}, Keywords = {scm}, Month = mar, Title = {Configuration Management Models in Commercial Environments}, Type = {Technical Report CMU/SEI-91-TR-7}, Year = {1991} } @book{Feil96a, Author = {Jesse Feiler and Anthony Meadow}, Isbn = {0-201-47958-3}, Keywords = {olit-obc oobib(obdp) scglib}, Publisher = {Addison Wesley}, Title = {Essential OpenDoc}, Year = {1996} } @article{Feld79a, Author = {J.A. Feldman}, Journal = {CACM}, Keywords = {misc modules messages}, Month = jun, Number = {6}, Title = {High Level Programming for Distributed Computing}, Volume = {22}, Year = {1979} } @inproceedings{Feld89a, Address = {New York, NY, USA}, Author = {Stuart I. Feldman and Channing B. Brown}, Booktitle = {Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging (PADD'88)}, Doi = {10.1145/68210.69226}, Isbn = {0-89791-296-9}, Location = {Madison, Wisconsin, United States}, Pages = {112--123}, Publisher = {ACM}, Title = {IGOR: a system for program debugging via reversible execution}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/68210.69226} } @inproceedings{Feld02a, Author = {Yishai A. Feldman}, Booktitle = {Extreme Programming and Agile Processes in Software Engineering}, Editor = {Michele Marchesi and Giancarlo Succi}, Keywords = {unit testing design by contract}, Pages = {261--270}, Publisher = {Springer}, Series = {LNCS}, Title = {Extreme Design By Contract}, Year = {2003} } @article{Feld04a, Author = {Stuart Feldman}, Ee = {10.1145/1039511.1039523}, Journal = {ACM Queue}, Number = {9}, Pages = {20--30}, Title = {A conversation with Alan Kay.}, Volume = {2}, Year = {2004} } @article{Fell89a, Address = {Essex, UK}, Author = {Matthias Felleisen and Robert Hieb}, Doi = {10.1016/0304-3975(92)90014-7}, Issn = {0304-3975}, Journal = {Theor. Comput. Sci.}, Number = {2}, Pages = {235--271}, Publisher = {Elsevier Science Publishers Ltd.}, Title = {The revised report on the syntactic theories of sequential control and state}, Volume = {103}, Year = {1992}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/0304-3975(92)90014-7} } @book{Fell98a, Author = {Matthias Felleisen and Daniel P. Friedman}, Isbn = {0-262-56115-8}, Keywords = {java scglib new-entry}, Publisher = {MIT Press}, Title = {A Little {Java}, {A} Few Patterns}, Year = {1998} } @book{Fell01a, Author = {Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shiram Krishnamurthi}, Keywords = {scglib}, Publisher = {The MIT Press}, Title = {How to Design Programs}, Year = {2001} } @book{Fell03a, Author = {Matthias Felleisen and Robert Bruce Findler and Matthew Flatt and Shiram Krishnamurthi}, Keywords = {scglib}, Publisher = {The MIT Press}, Title = {How to Design Programs}, Url = {http://www.htdp.org/}, Year = {2003}, Bdsk-Url-1 = {http://www.htdp.org/} } @inproceedings{Fent89a, Author = {Jay Fenton and Kent Beck}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {123--138}, Title = {Playground: An Object-Oriented Simulation System With Agent Rules for Children of All Ages}, Volume = {24}, Year = {1989} } @article{Fent94a, Author = {Norman Fenton and Shari Lawrence Pfleeger and Robert L. Glass}, Journal = {IEEE Software}, Month = jul, Number = {7}, Pages = {86--95}, Publisher = {IEEE Computer Society}, Title = {{Science} and {Substance}: {A} {Challenge} to {Software} {Engineers}}, Year = {1994} } @book{Fent96a, Address = {London, UK}, Author = {Norman Fenton and Shari Lawrence Pfleeger}, Edition = {Second}, Isbn = {0534956009}, Keywords = {metrics oorp scglib}, Publisher = {International Thomson Computer Press}, Title = {Software Metrics: {A} Rigorous and Practical Approach}, Year = {1996} } @article{Fent99a, Address = {Los Alamitos, CA, USA}, Author = {Norman E. Fenton and Martin Neil}, Doi = {10.1109/32.815326}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {5}, Pages = {675-689}, Publisher = {IEEE Computer Society}, Title = {A Critique of Software Defect Prediction Models}, Volume = {25}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.815326} } @techreport{Ferb83a, Author = {Jacques Ferber}, Institution = {Universite de Paris VI}, Keywords = {olit-obc messages actors}, Month = dec, Title = {{MERING}, un langage d'acteurs pour la representation et la manipulation de connaissances}, Type = {These de docteur ingenieur}, Year = {1983} } @article{Ferb84a, Author = {J. Ferber}, Journal = {Bigre + Globule}, Note = {Deuxi\`eme journ\'ee d'\'etude du groupe de travail AFCET sur les langages orient\'ees objets}, Number = {41}, Pages = {277--290}, Title = {Quelques aspects du caract\`ere self r\'eflexif du langage {MERING}}, Volume = {41}, Year = {1984} } @inproceedings{Ferb88a, Address = {Tokyo Japan}, Author = {Jacques Ferber and Jean-Pierre Briot}, Booktitle = {Proc. of FGCS '88 ICOT}, Keywords = {agents}, Misc = {Nov-Dec}, Month = nov, Pages = {755--762}, Title = {Design of a Concurrent Language for Distributed Artificial Intelligence}, Url = {http://web.yl.is.u-tokyo.ac.jp/members/briot/papers/cl4dai-fgcs88.ps.Z}, Volume = {2}, Year = {1988}, Bdsk-Url-1 = {http://web.yl.is.u-tokyo.ac.jp/members/briot/papers/cl4dai-fgcs88.ps.Z} } @inproceedings{Ferb88b, Author = {Jacques Ferber}, Booktitle = {Meta-level Architectures and Reflection}, Editor = {North-Holland, P. Maes and D. Nardi}, Pages = {177--193}, Title = {Conceptual reflection and actor languages}, Year = {1988} } @inproceedings{Ferb89a, Author = {Jacques Ferber}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89 uni-refl}, Month = oct, Pages = {317--326}, Title = {Computational Reflection in Class-Based Object-Oriented Languages}, Volume = {24}, Year = {1989}, Doi = {10.1145/74877.74910} } @book{Ferb95a, Author = {Jacques Ferber}, Keywords = {agents dai}, Publisher = {InterEditions}, Title = {Les Syst\`emes Multiagents: Vers une Intelligence Collective}, Year = {1995} } @inproceedings{Fere94a, Address = {Budapest, Hungary}, Author = {Szabolcs Ferenczi}, Booktitle = {Proceedings of the 2nd Austrian-Hungarian Workshop on Transputer Applications}, Editor = {Szabolcs Ferenczi and Peter Kacsuk}, Keywords = {olit-obc distributed-processes concurrency inheritance binder}, Misc = {Sept 29-Oct 1}, Month = sep, Pages = {206--217}, Series = {KFKI-1995-2/M,N Reports}, Title = {{MONADS}-{DP}: Outline of an Object-Oriented Concurrent Programming Model for Multiprocessor Systems}, Url = {http://www.kfki.hu/~ferenczi/AH-WS-MonDP.html}, Year = {1994}, Bdsk-Url-1 = {http://www.kfki.hu/~ferenczi/AH-WS-MonDP.html} } @inproceedings{Fere94b, Address = {Capri, Italy}, Author = {Szabolcs Ferenczi}, Booktitle = {Proceedings of the 2nd International Workshop on Massive Parallelism: Hardware, Software and Applications}, Editor = {M. Mango Furnari}, Keywords = {olit-obc distributed-processes concurrency inheritance binder}, Misc = {Oct. 3-7}, Month = oct, Pages = {80--89}, Series = {World Scientific Publishing Co., 1994}, Title = {Concurrent Objects with Inherited Synchronizations}, Url = {http://www.kfki.hu/~ferenczi/MP94.html}, Year = {1994}, Bdsk-Url-1 = {http://www.kfki.hu/~ferenczi/MP94.html} } @article{Fere95a, Author = {Szabolcs Ferenczi}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obc concurrency inheritance binder}, Month = feb, Number = {2}, Pages = {49--58}, Title = {Guarded Methods vs. Inheritance Anomaly: Inheritance Anomaly Solved by Nested Guarded Method Calls}, Url = {http://www.kfki.hu/~ferenczi/InhAnom.html}, Volume = {30}, Year = {1995}, Bdsk-Url-1 = {http://www.kfki.hu/~ferenczi/InhAnom.html} } @inproceedings{Fere01a, Author = {Rudolf Ferenc and Susane E. Sim and Richard C. Holt and Rainer Koschke and Tibor Gyim{\'o}thy}, Booktitle = {Proceedings Eight Working Conference on Reverse Engineering (WCRE'01)}, Month = oct, Organization = {IEEE Computer Society}, Pages = {49--58}, Title = {Towards a Standard Schema for C/C++}, Year = {2001} } @misc{Fern05a, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {Hilaire Fernandes and St\'ephane Ducasse}, Inria = {hors}, Journal = {Linux Pratique}, Keywords = {stefPub}, Month = oct, Number = 31, Pages = {18--23}, Selectif = {non}, Title = {Squeak: mon premier programme}, Volume = 1, Year = {2005} } @misc{Fern06a, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {Hilaire Fernandes and St\'ephane Ducasse}, Inria = {hors}, Journal = {Linux Magazine}, Keywords = {stefPub}, Month = apr, Number = 82, Selectif = {non}, Title = {Smalltalk: Le pouvoir et la simplicit\'e du tout objet}, Volume = 1, Year = {2006} } @misc{Fern06b, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {Hilaire Fernandes and Serge Stinckwich}, Inria = {hors}, Journal = {Linux Magazine}, Month = jul, Number = 85, Selectif = {non}, Title = {Environnement de d\'eveloppement Smalltalk}, Volume = 1, Year = {2006} } @inproceedings{Fern07a, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Hilaire Fernandes and St\'ephane Ducasse and Thibault Caron}, Booktitle = {Proceedings of 5th International Conference on Creating, Connecting and Collaborating through Computing (C5 2007)}, Inria = {hors}, Keywords = {stefPub}, Publisher = {IEEE Computer Society}, Selectif = {non}, Title = {Dr Geo II: Adding Interactivity Planes in Interactive Dynamic Geometry}, Year = {2007} } @misc{Fern07y, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {vulgarisation}, Author = {Hilaire Fernandes and Serge Stinckwich}, Inria = {hors}, Journal = {Linux Magazine}, Month = jan, Number = 90, Selectif = {non}, Title = {Morphic, les interfaces utilisateurs selon Squeak}, Volume = 1, Year = {2007} } @inproceedings{Fern08a, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Hilaire Fernandes and Thibaut Caron and Thibault Caron}, Booktitle = {Proceedings of 6th International Conference on Creating, Connecting and Collaborating through Computing (C5 2008)}, Inria = {RMOD}, Keywords = {stefPub}, Publisher = {IEEE Computer Society}, Selectif = {non}, Title = {iSTOA: Artefacts for mathematical interactive learning execises}, Year = {2008} } @inproceedings{Ferr82a, Author = {J.C. Ferrans}, Booktitle = {Proceedings of the First ACM SIGOA Conference}, Keywords = {oislit constraints sedl forms}, Pages = {123--130}, Title = {{SEDL} --- {A} Language for Specifying Integrity Constraints on Office Forms}, Year = {1982} } @inproceedings{Ferr89a, Author = {Patrick J. Ferrel and Robert F. Meyer}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {185--190}, Title = {Vamp: The Aldus Application Framework}, Volume = {24}, Year = {1989} } @inproceedings{Ferr90a, Address = {Copenhagen}, Author = {Gian Luigi Ferrari and Ugo Montanari}, Booktitle = {Proceedings CAAP '90}, Editor = {A. Arnold}, Keywords = {pcalc ccs binder(ccs) caap90}, Month = may, Pages = {162--176}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards the Unification of Models of Concurrency}, Volume = {431}, Year = {1990} } @article{Ferr96a, Author = {Gian-Luigi Ferrari and Ugo Montanari and Paola Quaglia}, Journal = {Theoretical Computer Science}, Month = nov, Number = {1}, Pages = {53--103}, Title = {A $\pi$-calculus with explicit substitutions}, Volume = {168}, Year = {1996} } @inproceedings{Ferr96b, Address = {Philadelphia, Pennsylvania}, Author = {William Ferreira and Matthew Hennessy and Alan Jeffrey}, Booktitle = {Proceedings of the 1996 {ACM} {SIGPLAN} International Conference on Functional Programming}, Month = may, Pages = {201--212}, Title = {A Theory of Weak Bisimulation for Core {CML}}, Year = {1996} } @article{Ferr99a, Author = {Paolo Ferragina and Roberto Grossi}, Journal = {Journal of the ACM}, Number = {2}, Pages = {236--280}, Title = {The String {B}-tree: A New Data Structure for String Search in External Memory and its Applications}, Url = {citeseer.ist.psu.edu/ferragina98string.html}, Volume = {46}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/ferragina98string.html} } @article{Ferr00a, Address = {Duluth, MN, USA}, Author = {GianLuigi Ferrari and Ugo Montanari}, Doi = {10.1006/inco.1999.2825}, Issn = {0890-5401}, Journal = {Inf. Comput.}, Keywords = {tile systems}, Number = {1-2}, Pages = {173--235}, Publisher = {Academic Press, Inc.}, Title = {Tile formats for located and mobile systems}, Url = {http://www.di.unipi.it/~ugo/proic.ps}, Volume = {156}, Year = {2000}, Bdsk-Url-1 = {http://www.di.unipi.it/~ugo/proic.ps}, Bdsk-Url-2 = {http://dx.doi.org/10.1006/inco.1999.2825} } @book{Few04a, Author = {Stephen Few}, Isbn = {0-970-60199-9}, Keywords = {scglib}, Publisher = {Analytics Press}, Title = {Show me the numbers: Designing Tables and Graphs to Enlighten}, Year = {2004} } @inbook{Fews99a, Author = {M. Fewster and D. Graham}, Chapter = {7: Building maintainable tests}, Publisher = {ACM Press}, Title = {Software Test Automation}, Year = {1999} } @article{Fiad07a, Address = {Los Alamitos, CA, USA}, Author = {Jos\'e Luiz Fiadeiro}, Doi = {10.1109/MC.2007.16}, Issn = {0018-9162}, Journal = {Computer}, Number = {1}, Pages = {34--39}, Publisher = {IEEE Computer Society}, Title = {Designing for Software's Social Complexity}, Volume = {40}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MC.2007.16} } @article{Fich92a, Author = {Robert G. Fichman and Chris F. Kemerer}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee}, Month = oct, Number = {10}, Pages = {22--39}, Title = {Object-Oriented and Conventional Analysis and Design Methodologies}, Volume = {25}, Year = {1992} } @techreport{Fier07a, Abstract = {Java Wiretap is a profiler tool that instruments Java applications and allows a reverse engineer to directly control the extraction of behavioral data units (features) and the level of detail of the dynamic data in a well-defined format. Java Wiretap captures fine-grained dynamic data such as message semds (activations), field access and instance tracking. The extracted model can then be used by a reverse engineering platform for further analysis in reverse engineering environments like Moose extended with DynaMoose for Feature Analysis and Object Flow Analysis, Java Wiretap allows the user to trace different triggerable actions of an application, each representing different features, which can then be treated as distinct feature entities when performing feature analysis. To control the large volume of detailed dynamic information, Java Wiretap allows selective instrumentation of an application at package level.}, Author = {Julien Fierz}, Institution = {University of Bern}, Keywords = {snf-none scg-ip moose-pub jb07}, Month = jun, Title = {Java {Wiretap} --- Extracting Feature Execution Models for Reverse Engineering}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Fier07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Fier07a.pdf} } @mastersthesis{Fier09a, Abstract = {Debugging object-oriented programs often is a difficult and time-consuming task. Nearly all of today's debuggers only show the current state of a failing program. The user can see when the state is corrupted, but usually the root cause that leads to that state occurs long before that. Back-in-time debuggers address this problem by recording the execution history of a program run and presenting it to the user for inspection of past states. Those debuggers have proven useful as they help the developer to solve difficult problems better than a standard debugger. However, most of those tools do not provide sophisticated techniques to explore the collected dynamic data, which can make it hard to track down the root cause of an error in large program executions. The approaches are state-centric, which means they provide the past state at different points in time, but they provide no information on how objects were passed around in the system. To address this problem we provide a flow-centric approach that focuses on the reference transfers of objects. We present a new back-in-time debugger user interface that provides more efficient exploration of the execution history. The debugger has views and functionality that help the developer understand the failing system and let him explore how objects were passed around. Our initial case studies show that it is possible to find complex bugs more efficiently than with existing approaches.}, Author = {Julien Fierz}, Keywords = {scg-msc evolution visualization jb09 snf09 object-flow}, Month = jan, School = {University of Bern}, Title = {Compass: Flow-Centric Back-In-Time Debugging}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Fier09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Fier09a.pdf} } @misc{FifteenPuzzle, Key = {FifteenPuzzle}, Keywords = {puzzles}, Note = {http://en.wikipedia.org/wiki/N-puzzle}, Title = {15 {Puzzle}}, Url = {http://en.wikipedia.org/wiki/N-puzzle}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/N-puzzle} } @inproceedings{Fill07a, title = {The {Why/Krakatoa/Caduceus} platform for deductive program verification}, author = {Filli{\^a}tre, Jean-Christophe and March{\'e}, Claude}, booktitle = {CAV'07: 19th International Conference on Computer Aided Verification}, series = {Lecture Notes in Computer Science}, year = {2007} } @book{Film84a, Author = {Robert E. Filman and Daniel P. Friedman}, Keywords = {coordination}, Publisher = {McGraw-Hill}, Title = {Coordinated Computing: Tools and Techniques for Distributed Software}, Year = {1984} } @inproceedings{Film87a, Author = {Robert E. Filman}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {342--353}, Title = {Retrofitting Objects}, Volume = {22}, Year = {1987} } @inproceedings{Find98a, Author = {Robert Bruce Findler and Matthew Flatt}, Booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming}, Doi = {10.1145/289423.289432}, Isbn = {1-58113-024-4}, Location = {Baltimore, Maryland, United States}, Pages = {94--104}, Publisher = {ACM Press}, Title = {Modular object-oriented programming with units and mixins}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/289423.289432} } @inproceedings{Fini08a, Author = {Matthew Finifter and Adrian Mettler and Naveen Sastry and David Wagner}, Booktitle = {CCS'08}, Pages = {27-31}, Title = {Verifiable Functional Purity in Java}, Year = {2008} } @book{Fink92a, Address = {Cachan, France}, Editor = {A. Finkel and M. Jantzen}, Isbn = {3-540-55210-3}, Keywords = {olit stacts92 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {STACS}'92}, Volume = {577}, Year = {1992} } @unpublished{Fink93a, Author = {S. Finke and P. Jahn and K.-P Lohr and I. Piens and Th. Wolff}, Keywords = {olit-inheritance binder}, Note = {Proceedings og the 13th Conf. on Distributed Computing SystemsUniversit{\"a}t Berlin}, Title = {Distribution and Inheritance in the {HERON} Approach to Heterogeneous Computing}, Type = {Draft}, Year = {1993} } @inproceedings{Fink02a, Address = {Melbourne, Australia}, Author = {Raphael A. Finkel and Arkady Zaslavsky and Krisztian Monostori and Heinz Schmidt}, Booktitle = {Twenty-Fifth Australasian Computer Science Conference (ACSC2002)}, Editor = {Michael J. Oudshoorn}, Publisher = {ACS}, Title = {Signature Extraction for Overlap Detection in Documents}, Url = {http://citeseer.ist.psu.edu/539959.html}, Year = {2002}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/539959.html} } @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.}, Journal = {IBM Systems Journal}, Keywords = {design-recovery}, Month = nov, Number = 4, Pages = {564--593}, Title = {The Software Bookshelf}, Url = {http://researchweb.watson.ibm.com/journal/sj/364/finnigan.html http://researchweb.watson.ibm.com/journal/sj/364/finnigan.pdf}, Volume = 36, Year = {1997}, Bdsk-Url-1 = {http://researchweb.watson.ibm.com/journal/sj/364/finnigan.html%20http://researchweb.watson.ibm.com/journal/sj/364/finnigan.pdf} } @article{Finz84a, Author = {W. Finzer and L. Gould}, Journal = {BYTE}, Keywords = {visprog ptyping}, Month = jun, Number = {6}, Pages = {187--210}, Title = {Programming by Rehearsal}, Volume = {9}, Year = {1984} } @inproceedings{Fior98a, Author = {Fabrizio Fioravanti and Paolo Nesi and Sandro Perli}, Booktitle = {ICSE '98 Proceedings (International Conference on Software Engineering)}, Publisher = {IEEE Computer Society}, Title = {Assessment of System Evolution Through Characterization}, Year = {1998} } @inproceedings{Fior98b, Author = {Fabrizio Fioravanti and Paolo Nesi and Sandro Perli}, Booktitle = {CSMR '98 Proceedings (Euromicro Conference on Software Maintenance and Reengineering)}, Publisher = {IEEE Computer Society}, Title = {A Tool for Process and Product Assessment of {C}++ Applications}, Year = {1998} } @book{Fisc93a, Author = {Alice E. Fischer and Frances S. Grodzinsky}, Isbn = {0-13-042219-3}, Keywords = {olit-oopl oobib(oopl) book scglib}, Publisher = {Prentice-Hall}, Title = {The Anatomy of Programming Languages}, Year = {1993} } @article{Fisc95a, Author = {Fischer, Gerhard and Redmiles, David and Williams, Lloyd and Puhr, Gretchen I. and Aoki, Atsushi and Nakakoji, Kumiyo}, Journal = {Human-Computer Interaction}, Keywords = {olit reuse metrics oose library repository abb}, Pages = {79--119}, Title = {{Beyond Object-Oriented Technology: Where Current Approaches Fall Short}}, Volume = {10}, Year = {1995} } @inproceedings{Fisc98a, Author = {Bernd Fischer}, Booktitle = {Proceedings of ASE '98(13th Conference on Automated Software Engineering}, Keywords = {fca}, Pages = {74--83}, Publisher = {IEEE Computer Society Press}, Title = {Specification-based {Browsing} of {Software} {Component} {Libraries}}, Url = {http://citeseer.nj.nec.com/fischer99specificationbased.html}, Year = {1998}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/fischer99specificationbased.html} } @inproceedings{Fisc03a, Address = {Los Alamitos CA}, Author = {Michael Fischer and Martin Pinzger and Harald Gall}, Booktitle = {Proceedings IEEE Working Conference on Reverse Engineering (WCRE 2003)}, Keywords = {olit evolution}, Month = nov, Pages = {90--99}, Publisher = {IEEE Computer Society Press}, Title = {Analyzing and Relating Bug Report Data for Feature Tracking}, Year = {2003} } @techreport{Fisc03b, Author = {Kathleen Fisher and John Reppy}, Institution = {University of Chicago, Department of Computer Science}, Keywords = {traits}, Month = dec, Number = {TR-2003-13}, Title = {Statically typed traits}, Type = {Technical Report}, Url = {http://www.cs.uchicago.edu/research/publications/techreports/TR-2003-13}, Year = {2003}, Bdsk-Url-1 = {http://www.cs.uchicago.edu/research/publications/techreports/TR-2003-13} } @inproceedings{Fisc03c, Address = {Los Alamitos CA}, Author = {Michael Fischer and Martin Pinzger and Harald Gall}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2003)}, Keywords = {olit evolution}, Month = sep, Pages = {23--32}, Publisher = {IEEE Computer Society Press}, Title = {Populating a Release History Database from Version Control and Bug Tracking Systems}, Year = {2003} } @article{Fisc04a, Author = {Michael Fischer and Harald Gall}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice}, Keywords = {olit feature evolution}, Number = {6}, Pages = {385--403}, Publisher = {John Wiley \& Sons, Ltd.}, Title = {Visualizing Feature Evolution of Large-Scale Software based on Problem and Modification Report Data}, Volume = {16}, Year = {2004} } @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}, Journal = {ACM TOOIS}, Keywords = {olit-db iris oobib(oodb)}, Month = jan, Number = {1}, Pages = {48--69}, Title = {Iris: An Object-Oriented Database Management System}, Volume = {5}, Year = {1987} } @inproceedings{Fish94a, Author = {Kathleen Fisher and Jhon C. Mitchell}, Booktitle = {Proceedings of TACS '94}, Keywords = {olit-oopl oobib(oopl) binder}, Pages = {844--885}, Series = {LNCS}, Title = {Notes on Typed Object-Oriented Programming}, Volume = {789}, Year = {1994} } @article{Fish96a, Author = {Kathleen Fisher and John C. Mitchell}, Journal = {Theory and Practice of Object Systems}, Keywords = {oopl ooc}, Number = {3}, Pages = {189--220}, Title = {The Development of Type Systems for Object-Oriented Languages}, Url = {ftp://theory.stanford.edu/pub/jcm/papers/tapos.ps}, Volume = {1}, Year = {1996}, Bdsk-Url-1 = {ftp://theory.stanford.edu/pub/jcm/papers/tapos.ps} } @inproceedings{Fish07a, Address = {New York, NY, USA}, Author = {Fischer, Jeffrey and Majumdar, Rupak and Millstein, Todd}, Booktitle = {PEPM '07: Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation}, Doi = {10.1145/1244381.1244403}, Isbn = {978-1-59593-620-2}, Location = {Nice, France}, Pages = {134--143}, Publisher = {ACM}, Title = {Tasks: language support for event-driven programming}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1244381.1244403} } @article{Fitc69a, Author = {Walter M. Fitch}, Journal = {Biochemical Genetics}, Pages = {99--108}, Title = {Locating Gaps in Amino Acid Sequences to Optimize the Homology between Two Proteins}, Volume = {3}, Year = {1969} } @article{Fitt54a, Author = {Fitts, Paul M.}, Journal = {Journal of Experimental Psychology}, Keywords = {psychology}, Number = {6}, Pages = {381--391}, Title = {The Information Capacity of the Human Motor System in Controlling the Amplitude of Movement.}, Volume = {47}, Year = {1954} } @techreport{Fium83a, Author = {Eugene Fiume}, Institution = {Department of Computer Science, University of Toronto}, Keywords = {uilit olit uims}, Title = {A Programming Environment for Constructing Graphical User Interfaces: {A} Proposal}, Type = {M.Sc thesis}, Year = {1983} } @techreport{Fium87a, Author = {Eugene Fiume}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oat87}, Month = mar, Pages = {149--164}, Title = {An Attempt at Formal Specifications For a Non-Trivial Object}, Type = {Objects and Things}, Year = {1987} } @inproceedings{Fium87b, 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.}, Address = {Amsterdam}, Author = {Eugene Fiume and Dennis Tsichritzis and Laurent Dami}, Booktitle = {Proceedings of Eurographics 1987 (North-Holland)}, Keywords = {olit-appl animation osg-ftp oat87}, Publisher = {Elsevier Science Publishers}, Title = {A Temporal Scripting Language for Object-Oriented Animation}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/temporalScripting.pdf}, Year = {1987}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/temporalScripting.pdf} } @article{Fium87c, Author = {Eugene Fiume and Dennis Tsichritzis}, Journal = {IEEE Office Knowledge Engineering Newsletter}, Keywords = {olit-appl multimedia objects osg oat87}, Month = feb, Number = {1}, Title = {Multimedia objects}, Volume = {1}, Year = {1987} } @inproceedings{Fium87d, Address = {Taormina, Sicily}, Author = {Eugene Fiume and Dennis Tsichritzis}, Booktitle = {Workshop for Multimedia Objects}, Keywords = {olit-oopl multimedia scripts osg aoe88}, Misc = {June 15-17}, Month = jun, Title = {Dynamic Multimedia Objects}, Year = {1987} } @inproceedings{Fiut96a, Author = {Roberto Fiutem and Paolo Tonella and Giuliano Antoniol and Ettore Merlo}, Booktitle = {Proceedings ICSM '96}, Month = nov, Organization = {IEEE}, Title = {A Clich\'{e}-Based Environment to Support Architectural Reverse Engineering}, Year = {1996} } @article{Fiut99a, Author = {R. Fiutem and G. Antoniol and P. Tonella and E. Merlo}, Doi = {10.1002/(SICI)1096-908X(199909/10)11:5<339::AID-SMR196>3.3.CO;2-9}, Issn = {1040-550X}, Journal = {Journal of Software Maintenance: Research and Practice}, Number = 5, Pages = {339--364}, Publisher = {Wiley}, Title = {ART: an Architectural Reverse Engineering Environment}, Volume = 11, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/(SICI)1096-908X(199909/10)11:5%3C339::AID-SMR196%3E3.3.CO;2-9} } @inproceedings{Fjel79a, Author = {R.K. Fjeldstad and W. T. Hamlen}, Booktitle = {Proceedings of GUIDE 48}, City = {Philedalphia}, Keywords = {oorp}, Publisher = {The Guide Corporation}, Title = {Application Program maintenance study: report to our respondents}, Year = {1979} } @inproceedings{Flaj90a, Author = {Philippe Flajolet and Paolo Sipala and Jean-Marc Steyaert}, Booktitle = {Automata, Languages, and Programming}, Pages = {220--234}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Analytic variations on the common subexpression problem}, Volume = {443}, Year = {1990} } @book{Flan96a, Author = {David Flanagan}, Isbn = {1-56592-183-6}, Keywords = {olit-oopl java scglib}, Publisher = {O'Reilly}, Title = {Java in Nutshell}, Year = {1996} } @book{Flan97a, Author = {David Flanagan}, Edition = {Second}, Isbn = {1-56592-234-4}, Keywords = {javascript scripting scglib}, Month = jan, Publisher = {O'Reilly \& Associates}, Title = {JavaScript: The Definitive Guide}, Url = {http://www.ora.com/catalog/jscript2/noframes.html}, Year = {1997}, Bdsk-Url-1 = {http://www.ora.com/catalog/jscript2/noframes.html} } @book{Flan97b, Author = {David Flanagan}, Isbn = {1-56592-371-5}, Keywords = {olit-oopl java scglib}, Publisher = {O'Reilly}, Title = {Java Examples in a Nutshell}, Year = {1997} } @book{Flan97c, Author = {David Flanagan}, Edition = {2nd}, Isbn = {1-56592-262-X}, Keywords = {olit-oopl java scglib}, Publisher = {O'Reilly}, Title = {Java in a Nutshell: 2nd Edition}, Year = {1997} } @book{Flan99a, Author = {David Flanagan}, Edition = {3rd}, Keywords = {scglib olit}, Publisher = {O'Reilly}, Title = {Java In a Nutshell: 3rd Edition}, Year = {1999} } @book{Flan99b, Author = {David Flanagan}, Keywords = {scglib olit}, Publisher = {O'Reilly}, Title = {Java Foundation Classes In {A} Nutshell}, Year = {1999} } @book{Flan99c, Author = {David Flanagan and Jim Farley and William Crawford and Kris Magnusson}, Keywords = {scglib olit}, Publisher = {O'Reilly}, Title = {Java Enterprise In {A} Nutshell}, Year = {1999} } @inproceedings{Flan06a, Author = {Cormac Flanagan and Stephen N. Freund}, Booktitle = {FATES/RV}, Date = {2006-11-28}, Doi = {10.1007/11940197_14}, Isbn = {3-540-49699-8}, Pages = {209--224}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Dynamic Architecture Extraction}, Volume = {4262}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11940197_14} } @inproceedings{Flan06b, Address = {New York, NY, USA}, Author = {Cormac Flanagan}, Booktitle = {POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Doi = {10.1145/1111037.1111059}, Isbn = {1-59593-027-2}, Location = {Charleston, South Carolina, USA}, Pages = {245--256}, Publisher = {ACM}, Title = {Hybrid type checking}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1111037.1111059} } @inproceedings{Flan08a, author = {Cormac Flanagan and Stephen N. Freund and Jaeheon Yi}, title = {Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs}, booktitle = {PLDI '08: Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation}, year = {2008}, isbn = {978-1-59593-860-2}, pages = {293--303}, location = {Tucson, AZ, USA}, doi = {10.1145/1375581.1375618}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @inproceedings{Flan09a, author = {Cormac Flanagan and Stephen N. Freund}, title = {{FastTrack}: efficient and precise dynamic race detection}, booktitle = {PLDI '09: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation}, year = {2009}, isbn = {978-1-60558-392-1}, pages = {121--133}, location = {Dublin, Ireland}, doi = {10.1145/1542476.1542490}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @inproceedings{Flan10a, author = {Cormac Flanagan and Stephen N. Freund}, title = {Adversarial memory for detecting destructive races}, booktitle = {PLDI '10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation}, year = {2010}, isbn = {978-1-4503-0019-3}, pages = {244--254}, location = {Toronto, Ontario, Canada}, doi = {10.1145/1806596.1806625}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @inproceedings{Flat98a, Author = {Matthew Flatt and Matthias Felleisen}, Booktitle = {Proceedings of PLDI '98 Conference on Programming Language Design and Implementation}, Pages = {236--248}, Publisher = {ACM Press}, Title = {Units: Cool Modules for HOT Languages}, Year = {1998} } @inproceedings{Flat98b, Author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen}, Booktitle = {Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, Doi = {10.1145/268946.268961}, Isbn = {0-89791-979-3}, Keywords = {classicjava}, Location = {San Diego, California, United States}, Pages = {171--183}, Publisher = {ACM Press}, Title = {Classes and Mixins}, Url = {http://www.cs.brown.edu/~sk/Publications/Papers/Published/fkf-classes-mixins/}, Year = {1998}, Bdsk-Url-1 = {http://www.cs.brown.edu/~sk/Publications/Papers/Published/fkf-classes-mixins/}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/268946.268961} } @techreport{Flat99a, Author = {Matthew Flatt and Shriram Krishnamurthi and Matthias Felleisen}, Institution = {Rice University}, Keywords = {classicjava}, Number = {TR 97-293}, Title = {A Programmer's Reduction Semantics for Classes and Mixins}, Url = {www.ccs.neu.edu/scheme/pubs/tr97-293.pdf}, Year = {1999}, Bdsk-Url-1 = {www.ccs.neu.edu/scheme/pubs/tr97-293.pdf} } @inproceedings{Flat06a, Author = {Matthew Flatt and Robert Bruce Finder and Matthias Felleisen}, Booktitle = {AAPLAS 2006}, Title = {Scheme with Classes, Mixins and Traits}, Year = {2006} } @inproceedings{Fleis07a, Address = {New York, NY, USA}, Author = {Sebastian Fleissner and Elisa L. A. Baniassad}, Booktitle = {Proceedings of OOPSLA '07}, Doi = {10.1145/1297027.1297076}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {659--674}, Publisher = {ACM}, Title = {Epi-aspects: aspect-oriented conscientious software}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297076} } @article{Fleu04a, Address = {Los Alamitos, CA, USA}, Author = {Franck Fleurey and Yves Le Traon and Benoit Baudry}, Doi = {10.1109/ASE.2004.10013}, Issn = {1068-3062}, Journal = {ase}, Pages = {306--309}, Publisher = {IEEE Computer Society}, Title = {From Testing to Diagnosis: An Automated Approach}, Volume = {00}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2004.10013} } @phdthesis{Fleu06a, Author = {Franck Fleurey}, School = {Th\`ese de doctorat, Universit\'e de Rennes 1}, Title = {Langage et m\'ethode pour une ing\'enierie des mod\`eles fiable}, Year = {2006} } @conference{Fleu07a, Author = {Fabien Fleutot and Laurence Tratt}, Booktitle = {Proceedings of the Workshop on Dynamic Languages and Applications}, Title = {Contrasting compile-time meta-programming in {Metalua} and {Converge}}, Url = {http://tratt.net/laurie/research/publications/papers/fleutot_tratt__contrasting_compile_time_meta_programming_in_metalua_and_converge.pdf}, Year = {2007}, Bdsk-Url-1 = {http://tratt.net/laurie/research/publications/papers/fleutot_tratt__contrasting_compile_time_meta_programming_in_metalua_and_converge.pdf}} @inproceedings{Flor95a, Address = {Aarhus, Denmark}, Author = {Gert Florijn}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {351--373}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Protocols as Functional Parsers}, Volume = {952}, Year = {1995} } @inproceedings{Flor97a, Address = {Jyvaskyla, Finland}, Author = {Gert Florijn and Marco Meijers and Pieter van Winsen}, Booktitle = {Proceedings ECOOP '97}, Editor = {Mehmet Aksit and Satoshi Matsuoka}, Keywords = {olit ecoop97proc oorp}, Month = jun, Pages = {472--495}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Tool Support for Object-Oriented Patterns}, Volume = 1241, Year = {1997} } @book{Foge01a, Author = {Karl Fogel and Moshe Bar}, Keywords = {scglib cvs}, Publisher = {Coriolis}, Title = {Open Source Development with CVS}, Year = {2001} } @book{Fole82a, Address = {Reading, Mass.}, Author = {James Foley and Andy van Dam}, Keywords = {misc graphics}, Publisher = {Addison Wesley Publishing Company}, Series = {The Systems Programming Series}, Title = {Fundamentals of Interactive Computer Graphics}, Year = {1982} } @proceedings{Fole86a, Editor = {James Foley}, Journal = {ACM Transactions on Graphics}, Keywords = {uilit}, Title = {Special Issues on User Interface Software}, Volume = {5}, Year = {1986} } @article{Fole86b, Author = {James D. Foley and C.F. McMath}, Journal = {IEEE Computer Graphics and Applications}, Keywords = {visprog}, Month = mar, Number = {2}, Pages = {16--25}, Title = {Dynamic Process Visualization}, Volume = {6}, Year = {1986} } @inproceedings{Fole88a, Author = {James Foley and Christina Gibbs and Won Chul Kim and Srdjan Kovacevic}, Booktitle = {CHI '88 Conference Proceedings}, Editor = {Elliot Soloway and Douglas Frye and Sylvia B. Sheppard}, Keywords = {User Interface}, Title = {A Knowledge-based User Interface Management System}, Year = {1988} } @article{Foli10a, Author = {Christian Folini}, Date-Added = {2010-04-02 13:19:23 +0200}, Date-Modified= {2010-04-02 13:22:57 +0200}, Journal = {unilink, Die Nachrichten der Universit{\"a}t Bern}, Month = may, Pages = {8}, Title = {Sein Kampf f{\"u}r das Teilen}, Year = {2010} } @inproceedings{Folt99a, Author = {Peter Foltz and Darrell Laham and Thomas Landauer}, Booktitle = {Proceedings World Conference on Educational Multimedia, Hypermedia and Telecommunications (EdMedia 1999)}, Pages = {939--944}, Title = {Automated Essay Scoring: Applications to Educational Technology}, Year = {1999} } @techreport{Fong04a, Author = {Philip W. L. Fong and Cheng Zhang}, Institution = {Department of Computer Science, University of Regina}, Title = {Capabilities as alias control: Secure cooperation in dynamically extensible systems}, Year = {2004} } @article{Food94a, Author = {Michael Foody}, Journal = {??}, Keywords = {interoperability binder}, Number = {??}, Pages = {??-??}, Title = {Providing Object System Interoperability}, Volume = {??}, Year = {1994} } @inproceedings{Foot89a, Author = {Brian Foote and Ralph E. Johnson}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {327--336}, Title = {Reflective Facilities in {Smalltalk}-80}, Volume = {24}, Year = {1989} } @inproceedings{Foot93a, Author = {B. Foote}, Booktitle = {OOPSLA '93 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming}, Title = {Architectural Balkanization in the Post-Linguistic Area}, Year = {1993} } @unpublished{Foot94a, 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.}, Author = {Brian Foote and William F. Opdyke}, Keywords = {olit-reuse binder}, Note = {Department of Computer Science University of Illinois at Urbana-Champaign Urbana}, Title = {Evolve Aggregations From Inheritance Hierarchies: {A} Consolidation Pattern to Support Evolution and Reuse}, Type = {draft}, Url = {ftp://p300.cpl.uiuc.edu/pub/foote/aggregates.ps}, Year = {1994}, Bdsk-Url-1 = {ftp://p300.cpl.uiuc.edu/pub/foote/aggregates.ps} } @inproceedings{Foot97a, Annote = {reengpat}, Author = {Brian Foote and Joseph W. Yoder}, 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}, Title = {{Big} {Ball} of {Mud}}, Year = {1997} } @inproceedings{Foot97b, Annote = {reengpat}, Author = {Brian Foote and Joseph W. Yoder}, Booktitle = {Proceedings of PLoP '97}, Title = {{Big} {Ball} of {Mud}}, Year = {1997} } @incollection{Foot00a, Author = {Brian Foote and Joseph W. Yoder}, Booktitle = {Pattern Languages of Program Design}, Editor = {N. Harrison and B. Foote and H. Rohnert}, Keywords = {olit oorp}, Pages = {654--692}, Publisher = {Addison Wesley}, Title = {Big Ball of Mud}, Url = {http://www.laputan.org/mud/mud.html}, Volume = {4}, Year = {2000}, Bdsk-Url-1 = {http://www.laputan.org/mud/mud.html} } @inproceedings{Ford02a, Address = {New York, NY, USA}, Author = {Bryan Ford}, Booktitle = {ICFP 02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming}, Doi = {10.1145/583852.581483}, Issn = {0362-1340}, Keywords = {packrat parsing cclit}, Pages = {36--47}, Publisher = {ACM}, Title = {Packrat parsing: simple, powerful, lazy, linear time, functional pearl}, Url = {http://pdos.csail.mit.edu/~baford/packrat/icfp02/packrat-icfp02.pdf}, Volume = {37/9}, Year = {2002}, Bdsk-Url-1 = {http://pdos.csail.mit.edu/~baford/packrat/icfp02/packrat-icfp02.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/583852.581483} } @mastersthesis{Ford02b, Author = {Bryan Ford}, Booktitle = {ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming}, Keywords = {packrat parsing cclit}, School = {Massachusetts Institute of Technology}, Title = {Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking}, Url = {http://pdos.csail.mit.edu/~baford/packrat/thesis/ http://pdos.csail.mit.edu/~baford/packrat/thesis/thesis.pdf}, Year = {2002}, Bdsk-Url-1 = {http://pdos.csail.mit.edu/~baford/packrat/thesis/%20http://pdos.csail.mit.edu/~baford/packrat/thesis/thesis.pdf} } @inproceedings{Ford04a, Address = {New York, NY, USA}, Author = {Bryan Ford}, Booktitle = {POPL '04: Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Doi = {10.1145/964001.964011}, Isbn = {1-58113-729-X}, Keywords = {peg parsing cclit}, Location = {Venice, Italy}, Pages = {111--122}, Publisher = {ACM}, Title = {Parsing expression grammars: a recognition-based syntactic foundation}, Url = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf}, Year = {2004}, Bdsk-Url-1 = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/964001.964011} } @misc{Form, Key = {Formulator}, Keywords = {zope web server}, Note = {http://www.infrae.com/download/Formulator}, Title = {Formulator, an extensible framework that eases the creation and validation of web forms for {Zope}}, Url = {http://www.infrae.com/download/Formulator}, Bdsk-Url-1 = {http://www.infrae.com/download/Formulator} } @inproceedings{Form94a, Address = {Portland}, Author = {Ira R. Forman and Scott Danforth and Hari Madduri}, Booktitle = {Proceedings of OOPSLA '94}, Editor = {ACM}, Month = oct, Number = {10}, Organization = {ACM}, Pages = {427--439}, Series = {ACM Sigplan Notices}, Title = {Composition of Before/After Metaclasses in {SOM}}, Volume = {29}, Year = {1994} } @book{Form99a, Author = {Ira R. Forman and Scott Danforth}, Publisher = {Addison-Wesley}, Title = {Putting Metaclasses to Work: A New Dimension in Object-Oriented Programming}, Year = {1999} } @misc{Fortress, Key = {fortress}, Note = {\url{http://research.sun.com/projects/plrg/fortress0866.pdf}}, Title = {The {Fortress} Language Specification}, Url = {http://research.sun.com/projects/plrg/fortress0866.pdf}, Bdsk-Url-1 = {http://research.sun.com/projects/plrg/fortress0866.pdf} } @phdthesis{Fost02a, Author = {Jeffrey Scott Foster}, Keywords = {nonstandard types}, Month = dec, School = {University of California, Berkeley}, Title = {Type Qualifiers: Lightweight Specifications to Improve Software Quality}, Type = {{Ph.D}. Thesis}, Url = {http://www.cs.umd.edu/~jfoster/papers/thesis.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.umd.edu/~jfoster/papers/thesis.pdf} } @inproceedings{Fost02b, Author = {Jeffrey S. Foster and Tachio Terauchi and Alex Aiken}, Booktitle = {Proceedings of PLDI '02 Conference on Programming Language Design and Implementation}, Keywords = {nonstandard types}, Pages = {1--12}, Publisher = {ACM Press}, Title = {Flow-Sensitive Type Qualifiers}, Url = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf} } @inproceedings{Fost06a, Address = {New York, NY, USA}, Author = {Howard Foster and Sebastian Uchitel and Jeff Magee and Jeff Kramer}, Booktitle = {ICSE '06: Proceeding of the 28th international conference on Software engineering}, Doi = {10.1145/1134285.1134408}, Isbn = {1-59593-375-1}, Location = {Shanghai, China}, Pages = {771--774}, Publisher = {ACM Press}, Title = {LTSA-WS: a tool for model-based verification of web service compositions and choreography}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134285.1134408} } @inproceedings{Four96a, Author = {C\'edric Fournet and Georges Gonthier}, Booktitle = {Proceedings of the 23rd ACM Symposium on Principles of Programming Languages}, Keywords = {popl96 pcalc join calculus pisem}, Pages = {372--385}, Publisher = {ACM Press}, Title = {The Reflexive {CHAM} and the Join-Calculus}, Url = {http://www.research.microsoft.com/~fournet/biblio.htm http://pauillac.inria.fr/~fournet/papers/popl-96.ps.gz}, Year = {1996}, Bdsk-Url-1 = {http://www.research.microsoft.com/~fournet/biblio.htm%20http://pauillac.inria.fr/~fournet/papers/popl-96.ps.gz} } @inproceedings{Four96b, Author = {C{\'e}dric Fournet and Georges Gonthier and Jean-Jacques L{\'e}vy and Luc Maranget and Didier R{\'e}my}, Booktitle = {Proceedings of the 7th International Conference on Concurrency Theory (CONCUR '96)}, Keywords = {olit(mobility) obib(pcalc) binder pcalc mobility join calculus pisem}, Month = aug, Pages = {406--421}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Calculus of Mobile Agents}, Url = {http://www.research.microsoft.com/~fournet/biblio.htm}, Volume = 1119, Year = {1996}, Bdsk-Url-1 = {http://www.research.microsoft.com/~fournet/biblio.htm} } @inproceedings{Four97b, Author = {C\'edric Fournet and Cosimo Laneve and Luc Maranget and Didier R\'emy}, Booktitle = {Proc. of the 1997 8th International Conference on Concurrency Theory}, Keywords = {obib(pcalc) join calculus binder}, Publisher = {Springer-Verlag}, Title = {Implict Typing \`a la {ML} for the Join-Calculus}, Url = {ftp://ftp.inria.fr/INRIA/Projects/para/maranget/CONCUR-97.dvi.gz}, Year = {1997}, Bdsk-Url-1 = {ftp://ftp.inria.fr/INRIA/Projects/para/maranget/CONCUR-97.dvi.gz} } @inproceedings{Four98a, Author = {C{\'e}dric Fournet and Georges Gonthier}, Booktitle = {Proceedings of ICALP~'98}, Keywords = {pcalc mobility join calculus pisem}, Pages = {844--855}, Title = {A Hierarchy of Equivalences for Asynchronous Calculi}, Url = {http://www.research.microsoft.com/~fournet/biblio.htm}, Year = {1998}, Bdsk-Url-1 = {http://www.research.microsoft.com/~fournet/biblio.htm} } @inproceedings{Four98b, Author = {C{\'e}dric Fournet and Michele Boreale and Cosimo Laneve}, Booktitle = {Proceedings of the IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET)}, Keywords = {pcalc mobility join calculus pisem}, Month = jun, Title = {Bisimulations in the Join Calculus}, Url = {http://www.research.microsoft.com/~fournet/biblio.htm}, Year = {1998}, Bdsk-Url-1 = {http://www.research.microsoft.com/~fournet/biblio.htm} } @phdthesis{Four98c, Author = {C{\'e}dric Fournet}, Keywords = {pcalc mobility join calculus pisem}, Number = {INRIA TU-0556}, School = {Ecole Polytechnique}, Title = {The Join-Calculus: a Calculus for Distributed Mobile Programming}, Type = {{Ph.D}. Thesis}, Url = {http://www.research.microsoft.com/~fournet/biblio.htm}, Year = {1998}, Bdsk-Url-1 = {http://www.research.microsoft.com/~fournet/biblio.htm} } @inproceedings{Fowl94a, 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.}, Author = {Robert J. Fowler}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {33--46}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Architectural Convergence and the Granularity of Objects in Distributed Systems}, Volume = {791}, Year = {1994} } @book{Fowl97a, Author = {Martin Fowler}, Isbn = {0-201-32563-2}, Keywords = {olit design scglib uml}, Publisher = {Addison Wesley}, Title = {{UML} Distilled}, Year = {1997} } @book{Fowl97b, Author = {Martin Fowler}, Isbn = {0-201-89542-0}, Keywords = {olit patterns scglib oorp}, Publisher = {Addison Wesley}, Title = {Analysis Patterns: Reusable Objects Models}, Year = {1997} } @book{Fowl99a, Author = {Martin Fowler and Kent Beck and John Brant and William Opdyke and Don Roberts}, Keywords = {olit patterns famoos refactoring oorp scglib}, Publisher = {Addison Wesley}, Title = {Refactoring: Improving the Design of Existing Code}, Year = {1999} } @book{Fowl99b, Author = {Martin Fowler}, Publisher = {Addison-Wesley Professional}, Title = {Refactoring: improving the design of existing code}, Year = {1999} } @article{Fowl01a, Author = {Fowler, Martin and Highsmith, Jim}, journal = {Software Development Magazine}, number = 8, Month = aug, url = {http://agilemanifesto.org}, keywords = {damiencbib}, pages = {29--30}, title = {The {Agile} Manifesto}, volume = 9, year = {2001} } @book{Fowl03a, Author = {Martin Fowler}, Isbn = {0321193687}, Keywords = {olit design scglib uml}, Publisher = {Addison Wesley}, Title = {{UML} Distilled}, Year = {2003} } @misc {Fowl03b, Author = {Fowler, Martin}, Title = {{UML} Mode}, keywords = {damiencbib umlmode uml}, Year = {2003}, Url = {http://www.martinfowler.com/bliki/UmlMode.html}, month = may } @misc {Fowl03c, Author = {Fowler, Martin}, Title = {{UML} as programming language}, keywords = {damiencbib umlmode uml}, Year = {2003}, Url = {http://www.martinfowler.com/bliki/UmlAsProgrammingLanguage.html}, month = may } @misc {Fowl03d, Author = {Fowler, Martin}, Title = {{UML} as sketch}, keywords = {damiencbib umlmode uml}, Year = {2003}, Url = {http://www.martinfowler.com/bliki/UmlAsSketch.html}, month = may } @misc{Fowl04a, Author = {Martin Fowler}, Howpublished = {http://martinfowler.com/articles/injection.html archived at http://www.webcitation.org/5wLOsI8ov}, Month = jan, Title = {Inversion of Control Containers and the Dependency Injection pattern}, Url = {http://www.webcitation.org/5wLOsI8ov}, Year = {2004} } @book{Fowl05a, Author = {Martin Fowler}, Isbn = {0321127420}, Keywords = {olit design scglib uml}, Publisher = {Addison Wesley}, Title = {Patterns of Enterprise Application Architecture}, Year = {2005} } @misc{Fowl05b, Author = {Fowler, Martin}, Keywords = {dsllit}, Month = jun, Note = {\url{http://www.martinfowler.com/articles/languageWorkbench.html}}, Title = {Language Workbenches: The Killer-App for Domain-Specific Languages}, Url = {http://www.martinfowler.com/articles/languageWorkbench.html}, Year = {2005}, Bdsk-Url-1 = {http://www.martinfowler.com/articles/languageWorkbench.html} } @misc{Fowl05c, Author = {Fowler, Martin}, Month = jun, Title = {Inversion Of Control, obtained from {Martin Fowler}'s Wiki}, Url = {http://www.martinfowler.com/bliki/InversionOfControl.html}, Year = {2005}, Bdsk-Url-1 = {http://www.martinfowler.com/bliki/InversionOfControl.html} } @misc {Fowl05d, Author = {Fowler, Martin}, Title = {Fluent Interface}, keywords = {damiencbib fluent interface}, Year = {2005}, Url = {http://www.martinfowler.com/bliki/FluentInterface.html} } @misc{Fowl08X, Author = {Martin Fowler}, Keywords = {dsllit}, Month = jun, Note = {http://martinfowler.com/dslwip/, Work in progress}, Title = {Domain Specific Languages}, Url = {http://martinfowler.com/dslwip/}, Year = {2008}, Bdsk-Url-1 = {http://martinfowler.com/dslwip/} } @book{Fowl10a, author = {Fowler, Martin}, publisher = {Addison-Wesley Professional}, month = sep, title = {Domain-Specific Languages}, year = {2010}, keywords = {domain specific languages dsl damiencbib}, isbn = {0321712943} } @article{Frak87a, Author = {William Frakes and Brian Nejmeh}, Journal = {SIGIR Forum}, Number = {1-2}, Pages = {30--36}, Title = {Software Reuse Through Information Retrieval}, Volume = {21}, Year = {1987} } @book{Fram93a, Author = {Frame Technology Corporation}, Isbn = {41-03776-00}, Keywords = {scglib}, Publisher = {Frame technology}, Title = {Using Framemaker 4}, Year = {1993} } @book{Fran92a, Author = {Nissim Francez}, Isbn = {0-201-41608-5}, Keywords = {coordination scglib}, Publisher = {Addison Wesley}, Title = {Program Verification}, Year = {1992} } @book{Fran96a, Author = {Nissim Francez and Ira R. Forman}, Keywords = {coordination scglib}, Publisher = {Addison Wesley}, Title = {Interacting Processes}, Year = {1996} } @article{Fran97a, Address = {New York, NY, USA}, Author = {Michael Franz and Thomas Kistler}, Doi = {10.1145/265563.265576}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {12}, Pages = {87--94}, Publisher = {ACM Press}, Title = {Slim binaries}, Volume = {40}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/265563.265576} } @mastersthesis{Fran99a, 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...}, Author = {Fredi Frank}, Keywords = {scg-pub skip-doi toBeChecked scg-msc jb99}, Month = oct, School = {University of Bern}, Title = {An Associative Documentation Model}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Fran99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Fran99a.pdf} } @article{Fras80a, Author = {C.W. Fraser}, Journal = {CACM}, Keywords = {uilit text}, Month = mar, Number = {3}, Pages = {154--158}, Title = {A Generalized Text Editor}, Volume = {23}, Year = {1980} } @inproceedings{Fras81a, Author = {C.W. Fraser}, Booktitle = {Proceedings of the ACM Symposium on Text Manipulation}, Keywords = {uilit text}, Month = jun, Pages = {17--21}, Title = {Syntax-Directed Editing of General Data Structures}, Year = {1981} } @article{Frat99a, Author = {Piero Fraternali}, Journal = {ACM Computing Surveys}, Pages = {227--263}, Title = {Tools and approaches for developing data-intensive Web applications: a survey}, Year = {1999}, volume = {31}, number = {3}, issn = {0360-0300}, doi = {10.1145/331499.331502}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Freb87a, Author = {Karl Freburger}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {416--422}, Title = {{RAPID}: Prototyping Control Panel Interfaces}, Volume = {22}, Year = {1987} } @inproceedings{Free89a, Author = {Bjorn N. Freeman-Benson}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {389--396}, Title = {A Module Mechanism for Constraints in {Smalltalk}}, Volume = {24}, Year = {1989} } @inproceedings{Free90a, Author = {Bjorn N. Freeman-Benson}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {77--88}, Title = {Kaleidoscope: Mixing Objects, Constraints and Imperative Programming}, Volume = {25}, Year = {1990} } @article{Free90b, Author = {B. Freeman-Benson and J. Maloney and A. Borning}, Journal = {Communications of the ACM}, Number = {1}, Pages = {55--63}, Title = {An incremental Constraint Solver}, Volume = {33}, Year = {1990} } @inproceedings{Free92a, Address = {Utrecht, the Netherlands}, Author = {Bjorn N. Freeman-Benson and Alan Borning}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-oopl kaleidoscope ecoop92proc}, Month = jun, Pages = {268--286}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Integrating Constraints with an Object-Oriented Language}, Volume = {615}, Year = {1992} } @inproceedings{Free92b, Author = {Bjorn N. Freeman-Benson and Alan Borning}, Booktitle = {Proceedings of the 1992 IEEE International Conference on Computer Languages}, Keywords = {olit-oopl binder}, Note = {To appear}, Title = {The Design and Implementation of Kaleidoscope '90, {A} Constraint Imperative Programming Language}, Year = {1992} } @inproceedings{Free94a, Address = {Bologna, Italy}, Author = {S.M.G. Freeman and M.S. Manasse}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {493--512}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Adding Digital Video to an Object-Oriented User Interface Toolkit}, Volume = {821}, Year = {1994} } @article{Free95a, Author = {Steve Freeman}, Journal = {Dr. Dobb's Journal}, Month = oct, Number = {10}, Pages = {36--42}, Title = {Partial Revelation and {Modula}-3}, Volume = {20}, Year = {1995} } @book{Free97a, Author = {David Freedman and Robert Pisani and Roger Purves}, Isbn = {978-0393970838}, Publisher = {W. W. Norton \& Company}, Title = {Statistics, Third Edition}, Year = {1997} } @book{Free99a, Author = {Eric Freeman and Susanne Hupfer and Ken Arnold}, Keywords = {java, scglib}, Note = {ISBN: 0201309556}, Publisher = {Addison Wesley}, Title = {JavaSpaces Principles, Patterns and Practice}, Year = {1999} } @inproceedings{Free04a, Address = {New York, NY, USA}, Author = {Steve Freeman and Nat Pryce and Tim Mackinnon and Joe Walnes}, Booktitle = {Companion of OOPSLA '04, ACM SIGPLAN Notices}, Pages = {236--246}, Publisher = {ACM Press}, Title = {Mock Roles, not Objects}, Url = {http://www.jmock.org/oopsla2004.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.jmock.org/oopsla2004.pdf} } @inproceedings{Free06a, Author = {Freeman, Steve and Pryce, Nat}, Booktitle = {OOPSLA'06: Companion to the 21st Symposium on Object-Oriented Programming Systems, Languages, and Applications}, keywords = {jmock fluent interfaces damiencbib}, Doi = {10.1145/1176617.1176735}, Isbn = {1-59593-491-X}, address = {Portland, OR, USA}, Pages = {855--865}, Publisher = {ACM}, Title = {Evolving an embedded domain-specific language in {Java}}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176735} } @techreport{Frei00a, 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.}, Author = {Michael Freidig}, Institution = {University of Bern}, Keywords = {snf-none scg-ip scglib jb00 moose-pub}, Month = jun, Title = {{XMI} for {FAMIX}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Frei00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Frei00a.pdf} } @mastersthesis{Frei04a, 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.}, Author = {Michael Freidig}, Keywords = {scg-msc recast04 jb04}, Month = jan, School = {University of Bern}, Title = {Trace Based Object-Oriented Application Testing}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Frei04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Frei04a.pdf} } @inproceedings{Frie84a, Address = {New York, NY, USA}, Author = {Daniel P. Friedman and Mitchell Wand}, Booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming}, Doi = {10.1145/800055.802051}, Isbn = {0-89791-142-3}, Location = {Austin, Texas, United States}, Pages = {348--355}, Publisher = {ACM}, Title = {Reification: Reflection without metaphysics}, Year = {1984}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/800055.802051} } @techreport{Frie84b, Pages = {263--274}, Author = {Daniel P. Friedman, Christopher T. Haynes and Eugene Kohlbecker}, Booktitle = {Program Transformation and Programming Environments}, Editor = {P. Pepper}, Institution = {Indiana University}, Month = nov, Year = {1984}, Number = {151}, Title = {Programming with Continuations} } @book{Frie87a, Author = {Daniel Friedman and Mattias Felleisen}, Isbn = {0-262-56038-0}, Keywords = {pl book scglib}, Publisher = {MIT Press}, Title = {The Little LISPer}, Year = {1987} } @inproceedings{Frie89a, Address = {Nottingham}, Author = {Gerhard Friedrich and Wolfgang H{\"o}llinger and Christian Stary and Markus Stumptner}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl objview binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {299--310}, Publisher = {Cambridge University Press}, Title = {ObjView: {A} Task-Oriented, Graphics-Based Tools for Object Visualization and Arrangement}, Year = {1989} } @book{Frie92a, Author = {Daniel P. Friedman and Mitchell Wand and Christopher T. Haynes}, Edition = {2nd}, Keywords = {pl book scglib}, Publisher = {McGraw-Hill}, Title = {Essentials of Programming Languages}, Year = {1992} } @techreport{Frie10a, Abstract = {Software visualization tools can help us to better understand the structure of a software system. Integrating a software visualization in an IDE like Eclipse allows us to see the visualization from within the IDE and thus makes switching between different programs unnecessary. ECCrawler is an interactive software visualization plug-in for Eclipse that serves as an alternative to the traditional Package Explorer by enabling mouse-interaction in order to navigate through a software project.}, Author = {Manuel Friedli}, Institution = {University of Bern}, Keywords = {scg-ip jb11 snf10}, Month = oct, Title = {{ECCrawler} --- Visualizations for {Eclipse}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Frie10a.pdf}, Year = {2010} } @article{Fris08a, Address = {Los Alamitos, CA, USA}, Author = {Frishman, Yaniv and Tal, Ayellet}, Doi = {10.1109/TVCG.2008.11}, Issn = {1077-2626}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Number = {4}, Pages = {727--740}, Posted-At = {2009-07-01 22:45:17}, Priority = {2}, Publisher = {IEEE Computer Society}, Title = {Online Dynamic Graph Drawing}, Url = {http://dx.doi.org/10.1109/TVCG.2008.11}, Volume = {14}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2008.11} } @inproceedings{Frit07a, Address = {New York, NY, USA}, Author = {Fritz, Thomas and Murphy, Gail C. and Hill, Emily}, Booktitle = {ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering}, Doi = {10.1145/1287624.1287673}, Isbn = {978-1-59593-811-4}, Location = {Dubrovnik, Croatia}, Pages = {341--350}, Publisher = {ACM}, Title = {Does a programmer's activity indicate knowledge of code?}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287673} } @inproceedings{Frit09a, Abstract = {When building a software system, software developers each contribute a flow of information that together forms the system. As they work, developers continuously consult various fragments of information to answer their questions about the system. In today's programming environments, information is kept in disparate silos, such as program code, bugs and change sets. However, to answer the variety of questions a developer faces, the interleaving of information from multiple sources is typically needed. We have implemented a prototype that allows for the composition of information fragments from different silos. We also interviewed three experienced developers to find out about cases when they need to interleave information.}, Author = {Fritz, T. and Murphy, G. C.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403379}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070012}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070012}, Doi = {10.1109/SUITE.2009.5070012}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, fragmentexplorer, suite2009}, Pages = {9--12}, Posted-At = {2009-08-10 11:09:54}, Priority = {0}, Title = {Search, stitch, view: Easing information integration in an IDE}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070012}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070012} } @inproceedings{Froe04a, Address = {Washington, DC, USA}, Author = {Jon Froehlich and Paul Dourish}, Booktitle = {Proceedings of the 26th International Conference on Software Engineering}, Isbn = {0-7695-2163-0}, Pages = {387--396}, Publisher = {IEEE Computer Society}, Title = {Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams}, Year = {2004} } @inproceedings{Frol92a, 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.}, Address = {Utrecht, the Netherlands}, Author = {Svend Fr\olund}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-obc ecoop92proc}, Month = jun, Pages = {185--196}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages}, Url = {ftp://biobio.cs.uiuc.edu/pub/papers/constraints}, Volume = {615}, Year = {1992}, Bdsk-Url-1 = {ftp://biobio.cs.uiuc.edu/pub/papers/constraints} } @inproceedings{Frol93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Svend Fr\olund and Gul Agha}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {346--360}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Language Framework for Multi-Object Coordination}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @phdthesis{Frol94a, Author = {Svend Fr\olund}, School = {University of Illinois at Urbana-Champaign}, Title = {Constraint-{Based} {Synchronization} of {Distributed} {Activities}}, Year = {1994} } @incollection{Frol95a, 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.}, Author = {Svend Fr\olund and Gul Agha}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-07}, Pages = {107--124}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Abstracting Interactions Based on Message Sets}, Volume = {924}, Year = {1995} } @book{Frol96a, Author = {Svend Fr\olund}, Keywords = {olit actors coordination}, Publisher = {MIT Press}, Title = {Coordinating Distributed Objects --- An Actor-Based Approach to Synchronization}, Year = {1996} } @techreport{From91a, Author = {Markus Fromherz}, Institution = {University of Zurich}, Keywords = {olit-oopl explore/l binder (shelf)}, Month = jun, Number = {91.06}, Title = {Explore/{L} --- An Object-Oriented Logic Language}, Type = {Report}, Year = {1991} } @book{Fron97a, Author = {John W. Fronckowiak}, Keywords = {cobol}, Publisher = {IDG Books}, Title = {Cobol For Dummies}, Year = {1997} } @article{Fros94a, Author = {Stuart Frost}, Journal = {Object Magazine}, Keywords = {oorp}, Month = sep, Pages = {43--51}, Publisher = {SIGS Publications}, Title = {Modelling for the RDBMS Legacy}, Year = {1994} } @book{Frye04a, Author = {Curtis Frye and Wayne S. Freeze and Felicia K. Buckingham}, Keywords = {book scglib}, Publisher = {Microsoft Press}, Title = {Microsoft Office Excell 2003 Programming}, Year = {2004} } @inproceedings{Fugi90a, Author = {Mariagrazia Fugini and Barbara Pernici}, Booktitle = {Proceedings CAiSE '90}, Keywords = {olit-ithaca recast caise90}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{RECAST}: a tool for reusing requirements}, Volume = {436}, Year = {1990} } @techreport{Fugi90b, Author = {Mariagrazia Fugini and Stefano Faustle}, Institution = {Politecnico di Milano}, Keywords = {olit-ithaca recast}, Month = dec, Number = {ITHACA.POLIMI.90.E3.7}, Title = {Similarity Queries for Class Retrieval from a Software Information Base}, Type = {ITHACA report}, Year = {1990} } @misc{Fugi91a, Address = {Trondheim}, Author = {Mariagrazia Fugini and M. Guggino and Barbara Pernici}, Keywords = {olit-ithaca recast caise91}, Month = may, Note = {Accepted to CAiSE '91}, Title = {Reusing Requirements Through a Modeling and Composition Support Tool}, Year = {1991} } @article{Fugi92a, 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}, Author = {Mariagrazia Fugini and Oscar Nierstrasz and Barbara Pernici}, Doi = {10.1145/134376.134386}, Journal = {SIGOIS Bulletin}, Keywords = {olit-ithaca recast vista oke osg-ftp oc91 onhindex(40) ithaca-final}, Month = aug, Number = {2}, Pages = {38--47}, Title = {Application Development Through Reuse: The {ITHACA} Tools Environment}, Url = {http://scg.unibe.ch/archive/osg/Fugi92aAppDevThroughReuse.pdf}, Volume = {13}, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Fugi92aAppDevThroughReuse.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/134376.134386} } @article{Fuji84a, Author = {L. Fujitani}, Journal = {CACM}, Keywords = {misc hardware}, Month = jun, Number = {6}, Pages = {546--554}, Title = {Laser Optical Disk: The Coming Revolution in On-Line Storage}, Volume = {27}, Year = {1984} } @inproceedings{Fuku86a, Author = {Koichi Fukunaga and Shin-ichi Hirose}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl spool prolog oopsla86}, Month = nov, Pages = {224--231}, Title = {An Experience with a Prolog-based Object-Oriented Language}, Volume = {21}, Year = {1986} } @techreport{Funk95a, Author = {Petra Funk and Anke Lewien and Gregor Snelting}, Institution = {Computer Science Dept., Technische Universitat Braunschweig}, Keywords = {fca}, Number = {95-09}, Title = {Algorithms for {Concept} {Lattice} {Decomposition} and their {Application}}, Year = {1995} } @inproceedings{Furn86a, Author = {George W. Furnas}, Booktitle = {Proceedings of CHI '86 (Conference on Human Factors in Computing Systems)}, Location = {Massachusetts, USA}, Pages = {16--23}, Publisher = {ACM Press}, Title = {Generalized {Fisheye} {View}}, Year = {1986} } @article{Furu82a, Author = {R. Furuta and J. Scofield and Alan Shaw}, Journal = {ACM Computing Surveys}, Keywords = {misc documents formatting}, Month = sep, Number = {3}, Pages = {417--472}, Title = {Document Formatting Systems: Survey, Concepts and Issues}, Volume = {14}, Year = {1982} } @inproceedings{Fusa98a, Author = {P. Fusaro and M. Tortorella and G. Visaggio}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {20--30}, Publisher = {IEEE Computer Society}, Title = {REP --- chaRacterizing and Exploting Process Components: Results of Experimentation}, Year = {1998} } @book{Futa96a, Editor = {Kokichi Futatsugi and Satoshi Matsuoka}, Isbn = {3-540-60954-7}, Keywords = {olit isotas96 proceedings scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Technologies for Advanced Software}, Volume = {1049}, Year = {1996} } @article{Futa99a, Address = {Hingham, MA, USA}, Author = {Yoshihiko Futamura}, Doi = {10.1023/A:1010095604496}, Issn = {1388-3690}, Journal = {Higher Order Symbol. Comput.}, Keywords = {dsllit}, Number = {4}, Pages = {381--391}, Publisher = {Kluwer Academic Publishers}, Title = {Partial Evaluation of Computation Process: An Approach to a Compiler-Compiler}, Volume = {12}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1010095604496} } @article{Fyoc97a, Author = {Daniel E. Fyock}, Journal = {IEEE Computer Graphics and Applications}, Number = {14}, Pages = {73--75}, Title = {Using Visualization to Maintain Large Computer Systems}, Volume = {17}, Year = {1997} } @inproceedings{Gabe92a, Address = {Utrecht, the Netherlands}, Author = {Bent Gabelgaard}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {213--232}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Object-Oriented Programming Techniques for Implementing {ISDN} Supplementary Services}, Volume = {615}, Year = {1992} } @article{Gabr88a, author = {Richard P. Gabriel}, title = {The why of {Y}}, journal = {SIGPLAN Lisp Pointers}, volume = {2}, number = {2}, year = {1988}, issn = {1045-3563}, pages = {15--25}, doi = {10.1145/1317250.1317252}, url = {http://www.dreamsongs.com/Files/WhyOfY.pdf}, keywords = {pl-lit-lambda calculus}, publisher = {ACM}, address = {New York, NY, USA} } @book{Gabr96a, Author = {Richard P. Gabriel}, Keywords = {scglib}, Publisher = {Oxford University Press}, Title = {Patterns of Software}, Url = {http://www.dreamsongs.com/Books.html http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf}, Year = {1996}, Bdsk-Url-1 = {http://www.dreamsongs.com/Books.html%20http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf} } @inproceedings{Gabr06a, Author = {Richard P. Gabriel and Ron Goldman}, Booktitle = {Proceedings OOPSLA 2006, ACM SIGPLAN Notices}, Month = dec, Pages = {433--450}, Title = {Conscientious software}, Year = {2006} } @inproceedings{Gace95a, Author = {Cristina Gacek and Ahmed Abd-Allah and Bradford Clark and Barry Boehm}, Booktitle = {ICSE 17 Software Architecture Workshop}, Month = apr, Title = {{On} the {Definition} of {Software} {System} {Architecture}}, Year = {1995} } @mastersthesis{Gael96, Author = {Markus Gaelli}, Keywords = {artificial neural networks, Smalltalk, iterative roots, gaelli}, Misc = {gaelli}, School = {Department of Computer Science, FAU-University of Erlangen-N{\"u}rnberg}, Title = {Integration von {Neuronalen} {Netzen} in {Mathematische} {Prozessmodelle}: Dolphin}, Type = {diploma thesis}, Url = {http://scg.unibe.ch/archive/papers/Gael96dolphin.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael96dolphin.pdf} } @article{Gael02a, Annote = {notrefereed}, Author = {Markus Gaelli and Marcus Denker}, Comment = {bpb: Bundeszentrale f{\"u}r politische Bildung Deutschland}, Journal = {bpb Online-Publikation: Freie Software im Unterricht}, Keywords = {Squeak gaelli}, Misc = {gaelli}, Month = oct, Publisher = {bpb: Bundeszentrale f{\"u}r politische Bildung Deutschland}, Title = {Freie Software im Unterricht: Squeak}, Url = {http://marcusdenker.de/publications/Gael02aBPBSqueak.pdf}, Year = {2002}, Bdsk-Url-1 = {http://marcusdenker.de/publications/Gael02aBPBSqueak.pdf} } @techreport{Gael03a, 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.}, Address = {Universit\"at Bern, Switzerland}, Author = {Markus Gaelli}, 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}, Institution = {Institut f\"ur Informatik}, Keywords = {scg-wp jb03 gaelli}, Misc = {gaelli}, Month = may, Number = {IAM-03-009}, Title = {Test composition with example objects and example methods}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Gael03aTestComposition.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael03aTestComposition.pdf} } @techreport{Gael03b, 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.}, Address = {Universit\"at Bern, Switzerland}, Author = {Markus Gaelli and Oscar Nierstrasz and Roel Wuyts}, 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}, Institution = {Institut f\"ur Informatik}, Keywords = {jb-none scg-pub skip-doi gaelli}, Misc = {gaelli}, Month = sep, Note = {Technical Report}, Number = {IAM-03-013}, Title = {Partial ordering tests by coverage sets}, Url = {http://scg.unibe.ch/archive/papers/Gael03bPartialOrderingTestsByCoverageSets.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael03bPartialOrderingTestsByCoverageSets.pdf} } @inproceedings{Gael03c, 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}, Author = {Markus Gaelli}, Booktitle = {Proceedings of the ECOOP '03 Workshop on Object-oriented Language Engineering for the Post-Java Era}, Doi = {10.1007/b98806}, Isbn = {978-3-540-22405-1}, Keywords = {snf03 jb-none scg-pub gaelli}, Misc = {gaelli}, Month = jul, Note = {Abstract only --- full version availabe as technical report IAM-03-009}, Pages = {143--153}, Series = {LNCS}, Title = {Test composition with example objects and example methods.}, Url = {http://scg.unibe.ch/archive/papers/Gael03aTestComposition.pdf}, Volume = {3013}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael03aTestComposition.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b98806} } @inproceedings{Gael04a, 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}, Author = {Markus Gaelli and Michele Lanza and Oscar Nierstrasz and Roel Wuyts}, Booktitle = {20th International Conference on Software Maintenance (ICSM 2004)}, Cvs = {EgICSM2004}, Doi = {10.1109/ICSM.2004.1357796}, Keywords = {scg-pub testing jb05 snf04 gaelli}, Misc = {gaelli}, Pages = {114--123}, Title = {Ordering Broken Unit Tests for Focused Debugging}, Url = {http://scg.unibe.ch/archive/papers/Gael04aOrderingBrokenUnitTestsForFocusedDebugging.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael04aOrderingBrokenUnitTestsForFocusedDebugging.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2004.1357796} } @article{Gael04b, Abstract = {Es muss keine staubtrockene Angelegenheit von Informatikstudenten sein, dem Computer neue Dinge beizubringen. Squeak will Kindern nicht nur den Umgang mit dem Rechner naeher bringen, sondern ihnen auch als Mittel zur Entdeckung der realen Welt dienen. Und fuer Erwachsene stellt es eine Smalltalk-Umgebung dar, die auch spielerisch erschlossen werden kann.}, Annote = {notrefereed}, Author = {Markus Gaelli and Marcus Denker}, Journal = {c't magazin f\"ur computer technik}, Keywords = {squeak smalltalk snf-none gaelli}, Misc = {gaelli}, Month = may, Pages = {216--221}, Publisher = {Heise Verlag}, Title = {Von kleinen und grossen Erfindern --- Squeak: Lernumgebung und Smalltalk-System f{\"u}r Kinder und Erwachsene}, Url = {http://scg.unibe.ch/archive/papers/Gael04bVonKleinenUndGrossenErfindern.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael04bVonKleinenUndGrossenErfindern.pdf} } @inproceedings{Gael04c, 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}, Author = {Markus Gaelli and Oscar Nierstrasz and St{\'e}phane Ducasse}, Booktitle = {OOPSLA Workshop on Revival of Dynamic Languages}, Cvs = {EgRDL2004}, Keywords = {snf05 scg-pub skip-doi gaelli jb05}, Month = oct, Title = {One-Method Commands: Linking Methods and Their Tests}, Url = {http://scg.unibe.ch/archive/papers/Gael04cLinkingMethodsAndTests.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael04cLinkingMethodsAndTests.pdf} } @inproceedings{Gael04d, Author = {Markus Gaelli}, Booktitle = {5th International Conference on Extreme Programming and Agile Processes in Software Engineering (XP 2004)}, Doi = {10.1007/b98150}, Isbn = {978-3-540-22137-1}, Keywords = {scg-pub testing jb05 snf04 skip-abstract gaelli}, Misc = {gaelli}, Month = jun, Pages = {317}, Series = {LNCS}, Title = {{PhD}-Symposium: Correlating Unit Tests and Methods under Test}, Url = {http://scg.unibe.ch/archive/papers/Gael04dCorrelatingUnitTestsAndMethodsUnderTest.pdf}, Volume = {3092}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael04dCorrelatingUnitTestsAndMethodsUnderTest.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b98150} } @inproceedings{Gael05a, 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}, Author = {Markus Gaelli and Michele Lanza and Oscar Nierstrasz}, Booktitle = {Proceedings of 13th International Smalltalk Conference (ISC'03)}, Cvs = {EgESUG2005}, Keywords = {scg-pub skip-doi jb06 MISSINGPAGENUMBERS snf05 testing unit tests gaelli}, Misc = {gaelli}, Month = sep, Title = {Towards a Taxonomy of {SUnit} Tests}, Url = {http://scg.unibe.ch/archive/papers/Gael05aTowardsATaxonomyOfUnitTests.pdf http://www.esug.org/conferences/thirteenthinternationalconference2005/researchconference/acceptedpapers/}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael05aTowardsATaxonomyOfUnitTests.pdf%20http://www.esug.org/conferences/thirteenthinternationalconference2005/researchconference/acceptedpapers/} } @inproceedings{Gael05b, 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}, Author = {Markus Gaelli and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of SPLiT 2005 (2nd International Workshop on Software Product Line Testing)}, Cvs = {EgSplit2005}, Keywords = {scg-pub jb-none skip-doi gaelli}, Misc = {gaelli}, Month = sep, Title = {Composing Unit Tests}, Url = {http://scg.unibe.ch/archive/papers/Gael05bComposingUnitTests.pdf http://www.biglever.com/split2005/Presentations/SPLiT2005_Proceedings.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael05bComposingUnitTests.pdf%20http://www.biglever.com/split2005/Presentations/SPLiT2005_Proceedings.pdf} } @inproceedings{Gael06a, 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}, Author = {Markus Gaelli and Oscar Nierstrasz and Serge Stinckwich}, Booktitle = {Proceedings of C5 2006 (The Fourth International Conference on Creating, Connecting and Collaborating through Computing)}, Cvs = {EgGamesCCC2005}, Doi = {10.1109/C5.2006.20}, Keywords = {scg-pub jb06 snf06 games idioms pattern visprog visual languages gaelli}, Misc = {gaelli}, Month = jan, Pages = {222--321}, Title = {Idioms for Composing Games with {Etoys}}, Url = {http://scg.unibe.ch/archive/papers/Gael06aC5.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gael06aC5.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/C5.2006.20} } @phdthesis{Gael06b, 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.}, Author = {Markus Gaelli}, Cvs = {MGaelliPhD}, Keywords = {scg-pub skip-doi scg-phd gaelli jb07 fb06 snf06}, Month = nov, School = {University of Bern}, Title = {Modeling Examples to Test and Understand Software}, Url = {http://scg.unibe.ch/archive/phd/gaelli-phd.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/gaelli-phd.pdf} } @inproceedings{Gael07a, Abstract = {Understanding and maintaining complex software systems is a difficult task. In principle, tests can be a good source of information about how the system works. Unfortunately, tests are frequently unstructured and disconnected from each other and from their units under test. We propose a new approach to organizing unit tests in which tests produce examples of their units under tests which also can be reused for composing higher-level tests. The approach is based on the Eg meta-model, which classifies tests according to their granularity and their goals. We have developed the EgBrowser, an experimental tool for specifying tests that conform to the Eg metamodel while keeping track of the connection between tests themselves and their units under test. Initial usability studies suggest that the approach is both easy to learn and more efficient than the programmatic approach to developing tests.}, Annote = {internationalconference internationaljournal}, Author = {Markus Gaelli and Rafael Wampfler and Oscar Nierstrasz}, Booktitle = {Journal of Object Technology, Special Issue. Proceedings of TOOLS Europe 2007}, Cached = {http://scg.unibe.ch/archive/papers/Gael07aComposingTests.pdf}, Keywords = {scg07 scg-pub skip-doi snf07 jb08 gaelli}, Medium = {2}, Month = oct, Pages = {71--86}, Peerreview = {yes}, Title = {Composing Tests from Examples}, Doi = {10.5381/jot.2007.6.9.a4}, Url = {http://www.jot.fm/contents/issue_2007_10/paper4.html http://www.jot.fm/issues/issue_2007_10/paper4.pdf}, Volume = {6/9}, Year = {2007}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_10/paper4/index.html%20http://www.jot.fm/issues/issue_2007_10/paper4.pdf} } @article{Gaja98a, Annote = {correct name of journal to be found}, Author = {Joan Gajadhar}, Institution = {The open Polytechnic of New Zealand}, Journal = {Ultibase Online Articles}, Keywords = {plagiarism}, Title = {Issues in Plagiarism for the New Millennium: An Assessment Odyssey}, Url = {http://ultibase.rmit.edu.au/Articles/dec98/gajad1.htm}, Year = {1998}, Bdsk-Url-1 = {http://ultibase.rmit.edu.au/Articles/dec98/gajad1.htm} } @inproceedings{Gajos02a, author = {Gajos, Krzysztof and Fox, Harold and Shrobe, Howard}, title = {End User Empowerment in Human Centered Pervasive Computing}, address = {Zurich, Switzerland}, booktitle = {Pervasive'02: Proceedings of the 1st International Conference on Pervasive Computing}, pages = {134--140}, month = aug, year = {2002} } @inproceedings{Gal01a, Author = {Andreas Gal and Wolfgang Schr\"{o}der-Preikschat and Olaf Spinczyk}, Booktitle = {Workshop on Advanced Separation of Concerns in Object-Oriented Systems --- OOPSLA 2001}, Keywords = {aspect c++ aspectc}, Month = oct, Title = {AspectC++: Language Proposal and Prototype Implementation}, Year = {2001} } @inproceedings{Gala98a, Author = {Galal Hasan Galal}, Booktitle = {ECOOP '98 Workshop Reader}, Pages = {46--47}, Series = {LNCS}, Title = {A Note on Object-Oriented Software Architecting}, Volume = {1543}, Year = {1998} } @inproceedings{Gale91a, Address = {Pacific Grove, CA}, Author = {William A. Gale and Kenneth W. Church}, Booktitle = {Proceedings of the Fourth DARPA Workshop on Speech and Natural Language}, Month = feb, Pages = {152--157}, Publisher = {Morgan Kaufman}, Title = {Identifying Word Correspondences in Parallel Texts}, Year = {1991} } @misc{Galicia, Key = {Galicia}, Note = {http://www.iro.umontreal.ca/~galicia}, Title = {Ga{Licia}: Galois lattice interactive constructor}, Url = {http://www.iro.umontreal.ca/~galicia}, Bdsk-Url-1 = {http://www.iro.umontreal.ca/~galicia} } @article{Gall87a, Author = {F. Gallo and R. Minot and I. Thomas}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit seelit pcte}, Month = jan, Number = {1}, Pages = {12--15}, Title = {The Object Management System of {PCTE} as a Software Engineering Database Management System}, Volume = {22}, Year = {1987} } @article{Gall91a, Author = {Keith Brian Gallagher and James R. Lyle}, Journal = {Transactions on Software Engineering}, Month = aug, Number = {18}, Organization = {IEEE}, Pages = {751--761}, Title = {Using {Program} {Slicing} in {Software} {Maintenance}}, Volume = {17}, Year = {1991} } @inproceedings{Gall93a, Author = {E. Gallesio}, Booktitle = {First Tcl/Tk Workshop}, Month = jun, Pages = {103--109}, Title = {Embedding a Scheme Interpreter in the Tk Toolkit}, Year = {1993} } @inproceedings{Gall94a, Author = {Erick Gallesio}, Booktitle = {Xhibition 94, San Jose, CA}, Editor = {ICS}, Key = {Gallesio94}, Month = jun, Pages = {63--71}, Title = {STklos: A Scheme Object Oriented System dealing with the Tk Toolkit}, Year = {1994} } @proceedings{Gall95a, Editor = {H. Gall and R. Klosch and R. Mittermeir \&T Object-Oriented Re-Architecturing}, Series = {LNCS}, Title = {Proceedings of ESEC '95}, Volume = {989}, Year = {1995} } @inproceedings{Gall95b, Address = {London, UK}, Author = {Harald Gall and Ren\'e; Kl\"osch and Roland Mittermeir}, Booktitle = {Proceedings of the 5th European Software Engineering Conference}, Isbn = {3-540-60406-5}, Pages = {499--519}, Publisher = {Springer-Verlag}, Title = {Object-Oriented Re-Architecturing}, Year = {1995} } @inproceedings{Gall96a, Author = {Erick Gall\'esio}, Booktitle = {Proceedings of ISOTAS '96, LNCS 1049}, Month = mar, Organization = {JSSST-JAIST}, Pages = {135--156}, Title = {Designing a Meta Protocol to Wrap a Standard Graphical Toolkit}, Year = {1996} } @inproceedings{Gall97a, Address = {Los Alamitos CA}, Author = {Harald Gall and Mehdi Jazayeri and Ren{\'e} Kl{\"o}sch and Georg Trausmuth}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM'97)}, Doi = {10.1109/ICSM.1997.624242}, Keywords = {oorp evolution}, Pages = {160--166}, Publisher = {IEEE Computer Society Press}, Title = {Software Evolution Observations Based on Product Release History}, Url = {http://www.infosys.tuwien.ac.at/Cafe/doc/icsm97.pdf}, Year = {1997}, Bdsk-Url-1 = {http://www.infosys.tuwien.ac.at/Cafe/doc/icsm97.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.1997.624242} } @inproceedings{Gall98a, Address = {Los Alamitos CA}, Author = {Harald Gall and Karin Hajek and Mehdi Jazayeri}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM '98)}, Keywords = {oorp evolution clustering}, Pages = {190--198}, Publisher = {IEEE Computer Society Press}, Title = {Detection of Logical Coupling Based on Product Release History}, Year = {1998} } @inproceedings{Gall99a, Author = {Harald Gall and Johannes Weidl}, Booktitle = {Proceedings of the 2nd Workshop on Object-Oriented Reengineering (WOOR 1999)}, Keywords = {oorp}, Publisher = {Technical University of Vienna --- Technical Report TUV-1841-99-13}, Title = {Object-Model Driven Abstraction-to-Code Mapping}, Year = {1999} } @inproceedings{Gall03a, Address = {Los Alamitos CA}, Author = {Harald Gall and Mehdi Jazayeri and Jacek Krajewski}, Booktitle = {International Workshop on Principles of Software Evolution (IWPSE 2003)}, Keywords = {oorp evolution clustering}, Pages = {13--23}, Publisher = {IEEE Computer Society Press}, Title = {{CVS} Release History Data for Detecting Logical Couplings}, Year = {2003} } @inproceedings{Gall03b, Author = {Keith Gallagher and Lucas Layman}, Booktitle = {Proc. of the 11th International IEEE Workshop on Program Comprehension (IWPC'03)}, Keywords = {codeduplication}, Month = may, Pages = {285--286}, Publisher = {IEEE}, Title = {Are Decomposition Slices Clones?}, Year = {2003} } @inproceedings{Gall03c, Address = {Victoria, B.C., Canada}, Author = {Keith Gallagher and David Binkley}, Booktitle = {Proceedings 10th Working Conference on Reverse Engineering (WCRE'03)}, Month = nov, Organization = {IEEE}, Pages = {316--322}, Title = {An Empirical Study of Computation Equivalence as Determined by Decomposition Slice Equivalence}, Year = {2003} } @inproceedings{Gall05a, Author = {Keith Gallagher and Andrew Hatch and Malcolm Munro}, Booktitle = {VISSOFT}, Month = sep, Pages = {76--81}, Publisher = {IEEE CS}, Title = {A Framework for Software Architecture Visualization Assessment}, Year = {2005} } @inproceedings{Gall09a, Abstract = {Internet-scale code search is the problem of finding source on the Internet. Developers are typically searching for code to reuse as-is on a project or as a reference example. This phenomenon has emerged due to the increasing availability and quality of open source and resources on the Web. Solutions to this problem will involve more than the simple application of information retrieval techniques or a scaling-up of tools for code search. Instead, new, purpose-built solutions are needed that draw on results from these areas, as well as program comprehension and software reuse.}, Author = {Gallardo-Valencia, R. E. and Elliott Sim, S.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403384}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070022}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070022}, Doi = {10.1109/SUITE.2009.5070022}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, suite2009}, Pages = {49--52}, Posted-At = {2009-08-10 11:12:39}, Priority = {0}, Title = {Internet-Scale Code Search}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070022}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070022} } @article{Gall09b, title = {Change Analysis with {Evolizer} and {ChangeDistiller}}, author = {Harald C. Gall and Beat Fluri and Martin Pinzger}, year = {2009}, volume = {26}, pages = {26--33}, number = {1}, month = jan, journal = {IEEE Software} } @inproceedings{Gamm89a, Address = {Nottingham}, Author = {Erich Gamma and Andr\'e Weinand and Rudolph Marty}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl et++ binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {283--297}, Publisher = {Cambridge University Press}, Title = {Integration of a Programming Environment into {ET}++ --- {A} Case Study}, Year = {1989} } @inproceedings{Gamm93b, 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.}, Address = {Kaiserslautern, Germany}, Author = {Erich Gamma and Richard Helm and John Vlissides and Ralph E. Johnson}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit-oose ecoop93proc design-patterns}, Month = jul, Pages = {406--431}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Design Patterns: Abstraction and Reuse of Object-Oriented Design}, Url = {ftp://st.cs.uiuc.edu/pub/papers/patterns/ecoop93-patterns.ps}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/patterns/ecoop93-patterns.ps} } @book{Gamm95a, Author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John}, Keywords = {olit-oose design-patterns reuse book scglib sclit oorp gang of four GOF damiencbib}, address = {Reading, Mass.}, Publisher = {Addison Wesley Professional}, Title = {Design Patterns: Elements of Reusable Object-Oriented Software}, isbn = {978-0201633610}, Year = {1995} } @incollection{Gamm97a, Address = {Boston, MA, USA}, Author = {Erich Gamma}, Booktitle = {Pattern languages of program design 3}, Isbn = {0-201-31011-2}, Pages = {79--88}, Publisher = {Addison-Wesley Longman Publishing Co., Inc.}, Title = {Extension object}, Year = {1997} } @book{Gamm03a, Amount = {1}, Author = {Erich Gamma and Kent Beck}, Isbn = {0-321-20575-8}, Keywords = {book scglib}, Publisher = {Addison Wesley}, Title = {Contributing to Eclipse}, Year = {2003} } @incollection{Gand91a, Author = {M.A Gandrieu and B. Durin}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Identification and Classification of Reusable Elements in Space Domain}, Year = {1991} } @article{Ganek03a, author = {Ganek, Alan G. and Corbi, Thomas A.}, title = {The dawning of the autonomic computing era}, journal = {IBM Systems Journal}, volume = {42}, number = {1}, year = {2003}, issn = {0018-8670}, pages = {5--18}, doi = {10.1147/sj.421.0005}, publisher = {IBM Corp.}, address = {Riverton, NJ, USA}, keywords = {damiencbib} } @inproceedings{Gang89a, Address = {Dallas, TX}, Author = {Dipayan Gangopadhyay and A. Richard Helm}, Booktitle = {IBM PADT ITL Conference}, Keywords = {olit-reuse binder}, Month = jul, Title = {A Domain Model Driven Approach for Representing and Implementing Knowledge about Reusable Object-Oriented Software Classes}, Year = {1989} } @techreport{Gang89b, Author = {Dipayan Gangopadhyay and A. Richard Helm}, Institution = {IBM Research Division, Yorktown Heights}, Keywords = {olit-reuse binder}, Month = mar, Number = {(#64975)}, Title = {A Domain Model Driven Approach for the Reuse of Classes from Domain Specific Object-Oriented Class Repositories}, Type = {RC 14510}, Year = {1989} } @inproceedings{Gang93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Dipayan Gangopadhyay and Subrata Mitra}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {432--457}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {ObjChart: Tangible Specification of Reactive Object Behavior}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Gann98a, Author = {G.C Gannod and G. Sudindranath and M.E. Fagnani and B.H.C. Cheng}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {125--135}, Publisher = {IEEE Computer Society}, Title = {PACKRAT: A Software Reengineering Case Study}, Year = {1998} } @article{Gans00a, Author = {Gansner and North}, Doi = {10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.3.CO;2-E}, Journal = {Software Practice Experience.}, Number = 11, Pages = {1203--1233}, Publisher = {John Wiley \& Sons, Inc.}, Title = {An Open Graph Visualization System and its Applications to Software Engineering}, Volume = 30, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/1097-024X(200009)30:11%3C1203::AID-SPE338%3E3.3.CO;2-E} } @book{Gant99a, Author = {Bernhard Ganter and Rudolf Wille}, Keywords = {scglib fca}, Publisher = {Springer Verlag}, Title = {Formal Concept Analysis: Mathematical Foundations}, Year = {1999} } @inproceedings{Ganz82a, Author = {H. Ganzinger and R. Giegerich and U. M{\"o}ncke and Robert Wilhelm}, Booktitle = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on Compiler Construction}, Keywords = {compiler generator mug2 patterns}, Month = jun, Pages = {172--184}, Title = {A Truly Generative Semantics-Directed Compiler Generator}, Volume = {17}, Year = {1982} } @inproceedings{Garb94a, 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.}, Author = {Beno\^it Garbinato and Rachid Guerraoui and Karim R. Mazouni}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {225--239}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Distributed Programming in {GARF}}, Volume = {791}, Year = {1994} } @book{Garb95a, Author = {Jeff Garbus and David Salomon and Brian Tretter}, Isbn = {0-672-30651-4}, Keywords = {sybase scglib}, Publisher = {Sams Publishing}, Title = {{SYBASE} {DBA}: Survival Guide}, Year = {1995} } @inproceedings{Garb96a, Address = {Linz, Austria}, Author = {Beno\^it Garbinato and Pascal Felber and Rachid Guerraoui}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {316--343}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Protocol Classes for Designing Reliable Distributed Environments}, Volume = {1098}, Year = {1996} } @inproceedings{Garb03a, author = {Garbinato, Beno\^it and Rupp, Philippe}, title = {From ad hoc networks to ad hoc applications}, booktitle = {ConTEL'03: Proceedings of the 7th International Conference on Telecommunications}, address = {Zagreb, Croatia}, year = {2003}, keywords = {flea market damiencbib ubiquitous}, month = jun, doi = {10.1109/CONTEL.2003.176903}, pages = {145--149} } @techreport{Garc10a, Author = {R. Garcia and R. Wolff and E. Tanter and J. Aldrich}, Institution = {Carnegie Mellon University}, Title = {Featherweight Typestate}, Number = {CMU-ISR-10-115}, Month = jul, Year = {2010} } @misc{Gardner, Author = {Cees de Groot}, Key = {Gardner}, Keywords = {smalltalk seaside smallwiki}, Note = {http://map.squeak.org/package/6805c4ca-6a33-4396-801a-b7ea1c3e3567}, Title = {{Gardner}, a {Seaside} {Wiki}}, Url = {http://map.squeak.org/package/6805c4ca-6a33-4396-801a-b7ea1c3e3567}, Bdsk-Url-1 = {http://map.squeak.org/package/6805c4ca-6a33-4396-801a-b7ea1c3e3567} } @book{Gare79a, Address = {San Francisco}, Author = {M.R. Garey and D.S. Johnson}, Keywords = {misc complexity book scglib}, Publisher = {Freeman}, Title = {Computers and Intractability: A Guide to the Theory of {NP}-completeness}, Year = {1979} } @book{Garf93a, Author = {Simson L. Garfinkel and Michael K. Mahoney}, Isbn = {3-540-97884-4}, Keywords = {olit-appl book scglib}, Publisher = {Springer-Verlag}, Title = {NeXTSTEP Programming Step One: Object-Oriented Applications}, Year = {1993} } @inproceedings{Garg01a, Author = {Juan Garguilio and Spiros Mancoridis}, Booktitle = {Proceedings of ICSM 2001}, Publisher = {IEEE Computer Society}, Title = {Gadget: a Tool for Extracting the Dynamic Structure of {Java} Programs}, Year = {2001} } @misc{Garl95b, Author = {D. Garlan and D. Kindred and J. Wing}, Note = {Available from the authors}, Title = {Interoperability: Sample Problems and Solutions} } @inproceedings{Garl86a, Address = {London, UK}, Author = {David Garlan}, Booktitle = {Proceedings of an International Workshop on Advanced Programming Environments}, Isbn = {3-540-17189-4}, Moth = {June}, Pages = {314--343}, Publisher = {Springer-Verlag}, Title = {Views for Tools in Integrated Environments}, Year = {1986} } @phdthesis{Garl88a, Address = {Pittsburgh, PA}, Author = {David Barnard Garlan}, Institution = {Computer Science Department}, Month = jan, School = {Carnegie Mellon University}, Title = {Views for Tools in Integrated Environments}, Year = {1988} } @article{Garl95a, Author = {David Garlan and Robert Allen and John Ockerbloom}, Journal = {IEEE Software}, Keywords = {olit architecture}, Month = nov, Number = {6}, Pages = {17--26}, Title = {Architectural Mismatch: Why Reuse Is So Hard}, Url = {http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/archmismatch-icse17.html}, Volume = {12}, Year = {1995}, Bdsk-Url-1 = {http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/archmismatch-icse17.html} } @article{Garl95c, Author = {David Garlan and Dewayne Perry}, Journal = {IEEE Transactions on Software Engineering}, Month = {apr}, Number = {4}, Title = {Introduction to the Special Issue on Software Architecture}, Volume = {21}, Year = {1995} } @techreport{Garl95d, author = {Garlan, David}, title = {An introduction to the {Aesop} System}, institution = {Carnegie Mellon University}, keywords = {aesop damiencbib}, year = {1995}, month = jul } @proceedings{Garl97a, Address = {Berlin, Germany}, Booktitle = {Proceedings of the Second International Conference, COORDINATION '97}, Editor = {David Garlan and Daniel Le M\'etayer}, Isbn = {3-540-63383-9}, Keywords = {coordination coord97 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Coordination Languages and Models}, Volume = 1282, Year = {1997} } @inproceedings{Garl97b, Doi = {10.1145/782010.782017}, author = {Garlan, David and Monroe, Robert T. and Wile, David}, keywords = {damiencbib architecture acme}, title = {{ACME}: An Architecture Description Interchange Language}, booktitle = {CASCON'97: Proceedings of the 7th Conference of the Centre for Advanced Studies on Collaborative Research}, month = nov, year = {1997}, address = {Toronto, Ontario, Canada}, pages = {169--183} } @incollection{Garl00a, Address = {New York, NY, USA}, Author = {Garlan, David and Monroe, Robert T. and Wile, David}, Booktitle = {Foundations of Component-Based Systems}, Chapter = {3}, Editor = {Gary T. Leavens and Murali Sitaraman}, keywords = {damiencbib architecture adl}, pages = {47--67}, Publisher = {Cambridge University Press}, Title = {Acme: Architectural Description of Component-Based Systems}, Year = {2000} } @inproceedings{Garl00b, Author = {David Garlan}, Booktitle = {{ICSE} -- Future of {SE} Track}, Pages = {91--101}, Title = {Software architecture: a roadmap}, Year = {2000} } @article{Garl02a, Doi = {10.1109/MPRV.2002.1012334}, author = {Garlan, David and Siewiorek, Daniel P. and Smailagic, Asim and Steenkiste, Peter}, title = {Project {AURA}: Toward Distraction-Free Pervasive Computing}, journal = {IEEE Pervasive Computing}, keywords = {damiencbib}, year = {2002}, volume = {1}, pages = {22--31}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @book{Garl03a, Author = {Jeff Garland and Richard Anthony}, Isbn = {0-470-84849-9}, Keywords = {oorp scglib}, Publisher = {Wiley and Sons}, Title = {Large Scale Software Architecture}, Year = {2003} } @misc{Garn10a, Key = {GitForSqueak}, Author = {Tony Garnock-Jones}, Title = {Git for {Squeak}}, Note = {http://www.squeaksource.com/Git}, Url = {http://www.squeaksource.com/Git} } @inproceedings{Garr86a, Author = {L. Nancy Garrett and Karen E. Smith}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl interval time oopsla86}, Month = nov, Pages = {202--213}, Title = {Building a Timeline Editor from Prefab Parts: The Architecture of an Object-Oriented Application}, Volume = {21}, Year = {1986} } @inproceedings{Gasi07a, Address = {New York, NY, USA}, Author = {Vaidas Gasiunas and Mira Mezini and Klaus Ostermann}, Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications}, Doi = {10.1145/1297027.1297038}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {133--152}, Publisher = {ACM}, Title = {Dependent classes}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297038} } @inproceedings{Gasp99a, 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.}, Address = {Lisbon, Portugal}, Author = {Mauro Gaspari and Gianluigi Zavattaro}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {495--518}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Process Algebraic Specification of the New Asynchronous {CORBA} Messaging Service}, Volume = 1628, Year = {1999} } @incollection{Gass92a, Author = {Les Gasser and Jean-Pierre Briot}, Booktitle = {Distributed Artificial Intelligence: Theory and Praxis}, Editor = {N.M. Avouris \& L. Gasser}, Keywords = {agents}, Pages = {81--107}, Publisher = {Kluwer}, Title = {Object-Based Concurrent Programming and Distributed Artificial Intelligence}, Year = {1992} } @inproceedings{Gass98a, 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.}, Address = {Schloss Dagstuhl, Germany}, Author = {M.L. Gassanenko}, Booktitle = {euroForth'98}, Keywords = {cop-lit}, Month = {apr}, Title = {Context-Oriented Programming}, Year = {1998} } @inproceedings{Gatt11a, address = {Saarbr\"{u}cken, Germany}, author = {Gatti, St\'ephanie and Balland, Emilie and Consel, Charles}, keywords = {diaspec damiencbib}, title = {A Step-wise Approach for Integrating {QoS} throughout Software Development}, booktitle = {FASE'11: Proceedings of the 14th European Conference on Fundamental Approaches to Software Engineering}, year = {2011}, publisher = {Springer-Verlag}, month = may, note = {to appear} } @book{Gaud93a, Editor = {Marie-Claude Gaudel and Jean-Pierre Jouannaud}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceeding of {TAPSOFT} '93 on Theory and Practice of Software Development}, Volume = {668}, Year = {1993} } @inproceedings{Gawe96a, Address = {Linz, Austria}, Author = {Andreas Gawecki and Florian Matthes}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {26--47}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Integrating Subtyping, Matching and Type Quantification: {A} Practical Perspective}, Volume = {1098}, Year = {1996} } @incollection{Gay93a, Author = {Simon Gay}, Booktitle = {Principles of Programming Languages}, Keywords = {pcalc mobility (uwe)}, Publisher = {ACM}, Title = {A Sort Inference Algorithm for the Polyadic $\pi$-Calculus}, Year = {1993} } @inproceedings{Gay03a, Address = {New York, NY, USA}, Author = {David Gay and Philip Levis and Robert von Behren and Matt Welsh and Eric Brewer and David Culler}, Booktitle = {PLDI '03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation}, Doi = {10.1145/781131.781133}, Isbn = {1-58113-662-5}, Location = {San Diego, California, USA}, Pages = {1--11}, Publisher = {ACM Press}, Title = {The {nesC} language: A holistic approach to networked embedded systems}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/781131.781133} } @mastersthesis{Geet06a, 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.}, Author = {Joris van Geet}, Keywords = {tesing}, Month = jul, School = {University of Antwerpen}, Title = {Coevolution of Software and Tests: An Initial Assessment}, Type = {Diploma {Thesis}}, Url = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Aebi03a.pdf} } @article{Geha82a, Author = {N. Gehani}, Journal = {IEEE Transactions on Communications}, Keywords = {oislit forms}, Month = jan, Number = {1}, Pages = {120--125}, Title = {The Potential of Forms in Office Automation}, Volume = {Com-30}, Year = {1982} } @inproceedings{Geha91a, Author = {Narain Gehani and H.V. Jagadish}, Booktitle = {Proceedings of Conference on Very Large Data Bases}, Pages = {327--336}, Title = {Ode as an Active Database: Constraints and triggers}, Year = {1991} } @inbook{Geha96a, Author = {Narain Gehani and H.V. Jagadish}, Chapter = {8}, Pages = {208--232}, Publisher = {Morgan Kaufman Publishers}, Title = {Active Database Facilities in Ode}, Year = {1996} } @inproceedings{Geis07a, Address = {Berlin, Heidelberg}, Author = {Rubino Gei\ss and Moritz Kroll}, Booktitle = {Applications of Graph Transformations with Industrial Relevance: Third International Symposium, AGTIVE 2007, Kassel, Germany, October 10-12, 2007, Revised Selected and Invited Papers}, Doi = {10.1007/978-3-540-89020-1_38}, Isbn = {978-3-540-89019-5}, Pages = {568--569}, Publisher = {Springer-Verlag}, Title = {GrGen.NET: A Fast, Expressive, and General Purpose Graph Rewrite Tool}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-89020-1_38} } @article{Gele85a, Author = {David Gelernter and Nicholas Carriero}, Journal = {ACM TOPLAS}, Keywords = {concurrency coordination linda binder}, Month = jan, Number = {1}, Title = {Generative Communication in Linda}, Volume = {7}, Year = {1985} } @inproceedings{Gele87a, Address = {New York, NY, USA}, Author = {David Gelernter and Suresh Jagannathan and Tom London}, Booktitle = {Principles of Programming Languages}, Doi = {10.1145/41625.41634}, Isbn = {0-89791-215-2}, Location = {Munich, West Germany}, Pages = {98--110}, Publisher = {ACM Press}, Title = {Environments as First-Class Objects}, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/41625.41634} } @article{Gele92a, Author = {David Gelernter and Nicholas Carriero}, Journal = {Comm. ACM}, Keywords = {concurrency coordination}, Month = feb, Number = {2}, Title = {Coordination Languages and their significance}, Volume = {35}, Year = {1992} } @incollection{Gemi93a, 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.}, Author = {Marc Gemis and Jan Paredaens}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {339--355}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {An Object-Oriented Pattern Matching Language}, Volume = {742}, Year = {1993} } @misc{Gems07a, Key = {Gemstone}, Title = {GemStone/S Programming Guide}, Url = {http://seaside.gemstone.com/docs/GS64-ProgGuide-2.2.pdf}, Year = {2007} } @unpublished{Gene94a, Author = {Michael Genesereth and Narinder P. Singh and Mustafa A. Syed}, Keywords = {components agents interoperation oobib(ocdp) binder}, Month = nov, Note = {Stanford University}, Title = {A Distributed and Anonymous Knowledge Sharing Approach to Software Interoperation}, Type = {Draft}, Year = {1994} } @misc{Generics, Key = {Generics}, Note = {http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html}, Title = {Java Generics} } @inproceedings{Geno89a, Author = {Stefano Genolini and Andrea Di Maio and Cinzia Cardigno and Stephen Goldsack and Colin Atkinson}, Booktitle = {Proceedings TOOLS '89}, Keywords = {olit-obcl dragoon tools89 binder}, Month = nov, Title = {Specifying Synchronisation Constraints in a Concurrent Object-Oriented Language}, Year = {1989} } @inproceedings{Gens94a, Author = {Jerome Gensel}, Booktitle = {RPO}, Pages = {51--62}, Title = {Expression et satisfaction de contraintes dans {TROPES}}, Year = {1993} } @inproceedings{Gens94b, Address = {Paris}, Author = {J. Gensel and P. Girard and O. Schmeltzer}, Booktitle = {9eme Congr\`es Reconnaissance des Formes et Intelligence Artificielle}, Month = jan, Pages = {281--292}, Title = {Int\'egration de contraintes, d'objets composites et de t\^aches dans un mod\`ele de repr\'esentation de connaissances par objets}, Volume = {2}, Year = {1994} } @book{Gens02a, 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}, 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}, Keywords = {olit scg-pub skip-doi jb02 pecos arevalo stefPub}, Month = sep, Publisher = {The Pecos Consortium}, Title = {PECOS in a Nutshell}, Url = {http://www.pecos-project.org/public_documents/pecosHandbook.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.pecos-project.org/public_documents/pecosHandbook.pdf} } @inproceedings{Gens02b, 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}, Author = {Thomas Gen{\ss}ler and Oscar Nierstrasz and Bastiaan Sch\"onhage}, Booktitle = {Proc. International Conference on Compilers, Architectures and Synthesis for Embedded Systems}, Doi = {10.1145/581630.581634}, Keywords = {olit pecos scg-pub jb04}, Title = {Components for Embedded Software --- The {PECOS} Approach}, Url = {http://scg.unibe.ch/archive/pecos/public_documents/Gens02b.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/pecos/public_documents/Gens02b.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/581630.581634} } @inproceedings{Gens03a, Author = {Thomas Gen{\ss}ler and Volker Kuttruff}, Booktitle = {Modular Programming Languages, Joint Modular Languages Conference, {JMLC} 2003}, Doi = {10.1007/b12023}, Isbn = {3-540-40796-0}, Pages = {254--265}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Source-to-Source Transformation in the Large}, Volume = {2789}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/b12023} } @article{Gent81a, Author = {Morven Gentleman}, Journal = {Software --- Practice and Experience}, Keywords = {olit-obc messages thoth binder}, Pages = {435--466}, Title = {Message Passing Between Sequential Processes: the Reply Primitive and the Administrator Concept}, Volume = {11}, Year = {1981} } @unpublished{Gepp92a, Author = {Andreas Geppert and Klaus Dittrich}, Keywords = {olit-db binder}, Month = nov, Note = {Universit{\"a}t Z{\"u}rich}, Title = {Constructing the Next 100 Database Management Systems: Like the Handyman or Like the Engineer?}, Type = {draft}, Year = {1992} } @unpublished{Gepp92b, Author = {Andreas Geppert}, Keywords = {olit-db binder}, Month = jul, Note = {Universit{\"a}t Z{\"u}rich}, Title = {Specification and Realization of Transaction Management Subsystems in Configurable Database Management Systems}, Type = {draft}, Year = {1992} } @unpublished{Gepp92c, Author = {Andreas Geppert}, Keywords = {olit-db kids binder}, Month = may, Note = {Universit{\"a}t Z{\"u}rich}, Title = {On the Architecture of Generated {DBMS} and {DBMS} Generators, or: Can Kids Generate {DBMS}}, Type = {draft}, Year = {1992} } @techreport{Gepp93a, Author = {Andreas Geppert and Klaus Dittrich}, Institution = {Universit{\"a}t Z{\"u}rich}, Keywords = {olit-db ithaca binder (shelf)}, Month = apr, Number = {93.09}, Title = {The NO2 Data Model}, Type = {TR Nr.}, Year = {1993} } @article{Gerb77a, Author = {A.J. Gerber}, Journal = {ACM Operating Systems Review}, Keywords = {concurrency synchronization binder}, Month = oct, Number = {4}, Pages = {6--17}, Title = {Process Synchronization by Counter Variables}, Volume = {11}, Year = {1977} } @inproceedings{Germ04a, Address = {New York NY}, Author = {Daniel Germ\'ain Abram Hindle and Norman Jordan}, Booktitle = {Proceedings of the 16th International Conference on Software Engineering {\&} Knowledge Engineering (SEKE 2004)}, Keywords = {evolution}, Location = {Banff, Alberta, Canada}, Mon = jun, Pages = {336--341}, Publisher = {ACM Press}, Title = {Visualizing the evolution of software using softChange}, Year = {2004} } @inproceedings{Gers95a, Author = {Nahum Gershon and Joshua LeVasseur and Joel Winstead and James Croall and Ari Pernick and William Ruh}, Booktitle = {Proceedings of the Conference on Information Visualization (INFOVIZ '95)}, Keywords = {dotplot}, Organization = {IEEE}, Pages = {122--128}, Title = {Case Study Visualizing Internet Resources}, Year = {1995} } @mastersthesis{Gert97a, 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".}, Author = {J{\"u}rg Gertsch}, Keywords = {snf-none oobib(mobility) binder scg-pub skip-doi toBeChecked scg-msc jb97}, Month = jun, School = {University of Bern}, Title = {Fruitlets --- a Kind of Mobile Component}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Gert97a.pdf http://scg.unibe.ch/archive/masters/Gert97a.ps.gz http://scg.unibe.ch/archive/masters/Gert97a.html}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Gert97a.pdf%20http://scg.unibe.ch/archive/masters/Gert97a.ps.gz%20http://scg.unibe.ch/archive/masters/Gert97a.html} } @article{Gesc77a, Author = {C.M. Geschke and Morris, Jr., J.H. and E.H. Satterthwaite}, Journal = {CACM}, Keywords = {olit-oopl mesa}, Month = aug, Number = {8}, Pages = {540--553}, Title = {Early Experience with Mesa}, Volume = {20}, Year = {1977} } @inproceedings{Geth10a, author = {Gethers, Malcom and Poshyvanyk, Denys}, title = {Using Relational Topic Models to capture coupling among classes in object-oriented software systems}, booktitle = {Proceedings of the 2010 IEEE International Conference on Software Maintenance}, series = {ICSM '10}, year = {2010}, month = sep, isbn = {978-1-4244-8630-4}, pages = {1--10}, numpages = {10}, doi = {10.1109/ICSM.2010.5609687}, acmid = {1913295}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2010.5609687} } @article{Gett90a, 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}, Author = {P.H. Getto and D.E. Breen}, Journal = {The Visual Computer}, Keywords = {olit}, Month = mar, Number = {2}, Pages = {79--92}, Publisher = {Springer-Verlag}, Title = {An Object-Oriented Architecture for a Computer Animation System}, Volume = {6}, Year = {1990} } @inproceedings{Ghel91a, Author = {Giorgio Ghelli}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {types olit oopsla91}, Month = nov, Pages = {129--145}, Title = {A Static Type System for Message Passing}, Volume = {26}, Year = {1991} } @article{Ghel02a, Author = {Giorgio Ghelli}, Title = {Foundations for Extensible Objects with Roles}, Journal = {Inf. Comput.}, Volume = {175}, Number = {1}, Year = {2002}, Pages = {50-75}, Ee = {http://www.idealibrary.com/links/doi/10.1006/inco.2001.2943}, Bibsource = {DBLP, http://dblp.uni-trier.de} } @book{Ghez89a, Address = {Kaiserslautern, Germany}, Editor = {Ghezzi, J.A.McDermid, C.}, Isbn = {3-540-51635-2}, Keywords = {olit esec89 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESEC}'89}, Volume = {387}, Year = {1989} } @book{Ghez91a, Author = {Carlo Ghezzi and Mehdi Jazayeri and Dino Mandrioli}, Isbn = {0138204322}, Keywords = {selit}, Publisher = {Prentice-Hall}, Title = {Fundamentals of Software Engineering}, Year = {1991} } @incollection{Ghez10a, title = {Distributed and Collaborative Software Analysis}, author = {Giacomo Ghezzi and Harald C. Gall}, editor = {Ivan Mistrik and John Grundy and Jim Whitehead and Andr{\`e} van der Hoek}, year = {2010}, publisher = {Springer-Verlag}, chapter = {12}, booktitle = {Collaborative Software Engineering}, month = jan } @article{Ghid01a, Author = {Chiara Ghidini and Fausto Giunchiglia}, Journal = {Artificial Intelligence}, Keywords = {cop-lit}, Month = apr, Number = {2}, Pages = {221--259}, Title = {Local Models Semantics, or contextual reasoning = locality + compatibility}, Url = {http://sra.itc.it/tr/GG97b.pdf}, Volume = {127}, Year = {2001}, Bdsk-Url-1 = {http://sra.itc.it/tr/GG97b.pdf} } @inproceedings{Ghin07a, Author = {Dorina Ghindici and Gilles Grimaud and Isabelle Simplot-Ryl}, Booktitle = {Workshop on Information Security Theory and Practices}, Pages = {89--201}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {An Information Flow Verifier for Small Embedded Systems}, Volume = {4462}, Year = {2007} } @inproceedings{Ghon03a, Address = {Kinsale, Ireland}, Author = {Mohammad Ghoniem and Narendra Jussien and Jean-Daniel Fekete}, Booktitle = {Proceedings 3th International Workshop on User Interaction in Constraint Satisfaction}, Keywords = {dotplot}, Month = sep, Title = {Visualizing Explanations to Exhibit Dynamic Structure in Constraint Problems}, Url = {http://www.lri.fr/~fekete/}, Year = {2003}, Bdsk-Url-1 = {http://www.lri.fr/~fekete/} } @inproceedings{Ghon04a, Address = {Miami Beach, FL}, Author = {Mohammad Ghoniem and Narendra Jussien and Jean-Daniel Fekete}, Booktitle = {Proceedings of Seventh Florida Artificial Intelligence Research Society Conference (FLAIR'04)}, Keywords = {dotplot}, Publisher = {AAAI Press}, Title = {{VISEXP}: Visualizing Constraint Solver Dynamics using Explanations}, Url = {http://www.lri.fr/~fekete/}, Year = {2004}, Bdsk-Url-1 = {http://www.lri.fr/~fekete/} } @inproceedings{Ghon04b, Address = {Austin, TX}, Author = {Mohammad Ghoniem and Jean-Daniel Fekete and Philippe Castagliola}, Booktitle = {Proceedings of the 10th IEEE Symposium on Information Visualization (InfoVis'04)}, Keywords = {dotplot}, Month = oct, Pages = {17--24}, Publisher = {IEEE Press}, Title = {A Comparison of the Readability of Graphs Using Node-Link and Matrix-Based Representations}, Url = {http://www.lri.fr/~fekete/}, Year = {2004}, Bdsk-Url-1 = {http://www.lri.fr/~fekete/} } @inproceedings{Giac89a, Author = {Alessandro Giacalone and Prateek Mishra and Sanjiv Prasad}, Booktitle = {Proceedings TAPSOFT '89}, Editor = {D\'iaz and Orejas}, Keywords = {concurrency facile tapsoft89 binder}, Pages = {184--209}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{FACILE}: {A} Symmetric Integration of Concurrent and Functional Programming}, Volume = {351}, Year = {1989} } @inproceedings{Gian02a, Author = {Dimitra Giannakopoulou and Corina S. Pasareanu and Howard Barringer}, Booktitle = {ASE}, Ee = {http://csdl.computer.org/comp/proceedings/ase/2002/1736/00/17360003abs.htm}, Pages = {3-12}, Title = {Assumption Generation for Software Component Verification}, Url = {http://www.ase-conferences.org/olbib/01114984.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.ase-conferences.org/olbib/01114984.pdf} } @article{Gibb70, Annote = {This is the original work about dotplots!}, Author = {A.J. Gibbs and G.A. McIntyre}, Journal = {Eur. J. Biochem.}, Keywords = {dotplot; biology}, Pages = {1--11}, Title = {The diagram: a method for comparing sequences. Its use with amino acid and nucleotide sequences.}, Volume = 16, Year = {1970} } @article{Gibb70a, Annote = {This is the original work about dotplots!}, Author = {A.J. Gibbs and G.A. McIntyre}, Journal = {Eur. J. Biochem.}, Keywords = {dotplot}, Pages = {1--11}, Title = {The diagram: a method for comparing sequences. Its use with amino acid and nucleotide sequences.}, Volume = {16}, Year = {1970} } @mastersthesis{Gibb79a, Author = {Simon Gibbs}, Keywords = {oislit ofs forms networks}, School = {Department of Computer Science, University of Toronto}, Title = {{OFS}: An Office Form System for a Network Architecture}, Type = {M.Sc. thesis}, Year = {1979} } @inproceedings{Gibb82a, Address = {Philadelphia}, Author = {Simon Gibbs}, Booktitle = {Proceedings ACM SIGOA}, Keywords = {olit ois}, Month = jun, Pages = {21--26}, Title = {Office Information Models and the Representation of `Office Objects'}, Year = {1982} } @article{Gibb83a, Author = {Simon Gibbs and Dennis Tsichritzis}, Journal = {ACM TOOIS}, Keywords = {oislit db}, Number = {3}, Pages = {299--319}, Title = {A Data Modelling Approach for Office Information Systems}, Volume = {1}, Year = {1983} } @techreport{Gibb84a, Author = {Simon Gibbs}, Institution = {University of Toronto}, Keywords = {olit ois}, Number = {154}, Title = {An Object-Oriented Office Data Model}, Type = {CSRG Technical Report}, Year = {1984} } @article{Gibb87a, Author = {Simon Gibbs and Dennis Tsichritzis and Akis Fitas and Dimitri Konstantas and Yannis Yeorgaroudakis}, Journal = {IEEE Software}, Keywords = {misc mmlit muse}, Month = mar, Pages = {4--15}, Title = {Muse: {A} Multimedia Filing System}, Year = {1987} } @inproceedings{Gibb89a, Address = {Austin, Texas}, Author = {Simon Gibbs}, Booktitle = {Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems}, Keywords = {olit liza}, Misc = {April 30-May 4}, Month = apr, Pages = {29--35}, Publisher = {ACM, New York}, Title = {{LIZA}: An extensible groupware toolkit}, Year = {1989} } @techreport{Gibb89b, Author = {Simon Gibbs and Vassili Prevelakis and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg ood89}, Month = jul, Pages = {41--59}, Title = {Software Information Systems: {A} Software Community Perspective}, Type = {Object Oriented Development}, Year = {1989} } @techreport{Gibb89c, Author = {Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg ood89}, Month = jul, Pages = {31--40}, Title = {{CSCW} and Software Engineering}, Type = {Object Oriented Development}, Year = {1989} } @article{Gibb90a, 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}, Author = {Simon Gibbs and Dennis Tsichritzis and Eduardo Casais and Oscar Nierstrasz and Xavier Pintado}, Doi = {10.1145/83880.84525}, Journal = {Communications of the ACM}, Keywords = {olit-reuse osg-ftp om90 onhindex(102)}, Month = sep, Number = {9}, Pages = {90--103}, Title = {Class Management for Software Communities}, Url = {http://scg.unibe.ch/archive/osg/Gibb90aClassManagement.pdf}, Volume = {33}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Gibb90aClassManagement.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/83880.84525} } @techreport{Gibb90b, 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.}, Author = {Simon Gibbs and Vassili Prevelakis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit xos osg om90}, Month = jul, Pages = {37--62}, Title = {Xos: An Overview}, Type = {Object Management}, Year = {1990} } @techreport{Gibb90c, 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.}, Author = {Simon Gibbs and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg om90}, Month = jul, Pages = {107--115}, Title = {Software Licensing versus Software Reuse}, Type = {Object Management}, Year = {1990} } @techreport{Gibb90d, 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.}, Author = {Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg-ftp om90}, Month = jul, Pages = {63--77}, Title = {Querying Large Class Collections}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/queryingLargeClass.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/queryingLargeClass.pdf} } @inproceedings{Gibb91a, 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.}, Author = {Simon Gibbs}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit osg oopsla91}, Month = nov, Pages = {97--112}, Title = {Composite Multimedia and Active Objects}, Volume = {26}, Year = {1991} } @techreport{Gibb91b, 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.}, Author = {Simon Gibbs and Laurent Dami and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Note = {A version of this paper appeared in the Eurographics Multimedia Workshop, Stockholm, 1991.}, Pages = {133--143}, Title = {An Object-Oriented Framework for Multimedia Composition and Synchronisation}, Type = {Object Composition}, Year = {1991} } @inproceedings{Gibb91c, Address = {Heidelberg}, Author = {Simon Gibbs and Christian Breiteneder and Laurent Dami and Vicki de Mey and Dennis Tsichritzis}, Booktitle = {Proceedings of the Second International Workshop on Network and Operating System Support for Digital Audio and Video}, Keywords = {olit osg of92}, Title = {A Programming Environment for Multimedia Applications}, Year = {1991} } @inproceedings{Gibb92a, 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.}, Author = {Simon Gibbs}, Booktitle = {Proceedings of the Third International Workshop on Network and Operating System Support for Digital Audio and Video}, Keywords = {olit osg vo93}, Title = {Application Construction and Component Design in an Object-Oriented Multimedia Framework}, Year = {1992} } @inproceedings{Gibb93a, 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.}, Address = {Vienna}, Author = {Simon Gibbs and Christian Breiteneder and Dennis Tsichritzis}, Booktitle = {Proceedings of the 9th International Conference on Data Engineering}, Keywords = {olit osg of92}, Note = {To appear}, Publisher = {IEEE Computer Society Press}, Title = {Audio/Video Databases: An Object-Oriented Approach}, Year = {1993} } @techreport{Gibb93b, 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.}, Author = {Simon Gibbs and Christian Breiteneder and Vicki de Mey and Michael Papathomas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg vo93}, Month = jul, Pages = {51--64}, Title = {Video Widgets and Video Actors}, Type = {Visual Objects}, Year = {1993} } @techreport{Gibb93c, 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.}, Author = {Simon Gibbs and Christian Breiteneder and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit xos osg vo93}, Month = jul, Pages = {1--21}, Title = {Data Modeling of Time-Based Media}, Type = {Visual Objects}, Year = {1993} } @book{Gibb94a, Author = {Simon J. Gibbs and Dionysios C. Tsichritzis}, Isbn = {0-201-42282-4}, Keywords = {olit scglib}, Publisher = {Addison Wesley}, Title = {Multimedia Programming}, Year = {1994} } @incollection{Gibb95a, 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.}, Author = {Simon Gibbs}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC11}, Pages = {305--319}, Publisher = {Prentice-Hall}, Title = {Multimedia Component Frameworks}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @inproceedings{Gibs97a, Author = {Paul Gibson}, Booktitle = {Feature Interactions in Telecommunication Networks}, Pages = {46--60}, Publisher = {IOS Press}, Title = {Feature Requirements Models: Understanding Interactions}, Year = {1997} } @mastersthesis{Gies03a, Author = {Simon Giesecke}, Month = sep, School = {Carl von Ossietzky Universit\"at Oldenburg, Germany}, Title = {{Clone}--based {Reengineering} f\"ur {Java} auf der {Eclipse}--{Plattform}}, Url = {http://www.informatik.uni-oldenburg.de/~matrix/da/}, Year = {2003}, Bdsk-Url-1 = {http://www.informatik.uni-oldenburg.de/~matrix/da/} } @book{Giff98a, Author = {Dwayne Gifford et al.}, Keywords = {db scglib book}, Publisher = {Sams}, Title = {Access 97 Unleashed}, Year = {1998} } @inproceedings{Gil96a, Author = {Joseph Gil and David H. Lorenz}, Booktitle = {Proceedings of OOPSLA'96}, Pages = {214--231}, Title = {{Environmental} {Acquisition} --- {A} New Inheritance-Like Abstraction Mechanism}, Year = {1996} } @article{Gil98a, author={Gil, J. and Lorenz, D.H.}, journal={IEEE Computer}, title={Design patterns and language design}, year={1998}, month=mar, volume={31}, number={3}, pages={118 -120}, keywords={abstraction;design patterns;idioms;language design;programming language mechanisms;high level languages;software engineering;}, doi={10.1109/2.660196}, ISSN={0018-9162}} @inproceedings{Gilb88a, Address = {Oslo}, Author = {Jonathan P. Gilbert and Lubomir Bic}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-db ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {335--349}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Asynchronous Data Retrieval from an Object-Oriented Database}, Volume = {322}, Year = {1988} } @book{Gilb93a, Author = {Tom Gilb and Dorothy Graham}, Keywords = {oorp}, Publisher = {Addison Wesley}, Title = {Software Inspection}, Year = {1993} } @book{Gill92a, Author = {Alan C. Gillies}, Isbn = {1-85032-270-8}, Keywords = {olit-gen scglib}, Publisher = {Thomson Computer Press}, Title = {Software Quality}, Year = {1992} } @incollection{Gira87a, Author = {Jean-Yves Girard}, Booktitle = {Mathematical Models for the Semantics of Parallelism}, Editor = {M. Zilli}, Keywords = {concurrency linear logic binder}, Pages = {166--182}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Linear Logic and Parallelism}, Volume = {280}, Year = {1987} } @article{Gira87b, Author = {Jean-Yves Girard}, Journal = {Theoretical Computer Science}, Keywords = {linear-logic binder (shelf)}, Pages = {1--102}, Publisher = {North-Holland}, Title = {Linear Logic}, Volume = {50}, Year = {1987} } @misc{Gira88a, Author = {Jean-Yves Girard}, Keywords = {linear-logic binder}, Month = apr, Title = {Towards a Geometry of Interaction}, Year = {1988} } @unpublished{Gira92a, Author = {Rosario Girardi and Bertrand Ibrahim}, Keywords = {olit-reuse binder}, Note = {submitted for publicationCentre Universitaire d'Informatique, University of Geneva}, Title = {New Approaches for Reuse Systems}, Type = {draft}, Year = {1992} } @techreport{Gira92b, Author = {Rosario Girardi}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg of92}, Month = jul, Pages = {137--149}, Title = {Application Engineering: Putting Reuse to Work}, Type = {Object Frameworks}, Year = {1992} } @inproceedings{Gira97a, 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.}, Author = {Jean-Francois Girard and Rainer Koschke}, Booktitle = {ICSM}, Keywords = {architectural components recovery, reverse engineering, program understanding, dominance tree, abstract data type and abstract state encapsulation extraction}, Publisher = {IEEE Press}, Title = {Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding}, Year = {1997} } @inproceedings{Girb04a, 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}, Author = {Tudor G\^irba and Michele Lanza}, Booktitle = {WOOR 2004 (5th ECOOP Workshop on Object-Oriented Reengineering)}, Keywords = {scg-pub skip-doi evolution metrics visualization van hismo girba recast04 jb04 moose-pub}, Title = {Visualizing and Characterizing the Evolution of Class Hierarchies}, Url = {http://scg.unibe.ch/archive/papers/Girb04aHierarchiesEvolution.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb04aHierarchiesEvolution.pdf} } @inproceedings{Girb05b, 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}, Author = {Tudor G\^irba and Jean-Marie Favre and St\'ephane Ducasse}, Booktitle = {Proceedings of 2nd International Workshop on Meta-Models and Schemas for Reverse Engineering (ATEM 2004)}, Doi = {10.1016/j.entcs.2005.07.005}, Keywords = {scg-pub evolution meta-modeling hismo van moose-pub recast05 jointERCIM girba stefPub jb05}, Pages = {57--64}, Title = {Using Meta-Model Transformation to Model Software Evolution}, Url = {http://scg.unibe.ch/archive/papers/Girb05bMetaModelTransATEM2004.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb05bMetaModelTransATEM2004.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2005.07.005} } @inproceedings{Girb04b, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Tudor G\^irba and St\'ephane Ducasse and Michele Lanza}, Booktitle = {Proceedings of 20th IEEE International Conference on Software Maintenance (ICSM'04)}, Doi = {10.1109/ICSM.2004.1357788}, Keywords = {scg-pub evolution metrics hismo stefPub van moose-pub girba recast05 jb05}, Location = {Illinois, USA}, Misc = {acceptance rate: 38/122 = 31\%}, AcceptTotal = {122}, AcceptNum = {38}, Month = sep, Pages = {40--49}, Publisher = {IEEE Computer Society}, Title = {{Yesterday's} {Weather}: Guiding Early Reverse Engineering Efforts by Summarizing the Evolution of Changes}, Url = {http://scg.unibe.ch/archive/papers/Girb04bYesterdayWeather.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb04bYesterdayWeather.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2004.1357788} } @inproceedings{Girb04d, 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}, Author = {Tudor G\^irba and St\'ephane Ducasse and Radu Marinescu and Daniel Ra\c{t}iu}, Booktitle = {Ninth IEEE Workshop on Empirical Studies of Software Maintenance}, Keywords = {scg-pub skip-doi evolution van metrics smell hismo stefPub recast05 girba jb05 moose-pub}, Title = {Identifying Entities That Change Together}, Url = {http://scg.unibe.ch/archive/papers/Girb04dEntitiesChangeTogether.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb04dEntitiesChangeTogether.pdf} } @inproceedings{Girb05a, 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.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Tudor G\^irba and Michele Lanza and St\'ephane Ducasse}, Booktitle = {Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR'05)}, Doi = {10.1109/CSMR.2005.15}, Inria = {hors}, Keywords = {scg-pub evolution visualization metrics van recast05 girba stefPub jb05 moose-pub}, Misc = {acceptance rate: 33/81 = 41 \%}, AcceptTotal = {81}, AcceptNum = {33}, Pages = {2--11}, Publisher = {IEEE Computer Society}, Rate = {41%}, Selectif = {non}, Title = {Characterizing the Evolution of Class Hierarchies}, Url = {http://scg.unibe.ch/archive/papers/Girb05aHierarchiesEvolution.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb05aHierarchiesEvolution.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2005.15} } @inproceedings{Girb05c, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalworkshop}, Author = {Tudor G\^irba and Adrian Kuhn and Mauricio Seeberger and St\'ephane Ducasse}, Booktitle = {Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005)}, Cvs = {ChroniaIWPSE2005}, Doi = {10.1109/IWPSE.2005.21}, Inria = {hors}, Keywords = {scg-pub evolution visualization authors stefPub girba recast06 jb06 moose-pub chronia akuhn}, Location = {Lisbon, Portugal}, Misc = {acceptance rate: 13/54 = 24\%}, AcceptTotal = {54}, AcceptNum = {13}, Pages = {113--122}, Publisher = {IEEE Computer Society Press}, Rate = {24%}, Selectif = {oui}, Title = {How Developers Drive Software Evolution}, Url = {http://scg.unibe.ch/archive/papers/Girb05cOwnershipMap.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb05cOwnershipMap.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/IWPSE.2005.21} } @phdthesis{Girb05d, 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.}, Address = {Bern}, Annote = {phdthesis}, Author = {Tudor G\^irba}, Cvs = {TGirbaPhD}, Keywords = {scg-pub skip-doi scg-phd evolution girba jb06 recast06 moose-pub van meta-modeling visualization metrics hismo}, Month = nov, Pages = {164}, School = {University of Bern}, Title = {Modeling History to Understand Software Evolution}, Url = {http://scg.unibe.ch/archive/phd/girba-phd.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/girba-phd.pdf} } @article{Girb06a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Tudor G\^irba and St\'ephane Ducasse}, Impactfactor = {0.457 (SCI 2005)}, Inria = {hors}, Journal = {Journal of Software Maintenance: Research and Practice (JSME)}, Keywords = {hasler07 scg-pub skip-doi recast06 jb06 stefPub mooseCincom moose-pub van girba snf-actsc norex06 meta-modeling hismo evolution}, Misc = {SCI impact factor 0.457 (2005)}, Pages = {207--236}, Publisher = {John Wiley and Sons, Ltd.}, Selectif = {non}, Title = {Modeling History to Analyze Software Evolution}, Url = {http://scg.unibe.ch/archive/papers/Girb06aHismo.pdf}, Volume = {18}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb06aHismo.pdf} } @inproceedings{Girb07a, Abstract = {Software systems need to change over time to cope with new requirements, and due to design decisions, the changes happen to crosscut the system's structure. Understanding how changes appear in the system can reveal hidden dependencies between different entities of the system. We propose the usage of concept analysis to identify groups of entities that change in the same way and in the same time. We apply our approach at different levels of abstraction (i.e., method, class, package) and we detect fine grained changes (i.e., statements were added in a class, but no method was added there). Concept analysis is a technique that identifies entities that have the same properties, but it requires manual inspection due to the large number of candidates it detects. We propose a heuristic that dramatically eliminate the false positives. We apply our approach on two case studies and we show how we can identify hidden dependencies and detect bad smells.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalworkshop}, Author = {Tudor G\^irba and St\'ephane Ducasse and Adrian Kuhn and Radu Marinescu and Daniel Ra\c{t}iu}, Booktitle = {Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)}, Doi = {10.1145/1294948.1294970}, Inria = {hors}, Isbn = {978-1-59593-722-3}, Keywords = {scg07 scg-pub evolution fca girba jb08 metrics moose-pub norex07 stefPub}, Medium = {2}, Pages = {83--89}, Peerreview = {yes}, Publisher = {ACM Press}, Selectif = {non}, Title = {Using Concept Analysis to Detect Co-Change Patterns}, Url = {http://scg.unibe.ch/archive/papers/Girb07aCoChangePatterns.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb07aCoChangePatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1294948.1294970} } @misc{Girb08a, Abstract = {Quality control is paramount in every engineering discipline. Software engineering, however, is not considered a classical engineering activity for several reasons, such as intrinsic complexity and lack of rigor. In general, if a software system is delivering the expected functionality, only in few cases people see the need to analyze the internals. In this tutorial we offer a pragmatic approach to analyzing the quality of software systems. On the one hand, we offer the theoretical background to detect quality problems by using and combining metrics, by analyzing the past through evolution analysis, and by providing visual evidence of the state of affairs in the system. On the other hand, as analyzing real systems requires adequate tool support, we offer an overview of the problems that occur in using such tools and provide a hands-on session with state-of-the-art tools used on a real case study.}, Annote = {tutorial}, Author = {Tudor G\^irba and Michele Lanza and Radu Marinescu}, Booktitle = {Proceedings of International Conference on Software Engineering (ICSE 2008)}, Keywords = {scg-misc girba tutorial metrics visualization evolution moose-pub hasler08 jb-none}, Note = {Tutorial held at ICSE 2008}, Pages = {n6}, Title = {Pragmatic Software Quality Detection}, Url = {http://scg.unibe.ch/archive/papers/Girb08aQualityAssessmentTutorial.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Girb08aQualityAssessmentTutorial.pdf} } @book{Girb10a, Abstract = {This book offers an overview of the Moose platform for software and data analysis. More specifically it covers version 4.0.}, Author = {Tudor G\^irba}, Keywords = {skip-doi moose-pub girba}, Title = {The Moose Book}, Publisher = {Self Published}, Url = {http://www.themoosebook.org/book}, Year = {2010}, Bdsk-Url-1 = {http://www.themoosebook.org/book} } @article{Gitm70a, Author = {I. Gitman and M. D. Levine}, Journal = {IEEE Transactions on Computers}, Keywords = {clustering}, Month = jul, Pages = {583--593}, Title = {An {Algorithm} for {Detecting} {Unimodal} {Fuzzy} {Sets} and {Its} {Application} as a {Clustering} {Technique}}, Volume = {CE-19}, Year = {1970} } @techreport{Gius87a, Author = {D. Giuse}, Institution = {Carnegie Mellon University}, Month = oct, Number = {{CMU-RI-TR-87-23}}, Title = {KR: an efficient knowledge representation system}, Year = {1987} } @techreport{Gius92a, Author = {D. Giuse}, Institution = {Carnegie Mellon University}, Month = nov, Note = {Kr V2.0}, Title = {KR: Constraint-based knowledge representation}, Year = {1992} } @techreport{Giusa89a, Author = {D. Giuse}, Institution = {Carnegie Mellon University}, Month = apr, Number = {{CMU-CS-89-142}}, Title = {KR: Constraint-based knowledge representation}, Year = {1989} } @book{Gjes88a, Editor = {S. Gjessing and K. Nygaard}, Isbn = {3-540-50053-7}, Keywords = {olit ecoop88proc scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {ECOOP}'88}, Volume = {322}, Year = {1988} } @inproceedings{Glab90a, Author = {R.J. van Glabbeek}, Booktitle = {Proceedings of CONCUR '90}, Editor = {J.C.M. Baeten and J.W. Klop}, Keywords = {pcalc equivalence concur90 binder}, Pages = {278--297}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Linear Time --- Branching Time Spectrum}, Volume = {458}, Year = {1990} } @article{Glas94a, Author = {Robert L. Glass}, Journal = {IEEE Software}, Month = nov, Number = {11}, Pages = {42--47}, Publisher = {IEEE Computer Society}, Title = {{The} {Software} {Research} {Crisis}}, Year = {1994} } @article{Glas96a, Annote = {practical programmer column}, Author = {Robert L. Glass}, Journal = {Communications of the ACM}, Month = nov, Number = {11}, Pages = {11--13}, Publisher = {ACM}, Title = {{The} {Relationship} {Between} {Theory} and {Practice} in {Software} {Engineering}}, Volume = {39}, Year = {1996} } @article{Glas02a, Author = {Leon Glass}, Journal = {The Mathematical Intelligencer}, Number = {4}, Pages = {37--43}, Title = {Looking at Dots}, Volume = {24}, Year = {2002} } @book{Glass97a, Author = {Robert L. Glass}, Keywords = {oorp}, Publisher = {Prentice-Hall}, Title = {Building Quality Software}, Year = {1997} } @unpublished{Glau91a, Author = {J. Glauert and Lone Leth and Bent Thomsen}, Keywords = {pcalc ccs binder}, Misc = {Sept. 30}, Month = sep, Note = {University of East Anglia}, Title = {A New Translation of Functions as Processes}, Type = {Draft}, Year = {1991} } @book{Glen79a, Address = {New York, NY, USA}, Author = {Glenford J. Myers}, Date-Added = {2007-02-01 14:05:28 +0100}, Date-Modified= {2007-02-01 14:05:28 +0100}, Isbn = {0471043281}, Keywords = {testing}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Art of Software Testing}, Year = {1979} } @phdthesis{Gloo89a, Author = {Peter Gloor}, Keywords = {concurrency distribution binder (shelf)}, Number = {University of Zurich}, School = {B.G. Teubner, Stuttgart}, Title = {Synchronisation in verteilten Systemen}, Type = {{Ph.D}. Thesis}, Year = {1989} } @inproceedings{Gode05a, Address = {New York, NY, USA}, Author = {Patrice Godefroid and Nils Klarlund and Koushik Sen}, Booktitle = {Proceedings of the 2005 ACM SIGPLAN conference on programming language design and implementation (PLDI'05)}, Doi = {10.1145/1065010.1065036}, Isbn = {1-59593-056-6}, Location = {Chicago, IL, USA}, Pages = {213--223}, Publisher = {ACM}, Title = {DART: directed automated random testing}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1065010.1065036} } @inproceedings{Godf00a, Author = {Michael W. Godfrey and Eric H. S. Lee}, Booktitle = {Proc. of the Second Intl. Symposium on Constructing Software Engineering Tools (CoSET-00)}, Keywords = {design-recovery}, Month = jun, Title = {Secrets from the Monster: Extracting {Mozilla}'s Software Architecture}, Url = {http://plg.uwaterloo.ca/~migod/papers/coset00.pdf}, Year = {2000}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/papers/coset00.pdf} } @inproceedings{Godf00b, Address = {Los Alamitos CA}, Author = {Michael Godfrey and Qiang Tu}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2000)}, Keywords = {evolution}, Pages = {131--142}, Publisher = {IEEE Computer Society Press}, Title = {Evolution in Open Source Software: A Case Study}, Year = {2000} } @inproceedings{Godf01a, Address = {Vienna, Austria}, Author = {Michael Godfrey and Qiang Tu}, Booktitle = {Proceedings of the 4th International Workshop on Principles of Software Evolution (IWPSE '01)}, Doi = {10.1145/602461.602482}, Pages = {103--106}, Publisher = {ACM Press}, Title = {Growth, Evolution, and Structural Change in Open Source Software}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/602461.602482} } @inproceedings{Godf02a, Author = {Michael Godfrey Qiang Tu}, Booktitle = {Proceedings of the International Workshop on Principles of Software Evolution}, Organization = {SIGSOFT}, Pages = {117--119}, Publisher = {ACM Press}, Title = {Tracking Structural Evolution using Origin Analysis}, Url = {http://plg.uwaterloo.ca/~migod/papers/iwpse02.pdf}, Year = {2002}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/papers/iwpse02.pdf} } @inproceedings{Godi93a, Author = {Robert Godin and Hafedh Mili}, Booktitle = {Proceedings OOPSLA '93 (8th Conference on Object-Oriented Programming Systems, Languages, and Applications)}, Keywords = {olit oopsla93 fca}, Location = {Washington, DC, USA}, Month = oct, Pages = {394--410}, Title = {Building and {Maintaining} {Analysis}-{Level} {Class} {Hierarchies} using {Galois} {Lattices}}, Volume = {28}, Year = {1993} } @article{Godi94a, Author = {Godin, R. and Missaoui, R.}, Journal = {Theoretical Computer Science, Special Issue on Formal Methods in Databases and Software Engineering}, Keywords = {fca}, Pages = {387--419}, Title = {An Incremental Concept Formation Approach for Learning from Databases}, Volume = {133}, Year = {1994} } @article{Godi95a, Author = {Robert Godin and Guy Mineau and Rokia Missaoui and Marc St-Germain and Najib Faraj}, Journal = {International Journal of Knowledge Engineering and Software Engineering}, Keywords = {fca}, Number = 1, Pages = {119--142}, Title = {Applying {Concept} {Formation} {Methods} to {Software} {Reuse}}, Volume = 5, Year = {1995} } @inproceedings{Godi95b, Author = {Robert Godin and Guy Mineau and Rokia Missaoui}, Booktitle = {Proceedings of KRUSE '95 (International Symposium on Knowledge Retrieval, Use, and Storage for Efficiency)}, Keywords = {fca}, Location = {Santa Cruz, California, USA}, Pages = {179--198}, Publisher = {Springer-Verlag}, Series = {LNAI}, Title = {Incremental {Structuring} of {Knowledge} {Bases}}, Year = {1995} } @article{Godi98a, Author = {Robert Godin and Hafedh Mili and Guy W. Mineau and Rokia Missaoui and Amina Arfi and Thuy-Tien Chau}, Journal = {Theory and Application of Object Systems}, Keywords = {fca}, Number = {2}, Pages = {117--134}, Title = {Design of {Class} {Hierarchies} based on {Concept} ({Galois}) {Lattices}}, Volume = {4}, Year = {1998} } @proceedings{Godi01a, Editor = {Robert Godin and Isabelle Borne}, Keywords = {scglib}, Title = {LMO 2001: L'Objet, logiciel, bases de donnees, reseaux}, Year = {2001} } @inproceedings{Godi02a, Author = {Robert Godin and Marianne Huchard and Cyrill Roume and Petko Valtchev}, Booktitle = {ECOOP 2002: Proceedings of the Inheritance Workshop}, Editor = {Andrew Black and Erik Ernst and Peter Grogono and Markky Sakkinen}, Keywords = {inheritance fca}, Month = jun, Pages = {58--64}, Publisher = {University of Jyv\"askyl\"a}, Title = {Inheritance and {Automation}: {Where} {Are} {We} {Now}?}, Year = {2002} } @inproceedings{Goer89a, Address = {Eindhoven}, Author = {Steven K. Goering and Simon M. Kaplan}, Booktitle = {Proceedings PARLE '89, Vol II}, Editor = {E. Odijk and J-C. Syre}, Keywords = {visprog olit obc garp binder(visprog)}, Month = jun, Pages = {165--180}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Visual Concurrent Programming in {GARP}}, Volume = {366}, Year = {1989} } @inproceedings{Goer05a, Author = {Carsten G\"org and Peter Weissgerber}, Booktitle = {Proceedings of IWPC (13th International Workshop on Program Comprehension}, Keywords = {iwpc}, Pages = {205--214}, Publisher = {IEEE CS Press}, Title = {Detecting and Visualizing Refactorings from Software Archives}, Year = {2005} } @incollection{Goet91a, Author = {Jean-Marc Goetz and Carl Verhoest and Joel Brunet}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {O*: The Business Class Analysis Model}, Year = {1991} } @book{Goet06a, Author = {Brian Goetz and Tim Peierls and Joshua Bloch and Joseph Bowbeer and David Holmes and Doug Lea}, Isbn = {978-0321349606}, Keywords = {olit design-patterns java scglib}, Publisher = {Addison Wesley}, Title = {Java Concurrency in Practice}, Year = {2006} } @misc{Gofer, Key = {Gofer}, Title = {Gofer}, Author = {Lukas Renggli}, Note = {Gofer is a tool on top of Monticello that performs versioning operations as clean as possible on Monticello packages.}, Url = {http://www.lukas-renggli.ch/blog/gofer} } @inproceedings{Gogu86a, Author = {Joseph A. Goguen}, Booktitle = {Proceedings IFIP '86}, Keywords = {misc specification binder}, Publisher = {North-Holland}, Title = {One, None, a Hundred Thousand Specification Languages}, Year = {1986} } @article{Gogu86b, Author = {Joseph A. Goguen and Jos\'e Meseguer}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit concepts semantics oopws86}, Month = oct, Number = {10}, Pages = {153--162}, Title = {Extensions and Foundations of Object-Oriented Programming}, Volume = {21}, Year = {1986} } @article{Gogu86c, Author = {Joseph A. Goguen}, Journal = {IEEE Computer}, Keywords = {olit-reuse binder(oop)}, Month = feb, Pages = {16--28}, Title = {Reusing and Interconnecting Software Components}, Year = {1986} } @inproceedings{Gogu90a, Address = {Windermere, UK}, Author = {Joseph A. Goguen and David Wolfram}, Booktitle = {Proc. IFIP TC2 Working Conference on Database Semantics: Object-Oriented Databases}, Keywords = {concurrency semantics binder}, Misc = {July 2-6}, Month = jul, Note = {To appear}, Title = {On Types and {FOOPS}}, Year = {1990} } @article{Gogu90b, Author = {Joseph A. Goguen}, Journal = {Mathematical Structures in Computer Science}, Keywords = {concurrency semantics binder}, Note = {To appear}, Title = {Sheaf Semantics for Concurrent Interacting Objects}, Year = {1990} } @inproceedings{Gogu90c, Author = {Joseph A. Goguen}, Booktitle = {Proc. of Symposium on General Topology and Applications}, Keywords = {concurrency semantics binder}, Note = {To appear}, Publisher = {Oxford University Press}, Title = {Types as Theories}, Year = {1990} } @article{Gogu95a, Author = {Joseph A. Goguen and Adolfo Socorro}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-reuse binder}, Month = feb, Pages = {47--55}, Title = {Module Composition and System Design for the Object Paradigm}, Year = {1995} } @inproceedings{Gogu99a, Address = {Toulouse, France}, Author = {Joseph Goguen and Grigore Ro{\c{s}}u}, Booktitle = {Proceedings of FM '99}, Month = aug, Pages = {1704--1719}, Title = {Hiding More of Hidden Algebra}, Url = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html}, Year = {1999}, Bdsk-Url-1 = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html} } @inproceedings{Gogu99b, Address = {Auckland, New Zealand}, Author = {Joseph Goguen}, Booktitle = {Proceedings Combinatorics, Computation and Logic}, Month = jan, Pages = {35--59}, Publisher = {Springer Verlag}, Title = {Hidden Algebra for Software Engineering}, Url = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html}, Volume = {21}, Year = {1999}, Bdsk-Url-1 = {http://www-cse.ucsd.edu/users/goguen/projs/halg.html} } @inproceedings{Goke02a, Address = {Aberdeen, UK}, Author = {Ayse G\"oker and Hans I. Myrhaug}, Booktitle = {ECCBR Workshop on Case Based Reasoning and Personalisation}, Note = {invited paper}, Title = {User context and Personalisation}, Url = {https://www.cs.tcd.ie/cbrpws/Papers/AGoker.pdf}, Year = {2002}, Bdsk-Url-1 = {https://www.cs.tcd.ie/cbrpws/Papers/AGoker.pdf} } @inproceedings{Gold77a, Author = {Ira P. Goldstein and R. Bruce Roberts}, Booktitle = {Proceedings of the Fifth International Joint Conference on Artifical Intelligence}, Pages = {257--263}, Title = {NUDGE, a Knowledge-Based Scheduling Program}, Year = {1977} } @inproceedings{Gold80a, Address = {Pingree Park, Colorado}, Author = {Ira Goldstein}, Booktitle = {Proceedings of the Workshop on Data Abstraction Database and Conceptual Modelling}, Editor = {M.L. Brodie and S.N. Zilles}, Keywords = {olit-db casais}, Misc = {June 23-26}, Month = jun, Title = {Integrating a Network-Structured Database into an Object-Oriented Programming Language}, Year = {1980} } @inproceedings{Gold80b, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Booktitle = {Proceedings of the Lisp Conference}, Keywords = {olit-oopl smalltalk pie}, Month = aug, Pages = {75--81}, Title = {Extending Object-Oriented Programming in {Smalltalk}}, Year = {1980} } @techreport{Gold80c, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Institution = {Xerox PARC}, Keywords = {olit-oopl smalltalk pie}, Month = dec, Number = {CSL-80-5}, Title = {A Layered Approach to Software Design}, Year = {1980} } @inproceedings{Gold80d, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Booktitle = {Proceedings of the First Annual Conference of the National Association for Artificial Intelligence}, Keywords = {olit-oopl pie}, Month = aug, Title = {Descriptions for a Programming Environment}, Year = {1980} } @techreport{Gold81a, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Institution = {Xerox PARC}, Keywords = {olit-oopl smalltalk pie}, Month = mar, Number = {CSL 81-3}, Title = {An Experimental Description-based Programming Environment: Four Reports}, Year = {1981} } @inproceedings{Gold81b, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Booktitle = {Proceedings of the 14th Hawaii International Conference on System Science}, Keywords = {olit-oopl smalltalk pie}, Month = jan, Title = {Browsing in a Programming Environment}, Year = {1981} } @book{Gold83a, Address = {Reading, Mass.}, Author = {Adele Goldberg and David Robson}, Isbn = {0-201-13688-0}, Keywords = {olit-oopl smalltalk oobib(oopl) binder(shelf) blue book scglib smalltalk80}, Month = may, Publisher = {Addison Wesley}, Title = {{Smalltalk} 80: the Language and its Implementation}, Url = {http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf}, Year = {1983}, Bdsk-Url-1 = {http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf} } @book{Gold84a, Address = {Reading, Mass.}, Author = {Adele Goldberg}, Isbn = {0-201-11372-4}, Keywords = {olit-oopl smalltalk red book orange book scglib}, Publisher = {Addison Wesley}, Title = {{Smalltalk} 80: the Interactive Programming Environment}, Year = {1984} } @incollection{Gold84b, Author = {Ira P. Goldstein and Daniel G. Bobrow}, Booktitle = {Interactive Programming Environments}, Editor = {D. R. Barstow and H. E. Shrobe and E. Sandewall}, Keywords = {olit-oopl smalltalk pie}, Pages = {387--413}, Publisher = {McGraw-Hill, New York}, Title = {A Layered Approach to Software Design}, Year = {1984} } @book{Gold89a, Author = {Adele Goldberg and Dave Robson}, Isbn = {0-201-13688-0}, Keywords = {smalltalk purple book scglib}, Publisher = {Addison Wesley}, Title = {Smalltalk-80: The Language}, Year = {1989} } @inproceedings{Gold91a, Author = {Eric Gold and Mary Beth Rosson}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {62--74}, Title = {Portia: {An} Instance-Centered Environment for {Smalltalk}}, Volume = {26}, Year = {1991} } @book{Gold95a, Address = {Reading, Mass.}, Author = {Adele Goldberg and Kenneth S. Rubin}, Isbn = {0-201-62878-3}, Keywords = {olit frameworks reuse book scglib sclit repository scglib oorp}, Publisher = {Addison Wesley}, Title = {Succeeding With Objects: Decision Frameworks for Project Management}, Year = {1995} } @inproceedings{Gold96a, Address = {Linz, Austria}, Author = {Adele Goldberg}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {1}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Measurement Strategies}, Volume = {1098}, Year = {1996} } @inproceedings{Gold03a, Author = {Nicolas Gold and Andrew Mohan}, Booktitle = {Proceedings of International Conference on Software Maintenance 2003 (ICSM 2003)}, Keywords = {olit}, Month = sep, Pages = {432--439}, Title = {A Framework for Understanding Conceptual Changes in Evolving Source Code}, Year = {2003} } @inproceedings{Gold05a, Address = {New York, NY, USA}, Author = {Simon Goldsmith and Robert O'Callahan and Alex Aiken}, Booktitle = {Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'05)}, Pages = {385--402}, Publisher = {ACM Press}, Title = {Relational Queries over Program Traces}, Year = {2005} } @inproceedings{Goll95a, Author = {K. Gollmer and C. Posten}, Booktitle = {On-Line Fault Detection and Supervision in Chemical Process Industries.}, Title = {Detection of distorted pattern using dynamic time warping algorithm and application for the supervision of bioprocesses}, Year = {1995} } @inproceedings{Golm99, Author = {Michael Golm and J{\"u}rgen Klein{\"o}der}, Booktitle = {Reflection}, Pages = {22--39}, Title = {Jumping to the Meta Level: Behavioral Reflection Can Be Fast and Flexible}, Year = {1999} } @inproceedings{Golm99a, Address = {London, UK}, Author = {Golm, Michael and Klein\"{o}der, J\"{u}rgen}, Booktitle = {Reflection '99: Proceedings of the Second International Conference on Meta-Level Architectures and Reflection}, Isbn = {3-540-66280-4}, Pages = {22--39}, Publisher = {Springer-Verlag}, Title = {Jumping to the Meta Level: Behavioral Reflection Can Be Fast and Flexible}, Year = {1999} } @mastersthesis{Golo01a, 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.}, Author = {Georges Golomingi Koni-N'sapu}, Keywords = {scg-pub skip-doi scg-msc jb01 snf02}, Month = jun, School = {University of Bern}, Title = {A Scenario Based Approach for Refactoring Duplicated Code in Object Oriented Systems}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Golo01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Golo01a.pdf} } @book{Golu96, Address = {Baltimore, MD, USA}, Author = {Gene H. Golub and Charles F. Van Loan}, Edition = {Third}, Isbn = {0-8018-5413-X, 0-8018-5414-8}, Pages = {698}, Publisher = {The Johns Hopkins University Press}, Series = {Johns Hopkins Studies in the Mathematical Sciences}, Title = {Matrix computations}, Year = {1996} } @misc{Goma92a, Author = {Hassan Gomaa}, Keywords = {olit reuse binder}, Month = jun, Note = {Draft}, Title = {Domain Modeling for Requirements Reuse and Evolution}, Year = {1992} } @misc{Goma92b, Author = {Hassan Gomaa and Larry Kerschberg and Vijayan Sugumaran}, Keywords = {olit binder}, Note = {To be presented at the IFIP World Computer Congress, Madrid Spain, 1992}, Title = {A Knowledge-Based Approach to Generating Target System Specifications from a Domain Model}, Year = {1992} } @article{Gome10a, author = {Veronica Uquillas Gomez and Stephane Ducasse and Theo D'Hondt}, title = {Visually Supporting Source Code Changes Integration: The Torch Dashboard}, journal = {Reverse Engineering, Working Conference on}, volume = {0}, issn = {1095-1350}, year = {2010}, pages = {55-64}, doi = {10.1109/WCRE.2010.15}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @book{Gonc10a, author = {Goncalves, Antonio}, title = {Beginning {Java EE 6} with {GlassFish 3}}, edition = {second}, keywords = {damiencbib criteria jee j2ee}, publisher = {Apress}, year = {2010}, isbn = {978-1430228899}, month = aug } @incollection{Gond93a, 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.}, Author = {Katsuhiko Gondow and Takashi Imaizumi and Yoichi Shinoda and Takuya Katayama}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {77--94}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Change Management and Consistency Maintenance in Software Development Environments Using Object Oriented Attribute Grammars}, Volume = {742}, Year = {1993} } @article{Gong97a, Address = {Los Alamitos, CA, USA}, Author = {Li Gong}, Doi = {10.1109/CMPCON.1997.584679}, Issn = {1063-6390}, Journal = {compcon}, Pages = 97, Publisher = {IEEE Computer Society}, Title = {New security architectural directions for Java}, Url = {http://dx.doi.org/10.1109/CMPCON.1997.584679}, Volume = 00, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CMPCON.1997.584679} } @book{Gong99a, Author = {Li Gong}, Keywords = {java scglib}, Publisher = {Addison Wesley}, Series = {The {Java} Series}, Title = {Inside {Java} 2 Platform Security}, Year = {1999} } @book{Gonz77a, Address = {Reading, Mass.}, Author = {R. Gonzalez and P. Wintz}, Keywords = {misc image book}, Publisher = {Addison Wesley}, Title = {Digital Image Processing}, Year = {1977} } @misc{Gonz04a, 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}, Author = {Sebastian Gonzales and Wolgang Demeuter and Pascal Costanza and St\'ephane Ducasse and Richard Gabriel and Theo D'hondt}, Booktitle = {Object-Oriented Technology (ECOOP'04 Workshop Reader)}, Keywords = {scg-pub skip-doi jb04 stefPub recast04}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Report of the {ECOOP}'03 Workshop on Object-Oriented Language Engineering in Post-Java Era}, Url = {http://scg.unibe.ch/archive/papers/Gonz04aoolepje04-report.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gonz04aoolepje04-report.pdf} } @inproceedings{Gonz07a, Address = {New York, NY, USA}, Author = {Sebasti\'{a}n Gonz\'{a}lez and Kim Mens and Patrick Heymans}, Booktitle = {DLS '07: Proceedings of the 2007 symposium on Dynamic languages}, Doi = {10.1145/1297081.1297094}, Isbn = {978-1-59593-868-8}, Keywords = {cop-lit gonzales ambience}, Location = {Montreal, Quebec, Canada}, Pages = {77--88}, Publisher = {ACM}, Title = {Highly dynamic behaviour adaptability through prototypes with subjective multimethods}, Url = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_paper/WP_2007_DLS.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_paper/WP_2007_DLS.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297081.1297094} } @inproceedings{Gonz09a, Abstract = {The emerging field of context-oriented programming gives a predominant role to the execution context of applications, and advocates the use of dedicated mechanisms to allow the elegant expression of behavioural adaptations to such context. With suitable reflective facilities, language semantics can be adapted to context by reusing the same context-oriented mechanisms that allow base-level adaptability. This kind of meta-level adaptability, in which the computation model itself becomes adaptable to context, gives rise to context-oriented computational reflection. To explore this idea, we set out to implement a simple software transactional memory system that exploits meta-level adaptability by regarding transactions as contexts, and adapting fundamental system behaviour to such transactional contexts. The implementation is succinct and non-intrusive, giving us an indication of the power lying at the crossroads of context-oriented programming and computational reflection.}, Address = {New York, NY, USA}, Author = {Gonz\'{a}lez, Sebasti\'{a}n and Denker, Marcus and Mens, Kim}, Booktitle = {COP '09: International Workshop on Context-Oriented Programming}, Doi = {10.1145/1562112.1562115}, Isbn = {978-1-60558-538-3}, Keywords = {cop-lit gonzales ambience}, Location = {Genova, Italy}, Pages = {1--6}, Publisher = {ACM}, Title = {Transactional contexts: harnessing the power of context-oriented reflection}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1562112.1562115} } @inproceedings{Good81a, Address = {Portland, Oregon}, Author = {M. Good}, Booktitle = {Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation}, Keywords = {uilit etude text}, Misc = {June 8-10}, Month = jun, Title = {Etude and the Folklore of User Interface Design}, Year = {1981} } @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}, Howpublished = {United States Patent 5,699,507}, Keywords = {clones}, Month = dec, Title = {Method of identifying similarities in code segments}, Url = {http://patft.uspto.gov/netahtml/search-bool.html}, Year = {1997}, Bdsk-Url-1 = {http://patft.uspto.gov/netahtml/search-bool.html} } @book{Good87a, Author = {Danny Goodman}, Isbn = {1583480048}, Publisher = {iUniverse}, Title = {The Complete HyperCard 2.2 Handbook}, Year = {1998} } @book{Goos94a, Author = {Michael Goossens and Frank Mittelbach and Alexander Samarin}, Isbn = {0-201-54199-8}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The Latex Companion}, Year = {1994} } @book{Goos99a, Author = {Michael Goossens and Sebastian Rahtz}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The LaTex Web Companion}, Year = {1999} } @article{Gopi08a, Address = {New York, NY, USA}, Author = {Madhu Gopinathan and Sriram K. Rajamani}, Doi = {10.1145/1449955.1449784}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {10}, Pages = {245--260}, Publisher = {ACM}, Title = {Enforcing object protocols by combining static and runtime analysis}, Volume = {43}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449955.1449784} } @book{Gord79a, Author = {M.J.C. Gordon and A.J. Milner and C.P. Wadsworth}, Keywords = {fpl ml semantics}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Edinburgh {LCF}}, Volume = {78}, Year = {1979} } @book{Gord79b, Author = {M.J.C. Gordon}, Keywords = {pl-semantics}, Publisher = {Springer-Verlag}, Title = {The Denotational Description of Programming Languages}, Year = {1979} } @book{Gord81a, Address = {London}, Author = {A. D. Gordon}, Keywords = {clustering}, Publisher = {Chapman \& Hall Ltd.}, Title = {Classification: Methods for the Exploratory Analysis of Multivariate Data}, Year = {1981} } @inproceedings{Gord97a, Author = {Andrew D. Gordon and Paul D. Hankin and S. B. Lassen}, Booktitle = {Proceedings FST+TCS '97}, Keywords = {pcalc mobility pisem}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Compilation and Equivalence of Imperative Objects}, Url = {http://research.microsoft.com/~adg/Publications/details.html}, Year = {1997}, Bdsk-Url-1 = {http://research.microsoft.com/~adg/Publications/details.html} } @inproceedings{Gord98a, Author = {Andrew D. Gordon and Paul D. Hankin}, Booktitle = {Proceedings HLCL '98}, Keywords = {pcalc mobility pisem}, Publisher = {Elsevier ENTCS}, Title = {A Concurrent Object Calculus: Reduction and Typing}, Url = {http://research.microsoft.com/~adg/Publications/details.html}, Year = {1998}, Bdsk-Url-1 = {http://research.microsoft.com/~adg/Publications/details.html} } @inproceedings{Gord07a, Address = {New York, NY, USA}, Author = {Donald Gordon and James Noble}, Booktitle = {DLS '07: Proceedings of the 2007 symposium on Dynamic languages}, Isbn = {978-1-59593-868-8}, Location = {Montreal, Quebec, Canada}, Pages = {41--52}, Publisher = {ACM}, Title = {Dynamic ownership in a dynamic language}, Year = {2007} } @book{Gore96a, Author = {Jacob Gore}, Isbn = {0-201-63480-5}, Keywords = {olit-oopl eiffel components}, Publisher = {Addison Wesley}, Title = {Object Structures: Building Object-Oriented Software Components with Eiffel}, Year = {1996} } @phdthesis{Gosl83a, Author = {J. Gosling}, School = {Carnegie Mellon University}, Title = {Algebraic Constraints}, Year = {1983} } @book{Gosl95a, Author = {James Gosling and H. McGilton}, Keywords = {olit oopl java}, Month = may, Publisher = {Sun Microsystems Computer Company}, Title = {The {Java} Language Environment}, Year = {1995} } @book{Gosl96a, Author = {James Gosling and Bill Joy and Guy Steele}, Isbn = {0-201-63451-1}, Keywords = {olit oopl java}, Publisher = {Addison Wesley}, Title = {The {Java} Language Specification}, Year = {1996} } @book{Gosl96b, Author = {James Gosling and Frank Yelling and The {Java} Team}, Isbn = {0-201-63453-8}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Application Programming Interface Volume 1}, Year = {1996} } @book{Gosl96c, Author = {James Gosling and Frank Yelling and The {Java} Team}, Isbn = {0-201-63459-7}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Application Programming Interface Volume 2}, Year = {1996} } @book{Gosl00a, Author = {James Gosling and Bill Joy and Guy Steele and Gilad Bracha}, Isbn = {0-201-31008-2}, Keywords = {olit oopl java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} Language Specification, Second Edition}, Year = {2000} } @book{Gosl05a, Author = {James Gosling and Bill Joy and Guy Steele and Gilad Bracha}, Isbn = {0-321-24678-0}, Keywords = {olit oopl java}, Publisher = {Addison Wesley}, Title = {The {Java} Language Specification (Third Edition)}, Year = {2005} } @inproceedings{Goss90a, Author = {Sanjiv Gossain and Bruce Anderson}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-reuse oopsla90 ecoop90proc}, Month = oct, Pages = {12--27}, Title = {An Iterative-Design Model for Reusable Object-Oriented Software}, Volume = {25}, Year = {1990} } @article{Goth05a, Author = {Greg Goth}, Doi = {10.1109/MS.2005.96}, Journal = {IEEE Software}, Number = {4}, Pages = {108--111}, Title = {Beware the March of This {IDE}: {Eclipse} Is Overshadowing Other Tool Technologies}, Url = {http://csdl.computer.org/comp/mags/so/2005/04/s4108.pdf}, Volume = {22}, Year = {2005}, Bdsk-Url-1 = {http://csdl.computer.org/comp/mags/so/2005/04/s4108.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/MS.2005.96} } @article{Gott96a, Author = {Georg Gottlob and Michael Schrefl and Brigitte R{\"o}ck}, Journal = {ACM Transactions on Information Systems}, Month = jul, Number = {3}, Pages = {268--296}, Title = {Extending Object-Oriented Systems with Roles}, Volume = {14}, Year = {1996} } @techreport{Gotz92a, Author = {Norbert G{\"o}tz and Ulrich Herzog and Michael Rettelbach}, Institution = {Universit{\"a}t Erlangen-N{\"u}rnberg}, Keywords = {performance evaluation binder}, Month = mar, Title = {{TIPP}: {A} Language for Timed Processes and Performance Evaluation}, Type = {Report Internal}, Year = {1992} } @article{Goul93a, Author = {Jhon D. Gould and Jacob Ukelson and Stephen J. Boies}, Journal = {Int. J. Man-Machine Studies}, Keywords = {binder}, Pages = {113--146}, Title = {Improving application development productivity by using {ITS}}, Volume = {39}, Year = {1993} } @inproceedings{Gous08a, Address = {New York, NY, USA}, Author = {Gousios, Georgios and Kalliamvakou, Eirini and Spinellis, Diomidis}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370781}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {129--132}, Publisher = {ACM}, Title = {Measuring developer contribution from software repository data}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370781} } @inproceedings{Govi00a, Address = {Washington, DC, USA}, Author = {Madhusudhan Govindaraju and Aleksander Slominski and Venkatesh Choppella and Randall Bramley and Dennis Gannon}, Booktitle = {Supercomputing '00: Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM)}, Isbn = {0-7803-9802-5}, Location = {Dallas, Texas, United States}, Pages = {61}, Publisher = {IEEE Computer Society}, Title = {Requirements for and evaluation of RMI protocols for scientific computing}, Year = {2000} } @techreport{Gowi96a, Author = {Gowing, Brendan and Cahill, Vinny}, Institution = {AAA}, Publisher = {University of Bologna}, Source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Acabernet%3Ancstrl.cabernet%2F%2FTCD-DSG\#TCD-CS-96-16}, Title = {Meta-Object Protocols for {C++}: The {Iguana} Approach}, Keywords = {uni-refl}, Year = {1996} } @article{Graf86a, Author = {Suzanne Graf and Joseph Sifakis}, Journal = {Acta Informatica}, Keywords = {pcalc equivalence ccs regular processes binder}, Number = {5}, Pages = {507--528}, Title = {A Logic for the Specification and Proof of Regular Controllable Processes of {CCS}}, Volume = {23}, Year = {1986} } @techreport{Graf90a, Address = {Paderborn}, 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}, Institution = {Siemens Nixdorf Informationssysteme AG}, Keywords = {olit-ithaca adl}, Misc = {Dec. 31}, Month = dec, Number = {Nixdorf.90.U.2.#7}, Title = {{ADL} Syntax Description}, Type = {ITHACA Report}, Year = {1990} } @book{Grah93a, Author = {Ian Graham}, Edition = {2nd}, Isbn = {0-201-59371-8}, Keywords = {oobib(gen) book scglib}, Publisher = {Addison Wesley}, Title = {Object-Oriented Methods}, Year = {1993} } @inproceedings{Grah94a, Author = {P. Graham and K. Barker}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {313--328}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Effective Optimistic Concurrency Control in Multiversion Object Bases}, Volume = {858}, Year = {1994} } @misc{Graham, Author = {Paul Graham}, Note = {http://www.paulgraham.com/avg.html}, Title = {Beating the averages} } @book{Gran98b, Author = {Mark Grant}, Isbn = {0-471-25839-3}, Keywords = {olit-oopl java patterns scglib}, Publisher = {Willey}, Title = {Patterns in {Java} Volume 1}, Year = {1998} } @phdthesis{Gran99a, Author = {Calum A. McK. Grant}, Month = dec, School = {Queens' College, Cambridge}, Title = {Software Visualization in Prolog}, Year = {1999} } @inproceedings{Gran08a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Scott Grant and James R. Cordy and David Skillicorn}, Booktitle = {Proceedings of 15th Working Conference on Reverse Engineering (WCRE'08)}, Isbn = {978-0-7695-3429-9}, Keywords = {semantic clustering lsi}, Location = {Pittsburgh, PA}, Month = oct, Pages = {138--142}, Publisher = {IEEE Computer Society Press}, Title = {Automated Concept Location Using Independent Component Analysis}, Url = {http://cs.queensu.ca/~cordy//Papers/GCS_WCRE08_ICA.pdf}, Year = {2008}, Bdsk-Url-1 = {http://cs.queensu.ca/~cordy//Papers/GCS_WCRE08_ICA.pdf} } @inproceedings{Gras86a, Author = {J.E. Grass and R.H. Campbell}, Booktitle = {Proceedings of the IEEE Conference on Distributed Computing Systems}, Keywords = {concurrency synchronization binder}, Month = sep, Pages = {468--477}, Title = {Mediators: {A} Synchronization Mechanism}, Year = {1986} } @article{Gras92a, Author = {J.E. Grass}, Journal = {Computing Systems}, Number = {1}, Pages = {5--67}, Title = {Object-Oriented Design Archeology with {CIA}++}, Volume = {5}, Year = {1992} } @article{Grass59a, Author = {P. Grasse}, Journal = {Insectes Sociaux}, Keywords = {bioinspired, stigmergy}, Pages = {6:41--81}, Title = {La Reconstruction du Nid et les Coordinations Inter-Individuelles chez Bellicositermes Natalensis et Cubitermes sp. La theorie de la Stigmergie: Essai d'Interpretation du Comportement des Termites Construcieurs}, Year = {1959} } @inproceedings{Grau88a, Address = {Oslo}, Author = {Nicolas Graube}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {110--127}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reflexive Architecture: From {ObjVlisp} to {CLOS}}, Volume = {322}, Year = {1988} } @inproceedings{Grau89a, Author = {Nicolas Graube}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {305--316}, Title = {Metaclass Compatibility}, Volume = {24}, Year = {1989} } @phdthesis{Grau98a, Address = {Germany}, Author = {Graudejus, H.}, Keywords = {fca}, School = {Univeristy of Kaiserslautern}, Title = {Implementing a Concept Analysis Tool for Identifying Abstract Data Types in C Code}, Year = {1998} } @inproceedings{Grau01a, Author = {Paul Graunke and Shriram Krishnamurthi and Van Der Hoeven, Steve and Matthias Felleisen}, Booktitle = {Proceedings of ESOP 2001}, Pages = {122--136}, Series = {Lecture Notes in Computer Science}, Title = {Programming the Web with High-Level Programming Languages}, Volume = {2028}, Year = {2001} } @inproceedings{Grau01b, Author = {Paul Graunke and Robert Bruce Findler and Shriram Krishnamurthi and Matthias Felleisen}, Booktitle = {International Conference on Automated Software Engineering}, Title = {Automatically Restructuring Programs for the Web}, Year = {2001} } @inproceedings{Grau03a, Author = {Paul Graunke and Shriram Krishnamurthi and Van Der Hoeven, Steve and Matthias Felleisen}, Booktitle = {Proceedings of ESOP 2003}, Pages = {122--136}, Series = {Lecture Notes in Computer Science}, Title = {Modeling Web Interactions}, Volume = {2618}, Year = {2003} } @phdthesis{Grav89a, Author = {Justin Graver}, Keywords = {olit-oopl smalltalk types binder (shelf)}, Month = aug, Number = {UIUC DCS-R-89-1539}, School = {University of Illinois at Urbana-Champaign}, Title = {Type-Checking and Type-Inference for Object-Oriented Programming Languages}, Type = {{Ph.D}. Thesis}, Year = {1989} } @article{Grav00a, Author = {T. L. Graves and A. F. Karr and J. S. Marron and H. Siy}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {evolution}, Number = {2}, Title = {Predicting Fault Incidence Using Software Change History}, Volume = {26}, Year = {2000} } @inproceedings{Gray81a, Author = {J. Gray}, Booktitle = {Proceedings of the Seventh International Conference on Very Large Data Bases}, Keywords = {dblit transactions}, Pages = {144--154}, Title = {The Transaction Concept: Virtues and Limitations}, Year = {1981} } @article{Gray05a, Address = {New York, NY, USA}, Author = {Kathryn E. Gray and Robert Bruce Findler and Matthew Flatt}, Doi = {10.1145/1103845.1094830}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {10}, Pages = {231--245}, Publisher = {ACM}, Title = {Fine-grained interoperability through mirrors and contracts}, Volume = {40}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1103845.1094830} } @inproceedings{Gray08a, Author = {Kathryn E. Gray}, Booktitle = {Proceedings {ECOOP}'08}, Pages = {52-75}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Safe Cross-Language Inheritance}, Volume = {5142}, Year = {2008} } @inproceedings{Gree85a, Author = {M. Green}, Booktitle = {Computer Graphics}, Month = jul, Number = {3}, Pages = {205--213}, Title = {The University of Alberta User Interface Management System}, Volume = {19}, Year = {1985} } @inproceedings{Gree95a, Address = {Noordwijkerhout, the Netherlands}, Author = {R. Mark Greenwood}, Booktitle = {Proceedings of the 4th European Workshop (EWSPT '95)}, Keywords = {coordination}, Month = apr, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Coordination Theory and Software Process Technology}, Url = {ftp://ftp.cs.man.ac.uk/pub/IPG/mg95.ps.Z}, Volume = {913}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/IPG/mg95.ps.Z} } @inproceedings{Gree96a, Author = {R. Mark Greenwood}, Booktitle = {Proceedings 18th International Conference of Software Enginnering 1996}, Keywords = {coordination}, Title = {Cooperting Evolving Components --- a rigorous approach to evolving large software system}, Url = {ftp://ftp.cs.man.ac.uk/pub/IPG/gws96.ps.Z}, Year = {1996}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/IPG/gws96.ps.Z} } @book{Gree99a, Author = {Alan Greenspun}, Keywords = {scglib}, Publisher = {Morgan Kaufman}, Title = {Philip and Alex's Guide To Webpublishing}, Year = {1999} } @inproceedings{Gree99b, 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.}, Address = {Lisbon, Portugal}, Author = {Aaron Greenhouse and John Boyland}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {205--229}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Effects System}, Volume = 1628, Year = {1999} } @inproceedings{Gree03a, Address = {New York, NY, USA}, Author = {Jack Greenfield and Keith Short}, Booktitle = {OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/949344.949348}, Isbn = {1-58113-751-6}, Location = {Anaheim, CA, USA}, Pages = {16--27}, Publisher = {ACM}, Title = {Software factories: assembling applications with patterns, models, frameworks and tools}, Tokens = {dsllib}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949344.949348} } @inproceedings{Gree05a, 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.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Orla Greevy and St\'ephane Ducasse}, Booktitle = {Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR'05)}, Cvs = {TraceScraperRevEng}, Doi = {10.1109/CSMR.2005.21}, Inria = {hors}, 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\%}, AcceptTotal = {81}, AcceptNum = {33}, Pages = {314--323}, Publisher = {IEEE Computer Society}, Rate = {41%}, Selectif = {non}, Title = {Correlating Features and Code Using A Compact Two-Sided Trace Analysis Approach}, Url = {http://scg.unibe.ch/archive/papers/Gree05aTraceScraperCSMR2005Features.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree05aTraceScraperCSMR2005Features.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2005.21} } @inproceedings{Gree05b, 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}, Author = {Orla Greevy and St\'ephane Ducasse}, Booktitle = {Proceedings of WOOR 2005 (6th International Workshop on Object-Oriented Reengineering)}, Cvs = {TraceScraperWOOR2005}, Keywords = {scg-pub skip-doi greevy jb06 MISSINGPAGENUMBERS stefPub Feature Feature-Traces Dynamic Analysis Evolution moose-pub recast05}, Month = jul, Title = {Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces}, Url = {http://scg.unibe.ch/archive/papers/Gree05bTraceScraperWOOR2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree05bTraceScraperWOOR2005.pdf} } @inproceedings{Gree05c, 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.}, Address = {Los Alamitos}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {Proceedings of 21st IEEE International Conference on Software Maintenance (ICSM'05)}, Cvs = {TraceScraperICSM2005Evolution}, Doi = {10.1109/ICSM.2005.22}, Inria = {hors}, Keywords = {scg-pub girba greevy jb06 stefPub Features Feature-Traces Dynamic-Analysis Evolution history moose-pub recast06 listic}, Misc = {acceptance rate: 55/180 = 31\%}, AcceptTotal = {180}, AcceptNum = {55}, Month = sep, Pages = {347--356}, Publisher = {IEEE Computer Society}, Rate = {31%}, Selectif = {oui}, Title = {Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis}, Url = {http://scg.unibe.ch/archive/papers/Gree05cTraceScraperICSM2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree05cTraceScraperICSM2005.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2005.22} } @inproceedings{Gree05d, 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}, Author = {Orla Greevy and Michele Lanza and Christoph Wysseier}, Booktitle = {Proceedings of {VISSOFT} 2005 (3th IEEE International Workshop on Visualizing Software for Understanding)}, Cvs = {TraceCrawlerVissoft2005}, Keywords = {scg-pub skip-doi greevy jb06 Feature Feature-Traces Dynamic Analysis Evolution moose-pub recast06}, Month = sep, Pages = {114--119}, Title = {Visualizing Feature Interaction in {3-D}}, Url = {http://scg.unibe.ch/archive/papers/Gree05dTraceCrawlerVissoft2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree05dTraceCrawlerVissoft2005.pdf} } @inproceedings{Gree05e, Annote = {internationalconference}, Author = {Orla Greevy and Abdelwahab Hamou-Lhadj and Andy Zaidman}, Booktitle = {12th Working Conference on Software Maintenance and Reengineering (WCRE 2005)}, Doi = {10.1109/WCRE.2005.35}, Keywords = {scg-pub skip-abstract greevy jb06 Dynamic Analysis moose-pub recast07}, Month = sep, Pages = {232--232}, Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})}, Url = {http://www.lore.ua.ac.be/Events/PCODA2005/index.html http://www.lore.ua.ac.be/Events/PCODA2005/PCODA2005proceedings.pdf http://scg.unibe.ch/archive/papers/Gree05e-pcoda2005proceedings.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.lore.ua.ac.be/Events/PCODA2005/index.html%20http://www.lore.ua.ac.be/Events/PCODA2005/PCODA2005proceedings.pdf%20http://scg.unibe.ch/archive/papers/Gree05e-pcoda2005proceedings.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2005.35} } @inproceedings{Gree06a, 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}, Author = {Orla Greevy and Michele Lanza and Christoph Wysseier}, Booktitle = {Proceedings of SoftVis 2006 (ACM Symposium on Software Visualization)}, Cvs = {TraceCrawlerSoftVis2006}, Doi = {10.1145/1148493.1148501}, Keywords = {scg-pub greevy jb07 fb06 Feature Feature-Traces Dynamic Analysis 3D moose-pub recast07}, Medium = {2}, Month = sep, Peerreview = {yes}, Title = {Visualizing live Software Systems in 3{D}}, Url = {http://scg.unibe.ch/archive/papers/Gree06aTraceCrawlerSoftVis2006.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree06aTraceCrawlerSoftVis2006.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1148493.1148501} } @article{Gree06b, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba}, Doi = {10.1002/smr.340}, Impactfactor = {0.606, SCI 2002-2004}, Inria = {hors}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice (JSME)}, Keywords = {scg-pub recast07 snf07 jb07 fb06 stefPub girba mooseCincom dynamic-analysis feature evolution moose-pub}, Medium = {2}, Misc = {SCI impact factor 0.606 (2002-2004)}, Number = {6}, Pages = {425--456}, Peerreview = {yes}, Selectif = {non}, Title = {Analyzing Software Evolution through Feature Views}, Url = {http://scg.unibe.ch/archive/papers/Gree06bTraceScraperJSME-SCG.pdf}, Volume = {18}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree06bTraceScraperJSME-SCG.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/smr.340} } @inproceedings{Gree07a, Abstract = {Software systems are typically developed by teams of developers, with responsibilities for different parts of the code. Knowledge of how the developers collaborate, and how their responsibilities are distributed over the software artifacts is a valuable source of information when reverse engineering a system. Determining which developers are responsible for which software artifacts (\eg packages or classes) is just one perspective. In this paper we complement the static perspective with the dynamic perspective of a system in terms of its features. We want to extract information about which developers are responsible for which features. To achieve these two perspectives, we correlate developer responsibilities both with a structural view of the system and with a feature view. We identify which developers are responsible for which features, and whether the responsibilities correspond with structural source code artifacts or with features. We apply our technique to two software projects developed by two teams of students as part of their course work, and to one large open source project.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Orla Greevy and Tudor G\^irba and St\'ephane Ducasse}, Booktitle = {Proceedings of 11th European Conference on Software Maintenance and Reengineering (CSMR 2007)}, Cvs = {TraceScraperCSMR2007}, Doi = {10.1109/CSMR.2007.27}, Inria = {hors}, Isbn = {0-7695-2802-3}, Issn = {1534-5351}, Keywords = {scg07 scg-pub greevy jb07 stefPub snf07 moose-pub authors features evolution dynamic-analysis girba}, Medium = {2}, Misc = {Acceptance rate: 38/132=29\%}, AcceptTotal = {132}, AcceptNum = {38}, Pages = {256--274}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Rate = {29%}, Selectif = {oui}, Title = {How Developers Develop Features}, Url = {http://scg.unibe.ch/archive/papers/Gree07aDevelopersDevelopFeatures.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree07aDevelopersDevelopFeatures.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2007.27} } @phdthesis{Gree07b, 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.}, Author = {Orla Greevy}, Keywords = {scg-phd snf07 jb07 moose-pub dynamix dynamic analyis metrics visualization}, Month = may, School = {University of Bern}, Title = {Enriching Reverse Engineering with Feature Analysis}, Url = {http://scg.unibe.ch/archive/phd/greevy-phd.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/greevy-phd.pdf} } @inproceedings{Gree07c, Abstract = {Many researchers have identified the potential of exploiting domain knowledge in a reverse engineering context. Features are abstractions that encapsulate knowledge of a problem domain and denote units of system behavior. As such, they represent a valuable resource for reverse engineering a system. 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. To incorporate features into reverse engineering analyses, we need to explicitly model features, their relationships to source artefacts, and their relationships to each other. To address this we propose Dynamix, am meta--model that expresses feature entities in the context of a structural meta-model of source code entities. Our meta-model supports feature-centric reverse engineering techniques that establish traceability between the problem and solution domains throughout the life-cycle of a system.}, Annote = {internationalworkshop}, Author = {Orla Greevy}, Booktitle = {Proceedings of FAMOOSr 2007 (Ist International Workshop on FAMIX and Moose in Reengineering)}, Keywords = {scg07 scg-pub snf07 skip-doi greevy jb07 Feature Feature-Traces Dynamic Analysis Evolution moose-pub}, Medium = {2}, Month = jun, Peerreview = {yes}, Title = {Dynamix --- a Meta-Model to Support Feature-Centric Analysis}, Url = {http://scg.unibe.ch/archive/papers/Gree07cDynamixFAMOOSr2007.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gree07cDynamixFAMOOSr2007.pdf} } @article{Greg09a, author = {Gregersen, Allan Raundahl and J{\o}rgensen, Bo N{\o}rregaard}, title = {Dynamic update of {Java} applications --- balancing change flexibility vs programming transparency}, journal = {J. Softw. Maint. Evol.}, volume = {21}, issue = {2}, month = {mar}, year = {2009}, issn = {1532-060X}, pages = {81--112}, numpages = {32}, url = {http://portal.acm.org/citation.cfm?id=1526497.1526501}, doi = {10.1002/smr.v21:2}, acmid = {1526501}, publisher = {John Wiley \& Sons, Inc.}, address = {New York, NY, USA}, keywords = {dynamic update, software evolution, software maintenance} } @article{Grei00a, Author = {Howard Greisdorf}, Journal = {Informing Science}, Keywords = {relevance information retrieval}, Note = {Special Issue on Information Science Research}, Number = {2}, Title = {Relevance: An Interdisciplinary and Information Science Perspective}, Volume = {3}, Year = {2000} } @misc{Grid, Key = {Extreme! Computing Lab}, Note = {http://www.extreme.indiana.edu/xgws/}, Title = {Indiana University, Extreme! Computing Lab. Grid Web Services}, Url = {http://www.extreme.indiana.edu/xgws/}, Bdsk-Url-1 = {http://www.extreme.indiana.edu/xgws/} } @article{Grie77a, Author = {David Gries and N. Gehani}, Journal = {CACM}, Keywords = {types olit iteration}, Month = jun, Number = {6}, Pages = {414--420}, Title = {Some Ideas on Data Types in High-Level Languages}, Volume = {20}, Year = {1977} } @article{Grie81a, Author = {Sam Grier}, Journal = {SIGSCE Bulletin}, Keywords = {plagiarism}, Number = {1}, Title = {A Tool that Detects Plagiarism in {PASCAL} Programs}, Volume = {13}, Year = {1981} } @book{Grif98a, Author = {Frank Griffel}, Isbn = {3-932588-02-9}, Keywords = {olit component cose glue}, Publisher = {dpunkt-Verlag}, Title = {Componentware: Konzepte und Techniken eines Softwareparadigmas}, Year = {1998} } @inproceedings{Grim87a, Author = {Andrew S. Grimshaw and Jane W.S. Liu}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {35--47}, Title = {Mentat: An Object-Oriented Macro Data Flow System}, Volume = {22}, Year = {1987} } @techreport{Grim04a, Author = {Robert Grimm}, Institution = {New York University}, Keywords = {parsing}, Title = {Practical Packrat Parsing}, Url = {http://www.cs.nyu.edu/csweb/Research/TechReports/TR2004-854/TR2004-854.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.cs.nyu.edu/csweb/Research/TechReports/TR2004-854/TR2004-854.pdf} } @article{Grim04b, address = {New York, NY, USA}, author = {Grimm, Robert and Davis, Janet and Lemar, Eric and Macbeth, Adam and Swanson, Steven and Anderson, Thomas and Bershad, Brian and Borriello, Gaetano and Gribble, Steven and Wetherall, David}, doi = {10.1145/1035582.1035584}, issn = {0734-2071}, journal = {ACM Transactions on Computer Systems}, keywords = {damiencbib one.world}, month = nov, number = {4}, pages = {421--486}, publisher = {ACM}, title = {System support for pervasive applications}, volume = {22}, year = {2004} } @inproceedings{Grim06a, Title = {Better extensibility through modular syntax}, Author = {Robert Grimm}, Booktitle = {PLDI 2006}, Pages = {38--51}, Year = {2006}, Keywords = {packrat parsing}, Organization = {ACM} } @article{Gris95a, Author = {William G. Griswold and David Notkin}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit binder}, Month = apr, Number = {4}, Pages = {275--287}, Title = {Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool}, Volume = {21}, Year = {1995} } @book{Gris96a, Author = {Ralph E. Griswold and Madge T. Griswold}, Isbn = {1-57398-001-3}, Keywords = {icon scripting}, Month = dec, Publisher = {Peer-to-Peer Communications}, Title = {The Icon Programming Language}, Url = {http://www.peer-to-peer.com/catalog/language/icon.html}, Year = {1996}, Bdsk-Url-1 = {http://www.peer-to-peer.com/catalog/language/icon.html} } @techreport{Gris98a, Author = {William G. Griswold}, Institution = {University of California, San Diego, Department of Computer Science and Engineering}, Month = apr, Number = {CS98-585}, Revised = {August 1998}, Title = {Coping With Software Change Using Software Transparency}, Type = {Technical Report}, Url = {www.cs.ucsd.edu/users/wgg/Abstracts/infotrans.html}, Year = {1998}, Bdsk-Url-1 = {www.cs.ucsd.edu/users/wgg/Abstracts/infotrans.html} } @inproceedings{Gris01a, Author = {William G. Griswold and Jimmy J. Juan and Yoshikiyo Kato}, Booktitle = {Proceedings of the 2001 International Conference on Software Engineering (ICSE 2001)}, Month = mar, Organization = {IEEE Computer Society}, Title = {Exploiting the Map Metaphor in a Tool for Software Evolution}, Year = {2001} } @inproceedings{Groh98a, Address = {Berlin}, Author = {B. Groh and S. Strahringer and R. Wille}, Booktitle = {Proceedings of the 6th International Conference on Conceptual Structures}, Keywords = {fca}, Pages = {127--138}, Publisher = {Springer Verlag}, Series = {LNAI 1453}, Title = {TOSCANA-Systems Based on Thesauri}, Year = {1998} } @inproceedings{Groh99a, Address = {Berlin}, Author = {B. Groh and P. Eklund}, Booktitle = {Conceptual Structures: Standards and Practices}, Editor = {W. Tepfenhart and W. Cyre}, Keywords = {fca}, Pages = {389--400}, Publisher = {Springer Verlag}, Series = {Lecture Notes in Artificial Intelligence}, Title = {Algorithms for Creating Relational Power Context Families from Conceptual Graphs}, Year = {1999} } @inproceedings{Gron06a, Author = {Jessica Gronski and Kenneth Knowles and Aaron Tomb and Stephen N. Freund and Cormac Flanagan}, Booktitle = {Scheme and Functional Programming Workshop}, Pages = {93--104}, Title = {Sage: Hybrid Checking for Flexible Specifications}, Year = {2006} } @inproceedings{Gros87a, Author = {Mark Grossman and Raimund K. Ege}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {295--306}, Title = {Logical Composition of Object-Oriented Interfaces}, Volume = {22}, Year = {1987} } @inproceedings{Gros02a, Author = {David Grosser and Houari A. Sahraoui and Petko Valtchev}, Booktitle = {Proceedings of the 17th IEEE International Conference on Automated Software Engienering (ASE '02)}, Doiu = {10.1109/ASE.2002.1115033}, Keywords = {olit}, Pages = {295--298}, Title = {Predicting software stability using Case-Based Reasoning}, Year = {2002} } @article{Gros07a, Address = {New York, NY, USA}, Author = {Dan Grossman}, Doi = {10.1145/1297105.1297080}, Issn = {0362-1340}, Journal = {SIGPLAN Notices}, Number = {10}, Pages = {695--706}, Publisher = {ACM}, Title = {The transactional memory / garbage collection analogy}, Volume = {42}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297105.1297080} } @inproceedings{Grot01a, Address = {New York, NY, USA}, Author = {Christian Grothoff and Jens Palsberg and Jan Vitek}, Booktitle = {Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications (OOPSLA'01)}, Doi = {10.1145/504282.504300}, Isbn = {1-58113-335-9}, Keywords = {nonstandard types}, Location = {Tampa Bay, FL, USA}, Pages = {241--255}, Publisher = {ACM Press}, Title = {Encapsulating objects with confined types}, Url = {http://www.cs.ucla.edu/~palsberg/paper/oopsla01.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.ucla.edu/~palsberg/paper/oopsla01.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/504282.504300} } @article{Grou81a, Author = {{The Xerox Learning Research Group}}, Institution = {The Xerox Learning Research Group}, Journal = {Byte}, Keywords = {olit-oopl smalltalk binder}, Month = aug, Number = {8}, Pages = {36--48}, Title = {The {Smalltalk}-80 System}, Volume = {6}, Year = {1981} } @article{Grov01a, Author = {D. Grove and C. Chambers}, Journal = {ACM Trans.\ Program. Lang.\ Syst.}, Number = 6, Pages = {685--746}, Title = {A Framework for Call Graph Construction Algorithms}, Volume = 23, Year = {2001} } @article{Grun98a, Address = {Piscataway, NJ, USA}, Author = {John Grundy and John Hosking and Warwick B. Mugridge}, Doi = {10.1109/32.730545}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Number = {11}, Pages = {960--981}, Publisher = {IEEE Press}, Title = {Inconsistency Management for Multiple-View Software Development Environments}, Volume = {24}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.730545} } @inproceedings{Grun00a, Author = {John Grundy and John Hosking}, Booktitle = {Symposium on Visual Languages}, Pages = {5--12}, Publisher = {IEEE Computer Society}, Title = {High-Level Static and Dynamic Visualisation of Software Architectures}, Year = {2000} } @book{Grun08a, Author = {Dick Grune and Ceriel J.H. Jacobs}, Isbn = {038720248X}, Keywords = {cclit}, Publisher = {Springer}, Title = {Parsing Techniques --- A Practical Guide}, Url = {http://www.cs.vu.nl/~dick/PT2Ed.html}, Year = {2008}, Bdsk-Url-1 = {http://www.cs.vu.nl/~dick/PT2Ed.html} } @inproceedings{Gsch03a, Address = {Washington, DC, USA}, Annote = {internationalconference}, Author = {Thomas Gschwind and Johann Oberleitner}, Booktitle = {Proceedings of the Seventh European Conference on Software Maintenance and Reengineering (CSMR'03)}, Isbn = {0-7695-1902-4}, Pages = {259}, Publisher = {IEEE Computer Society}, Title = {Improving Dynamic Data Analysis with Aspect-Oriented Programming}, Year = {2003} } @inproceedings{Gude06a, Address = {New York, NY, USA}, Author = {J\"urgen Wolff v. Gudenberg and A. Niederle and M. Ebner and Holger Eichelberger}, Booktitle = {SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization}, Doi = {10.1145/1148493.1148525}, Isbn = {1-59593-464-2}, Location = {Brighton, United Kingdom}, Pages = {163--164}, Publisher = {ACM}, Title = {Evolutionary layout of UML class diagrams}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1148493.1148525} } @inproceedings{Gueh01a, Author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Herv{\'e} Albin-Amiot}, 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}, Month = jul, Pages = {296--305}, Publisher = {IEEE Computer Society Press}, Title = {Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects}, Url = {www.yann-gael.gueheneuc.net/Work/Publications/}, Year = {2001}, Bdsk-Url-1 = {www.yann-gael.gueheneuc.net/Work/Publications/} } @inproceedings{Gueh02a, Author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and R{\'e}mi Douence and Narendra Jussien}, Booktitle = {ASE}, Pages = {117}, Publisher = {IEEE Computer Society}, Title = {No Java without Caffeine: {A} Tool for Dynamic Analysis of Java Programs}, Year = {2002} } @inproceedings{Gueh04a, Address = {Los Alamitos CA}, Author = {Gu{\'e}h{\'e}neuc, Yann-Ga\"el and Sahraoui, Houari and Zaidi, Farouk}, Booktitle = {Working Conference on Reverse Engineering (WCRE'04)}, Pages = {172--181}, Publisher = {IEEE Computer Society Press}, Title = {Fingerprinting Design Patterns}, Year = {2004} } @inproceedings{Gueh06a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and Kim Mens and Roel Wuyts}, Booktitle = {Conference on Software Maintenance and Reengineering (CSMR 2006)}, Keywords = {decomp-pub}, Publisher = {IEEE Computer Society Press}, Title = {A Comparative Framework for Design Recovery Tools}, Url = {http://www.yann-gael.gueheneuc.net/Work/Publications/Documents/CSMR06b.doc.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.yann-gael.gueheneuc.net/Work/Publications/Documents/CSMR06b.doc.pdf} } @article{Gueh10a, author = {Gu\'{e}h\'{e}neuc, Yann-Ga\"{e}l and Guyomarc'H, Jean-Yves and Sahraoui, Houari}, title = {Improving design-pattern identification: a new approach and an exploratory study}, journal = {Software Quality Control}, volume = {18}, issue = {1}, month = mar, year = {2010}, issn = {0963-9314}, pages = {145--174}, numpages = {30}, url = {http://dx.doi.org/10.1007/s11219-009-9082-y}, doi = {10.1007/s11219-009-9082-y}, acmid = {1713203}, publisher = {Kluwer Academic Publishers}, address = {Hingham, MA, USA}, keywords = {Design patterns, Explanation-based constraint programming, Exploratory study, Metrics, Program understanding} } @unpublished{Guen90a, Author = {Andreas G{\"u}ndel}, Keywords = {types binder}, Misc = {Feb. 28}, Month = feb, Note = {University of Dortmund}, Title = {Compatibility Conditions on Subclasses}, Type = {Draft}, Year = {1990} } @mastersthesis{Guen98a, Author = {Manuel G{\"u}nter}, Keywords = {snf-none scg-pub skip-abstract skip-doi scg-msc jb98 scg-coord-98}, Month = mar, School = {University of Bern}, Title = {Explicit Connectors for Coordination of Active Objects}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Guen98a/index.html http://scg.unibe.ch/archive/masters/Guen98a/Guen98a.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Guen98a/index.html%20http://scg.unibe.ch/archive/masters/Guen98a/Guen98a.pdf} } @techreport{Guen99a, Author = {Simon G{\"u}nter}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = may, Title = {Trademark Application}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Guen99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Guen99a.pdf} } @inproceedings{Guer92a, Address = {Utrecht, the Netherlands}, Author = {Rachid Guerraoui and Riccardo Capobianchi and Agnes Lanusse and Pierre Roux}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-obc ecoop92proc binder}, Month = jun, Pages = {170--184}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Nesting Actions through Asynchronous Message Passing: the {ACS} Protocol}, Volume = {615}, Year = {1992} } @inproceedings{Guer92b, Address = {Boston}, Author = {Rachid Guerraoui and Riccardo Capobianchi and Agnes Lanusse and Pierre Roux}, Booktitle = {Proceedings IEEE FTDS}, Keywords = {olit-obcl karos binder}, Title = {Atomic Asynchronous Objects Invocations in a Fault-Tolerant Distributed System}, Year = {1992} } @phdthesis{Guer92c, Author = {Rachid Guerraoui}, Keywords = {olit-obcl karos binder (shelf)}, Month = oct, School = {Universit\'e de Paris-Sud}, Title = {Programmation Repartie par Objets: Etudes et Proposositions}, Type = {{Ph.D}. Thesis}, Year = {1992} } @unpublished{Guer93a, Author = {Rachid Guerraoui}, Keywords = {olit-obc transactions binder}, Note = {EPFL Lausanne}, Title = {Modular Atomic Objects}, Type = {draft manuscript}, Year = {1993} } @book{Guer94a, Doi = {10.1007/BFb0017530}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Isbn = {3-540-57932-X}, Keywords = {olit-obc obdp93 book scglib jb94}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of the {ECOOP}'93 Workshop on Object-Based Distributed Programming}, Volume = {791}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/BFb0017530} } @inproceedings{Guer94b, Address = {Bologna, Italy}, Author = {Rachid Guerraoui}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {118--138}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Atomic Object Composition}, Volume = {821}, Year = {1994} } @inproceedings{Guer94c, Address = {New York, NY, USA}, Author = {Rachid Guerraoui and Beno\^it Garbinato and Karim R. Mazouni}, Booktitle = {EW 6: Proceedings of the 6th workshop on ACM SIGOPS European workshop}, Doi = {10.1145/504390.504404}, Isbn = {1-23456-789-0}, Location = {Wadern, Germany}, Pages = {51--56}, Publisher = {ACM Press}, Title = {The {GARF} library of {DSM} consistency models}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/504390.504404} } @inproceedings{Guer98a, Address = {New York, NY, USA}, Author = {Rachid Guerraoui and Pascal Felber and Beno\^it Garbinato and Karim Mazouni}, Booktitle = {OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/286936.286961}, Isbn = {1-58113-005-8}, Location = {Vancouver, British Columbia, Canada}, Pages = {244--258}, Publisher = {ACM Press}, Title = {System support for object groups}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/286936.286961} } @article{Guib82a, Author = {Leo Guibas and J. Stolfi}, Journal = {ACM TOG}, Keywords = {misc image}, Month = jul, Number = {3}, Pages = {191--214}, Title = {A Language for Bitmap Manipulation}, Volume = {1}, Year = {1982} } @inproceedings{Guim91a, Author = {Nuno Guimaraes}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit-inheritance oopsla91}, Month = nov, Pages = {89--96}, Title = {Building Generic User Interface Tools: an Experience with Multiple Inheritance}, Volume = {26}, Year = {1991} } @incollection{Guin88a, Author = {Raymonde Guindon and Bill Curtis}, Booktitle = {CHI '88}, Keywords = {binder}, Publisher = {ACM}, Title = {Control of Cognitive Processes During Software Design: What Tools are Needed?}, Year = {1988} } @inproceedings{Gull92a, Address = {Los Alamitos CA}, Author = {Bjorn Gulla}, Booktitle = {Proceedings Conference on Software Maintenance (ICSM 1992)}, Keywords = {evolution}, Month = nov, Pages = {376--383}, Publisher = {IEEE Computer Society Press}, Title = {Improved Maintenance Support by Multi-Version Visualizations}, Year = {1992} } @inproceedings{Gumm05a, Address = {New York, NY, USA}, Author = {Ramakrishna Gummadi and Nupur Kothari and Ramesh Govindan and Todd Millstein}, Booktitle = {SOSP '05: Proceedings of the twentieth ACM symposium on Operating systems principles}, Doi = {10.1145/1095810.1118600}, Isbn = {1-59593-079-5}, Location = {Brighton, United Kingdom}, Pages = {1--2}, Publisher = {ACM}, Title = {Kairos: a macro-programming system for wireless sensor networks}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1095810.1118600} } @inproceedings{Gumm07a, Address = {New York, NY, USA}, Author = {Ramakrishna Gummadi and Nupur Kothari and Todd Millstein and Ramesh Govindan}, Booktitle = {AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development}, Doi = {10.1145/1218563.1218583}, Isbn = {1-59593-615-7}, Location = {Vancouver, British Columbia, Canada}, Pages = {173--184}, Publisher = {ACM}, Title = {Declarative failure recovery for sensor networks}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1218563.1218583} } @book{Gunt94a, Author = {Carl A. Gunter and John C. Mitchell}, Isbn = {0-262-07155-X}, Keywords = {olit types oobib(gen) book scglib}, Publisher = {The MIT Press}, Title = {Theoretical Aspects of Object-Oriented Programming}, Year = {1994} } @book{Gunt92a, Author = {Carl. A. Gunter}, Isbn = {0-262-57095-5}, Keywords = {pl scglib}, Publisher = {MIT Press}, Title = {Semantics of Programming Languages}, Year = {1995} } @inproceedings{Guo99a, Author = {Yanbing Guo and Atlee and Kazman}, Booktitle = {Working Conference on Software Architecture (WICSA)}, Pages = {15--34}, Title = {A Software Architecture Reconstruction Method}, Year = {1999} } @inproceedings{Guo00a, 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.}, Author = {Guo, Jiang and Luqi}, Booktitle = {Proceedings of Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems}, Keywords = {olit repository abb reuse}, Month = apr, Pages = {92--100}, Publisher = {IEEE}, Title = {{A Survey of Software Reuse Repositories}}, Url = {http://www.computer.org/proceedings/ecbs/0604/06040092abs.htm}, Year = {2000}, Bdsk-Url-1 = {http://www.computer.org/proceedings/ecbs/0604/06040092abs.htm} } @misc{Gupro, Key = {gupro design-recovery}, Note = {http://www.uni-koblenz.de/~ist/gupro.en.html}, Title = {{GUPRO} Home Page}, Url = {http://www.uni-koblenz.de/~ist/gupro.en.html}, Bdsk-Url-1 = {http://www.uni-koblenz.de/~ist/gupro.en.html} } @inproceedings{Gupt92a, author = {Gupta, Aloke and Hwu, Wen-Mei W.}, title = {{Xprof}: profiling the execution of {X} {Window} programs}, booktitle = {Proceedings of the 1992 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems}, series = {SIGMETRICS '92/PERFORMANCE '92}, year = {1992}, isbn = {0-89791-507-0}, location = {Newport, Rhode Island, United States}, pages = {253--254}, numpages = {2}, url = {http://doi.acm.org/10.1145/133057.133152}, doi = {10.1145/133057.133152}, acmid = {133152}, publisher = {ACM}, address = {New York, NY, USA} } @article{Gupt96a, author = {Gupta, Deepak and Jalote, Pankaj and Barua, Gautam}, title = {A Formal Framework for On-line Software Version Change}, journal = {IEEE Trans. Softw. Eng.}, volume = {22}, number = {2}, year = {1996}, issn = {0098-5589}, pages = {120--131}, numpages = {12}, url = {http://portal.acm.org/citation.cfm?id=229583.229586}, doi = {10.1109/32.485222}, acmid = {229586}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA}, keywords = {On-line software version change, validity of change, process, state, reachable state, data flow analysis, functional enhancement.} } @inproceedings{Gure87a, Address = {Karlsruhe}, Author = {Yuri Gurevich and James M. Morris}, Booktitle = {1st Workshop on Computer Science Logic, CSL '87}, Editor = {E. B{\"o}rger and H. Kleine B{\"u}ning and M.M. Richter}, Keywords = {concurrency semantics modula binder(conc)}, Month = oct, Pages = {81--101}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Algebraic Operational Semantics and Modula-2}, Volume = {329}, Year = {1987} } @inproceedings{Gure89a, Address = {Kaiserslautern}, Author = {Yuri Gurevich and Lawrence S. Moss}, Booktitle = {3rd Workshop on Computer Science Logic, CSL '89}, Editor = {E. B{\"o}rger and H. Kleine B{\"u}ning and M.M. Richter}, Keywords = {concurrency semantics occam binder(conc)}, Month = oct, Pages = {176--192}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Algebraic Operational Semantics and Occam}, Volume = {440}, Year = {1989} } @techreport{Gurt06a, 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.}, Author = {David Gurtner}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb06 fb06 moose-pub}, Month = jul, Title = {Importing {JSP} into {Moose}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Gurt06aJSP.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Gurt06aJSP.pdf} } @mastersthesis{Gurt11a, Abstract = {Applications need to be updated. The traditional approach to stop and consequently restart an application for an update is not a valid scenario in the case of high availability environments --- they need to be updated at runtime. The reflective capabilities of dynamic languages offer a convenient way to install updates at runtime, but do not provide adequate mechanisms to ensure safety. They suffer from (a) the lack of a state transfer mechanism, and (b) possible inconsistent data accesses from old code to new data structures. Existing dynamic software update systems provide solutions for safe dynamic updates but do not scale well to multi-threaded systems. To address these issues, we propose ActiveContext, a programming model to enable dynamic software updates in multi-threaded systems. ActiveContext builds on the reflective capabilities of dynamic languages and adds first-class contexts to support the co-existence and synchronization of multiple versions of objects in memory to ensure safety. We implemented ActiveContext in Pinocchio, a variant of Smalltalk, and built a proof-of-concept dynamic update system leveraging ActiveContext. We demonstrate the viability of our approach with a running example.}, Author = {David Gurtner}, Keywords = {scg-msc jb11 snf11 activecontext cop-lit}, Month = apr, School = {University of Bern}, Title = {Safe Dynamic Software Updates in Multi-Threaded Systems with {ActiveContext}}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Gurt11a.pdf}, Year = {2011} } @book{Gusf97a, Author = {Dan Gusfield}, Keywords = {scglib}, Publisher = {Cambridge University Press}, Title = {Algorithms on Strings, Trees, and Sequences}, Year = {1997} } @inproceedings{Gutf87a, Author = {Steven H. Gutfreund}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {307--317}, Title = {ManiplIcons in ThinkerToy}, Volume = {22}, Year = {1987} } @article{Gutt77a, Author = {John Guttag}, Journal = {CACM}, Keywords = {types olit data abstraction binder}, Month = jun, Number = {6}, Pages = {396--404}, Title = {Abstract Data Types and the Development of Data Structures}, Volume = {20}, Year = {1977} } @article{Gutt85a, Author = {John V. Guttag and James J. Horning and Jeannette M. Wing}, Journal = {IEEE Transactions on Software Engineering}, Month = sep, Number = {5}, Pages = {24--36}, Title = {The {Larch} Family of Specification Languages}, Volume = {2}, Year = {1985} } @inproceedings{Gutt93a, Author = {J.V. Guttag}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {1--14}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Goldilocks and Three Specifications}, Volume = {668}, Year = {1993} } @book{Guzd01a, Author = {Mark Guzdial}, Keywords = {scglib}, Publisher = {Prentice-Hall}, Title = {Squeak --- Object Oriented Design with Multimedia Applications}, Year = {2001} } @book{Guzd01b, Author = {Mark Guzdial and Kim Rose}, Keywords = {scglib}, Publisher = {Prentice-Hall}, Title = {Squeak --- Open Personal Computing and Multimedia}, Year = {2001} } @article{Gybe06a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Kris Gybels and Roel Wuyts and St\'{e}phane Ducasse and Maja D'Hondt}, Doi = {10.1016/j.cl.2005.10.003}, Impactfactor = {0.467, SCI 2005}, Inria = {hors}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {stefPub decomp-pub}, Misc = {SCI impact factor 0.467 (2005)}, Month = jul, Number = {2-3}, Pages = {109--124}, Publisher = {Elsevier}, Selectif = {non}, Title = {Inter-Language Reflection --- A Conceptual Model and Its Implementation}, Url = {http://scg.unibe.ch/archive/papers/Gybe06aSymbioticReflectionESUGJournal.pdf}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gybe06aSymbioticReflectionESUGJournal.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2005.10.003} } @inproceedings{Gysi10a, Abstract = {Search is a fundamental activity in software development. However, to search source code efficiently, it is not sufficient to implement a traditional full text search over a base of source code, human factors have to be taken into account as well. We looked into ways of increasing the search results code trustability by providing and analysing a range of meta data alongside the actual search results.}, Author = {Florian S. Gysin}, Booktitle = {Proceedings International Conference on Software Engineering, ICSE '10, Student Research Competition}, Annote = {internationalconference}, Keywords = {codesearch scg-pub scg10 jb10 snf10}, Medium = {2}, Peerreview = {yes}, Title = {Improved Social Trustability of Code Search Results}, Doi = {10.1145/1810295.1810457}, Url = {http://scg.unibe.ch/archive/papers/Gysi10a.pdf}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gysi10a.pdf} } @inproceedings{Gysi10b, Abstract = {The promise of search-driven development is that developers will save time and resources by reusing external code in their local projects. To efficiently integrate this code, users must be able to trust it, thus trustability of code search results is just as important as their relevance. In this paper, we introduce a trustability metric to help users assess the quality of code search results and therefore ease the cost-benefit analysis they undertake trying to find suitable integration candidates. The proposed trustability metric incorporates both user votes and cross-project activity of developers to calculate a "karma" value for each developer. Through the karma value of all its developers a project is ranked on a trustability scale. We present JBENDER, a proof-of-concept code search engine which implements our trustability metric and we discuss preliminary results from an evaluation of the prototype.}, Author = {Florian S. Gysin and Adrian Kuhn}, Booktitle = {ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2010. SUITE '10.}, Annote = {internationalworkshop}, Keywords = {codesearch, scg-pub scg10, akuhn-pub, suite2010 jb10 snf10}, Medium = {2}, Peerreview = {yes}, Title = {A Trustability Metric for Code Search based on Developer Karma}, Doi = {10.1145/1809175.1809186}, Url = {http://scg.unibe.ch/archive/papers/Gysi10b.pdf}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Gysi10b.pdf} } @techreport{Gysi10c, Abstract = {The promise of search-driven development is that developers will save time and resources by reusing foreign code in their local projects. To efficiently integrate this code, users must be able to trust it, thus besides relevance of code search results their trustability is important as well. In this paper, we introduce a trustability metric to help users assess the quality of code search results and therefore ease the risk-cost-benefit analysis they undertake trying to find suitable integration candidates. The proposed trustability metric incorporates both user votes and cross-project activity of developers to calculate a "karma" value for each developer. Through the karma value of all its developers a project is ranked on a trustability scale. We present JBender, a proof-of-concept code search engine which implements our trustability metric and we discuss preliminary results from an evaluation of the prototype. Furthermore we discuss findings from the creation of a second prototype -- RBender -- that deals with structured search over dynamically typed code.}, Author = {Florian S. Gysin}, Institution = {University of Bern}, Keywords = {scg-bp jb10 snf10 code search trustability bender}, Month = mar, Title = {{Trust this Code?} --- Improving Code Search Results through Human Trustability Factors}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Gysi10c.pdf}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Gysi10c.pdf} } @inproceedings{Haar90a, Author = {Volker Haarslev and Ralf M{\"o}ller}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {237--244}, Title = {A Framework for Visualizing Object-Oriented Systems}, Volume = {25}, Year = {1990} } @article{Habe72a, Author = {A. Nico Habermann}, Journal = {Communications of the ACM}, Keywords = {concurrency}, Month = mar, Number = {3}, Pages = {171--176}, Title = {Synchronization of Communicating Processes}, Volume = {15}, Year = {1972} } @incollection{Habe81a, Author = {A. Nico Habermann and D.E. Perry}, Booktitle = {Software Engineering Environments}, Editor = {H. H{\"u}nke}, Keywords = {misc selit gandalf ada}, Pages = {331--343}, Publisher = {North-Holland Publishing Co.}, Title = {System Composition and Version Control for Ada}, Year = {1981} } @inproceedings{Habe90a, Author = {Sabine Habert and Vadim Abrossimov}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {269--277}, Title = {{COOL}: Kernel Support for Object-Oriented Environments}, Volume = {25}, Year = {1990} } @inproceedings{Habe92a, Author = {Benoit Habert}, Booktitle = {JFLA '92}, Pages = {252--269}, Title = {D\'efense et illustration de la combinaison des m\'ethodes en {CLOS}}, Year = {1992} } @inproceedings{Hack94a, Address = {Knoxville, TN}, Author = {Steven T. Hackstadt and Allen D. Malony and Bernd Mohr}, Booktitle = {Proc. of the Scalable High Performance Computing Conference (SHPCC)}, Month = may, Pages = {342--349}, Title = {Scalable Performance Visualization for Data-Parallel Programs}, Year = {1994} } @inproceedings{Haeb88a, Author = {Paul E. Haeberli}, Booktitle = {Proceedings SIGGRAPH' 88, ACM Computer Graphics}, Doi = {10.1145/378456.378494}, Keywords = {visprog}, Month = aug, Pages = {103--111}, Title = {{ConMan}: A Visual Programming Language for Interactive Graphics}, Volume = {22}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/378456.378494} } @techreport{Haen08a, Abstract = {Unit tests are primarily written as a good practice to help developers identify and fix bugs, to refactor code and to serve as documentation for a unit of software under test. To achieve these benefits, unit tests ideally should cover all the possible paths in a program. One unit test usually covers one specific path in one function or method. However a test method is not necessary an encapsulated, independent entity. Often there are implicit dependencies between test methods, hidden in the implementation scenario of a test. In this work we present JExample, an extension to the JUnit testing framework, that supports the declaration of explicit dependencies between test methods. Such dependencies either only define the order in which the test methods are to be executed or they additionally manage the returning of an instance of the test fixture by the provider and passing it to the dependent methods. As JExample extends JUnit, yielding compatible test results, JExample test cases can for example be executed in Eclipse's JUnit plugin.}, Author = {Lea H\"ansenberger}, Institution = {University of Bern}, Keywords = {snf08 scg-bp jb08 haensenberger}, Month = mar, Title = {{JExample}}, Type = {Bachelor's Project}, Url = {http://scg.unibe.ch/archive/projects/Haen08aJExample.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Haen08aJExample.pdf} } @inproceedings{Haen08b, Abstract = {When changing the API of a framework, we need to migrate its clients. This is best done automatically. In this paper, we focus on API migration where the mechanism for inversion of control changes. We propose to use dynamic analysis for such API migration since structural refactorings alone are often not sufficient. We consider JExample as a case-study. JExample extends JUnit with first-class dependencies and fixture injection. We investigate how dynamically collected information about test coverage and about instances under test can be used to detect dependency injection candidates.}, Annote = {internationalworkshop}, Author = {Lea H\"ansenberger and Adrian Kuhn and Oscar Nierstrasz}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Haen08bAPImigration.pdf http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008#Proceedings}, Booktitle = {Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2008)}, Keywords = {scg08 scg-pub skip-doi snf09 jb09 fb08 akuhn haensenberger}, Medium = {2}, Month = oct, Pages = {32--36}, Peerreview = {yes}, Title = {Using Dynamic Analysis for {API} Migration}, Url = {http://scg.unibe.ch/archive/papers/Haen08bAPImigration.pdf http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008#Proceedings}, Year = {2008}, Bdsk-Url-2 = {http://scg.unibe.ch/archive/papers/Haen08bAPImigration.pdf%20http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008#Proceedings} } @mastersthesis{Haen09a, Abstract = {Unit tests are primarily written as a good practice to support software evolution, i.e., to help developers to identify and fix bugs, to refactor code and to serve as documentation for a unit of software under test. To achieve these benefits, unit tests ideally should cover all possible paths in a program. One unit test usually covers one specific path in one function or method. However, a test method is not necessary an encapsulated, independent entity. Often a test method's coverage is a superset of another test method's coverage set and thus defects are not well isolated, i.e., one defect causes multiple test methods to fail. In this work we present an approach to automatically migrate JUnit test classes to JExample. JExample allows test methods to declare explicit dependencies to other test methods and therefore improves defect isolation. With dynamic analysis we recover the coverage set of each test method and by partially ordering the test methods by means of their coverage sets we derive implicit dependencies between test methods. With program transformation we rewrite the original JUnit test classes as test classes with explicit dependencies between test methods that can be executed with JExample. In a case study on 16 projects we found that 72% of all test methods have latent dependencies to other test methods and that by declaring these dependencies defect isolation (measured as average square of failures per defect) could be improved by a factor of 3.77 or higher.}, Author = {Lea H\"ansenberger}, Keywords = {scg-msc jb10 snf09 jexample junit testing haensenberger}, Month = sep, School = {University of Bern}, Title = {Defect Isolation As Responsibility of the Framework --- Automated {API} Migration from {JUnit} to {JExample}}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Haen09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Haen09a.pdf} } @article{Haer83a, Author = {T. Haerder and A. Reuter}, Journal = {ACM Computing Surveys}, Keywords = {dblit transactions recovery reliability}, Month = dec, Number = {4}, Pages = {287--317}, Title = {Principles of Transaction-Oriented Database Recovery}, Volume = {15}, Year = {1983} } @inproceedings{Haer92a, Address = {Lorne, Australia}, Author = {Martin Haertig and Klaus R. Dittrich}, Booktitle = {Proc. of the IFIP DS-5 Conf. on Semantics of Interoperable Database Systems}, Keywords = {olit-db zoo/ifi}, Month = nov, Title = {An Object-Oriented Integration Framework for Building Heterogeneous Database Systems}, Year = {1992} } @techreport{Haer06a, 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.}, Author = {Marcel H\"{a}rry}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb06 fb06 haerry}, Month = oct, Title = {{JPAAM} - Pluggable Authentication and Authorization Framework}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Haer06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Haer06a.pdf} } @mastersthesis{Haer10a, Abstract = {Traditional IDEs such as Eclipse provide a broad range of supportive tools and views to manage and maintain software projects. However, they provide developers mainly with static views on the source code neglecting any information about runtime behavior. As object-oriented programs heavily rely on polymorphism and late-binding, it is difficult to understand such programs only based on their static structure. Developers therefore tend to gather runtime information with debuggers or profilers to reason about dynamic information. Information gathered using such procedures is volatile and cannot be exploited to support developers navigating the source space to analyze and comprehend the software system or to accomplish other typical software maintenance tasks. In this thesis we present an approach to augment static source perspectives of Eclipse with dynamic information such as precise runtime type information or memory and object allocation statistics. Dynamic information can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. To integrate dynamic information into Eclipse we implemented a plugin extending the Eclipse Java Development Toolkit (JDT) called Senseo. This plugin augments existing IDE tools of Eclipse and several standard views of JDT such as the Package Explorer with dynamic information. Besides these enrichments, Senseo provides several visualizations such as an overview of the collaboration within the software system. We comprehensively report on the efficiency of our approach to gather dynamic information. To evaluate our approach we conducted a controlled experiment with 30 professional developers. The results show that the availability of dynamic information in the Eclipse IDE yields for typical software maintenance tasks a significant 17.5\% decrease of time spent while significantly increasing the correctness of the solutions by 33.5\%.}, Author = {Marcel H\"{a}rry}, Keywords = {scg-msc jb10 snf10 senseo haerry}, Month = may, School = {University of Bern}, Title = {Augmenting Eclipse with Dynamic Information}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Haer10a.pdf}, Year = {2010} } @inproceedings{Hage90a, Author = {P.J.W ten Hagen}, Booktitle = {Proceedings of the workshop: User Interface Management and Design}, Pages = {3--6}, Publisher = {Springer-Verlag}, Title = {Critique of the Seeheim model}, Year = {1990} } @inproceedings{Hagi94a, Address = {Bologna, Italy}, Author = {Daniel Hagimont}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {280--298}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Protection in the Guide Object-Oriented Distributed System}, Volume = {821}, Year = {1994} } @misc{Hagu07a, Author = {James Hague}, Howpublished = {http://prog21.dadgum.com/3.html archived at http://www.webcitation.org/5wMtsAZbs}, Month = nov, Title = {Admitting that Functional Programming Can Be Awkward}, Url = {http://www.webcitation.org/5wMtsAZbs}, Year = {2007} } @article{Hail90a, Author = {Brent Hailpern and Harold Ossher}, Journal = {IEEE Transactions on Software Enginnering}, Keywords = {olit oobib(gen) binder}, Month = nov, Number = {11}, Pages = {1247--1257}, Title = {Extending Objects to Support Multiple Interfaces and Access Control}, Volume = {16}, Year = {1990} } @techreport{Hail92a, Author = {Brent Hailpern}, Institution = {IBM Research Division}, Keywords = {oilt oobib(obcp) binder}, Number = {18269(80129)}, Title = {An Architecture for Dynamic Reconfiguration in a Distributed Object-Based Programming Language}, Type = {Report RC}, Year = {1992} } @article{Hain96a, Author = {J.-L. Hainaut and V. Englebert and J. Henrard and J.-M. Hick and D. Roland}, Journal = {Automated Software Engineering}, Keywords = {dbreeng famoos oorp}, Month = jun, Number = {1-2}, Publisher = {Kluwer Academic Publishers}, Title = {Database reverse Engineering: From requirements to {CARE} Tools}, Volume = {3}, Year = {1996} } @inproceedings{Haji06a, Author = {Elnar Hajiyev and Mathieu Verbaere and Oege de Moor}, Booktitle = {ECOOP '06: Proceedings of the 20th European Conference on Object-Oriented Programming}, Pages = {2--28}, Publisher = {Springer-Verlag}, Title = {CodeQuest: Scalable Source Code Queries with Datalog}, Year = {2006} } @inproceedings{Hako99a, Author = {Harri Hakonen and Ville Lepp{\"a}nen and Timo Raita and Tapio Salakoski and Jukka Teuhola}, Booktitle = {Fenno-Ugric Symposium on Software Technology}, Pages = {139--150}, Title = {Improving Object integrity and preventing side effects via deeply immutable references}, Year = {1999} } @phdthesis{Halb84a, Address = {Berkeley CA}, Author = {Daniel C. Halbert}, Keywords = {olit}, Note = {Also OSD-T8402, XEROX Office Systems Division}, School = {Dept. of EE and CS, University of California}, Title = {Programming by Example}, Type = {{Ph.D}. Thesis}, Year = {1984} } @inproceedings{Halb87a, Address = {Paris, France}, Author = {Daniel C. Halbert and Patrick D. O'Brien}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {types olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {20--31}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Types and Inheritance in Object-Oriented Languages}, Volume = {276}, Year = {1987} } @inproceedings{Halb91a, Author = {N. Halbwachs and P. Caspi and P. Raymond and D. Pilaud}, Booktitle = {Proceedings of the IEEE}, Month = sep, Number = {9}, Title = {The Synchronous Data Flow Programming Language LUSTRE}, Volume = {79}, Year = {1991} } @book{Halb92a, Address = {Norwell, MA, USA}, Author = {Nicolas Halbwachs}, Isbn = {0792393112}, Publisher = {Kluwer Academic Publishers}, Title = {Synchronous Programming of Reactive Systems}, Year = {1992} } @techreport{Hald05a, 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.}, Author = {Niklaus Haldimann}, Institution = {University of Bern}, Keywords = {scg-ip classboxes jb06 snf06}, Month = dec, Title = {A Sophisticated Programming Environment to Cope with Scoped Changes}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Hald05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hald05a.pdf} } @mastersthesis{Hald07a, 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.}, Author = {Niklaus Haldimann}, Keywords = {scg-msc scg-pub skip-doi snf07 jb07 reflectivity}, Month = apr, School = {University of Bern}, Title = {{TypePlug} --- Pluggable Type Systems for {Smalltalk}}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Hald07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Hald07a.pdf} } @inproceedings{Hald07b, Abstract = {Most languages fall into one of two camps: either they adopt a unique, static type system, or they abandon static type-checks for run-time checks. Pluggable types blur this division by (i) making static type systems optional, and (ii) supporting a choice of type systems for reasoning about different kinds of static properties. Dynamic languages can then benefit from static-checking without sacrificing dynamic features or committing to a unique, static type system. But the overhead of adopting pluggable types can be very high, especially if all existing code must be decorated with type annotations before any type-checking can be performed. We propose a practical and pragmatic approach to introduce pluggable type systems to dynamic languages. First of all, only annotated code is type-checked. Second, limited type inference is performed on unannotated code to reduce the number of reported errors. Finally, external annotations can be used to type third-party code. We present Typeplug, a Smalltalk implementation of our framework, and report on experience applying the framework to three different pluggable type systems.}, Annote = {internationalconference}, Author = {Niklaus Haldimann and Marcus Denker and Oscar Nierstrasz}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007)}, Doi = {10.1145/1352678.1352690}, Isbn = {978-1-60558-084-5}, Keywords = {scg07 scg-pub jb08 snf07 reflectivity}, Medium = {2}, Pages = {183--204}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Title = {Practical, Pluggable Types}, Url = {http://scg.unibe.ch/archive/papers/Hald07b-Typeplug.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hald07b-Typeplug.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352690} } @article{Hald09a, Abstract = {Most languages fall into one of two camps: either they adopt a unique, static type system, or they abandon static type-checks for run-time checks. Pluggable types blur this division by (i) making static type systems optional, and (ii) supporting a choice of type systems for reasoning about different kinds of static properties. Dynamic languages can then benefit from static-checking without sacrificing dynamic features or committing to a unique, static type system. But the overhead of adopting pluggable types can be very high, especially if all existing code must be decorated with type annotations before any type-checking can be performed. We propose a practical and pragmatic approach to introduce pluggable type systems to dynamic languages. First of all, only annotated code is type-checked. Second, limited type inference is performed on unannotated code to reduce the number of reported errors. Finally, external annotations can be used to type third-party code. We present Typeplug, a Smalltalk implementation of our framework, and report on experience applying the framework to three different pluggable type systems.}, Annote = {internationaljournal}, Author = {Niklaus Haldimann and Marcus Denker and Oscar Nierstrasz}, Doi = {10.1016/j.cl.2008.06.003}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg09 scg-pub jb08 snf08 reflectivity}, Medium = {2}, Misc = {was: Hald08a}, Month = apr, Number = {1}, Pages = {48--64}, Peerreview = {yes}, Publisher = {Elsevier}, Title = {Practical, Pluggable Types for a Dynamic Language}, Url = {http://scg.unibe.ch/archive/papers/Hald08aTypeplug.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hald08aTypeplug.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2008.06.003} } @article{Hall90a, Author = {Anthony Hall}, Journal = {IEEE Software}, Misc = {Sept.}, Month = sep, Number = {5}, Pages = {11--19}, Title = {Seven Myths of Formal Methods}, Volume = {7}, Year = {1990} } @incollection{Hall91a, Author = {Pat Hall and Ray Weedon}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Towards and Object Algebra}, Year = {1991} } @inproceedings{Hall06a, Author = {Philipp Haller and Martin Odersky}, Booktitle = {In Proceedings of Join Modular Programming Languages (JMLC)}, Month = sep, Pages = {4 -- 22}, Publiser = {Springer Berlin / Heidelberg}, Title = {Event-Based Programming Without Inversion of Control}, Volume = {4228}, Year = {2006} } @book{Hals77a, Author = {Maurice H. Halstead}, Publisher = {Elsevier North-Holland}, Title = {{Elements} of {Software} {Science}}, Year = {1977} } @techreport{Halt02a, Author = {Beat Halter and Mauricio Seeberger and Susanne Wenger and Vivian Kilchherr}, Institution = {University of Bern}, Keywords = {snf-none scg-ip skip-abstract jb03}, Month = dec, Title = {eXtreme Programming in der Praxis --- das Sentinet-Projekt}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Halt02aSentinet.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Halt02aSentinet.pdf} } @inproceedings{Ham03a, Address = {Seattle, Washington}, Author = {Frank van Ham}, Booktitle = {Proceedings of the IEEE Symposium on Information Visualization}, Keywords = {dotplot}, Month = oct, Pages = {29--34}, Publisher = {IEEE}, Title = {Using Multilevel Call Matrices in Large Software Projects}, Year = {2003} } @inproceedings{Hama03a, Address = {Adelaide, Australia}, Author = {Rachid Hamadi and Boualem Benatallah}, Booktitle = {Proceedings of the Fourteenth Australasian Database Conference (ADC 2003)}, Keywords = {semantic web}, Title = {A Petri Net-based Model for Web Service Composition}, Year = {2003} } @misc{Hami97a, Author = {Graham Hamilton and Rick Hamilton and Rick Cattell and Maydene Fisher}, Isbn = {0-201-30995-5}, Keywords = {java jdbc scglib}, Title = {{JDBC} Database Access with {Java}}, Year = {1997} } @inproceedings{Hamm81a, Address = {Portland, Oregon}, Author = {Michael Hammer and R. Ilson and T. Anderson and E. Gilbert and M. Good and B. Niamir and Larry Rosenstein and S. Schoichet}, Booktitle = {Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation}, Keywords = {uilit text etude}, Misc = {June 8-10}, Month = jun, Title = {The Implementation of Etude, an Integrated and Interactive Document Production System}, Year = {1981} } @inproceedings{Hamm09a, Author={Hammad, M. and Collard, M.L. and Maletic, J.I.}, Booktitle={Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on}, title={Automatically identifying changes that impact code-to-design traceability}, Year={2009}, Month= may, Pages={20 -29}, Abstract={An approach is presented that automatically determines if a given source code change impacts the design (i.e., UML class diagram) of the system. This allows code-to-design traceability to be consistently maintained as the source code evolves. The approach uses lightweight analysis and syntactic differencing of the source code changes to determine if the change alters the class diagram in the context of abstract design. The intent is to support both the simultaneous updating of design documents with code changes and bringing old design documents up to date with current code given the change history. An efficient tool was developed to support the approach and is applied to an open source system (i.e., HippoDraw). The results are evaluated and compared against manual inspection by human experts. The tool performs better than (error prone) manual inspection.}, Doi={10.1109/ICPC.2009.5090024}, ISSN={1063-6897} } @inproceedings{Hamo03a, Author = {Abdelwahab Hamou-Lhadj and Timothy Lethbridge}, Booktitle = {Proceedings of 1st International Workshop on Dynamic Analysis (WODA)}, Keywords = {Dynamic Analysis}, Location = {Portland, Oregon}, Month = may, Title = {An Efficient Algorithm for Detecting Patterns in Traces of Procedure Calls}, Year = {2003} } @inproceedings{Hamo04a, Address = {Indianapolis IN}, Author = {Abdelwahab Hamou-Lhadj and Timothy Lethbridge}, Booktitle = {Proceedings IBM Centers for Advanced Studies Conferences (CASON 2004)}, Keywords = {Dynamic Analysis}, Location = {Toronto}, Pages = {42--55}, Publisher = {IBM Press}, Title = {A Survey of Trace Exploration Tools and Techniques}, Year = {2004} } @inproceedings{Hamo05a, Address = {Los Alamitos CA}, Author = {A. Hamou-Lhadj and E. Braun and D. Amyot and T. Lethbridge}, Booktitle = {Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR 2005)}, Keywords = {Dynamic Analysis}, Location = {Manchester, United Kingdom}, Pages = {112--121}, Publisher = {IEEE Computer Society Press}, Title = {Recovering Behavioral Design Models from Execution Traces}, Year = {2005} } @inproceedings{Hamo05b, Author = {Abdelwahab Hamou-Lhadj}, Booktitle = {Proceedings of PCODA 2005 (1st International Workshop on Program Comprehension through Dynamic Analysis)}, Keywords = {Dynamic Analysis}, Publisher = {IEEE Computer Society Press}, Title = {The Concept of Trace Summarization}, Year = {2005} } @inproceedings{Hamo06a, Address = {Washington, DC, USA}, Author = {Abdelwahab Hamou-Lhadj and Timothy Lethbridge}, Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC'06)}, Doi = {10.1109/ICPC.2006.45}, Isbn = {0-7695-2601-2}, Pages = {181--190}, Publisher = {IEEE Computer Society}, Title = {Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.45} } @inproceedings{Hamo07a, Annote = {internationalconference}, Author = {Abdelwahab Hamou-Lhadj and Andy Zaidman and Orla Greevy}, Booktitle = {Proceedings of IEEE 14th Working Conference on Software Maintenance and Reengineering (WCRE)}, Doi = {10.1109/WCRE.2007.53}, Keywords = {scg07 scg-pub skip-abstract greevy jb08 snf07}, Medium = {2}, Month = oct, Pages = {298--298}, Peerreview = {yes}, Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})}, Url = {http://scg.unibe.ch/archive/papers/Hamo07a-pcoda2007proceedings.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hamo07a-pcoda2007proceedings.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2007.53} } @inproceedings{Hamo10a, Annote = {internationalconference}, Author = {Abdelwahab Hamou-Lhadj and David R\"othlisberger and Andy Zaidman and Orla Greevy}, Booktitle = {Proceedings of IEEE 17th Working Conference on Software Maintenance and Reengineering (WCRE)}, Keywords = {scg-pub scg10 skip-abstract greevy roethlisberger jb10 snf10 Dynamic Analysis}, Medium = {2}, Month = oct, Peerreview = {yes}, Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})}, Url = {http://scg.unibe.ch/archive/papers/Hamo10aPCODA2010.pdf}, Year = {2010}, Doi = {10.1109/WCRE.2010.40} } @book{Han00a, Author = {Jiawei Han and Micheline Kamber}, Keywords = {clustering}, Publisher = {Morgan Kaufmann}, Title = {Data Mining: Concept and Techniques}, Year = {2000} } @book{Hand02a, Author = {Per Brinch Hansen}, Keywords = {scglib}, Publisher = {Springer}, Title = {The Origin of Concurrent Programming}, Year = {2002} } @inproceedings{Hane04a, Address = {New York, NY, USA}, Author = {Stefan Hanenberg and Robert Hirschfeld and Rainer Unland}, Booktitle = {AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development}, Doi = {10.1145/976270.976278}, Isbn = {1-58113-842-3}, Location = {Lancaster, UK}, Pages = {46--55}, Publisher = {ACM}, Title = {Morphing aspects: incompletely woven aspects and continuous weaving}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976278} } @inproceedings{Hanen10a, author = {Hanenberg, Stefan}, title = {Faith, hope, and love: an essay on software science's neglect of human factors}, booktitle = {OOPSLA'10: Proceedings of the 25th International Conference on Object Oriented Programming Systems Languages and Applications}, year = {2010}, isbn = {978-1-4503-0203-6}, address = {Reno/Tahoe, NV, USA}, pages = {933--946}, doi = {10.1145/1869459.1869536}, publisher = {ACM}, keywords = {empirical research, programming language research, research methods, software engineering, damiencbib} } @techreport{Hank92a, Author = {Chris Hankin and Daniel Le M{\'e}tayer and David Sands}, Institution = {INRIA-Rennes}, Keywords = {concurrency gamma binder}, Month = oct, Number = {1758}, Title = {A Calculus of Gamma Programs}, Type = {Report No.}, Year = {1992} } @book{Hank98a, Address = {Lisbon, Portugal}, Editor = {Chris Hankin}, Isbn = {3-540-64302-8}, Keywords = {olit esop98 scglib}, Month = mar, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESOP}'98}, Volume = {1381}, Year = {1998} } @inproceedings{Hann02a, Author = {Hannemann, Jan and Kiczales, Gregor}, Title = {Design pattern implementation in Java and aspectJ}, Booktitle = {Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Series = {OOPSLA '02}, Year = {2002}, Isbn = {1-58113-471-1}, Location = {Seattle, Washington, USA}, Pages = {161--173}, Numpages = {13}, Url = {http://doi.acm.org/10.1145/582419.582436}, Doi = {10.1145/582419.582436}, Acmid = {582436}, Publisher = {ACM}, Address = {New York, NY, USA}, Keywords = {aspect-oriented programming, design patterns} } @article{Hanr90a, Author = {M. Hanrandi and J. Ning}, Journal = {IEEE Transactions on Software Engineering}, Number = {1}, Pages = {74--81}, Publisher = {IEEE}, Title = {Knowledge-Based Program Analysis}, Volume = {7}, Year = {1990} } @article{Hans72a, Author = {Per Brinch Hansen}, Journal = {CACM}, Keywords = {concurrency}, Month = jul, Number = {7}, Pages = {574--578}, Title = {Structured Multi-Programming}, Volume = {15}, Year = {1972} } @article{Hans73a, Author = {Per Brinch Hansen}, Journal = {ACM Computing Surveys}, Keywords = {concurrency monitors}, Number = {4}, Pages = {223--245}, Title = {Concurrent Programming Concepts}, Volume = {5}, Year = {1973} } @article{Hans78a, Author = {Per Brinch Hansen}, Journal = {CACM}, Keywords = {concurrency}, Month = nov, Number = {11}, Pages = {934--941}, Title = {Distributed Processes: {A} Concurrent Programming Concept}, Volume = {21}, Year = {1978} } @inproceedings{Hans91a, Author = {Eric N. Hanson and Tina M. Harvey and Mark A. Roth}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {314--328}, Title = {Experiences in {DBMS} Implementation Using an Object-Oriented Persistent Programming Language and a Database Toolkit}, Volume = {26}, Year = {1991} } @inproceedings{Hans95a, Author = {Martin Hansen and Hans H{\"u}ttel and Josva Kleist}, Booktitle = {Proceedings of 6th International Conference on Concurrency Theory ({CONCUR} '95, Philadelphia)}, Editor = {Insup Lee and Scott A. Smolka}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Bisimulations for asynchronous mobile processes}, Volume = {962}, Year = {1995} } @book{Hans96a, Address = {New York, NY, USA}, Author = {Per Brinch Hansen}, Book = {History of programming languages---II}, Doi = {10.1145/234286.1057814}, Isbn = {0-201-89502-1}, Pages = {121--172}, Publisher = {ACM Press}, Title = {Monitors and Concurrent Pascal: a personal history}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/234286.1057814} } @techreport{Hans00, Author = {David R. Hanson and Todd A. Proebsting}, Institution = {Microsoft Research}, Month = nov, Number = {MSR-TR-2000-109}, Title = {Dynamic Variables}, Url = ftp://ftp.research.microsoft.com/pub/tr/tr-2000-109.pdf, Year = {2000}, Bdsk-Url-1 = {ftp://ftp.research.microsoft.com/pub/tr/tr-2000-109.pdf} } @inproceedings{Happ08a, Address = {New York, NY, USA}, Author = {Happel, Hans J. and Maalej, Walid}, Booktitle = {RSSE '08: Proceedings of the 2008 international workshop on Recommendation systems for software engineering}, Citeulike-Article-Id= {6609671}, Doi = {10.1145/1454247.1454251}, Isbn = {978-1-60558-228-3}, Keywords = {recommendationsystems, survey}, Location = {Atlanta, Georgia}, Pages = {11--15}, Posted-At = {2010-02-01 09:23:46}, Priority = {2}, Publisher = {ACM}, Title = {Potentials and challenges of recommendation systems for software development}, Url = {http://dx.doi.org/10.1145/1454247.1454251}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1454247.1454251} } @incollection{Hara93a, 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.}, Author = {Yasunori Harada}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {475--488}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A Type Mechanism Based on Restricted {CCS} for Distributed Active Objects}, Volume = {742}, Year = {1993} } @article{Hare88a, Author = {D. Harel}, Journal = {CACM}, Keywords = {visprog higraphs statecharts}, Month = may, Number = {5}, Pages = {514--530}, Title = {On Visual Formalisms}, Volume = {31}, Year = {1988} } @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}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {visprog higraphs statecharts statemate}, Month = apr, Number = {4}, Pages = {403--414}, Title = {{STATEMATE}: {A} Working Environment for the Development of Complex Reactive Systems}, Volume = {SE-16}, Year = {1990} } @book{Harm85a, Author = {P. Harmon and D. King}, Note = {Re-edited by Wiley Press Book}, Publisher = {Judy V. Wilson}, Title = {Expert Systems. Artificial Intelligence in Business}, Year = {re-edited 1985} } @article{Harm09a, Author = {Harman, Mark and Binkley, David and Gallagher, Keith and Gold, Nicolas and Krinke, Jens}, Title = {Dependence clusters in source code}, Journal = {ACM Trans. Program. Lang. Syst.}, Volume = {32}, Issue = {1}, Month = nov, Year = {2009}, Issn = {0164-0925}, Pages = {1:1--1:33}, Articleno = {1}, Numpages = {33}, Url = {http://doi.acm.org/10.1145/1596527.1596528}, Doi = {10.1145/1596527.1596528}, Acmid = {1596528}, Publisher = {ACM}, Address = {New York, NY, USA}, Keywords = {Dependence, program comprehension, program slicing} } @book{Haro97a, Author = {Elliote Rusty Harold}, Isbn = {1-56592-227-1}, Keywords = {java network olit-pl scglib}, Publisher = {O'Reilly}, Title = {Java Network Programming}, Year = {1997} } @inproceedings{Harr86a, Author = {D.R. Harris}, Booktitle = {Proceedings of the AAAI '86}, Pages = {986--990}, Title = {A Hybrid Structured Object and Constraint Representation Language}, Year = {1986} } @inproceedings{Harr89a, Author = {William H. Harrison and Peter F. Sweeney and John J. Shilling}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {85--94}, Title = {Good News, Bad News: Experience Building a Software Development Environment Using the Object-Oriented Paradigm}, Volume = {24}, Year = {1989} } @inproceedings{Harr92a, Author = {Harrison William and Harold Ossher}, Booktitle = {Proceedings of the 5th International Workshop on Computer-Aided Software Engineering}, Keywords = {olit binder}, Month = jul, Publisher = {IEEE Computer Society}, Title = {Integrating Coarse-Grained and Fine-Grained Tool Integration}, Year = {1992} } @inproceedings{Harr93a, Author = {William Harrison and Harold Ossher}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Doi = {10.1145/165854.165932}, Keywords = {olit oopsla93 binder}, Month = oct, Pages = {411--428}, Title = {Subject-Oriented Programming (A Critique of Pure Objects)}, Volume = 28, Year = {1993}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/165854.165932} } @techreport{Harr93b, Author = {William Harrison and Harold Ossher}, Institution = {IBM Research Division}, Keywords = {olit binder}, Number = {(82339)}, Title = {{PCTE} {SDS}'s for Modeling {OOTIS} Control Integration}, Type = {RC 18827}, Year = {1993} } @inproceedings{Harr95a, Address = {Seattle, Washington USA}, Author = {David R. Harris and Howard B. Reubenstein and Alexander S. Yeh}, Booktitle = {Proceedings of the 17th International Conference on Software Engineering (ICSE'95)}, Month = apr, Publisher = {Association for Computing Machinery, Inc.}, Title = {Reverse Engineering to the Architectural Level}, Year = {1995} } @article{Harr96a, Author = {D.R. Harris and A.S. Yeh and H.B. Reubenstein}, Journal = {Automated Software Engineering}, Keywords = {model capture}, Number = {1-2}, Pages = {109--139}, Title = {Extracting Architectural Features from Source Code}, Volume = {3}, Year = {1996} } @incollection{Harr03a, Address = {New York, NY, USA}, Author = {Harris, Tim and Fraser, Keir}, Booktitle = {Object-Oriented Programming, Systems, Languages, and Applications}, Doi = {10.1145/949305.949340}, Location = {Anaheim, California, USA}, Month = oct, Pages = {388--402}, Publisher = {ACM Press}, Title = {Language Support for Lightweight Transactions}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949305.949340} } @incollection{Harri96a, Author = {Neil B. Harrison}, Booktitle = {Pattern Languages of Program Design 2}, Editor = {John M. Vlissides and James O. Coplien and Norman L. Kerth}, Keywords = {oorp}, Pages = {345--352}, Publisher = {Addison Wesley}, Title = {Organizational Patterns for Teams}, Year = {1996} } @inproceedings{Hart92a, Address = {Utrecht, the Netherlands}, Author = {Thorsten Hartmann and Ralf Jungclaus and Gunter Saake}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {57--77}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Aggregation in a Behaviour Oriented Object Model}, Volume = {615}, Year = {1992} } @inproceedings{Hart92b, Author = {Thorsten Hartmann and Ralf Jungclaus}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {227--244}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Abstract Description of Distributed Object Systems}, Volume = 612, Year = {1992} } @inproceedings{Hart06a, doi = {10.1145/1166253.1166300}, author = {Hartmann, Bj\"{o}rn and Klemmer, Scott R. and Bernstein, Michael and Abdulla, Leith and Burr, Brandon and Robinson-Mosher, Avi and Gee, Jennifer}, title = {Reflective physical prototyping through integrated design, test, and analysis}, doi = {10.1145/1166253.1166300}, booktitle = {UIST'06: Proceedings of the 19th Symposium on User interface software and technology}, keywords = {damiencbib}, year = {2006}, pages = {299--308}, address = {Montreux, Switzerland}, publisher = {ACM} } @book{Harv94a, Author = {Brian Harvey and Matthew Wright}, Publisher = {MIT Press}, Title = {Simply {Scheme}: introducing computer science}, Year = {1994} } @inproceedings{Hass00a, Address = {Los Alamitos CA}, Author = {Ahmed Hassan and Ric Holt and Bruno Lague and Sebastien Lapierre and Charles Leduc}, Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering), Exchange Formats Workshop}, Month = nov, Pages = {284--286}, Publisher = {IEEE Computer Society Press}, Title = {E/R Schema for the Datrix C/C++/Java Exchange Format}, Year = {2000} } @inproceedings{Hass04a, Address = {Los Alamitos CA}, Author = {Ahmed Hassan and Richard Holt}, Booktitle = {Proceedings 20th IEEE International Conference on Software Maintenance (ICSM'04)}, Doi = {10.1109/ICSM.2004.1357812}, Keywords = {evolution}, Month = sep, Pages = {284--293}, Publisher = {IEEE Computer Society Press}, Title = {Predicting Change Propagation in Software Systems}, Url = {http://plg.uwaterloo.ca/~aeehassa/home/pubs/icsm2004.pdf}, Year = {2004}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~aeehassa/home/pubs/icsm2004.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2004.1357812} } @inproceedings{Hass04b, Author = {Ahmed Hassan and Rick Holt}, Booktitle = {IEEE International Workshop on Principles of Software Evolution (IWPSE04)}, Keywords = {evolution}, Location = {Kyoto, Japan}, Month = sep, Pages = {76--81}, Title = {Studying The Evolution of Software Systems Using Evolutionary Code Extractors}, Year = {2004} } @inproceedings{Hass04c, Author = {Hassan and Holt}, Booktitle = {International Workshop on Program Comprehension (IWPC)}, Doi = {10.1109/WPC.2004.1311060}, Issn = {1092-8138}, Pages = {183--193}, Title = {Using Development History Sticky Notes to Understand Software Architecture}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2004.1311060} } @article{Hass04d, author = {Youssef Hassoun and Roger Johnson and Steve Counsell}, title = {A Dynamic Runtime Coupling Metric for Meta-Level Architectures}, journal = {Software Maintenance and Reengineering, European Conference on}, volume = {0}, issn = {1534-5351}, year = {2004}, pages = {339}, doi = {10.1109/CSMR.2004.1281436}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @inproceedings{Hass05a, Address = {Washington, DC, USA}, Author = {Ahmed E. Hassan and Richard C. Holt}, Booktitle = {ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance}, Doi = {10.1109/ICSM.2005.91}, Isbn = {0-7695-2368-4}, Pages = {263--272}, Publisher = {IEEE Computer Society}, Title = {The Top Ten List: Dynamic Fault Prediction}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.91} } @misc{Hast92a, Author = {Reed Hastings and Bob Joyce}, Title = {Purify: Fast Detection of Memory Leaks and Access Errors}, Notes = {In Proceedings of the Winter USENIX Conference}, Year = {1992} } @phdthesis{Hatc04a, Author = {Andrew Hatch}, Month = mar, School = {Research Institute in Software Engineering, University of Durham}, Title = {Software Architecture Visualisation}, Year = {2004} } @inproceedings{Hatt10a, Annote = {internationalworkshop}, Author = {Lile Hattori and Mircea Lungu and Michele Lanza}, Booktitle = {Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)}, Keywords = {lungu scg-pub jb11 scg10}, Medium = {2}, Peerreview = {yes}, Month = oct, Pages = {13--22}, Title = {Replaying past changes in multi-developer projects}, Doi = {10.1145/1862372.1862379}, Url = {http://www.inf.usi.ch/faculty/lanza/Downloads/Hatt2010c.pdf}, Year = {2010}, Abstract = {What was I working on before the weekend? and What were the members of my team working on during the last week? are common questions that are frequently asked by a developer. They can be answered if one keeps track of who changes what in the source code. In this work, we present Replay, a tool that allows one to replay past changes as they happened at a fine-grained level, where a developer can watch what she has done or understand what her colleagues have done in past development sessions. With this tool, developers are able to not only understand what sequence of changes brought the system to a certain state (e.g., the introduction of a defect), but also deduce reasons for why her colleagues performed those changes. One of the applications of such a tool is also discovering the changes that broke the code of a developer.} } @inproceedings{Hauc93a, Author = {Franz J. Hauck}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {231--239}, Title = {Inheritance Modeled with Explicit Bindings: An Approach to Typed Inheritance}, Volume = {28}, Year = {1993} } @article{Haun95a, Author = {Jim Haungs}, Journal = {The {Smalltalk} Report}, Keywords = {olit visualworks}, Month = jan, Pages = {9--14}, Title = {A technical overview of VisualWorks 2.0}, Year = {1995} } @inproceedings{Haup05a, Author = {M. Haupt and M. Mezini and C. Bockisch and T. Dinkelaker and M. Eichberg and M. Krebs}, Booktitle = {Proceedings VEE 2005}, Month = jun, Publisher = {ACM Press}, Title = {An Execution Layer for Aspect-Oriented Programming Languages}, Year = {2005} } @inproceedings{Haup07a, Abstract = {This position paper proposes the exploitation of type feedback mechanisms, or more precisely, polymorphic inline caches, for purely interpreting implementations of object-oriented programming languages. Using Squeak's virtual machine as an example, polymorphic inline caches are discussed as an alternative to global caching. An implementation proposal for polymorphic inline caches in the Squeak virtual machine is presented, and possible future applications for online optimization are outlined.}, Annote = {internationalworkshop}, Author = {Michael Haupt and Robert Hirschfeld and Marcus Denker}, Booktitle = {Proceedings of the Second Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS'2007), ECOOP Workshop}, Issn = {1436-9915}, Keywords = {scg07 scg-pub skip-doi jb08 snf07}, Medium = {2}, Month = jul, Pages = {17--22}, Peerreview = {yes}, Publisher = {TU Berlin}, Title = {Type feedback for bytecode interpreters}, Url = {http://scg.unibe.ch/archive/papers/Haup07aPIC.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Haup07aPIC.pdf} } @inproceedings{Haup07b, Author = {Michael Haupt and Hans Schippers}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'07)}, Doi = {10.1007/978-3-540-73589-2_24}, Isbn = {978-3-540-73588-5}, Keywords = {aop cola}, Pages = {501--524}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {A Machine Model for Aspect-Oriented Programming}, Url = {http://www.swa.hpi.uni-potsdam.de/publications/media/HauptSchippers_2007_AMachineModelForAspectOrientedProgramming.pdf}, Volume = {4609}, Year = {2007}, Bdsk-Url-1 = {http://www.swa.hpi.uni-potsdam.de/publications/media/HauptSchippers_2007_AMachineModelForAspectOrientedProgramming.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-73589-2_24} } @article{Haup09a, author = {Haupt, Michael and Adams, Bram and Timbermont, Stijn and Gibbs, Celina and Coady, Yvonne and Hirschfeld, Robert}, journal = {IET Software}, number = {3}, pages = {201-218}, title = {Disentangling virtual machine architecture.}, volume = {3}, year = {2009}, keywords = {virtual machine architecture internal complexity service modules aspect-oriented programming aop techniques damiencbib}, doi = {10.1049/iet-sen.2007.0121} } @article{Haus05a, Author = {Stefan Haustein and J{\"o}rg Pleumann}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Doi = {10.1007/s10270-005-0093-2}, Journal = {Software and System Modeling}, Number = {4}, Pages = {443--458}, Title = {A model-driven runtime environment for Web applications}, Url = {http://citeseer.ist.psu.edu/haustein05modeldriven.html}, Volume = {4}, Year = {2005}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/haustein05modeldriven.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10270-005-0093-2} } @inproceedings{Haut02a, Author = {E. Hautus}, Booktitle = {International Conference Software Engineering and Applications}, Title = {Inmproving {Java} Software Through Package Structure Analysis}, Year = {2002} } @article{Have00a, Author = {Klaus Havelund and Thomas Pressburger}, Journal = {International Journal on Software Tools for Technology Transfer (STTT)}, Number = {4}, Pages = {366--381}, Publisher = {Springer}, Title = {Model checking {Java} programs using {Java} {PathFinder}}, Volume = {2}, Year = {2000} } @inproceedings{Havi06a, Author = {Wilke Havinga and Istvan Nagy and Lodewijk Bergmans}, Booktitle = {In Proceedings of the 3rd European Workshop on Aspects in Software (EIWAS) 2006}, Title = {An Analysis of Aspect Composition Problems}, Url = {http://janus.cs.utwente.nl:8000/twiki/pub/EIWAS2006/FinalPapers/HavingaNagyBergmans2006.pdf}, Year = {2006}, Bdsk-Url-1 = {http://janus.cs.utwente.nl:8000/twiki/pub/EIWAS2006/FinalPapers/HavingaNagyBergmans2006.pdf} } @inproceedings{Hayd07a, Author = {Hayden Melton and Ewan Tempero}, Booktitle = {ACSC '07: Proceedings of the Australian Computer Science Conference}, Title = {The CRSS Metric for Package Design Quality}, Year = {2007} } @inproceedings{Hayd11a, author = {Christopher M. Hayden and Edward K. Smith and Michael Hicks and Jeffrey S. Foster}, title = {State Transfer for Clear and Efficient Runtime Updates}, booktitle = {HotSWUp}, year = {2011} } @inproceedings{Haye91a, Author = {Barry Hayes}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {33--46}, Title = {Using Key Object Opportunism to Collect Old Objects}, Volume = {26}, Year = {1991} } @inproceedings{Haye91b, Author = {Fiona Hayes and Derek Coleman}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {171--183}, Title = {Coherent Models for Object-Oriented Analysis}, Volume = {26}, Year = {1991} } @inproceedings{Haye94a, Author = {J. H. Hayes}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {205--220}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Testing of Object-Oriented Programming Systems ({OOPS}): {A} Fault-Based Approach}, Volume = {858}, Year = {1994} } @inproceedings{Hayn84a, author = {Haynes, Christopher T. and Friedman, Daniel P. and Wand, Mitchell}, title = {Continuations and coroutines}, booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming}, year = {1984}, isbn = {0-89791-142-3}, pages = {293--298}, location = {Austin, Texas, United States}, doi = {10.1145/800055.802046}, publisher = {ACM}, address = {New York, NY, USA} } @inbook{Hayn95a, Author = {P. Haynes and T. Menzies and R.F. Cohen}, Chapter = {{Visualisations} of {Large} {Object}-{Oriented} {Systems}}, Publisher = {World-Scientific}, Title = {Software Visualization}, Year = {1997} } @inproceedings{Head05a, Address = {Washington, DC, USA}, 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}, Booktitle = {SC '05: Proceedings of the 2005 ACM/IEEE conference on Supercomputing}, Doi = {10.1109/SC.2005.2}, Isbn = {1-59593-061-2}, Pages = {19}, Publisher = {IEEE Computer Society}, Title = {A Benchmark Suite for SOAP-based Communication in Grid Web Services}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SC.2005.2} } @mastersthesis{Heal92a, Author = {Healey, C. G.}, School = {Department of Computer Science, University of Bristish Columbia}, Title = {Visualization of Multivariate Data Using Preattentive Processing}, Year = {1992} } @inproceedings{Heal93a, Author = {Healey, C. G. and Booth, K. S. and Enns J. T.}, Booktitle = {GI '93: Proceedings of Graphics Interface}, Title = {Harnessing Preattentive Processes for Multivariate Data Visualization}, Year = {1993} } @inproceedings{Hear06a, Address = {Berlin, Germany}, Annote = {internationalconference}, Author = {David Hearnden and Michael Lawley and Kerry Raymond}, Booktitle = {International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006)}, Pages = {321--335}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Incremental Model Transformation for the Evolution of Model-Driven Systems}, Volume = {4199}, Year = {2006} } @article{Heck78a, Author = {Paul Heckel}, Journal = {CACM}, Month = apr, Number = {4}, Pages = {264--268}, Title = {A Technique for Isolating Differences Between Files}, Volume = {21}, Year = {1978} } @inproceedings{Hedi88a, Address = {Oslo}, Author = {G{\"o}rel Hedin and Boris Magnusson}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {41--54}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Mj\olner Environment: Direct Interaction with Abstractions}, Volume = {322}, Year = {1988} } @inproceedings{Hedi89a, Address = {Nottingham}, Author = {G{\"o}rel Hedin}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {329--345}, Publisher = {Cambridge University Press}, Title = {An Object-Oriented Notation for Attribute Grammars}, Year = {1989} } @article{Hedi97a, Author = {G{\"o}rel Hedin}, Journal = {Nordic Journal of Computing}, Number = {1}, Pages = {93--122}, Title = {Attribute Extensions --- a Technique for Enforcing Programming Conventions}, Volume = {4}, Year = {1997} } @article{Hedi97b, Author = {G{\"o}rel Hedin}, Journal = {Lecture Notes in Computer Science}, Pages = {137--140}, Title = {Language Support for Design Patterns Using Attribute Extension}, Volume = {1357}, Year = {1998} } @incollection{Hedi99a, Author = {G{\"o}rel Hedin and J{\o}rgen Lindskov Knudsen}, Booktitle = {Implmenting Application Frameworks: Object-{Oriented} Frameworks at Work}, Editor = {M. E. Fayad and D.C.Schmidt and R.E. Johnson}, Keywords = {beta}, Publisher = {Wiley}, Title = {Language Support for Application Framework Design}, Year = {1999} } @inproceedings{Hedi03a, Author = {G{\"o}rel Hedin and Lars Bendix and Boris Magnusson}, Booktitle = {Proceedings of ICSE 2003 (International Conference on Software Engineering}, Pages = {586--593}, Publisher = {IEEE Computer Society Press}, Title = {Introducing Software Engineering by means of Extreme Programming}, Year = {2003} } @inproceedings{Heil90a, 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.}, Address = {Los Alamitos CA}, Author = {D. Heiler and S. Zdonik}, Booktitle = {Proceedings of the Sixth International Conference on Data Engineering}, Keywords = {olit-oodb (smc)}, Pages = {86--93}, Publisher = {IEEE Computer Society Press}, Title = {Object Views: Extending the Vision}, Year = {1990} } @book{Hein01a, Editor = {George T. Heineman and William T. Councill}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Component-Based Software Engineering}, Year = {2001} } @article{Hein07a, Author = {Christian Heinlein}, Journal = {Journal of Object Technology}, Month = mar, Number = {3}, Pages = {101--151}, Title = {Open Types and Bidirectional Relationships as an Alternative to Classes and Inheritance}, Url = {http://www.jot.fm/issues/issue_2007_03/article3}, Volume = {6}, Year = {2007}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_03/article3} } @techreport{Held96a, 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.}, Author = {Michael Held}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = aug, Title = {Analyse der Erstellung eines Help-Dokumentes}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Held96a.html http://scg.unibe.ch/archive/projects/Held96a-bericht.pdf http://scg.unibe.ch/archive/projects/Held96a-hb.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Held96a.html%20http://scg.unibe.ch/archive/projects/Held96a-bericht.pdf%20http://scg.unibe.ch/archive/projects/Held96a-hb.pdf} } @mastersthesis{Held99a, 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.}, Author = {Michael Held}, Keywords = {snf-none scg-pub skip-doi toBeChecked scg-msc jb99}, Month = mar, School = {University of Bern}, Title = {Scripting f{\"u}r {CORBA}}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Held99a.pdf http://scg.unibe.ch/archive/masters/Held99a.ps.gz}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Held99a.pdf%20http://scg.unibe.ch/archive/masters/Held99a.ps.gz} } @inproceedings{Helf94a, Author = {Jonathan I. Helfman}, Booktitle = {Proceedings of IEEE Symposium on Visual Languages}, Keywords = {dotplot}, Pages = {173--175}, Title = {Similarity Patterns in Language}, Url = {http://imagebeat.com/dotplot/rp3.pdf}, Year = {1994}, Bdsk-Url-1 = {http://imagebeat.com/dotplot/rp3.pdf} } @article{Helf95a, Author = {Jonathan I. Helfman}, Journal = {TAPOS}, Keywords = {oorp dotplot}, Number = {1}, Pages = {31--41}, Title = {{Dotplot} Patterns: a Literal Look at Pattern Languages}, Url = {http://www.cs.unm.edu/~jon/dotplot/}, Volume = {2}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.unm.edu/~jon/dotplot/} } @book{Hell90a, Author = {Dan Heller}, Isbn = {0-937175-87-0}, Keywords = {book scglib}, Publisher = {O'Reilly \& Associates}, Title = {XView Programming Manual: for XView Version 3.2}, Year = {1993} } @article{Helm85a, Author = {D. Helmbold and D. Luckman}, Journal = {IEEE Software}, Keywords = {coordination}, Month = mar, Number = {2}, Pages = {47--57}, Title = {Debugging Ada Tasking Programs}, Volume = {2}, Year = {1985} } @inproceedings{Helm90a, Author = {Richard Helm and Ian M. Holland and Dipayan Gangopadhyay}, Booktitle = {Proceedings OOPSLA/ECOOP '90}, Keywords = {olit oopsla90 ecoop90proc binder}, Month = oct, Pages = {169--180}, Title = {Contracts: Specifying Behavioural Compositions in Object-Oriented Systems}, Volume = {25}, Year = {1990} } @inproceedings{Helm91a, Author = {Richard Helm and Yo\"elle S. Maarek}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {47--61}, Title = {Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries}, Volume = {26}, Year = {1991} } @misc{Helvetia, Author = {Lukas Renggli}, Key = {Helvetia}, Keywords = {helvetia}, Note = {http://scg.unibe.ch/research/helvetia}, Title = {Helvetia, Context Specific Languages with Homogeneous Tool Integration}, Url = {http://scg.unibe.ch/research/helvetia}, Bdsk-Url-1 = {http://scg.unibe.ch/research/helvetia} } @article{Hend86a, Author = {J. Hendler}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-inheritance concepts flavors inheritance oopws86}, Month = oct, Number = {10}, Pages = {98--106}, Title = {Enhancement for Multiple Inheritance}, Volume = {21}, Year = {1986} } @inproceedings{Hend93a, Author = {Brian Henderson-Sellers and Simon Moser and Silke Seehusen and Bernhard Weinelt}, Booktitle = {Proc. of 1st Australian Software Metrics Conf.}, Keywords = {olit}, Month = nov, Title = {A proposed multi-dimensional framework for object-oriented metrics}, Year = {1993} } @inproceedings{Hend95a, Author = {R. J. Hendley and N. S. Drew and A. M. Wood and R. Beale}, Booktitle = {Proceedings InfoVis 1995 (IEEE Symposium on Information Visualization}, Organization = {IEEE}, Publisher = {IEEE Press}, Title = {Narcissus: Visualising Information}, Year = {1995} } @book{Hend96a, Author = {Brian Henderson-Sellers}, Isbn = {0-13-239872-9}, Keywords = {olit scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Metrics: Measures of Complexity}, Year = {1996} } @inproceedings{Hend97a, Author = {T.D. Hendrix and Cross II, James H. and L.A. Barowski and K.S. Mathias}, Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Pages = {136--1143}, Publisher = {IEEE Computer Society}, Title = {{Tool} {Support} for {Reverse} {Engineering} {Multi}-Lingual {Software}}, Year = {1997} } @book{Hend98a, Author = {Brian Henderson-Sellers, Anthony Simons, Houman Younessi}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The OPEN Toolbox of Techniques}, Year = {1998} } @article{Hend02a, Author = {Dean Hendrix and Cross II, James H. and Saeed Maghsoodloo}, Journal = {IEEE Transactions on Software Engineering}, Month = may, Number = {5}, Pages = {463--477}, Title = {The {Effectiveness} of {Control} {Structure} {Diagrams} in {Source} {Code} {Comprehension} {Activities}}, Volume = {28}, Year = {2002} } @inproceedings{Henk05a, Author = {Johannes Henkel and Amer Diwan}, Booktitle = {Proceedings International Conference on Software Engineering (ICSE 2005)}, Keywords = {evolution}, Pages = {274--283}, Title = {{CatchUp}!: capturing and replaying refactorings to support {API} evolution}, Year = {2005} } @techreport{Henn82a, Author = {Matthew Hennessy}, Editor = {Dezani-Ciancaglini and Montanari}, Institution = {Springer-Verlag}, Keywords = {concurrency}, Pages = {178--193}, Series = {LNCS}, Title = {Powerdomains and Nondeterministic Recursive Definitions}, Type = {Proceedings, International Symposium on Programming}, Volume = {137}, Year = {1982} } @article{Henn84a, Author = {Matthew Hennessy}, Journal = {Acta Informatica}, Keywords = {pcalc ccs}, Number = {1}, Pages = {61--88}, Title = {Axiomatising Finite Delay Operators}, Volume = {21}, Year = {1984} } @article{Henn85a, Author = {Matthew Hennessy and Robin Milner}, Journal = {Journal of the ACM}, Keywords = {pcalc equivalence ccs binder(ccs)}, Month = jan, Number = {1}, Pages = {137--161}, Title = {Algebraic Laws for Nondeterminism and Concurrency}, Volume = {32}, Year = {1985} } @article{Henn85b, Author = {Matthew Hennessy}, Journal = {Journal of the ACM}, Keywords = {pcalc equivalence ccs binder(ccs)}, Month = jan, Number = {4}, Pages = {896--928}, Title = {Acceptance Trees}, Volume = {32}, Year = {1985} } @article{Henn86a, Author = {Matthew Hennessy}, Journal = {ACM TOPLAS}, Keywords = {concurrency binder}, Month = jul, Number = {3}, Pages = {344--387}, Title = {Proving Systolic Systems Correct}, Volume = {8}, Year = {1986} } @book{Henn88a, Address = {Cambridge, Mass.}, Author = {Matthew Hennessy}, Isbn = {0-262-58093-4}, Keywords = {pcalc equivalence ccs regular processes book scglib}, Publisher = {MIT Press}, Title = {Algebraic Theory of Processes}, Year = {1988} } @inproceedings{Henn90a, Address = {Warwick U.}, Author = {Matthew Hennessy and A. Ing\'olfsd\'ottir}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {pcalc equivalence icalp90 binder}, Month = jul, Pages = {209--219}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Theory of Communicating Processes with Value Passing}, Volume = {443}, Year = {1990} } @techreport{Henn91a, Author = {Matthew Hennessy}, Institution = {University of Sussex}, Keywords = {pcalc mobility (uwe)}, Number = {8/91}, Title = {A Model for the $pi$ Calculus}, Type = {Technical Report}, Year = {1991} } @inproceedings{Henn92a, Author = {Matthew Hennessy}, Booktitle = {Proceedings of CONCUR '92}, Editor = {W.R. Cleaveland}, Keywords = {pcalc equivalence concurrency concur92}, Pages = {94--107}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrent Testing of Processes}, Volume = {630}, Year = {1992} } @techreport{Henn92b, Author = {Matthew Hennessy and H. Lin}, Institution = {University of Sussex}, Keywords = {pcalc mobility binder}, Number = {01/92}, Title = {Symbolic Bisimulations}, Type = {Report}, Url = {ftp://ftp.cogs.sussex.ac.uk//pub/reports}, Year = {1992}, Bdsk-Url-1 = {ftp://ftp.cogs.sussex.ac.uk//pub/reports} } @inproceedings{Henn96a, Address = {Berlin, Germany}, Author = {Henninger, Scott}, Booktitle = {Proceedings ICSE '96}, Keywords = {oobib scglib reuse repository abb}, Month = mar, Pages = {279--288}, Publisher = {ACM Press}, Title = {{Supporting the Construction and Evolution of Component Repositories}}, Year = {1996} } @article{Henn97a, Author = {Henninger, Scott}, Journal = {ACM Transactions on Software Engineering and Methodology}, Keywords = {oobib scglib repository reuse abb tose}, Number = {2}, Pages = {111--140}, Title = {{An Evolutionary Approach to Constructing Effective Software Reuse Repositories}}, Volume = {6}, Year = {1997} } @article{Henn06a, Doi = {10.1145/1378704.1378718}, abstract = {The story behind this once-promising distributed computing technology-why it fell short, and what we can learn from it.}, author = {Henning, Michi}, journal = {ACM Queue}, keywords = {damiencbib architecture corba orb soa}, number = {5}, title = {{The Rise and Fall of CORBA}}, volume = {4}, year = {2006} } @inproceedings{Henr91a, Address = {Hilton Head, South Carolina, United States}, Author = {Tyson R. Henry and Scott E. Hudson}, Booktitle = {Proceedings of the 4th annual ACM symposium on User interface software and technology}, Month = nov, Pages = {55--64}, Publisher = {ACM Press}, Title = {Interactive Graph Layout}, Year = {1991} } @inproceedings{Henr02a, author = {Henricksen, Karen and Indulska, Jadwiga and Rakotonirainy, Andry}, title = {Modeling Context Information in Pervasive Computing Systems}, doi = {10.1007/3-540-45866-2_14}, keywords = {damiencbib telephony ubiquitous}, booktitle = {Pervasive'02: Proceedings of the 1st International Conference on Pervasive Computing}, year = {2002}, isbn = {3-540-44060-7}, month = aug, pages = {167--180}, publisher = {Springer-Verlag}, address = {London, UK} } @inproceedings{Henr04a, Doi = {10.1109/PERCOM.2004.1276847}, title = {A software engineering framework for context-aware pervasive computing}, author = {Henricksen, Karen and Indulska, Jadwiga}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, booktitle = {PerCom'04: Proceedings of the 2nd International Conference on Pervasive Computing and Communications}, keywords = {damiencbib}, year = {2004}, pages = {77--86} } @techreport{Hens90a, Author = {Andreas V. Hense}, Institution = {FB 14, Universit{\"a}t des Saarlandes}, Keywords = {olit-inheritance wrappers binder}, Misc = {Nov. 5}, Month = nov, Note = {submitted for publication}, Number = {A11/90}, Title = {Denotational Semantics of an Object Oriented Programming Language with Explicit Wrappers}, Type = {Report}, Year = {1990} } @techreport{Hens90b, Author = {Andreas Hense}, Institution = {FB 14, Universit{\"a}t des Saarlandes}, Keywords = {olit-types binder}, Month = nov, Number = {A20/90}, Title = {Polymorphic Type Inference for a Simple Object Oriented Programming Language with State}, Type = {Report}, Year = {1990} } @techreport{Hens91a, Author = {Andreas Hense}, Institution = {FB 14, Universit{\"a}t des Saarlandes}, Keywords = {olit-inheritance binder}, Month = oct, Number = {A07/91}, Title = {An {O}'Small Interpreter Based on Denotational Semantics}, Type = {Report}, Year = {1991} } @incollection{Hens91b, Address = {Sendai, Japan}, Author = {Andreas Hense}, Booktitle = {Theoretical Aspects of Computer Software 1991}, Keywords = {olit-inheritance wrappers patterns tacs91 binder}, Note = {To appear}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Wrapper Semantics of an Object Oriented Programming Language with State}, Year = {1991} } @techreport{Hens91c, Author = {Andreas Hense}, Institution = {FB 14, Universit{\"a}t des Saarlandes}, Keywords = {olit-types binder}, Month = oct, Number = {A06/91}, Title = {Type Inference for {O}'Small}, Type = {Report}, Year = {1991} } @techreport{Hens93a, Author = {Andreas Hense and Gert Smolka}, Institution = {FB 14, Universit{\"a}t des Saarlandes}, Keywords = {olit-types binder (shelf)}, Month = jun, Number = {A02/93}, Title = {Principle Types for Object-Oriented Languages}, Type = {Report}, Year = {1993} } @article{Herl91a, Author = {Maurice P. Herlihy}, Journal = {ACM Transactions on Programming Languages and Systems}, Month = jan, Number = {1}, Pages = {124--149}, Publisher = {ACM Press}, Title = {Wait-Free Synchronization}, Volume = {13}, Year = {1991} } @inproceedings{Herl93a, Author = {Maurice P. Herlihy and J. Eliot B. Moss}, Booktitle = {Proceedings of the 20. Annual International Symposium on Computer Architecture}, Pages = {289--300}, Title = {Transactional Memory: {Architectural} Support For Lock-Free Data Structures}, Year = {1993} } @techreport{Herm00a, 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.}, Author = {Martin Hermann}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = jun, Title = {{Erstellung einer zentralen Kundendatenbank bei Firma W. Gassmann AG Biel}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Herm00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Herm00a.pdf} } @article{Herm00b, title={Graph visualization and navigation in information visualization: A survey}, volume={6}, url={http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=841119}, abstractNote={This is a survey on graph visualization and navigation techniques, as used in information visualization. Graphs appear in numerous applications such as web browsing, state-transition diagrams, and data structures. The ability to visualize and to navigate in these potentially large, abstract graphs is often a crucial part of an application. Information visualization has specific requirements, which means that this survey approaches the results of traditional graph drawing from a different perspective.}, number={1}, journal={IEEE Transactions on Visualization and Computer Graphics}, publisher={IEEE Educational Activities Department}, author={Herman, I and Melancon, G and Marshall, M S}, year={2000}, pages={24-43} } @book{Herm03a, Address = {ETH Z\"urich}, Author = {Michael Hermann and Heiri Leuthold}, Isbn = {3 7281 2901 1}, Publisher = {vdf Hochschlverlag AG}, Title = {Atlas der politischen Landschaften}, Year = {2003} } @article{Hern88a, Author = {Herndon, Jr., Robert M. and Valdis A. Berzins}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {patterns compiler generator kodiyak binder(patterns)}, Month = jun, Number = {6}, Pages = {803--809}, Title = {The Realizable Benefits of a Language Prototyping Language}, Volume = {SE-14}, Year = {1988} } @inproceedings{Herr03a, Author = {Stephan Herrmann}, Booktitle = {3rd German Workshop on Aspect-Oriented Software Development}, Keywords = {objectteams module}, Organization = {SIG Object-Oriented Software Development, German Informatics Society}, Title = {Object Confinement in {Object Teams} --- Reconciling Encapsulation And Flexible Integration}, Url = {http://www.objectteams.org}, Year = {2003}, Bdsk-Url-1 = {http://www.objectteams.org} } @techreport{Herr04a, Author = {Stephan Herrmann and Stephan Herrmann and Christine Hundt and Christine Hundt and Katharina Mehner and Katharina Mehner}, Keywords = {type-system}, Institution={Technical University Berlin}, Title = {Translation polymorphism in Object Teams}, Year = {2004} } @inproceedings{Herr08a, Address = {New York, NY, USA}, Author = {Herraiz, Israel and German, Daniel M. and Gonzalez-Barahona, Jesus M. and Robles, Gregorio}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370786}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {145--148}, Publisher = {ACM}, Title = {Towards a simplification of the bug report form in eclipse}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370786} } @techreport{Hert01a, Author = {Caroline Hertel}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = feb, Title = {Informatikprojekt Ideenb\"orse Post}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Hert01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hert01a.pdf} } @inproceedings{Hert09a, author = {Hert, Matthias}, title = {Relational Databases as Semantic Web Endpoints}, booktitle = {Proceedings of the 6th European Semantic Web Conference on The Semantic Web: Research and Applications}, series = {ESWC 2009 Heraklion}, year = {2009}, isbn = {978-3-642-02120-6}, location = {Heraklion, Crete, Greece}, pages = {929--933}, numpages = {5}, url = {http://dx.doi.org/10.1007/978-3-642-02121-3_84}, doi = {10.1007/978-3-642-02121-3_84}, acmid = {1561632}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @inproceedings{Herz94a, Author = {R. Herzig and M. Gogolla}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {20--39}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An {SQL}-like Query Calculus for Object-Oriented Databases}, Volume = {858}, Year = {1994} } @techreport{Herz94b, Author = {R. Herzig and M. Gogolla}, Institution = {Universit{\"a}t Bremen}, Issn = {0722-8996}, Keywords = {olit binder}, Number = {9/94}, Title = {On a Better Formal Basis for Stating {SQL}-like Queries in Value- and Object-Based {DBS}}, Type = {Report}, Year = {1994} } @inproceedings{Herz06a, Author = {Charlotte Herzeel and Kris Gybels and Pascal Costanza}, Booktitle = {Proceeding of the Workshop on Revival of Dynamic Languages}, Title = {A Temporal Logic Language for Context Awareness in Pointcuts}, Year = {2006} } @inproceedings{Herz07a, Author = {Charlotte Herzeel and Kris Gybels and Pascal Costanza and Theo D'Hondt}, Booktitle = {Proceeding of the International Lisp Conference (ILC) 2007}, Title = {Modularizing crosscuts in an e-commerce application in Lisp using HALO}, Year = {2007} } @article{Herz10a, author = {C. Herzeel and P. Costanza and T. D'Hondt}, title = {An Extensible Interpreter Framework for Software Transactional Memory}, journal = {Journal of Universal Computer Science}, year = {2010}, volume = {16}, number = {2}, pages = {221--245}, url = {http://www.jucs.org/jucs_16_2/an_extensible_interpreter_framework}, doi = {10.3217/jucs-016-02-0221} } @article{Hess88a, Author = {Win H. Hesselink}, Journal = {ACM Transactions on Programming Languages and Systems}, Keywords = {types semantics binder}, Month = jan, Number = {1}, Pages = {87--117}, Title = {A Mathematical Approach to Nodeterminism in Data Types}, Volume = {10}, Year = {1988} } @article{Hess90a, Author = {Wim H. Hesselink}, Journal = {Formal Aspects of Computing}, Keywords = {linear-logic binder}, Pages = {139--166}, Title = {Axioms and Models of Linear Logic}, Volume = {2}, Year = {1990} } @book{Hess92a, Author = {Wim H. Hesselink}, Keywords = {Semantics}, Publisher = {Cambridge press}, Title = {Programs, recursion and unbounded choice}, Year = {1992} } @techreport{Hess94a, Author = {Win H. Hesselink}, Institution = {University of Groningen, the Netherlands}, Keywords = {Semantics}, Number = {CS-R9407}, Title = {{NQTHM} proving sequential programs}, Type = {CS Reports Groningen}, Year = {1994} } @misc{Hetz98a, Address = {Los Angeles, CA}, Author = {Beth Hetzler and Nancy Miller}, Howpublished = {Presented at Information Exploration workshop for ACM SIGCHI '98.}, Month = apr, Title = {Four Critical Elements for Designing Information Exploration Systems}, Url = {http://www.pnl.gov/infoviz/sigchi98/index.html}, Year = {1998}, Bdsk-Url-1 = {http://www.pnl.gov/infoviz/sigchi98/index.html} } @inproceedings{Hetz98b, Address = {W\"urzburg}, Author = {Beth Hetzler and W. Michelle Harris and Susan Havre and Paul Whitney}, Booktitle = {Structures and Relations in Knowledge Organization. Proceedings 5th Int. ISKO Conference}, Pages = {168--175}, Publisher = {ERGON Verlag}, Title = {Visualizing the Full Spectrum of Document Relationships}, Year = {1998} } @book{Heue95a, Author = {Andreas Heuer and Gunter Saake}, Isbn = {3-929821-31-1}, Keywords = {olit-db scglib}, Publisher = {International Thomson Publishing}, Title = {Databanken: Konzepte und Sprachen}, Year = {1995} } @inproceedings{Heuz03a, Author = {Dirk Heuzeroth and Thomas Holl and Gustav H\"ogstr\"om and Welf L\"owe}, Booktitle = {International Workshop on Program Comprehension}, Issn = {1092-8138}, Pages = {94--104}, Title = {Automatic Design Pattern Detection}, Year = {2003} } @article{Hewi77a, Author = {Carl Hewitt and Henry Baker}, Editor = {G. Gilchrist}, Journal = {Information Processing 77}, Keywords = {concurrency messages actors binder}, Pages = {987--992}, Publisher = {North-Holland}, Title = {Laws for Communicating Parallel Processes}, Year = {1977} } @article{Hewi77b, Author = {Carl Hewitt}, Journal = {Artificial Intelligence}, Keywords = {concurrency messages actors binder}, Month = jun, Number = {3}, Pages = {323--364}, Title = {Viewing Control Structures as Patterns of Passing Messages}, Volume = {8}, Year = {1977} } @article{Hewi85a, Author = {Carl Hewitt}, Journal = {Byte}, Keywords = {misc open systems}, Month = apr, Number = {4}, Pages = {223--242}, Title = {The Challenge of Open Systems}, Volume = {10}, Year = {1985} } @article{Hewi86a, Author = {Carl Hewitt}, Journal = {ACM Transactions Off. Inf. Syst.}, Keywords = {misc open systems}, Number = {3}, Pages = {270--287}, Title = {Offices are open Open Systems}, Volume = {4}, Year = {1986} } @article{Hick05a, Author = {Michael Hicks and Scott Nettles}, Doi = {10.1145/1108970.1108971}, Journal = {ACM Transactions on Programming Languages and Systems}, Month = {nov}, Number = {6}, Pages = {1049--1096}, Title = {Dynamic software updating}, Volume = {27}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1108970.1108971} } @inproceedings{Hick08, Address = {New York, NY, USA}, Author = {Hickey, Rich}, Booktitle = {DLS '08: Proceedings of the 2008 symposium on Dynamic languages}, Doi = {10.1145/1408681.1408682}, Isbn = {978-1-60558-270-2}, Location = {Paphos, Cyprus}, Pages = {1--1}, Publisher = {ACM}, Title = {The {Clojure} programming language}, Url = {http://doi.acm.org/10.1145/1408681.1408682}, Year = {2008}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1408681.1408682}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1408681.1408682} } @book{Higg87a, Author = {David A. Higgins and Nicholas Zvegintzov}, Month = jan, Publisher = {Dorset House}, Title = {Data Structured Software Maintenance: The Warnier/Orr Approach}, Year = {1987} } @inproceedings{Higo02a, Author = {Yoshiki Higo and Yasushi Ueda and Toshihro Kamiya and Shinji Kusumoto and Katsuro Inoue}, Booktitle = {Proceedings 4th International Conference on Product Focused Software Process Improvement (Profes 2002)}, Keywords = {clones dotplot}, Month = dec, Title = {On Software Maintenance Process Improvement based on Code Clone Analysis}, Url = {http://iip-lab.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/394/394.pdf}, Year = {2002}, Bdsk-Url-1 = {http://iip-lab.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/archive/394/394.pdf} } @article{Higu05a, Author = {Colin de la Higuera}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1016/j.patcog.2005.01.003}, Journal = {Pattern Recognition}, Number = {9}, Pages = {1332--1348}, Title = {A bibliographical study of grammatical inference.}, Volume = {38}, Year = {2005} } @article{Hill86a, Author = {Ralph D. Hill}, Journal = {ACM Transactions on Computer Graphics}, Keywords = {uilit}, Month = jul, Number = {3}, Pages = {179--210}, Title = {Supporting Concurrency, Communication and Synchronization in Human-Computer Interaction --- The Sassafras {UIMS}}, Volume = {5}, Year = {1986} } @inproceedings{Hill87a, Author = {Ralph D. Hill}, Booktitle = {Proceedings CHI+GI '87}, Keywords = {visprog uims binder(ui)}, Pages = {241--248}, Title = {Event-Response Systems --- {A} Technique for Specifying Multi-Threaded Dialogues}, Year = {1987} } @inproceedings{Hill92a, Author = {Ralph D. Hill}, Booktitle = {Proceedings of CHI '92: the Conference on Human Factors in Computing Systems}, Month = may, Organization = {ACM}, Pages = {335--342}, Title = {The Abstraction-Link Paradigm: Using Contraints to Connect User Interfaces to Applications}, Year = {1992} } @article{Hill93a, Author = {R.D. Hill and T. Brinck and J.F Patterson and S.L. Rohall and W.T. Wilner}, Journal = {Communications of the ACM}, Number = {1}, Pages = {62--67}, Title = {The Rendezvous Language and Architecture: Tools for Constructibg Multi-User Interactive Systems}, Volume = {36}, Year = {1993} } @inproceedings{Hill93b, Author = {R.D. Hill}, Booktitle = {Proceedings of UIST '93}, Pages = {225--234}, Title = {The Rendezvous Constraint Maintenance System}, Year = {1993} } @article{Hill94a, Author = {Ralph D. Hill and Tom Brinck and Steven L. Rohall and John F.Patterson and Wayne Wilner}, Journal = {ACM Transactions on Computer-Human Interaction}, Month = jun, Number = {2}, Pages = {81--125}, Title = {{The Rendezvous Architecture and Language for Constructing Multi-User Applications}}, Volume = {1}, Year = {1994} } @inproceedings{Hill99a, Author = {Rich Hilliard}, Booktitle = {Proceedings 2nd International UML Conference, UML '99}, Editor = {Robert France Bernard Rumpe}, Month = oct, Pages = {32--48}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using the {UML} for Architectural Description}, Volume = {1723}, Year = {1999} } @inproceedings{Hill00a, Author = {T. Hill and J. Noble and J. Potter}, Booktitle = {Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS'00)}, Doi = {10.1109/TOOLS.2000.891370}, Isbn = {0-7695-0918-5}, Location = {Sydney, NSW, Australia}, Month = jun, Pages = {202--213}, Title = {Scalable Visualisations with Ownership Trees}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TOOLS.2000.891370} } @article{Hill02a, Author = {Trent Hill and James Noble and John Potter}, Date = {2003-11-21}, Description = {dblp}, Doi = {10.1006/jvlc.2002.0238}, Journal = {Journal of Visual Languages and Computing}, Number = {3}, Pages = {319--339}, Title = {Scalable Visualizations of Object-Oriented Systems with Ownership Trees.}, Url = {http://dblp.uni-trier.de/db/journals/vlc/vlc13.html#HillNP02}, Volume = {13}, Year = {2002}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/journals/vlc/vlc13.html#HillNP02}, Bdsk-Url-2 = {http://dx.doi.org/10.1006/jvlc.2002.0238} } @techreport{Hill06a, 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.}, Author = {Rebecca Hiller}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb06 fb06}, Month = mar, Title = {{SEDEXfield} --- {PDA} {Programm} zur {Beurteilung} von {Wildb\"achen}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Hill06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hill06a.pdf} } @inproceedings{Hill08a, Address = {New York, NY, USA}, Author = {Hill, Emily and Fry, Zachary P. and Boyd, Haley and Sridhara, Giriprasad and Novikova, Yana and Pollock, Lori and Vijay-Shanker, K.}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370771}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {79--88}, Publisher = {ACM}, Title = {{AMAP}: automatically mining abbreviation expansions in programs to enhance software maintenance tools}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370771} } @inproceedings{Hill09a, Address = {Washington, DC, USA}, Author = {Hill, Emily and Pollock, Lori and Shanker, K. Vijay}, Booktitle = {ICSE '09: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering}, Citeulike-Article-Id= {6610979}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1555001.1555039}, Citeulike-Linkout-1= {http://dx.doi.org/10.1109/ICSE.2009.5070524}, Doi = {10.1109/ICSE.2009.5070524}, Isbn = {978-1-4244-3453-4}, Keywords = {codesearch, vocabulary}, Pages = {232--242}, Posted-At = {2010-02-01 10:02:40}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {Automatically capturing source code context of NL-queries for software maintenance and reuse}, Url = {http://dx.doi.org/10.1109/ICSE.2009.5070524}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2009.5070524} } @inproceedings{Hils04a, Address = {New York, NY, USA}, Author = {Erik Hilsdale and Jim Hugunin}, Booktitle = {AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development}, Doi = {10.1145/976270.976276}, Isbn = {1-58113-842-3}, Location = {Lancaster, UK}, Pages = {26--35}, Publisher = {ACM}, Title = {Advice weaving in {A}spect{J}}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/976270.976276} } @book{Hilt99a, Author = {Michael A. Hiltzik}, Keywords = {scglib}, Publisher = {Harperbusiness}, Title = {Dealers of Lightning, Xerox Parc and the Dawn of the Computer Age}, Year = {1999} } @book{Hind86a, Author = {J. Roger Hindley and Jonathan P. Seldin}, Publisher = {Cambridge University Press}, Title = {Introduction to Combinatory Logic and Lambda Calculus}, Year = {1986} } @inproceedings{Hind90a, Address = {Zotavovna Sir\'ena}, Author = {Bernd Hindel}, Booktitle = {SOFSEM '90}, Keywords = {concurrency graph grammars binder}, Month = nov, Title = {Objects + Processes = Graphs}, Year = {1990} } @phdthesis{Hind92a, Author = {Bernd Hindel}, Keywords = {concurrency graph grammars binder (shelf)}, School = {University of Erlangen-N{\"u}rnberg}, Title = {Graphische Beschreibung von objektorientierten Programmen}, Type = {{Ph.D}. Thesis}, Year = {1992} } @article{Hind99a, author = {Hind, Michael and Burke, Michael and Carini, Paul and Choi, Jong-Deok}, title = {Interprocedural pointer alias analysis}, journal = {ACM Trans. Program. Lang. Syst.}, volume = {21}, issue = {4}, month = jul, year = {1999}, issn = {0164-0925}, pages = {848--894}, numpages = {47}, doi = {10.1145/325478.325519}, acmid = {325519}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {interprocedural analysis, pointer aliasing, program analysis}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/325478.325519} } @inproceedings{Hind01a, Address = {New York, NY, USA}, Author = {Michael Hind}, Booktitle = {2001 {ACM} {SIGPLAN}-{SIGSOFT} Workshop on Program Analysis for Software Tools and Engineering ({PASTE}'01)}, Doi = {10.1145/379605.379665}, Isbn = {1-58113-413-4}, Location = {Snowbird, Utah, United States}, Pages = {54--61}, Publisher = {ACM}, Title = {Pointer Analysis: Haven't We Solved This Problem Yet?}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/379605.379665} } @inproceedings{Hind06a, Address = {New York, NY, USA}, Author = {Benjamin Hindman and Dan Grossman}, Booktitle = {MSPC '06: Proceedings of the 2006 workshop on Memory system performance and correctness}, Doi = {10.1145/1178597.1178611}, Isbn = {1-59593-578-9}, Location = {San Jose, California}, Pages = {82--91}, Publisher = {ACM Press}, Title = {Atomicity via source-to-source translation}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1178597.1178611} } @inproceedings{Hind08a, Address = {Washington, DC, USA}, Author = {Abram Hindle and Michael W. Godfrey and Richard C. Holt}, Booktitle = {ICPC '08: Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension}, Doi = {10.1109/ICPC.2008.13}, Isbn = {978-0-7695-3176-2}, Pages = {133--142}, Publisher = {IEEE Computer Society}, Title = {Reading Beside the Lines: Indentation as a Proxy for Complexity Metrics}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.13} } @article{Hint04a, Address = {Los Alamitos, CA, USA}, Author = {Jana Hintze and Maic Masuch}, Doi = {10.1109/C5.2004.1314373}, Journal = {c5}, Pages = {78--85}, Publisher = {IEEE Computer Society}, Title = {Designing a 3D Authoring Tool for Children}, Volume = {00}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/C5.2004.1314373} } @inproceedings{Hirs02a, Author = {Tom Hirschowitz and Xavier Leroy}, Booktitle = {Proceedings of the European Symposium on Programming}, Month = apr, Pages = {6--20}, Title = {Mixin Modules in a call-by-value setting}, Url = {http://citeseer.nj.nec.com/hirschowitz02mixin.htm}, Year = {2002}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/hirschowitz02mixin.htm} } @inproceedings{Hirs02b, Address = {Seattle, WA, United States}, Author = {Robert Hirschfeld}, Booktitle = {OOPSLA 2002 Workshop on Engineering Context-Aware Object-Oriented Systems and Environments}, Keywords = {cop-lit}, Month = {nov}, Title = {{PerspectiveS} --- {AspectS} with Context}, Year = {2002} } @book{Hirs02c, Author = {E. D. Hirsch, Joseph F. Kett, James Trefil}, Isbn = {978-0618226474}, Keywords = {dictionary}, Publisher = {Houghton Mifflin}, Title = {The New Dictionary of Cultural Literacy}, Year = {2002} } @inproceedings{Hirs03a, Author = {Robert Hirschfeld}, Booktitle = {Objects, Components, Architectures, Services, and Applications for a Networked World}, Editor = {M. Aksit and M. Mezini and R. Unland}, Number = 2591, Pages = {216--232}, Publisher = {Springer}, Series = {LNCS}, Title = {{AspectS} --- Aspect-Oriented Programming with {Squeak}}, Year = {2003}, Doi = {10.1007/3-540-36557-5_17} } @inproceedings{Hirs03b, Author = {Robert Hirschfeld}, Booktitle = {Proceedings NODe 2002}, Doi = {10.1007/3-540-36557-5_17}, Pages = {216--232}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{AspectS} --- Aspect-Oriented Programming with Squeak}, Volume = {2591}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-36557-5_17} } @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} } @book{Hite99a, Address = {Austin, Texas}, Author = {Kenneth Hite and Craig Neumeier and Michael S. Schiffer}, Isbn = {978-1556343995}, Publisher = {Steve Jackson Games}, Title = {GURPS Alternate Earths}, Volume = {2}, Year = {1999} } @article{Hitz95a, Annote = {oometrics}, Author = {M. Hitz and B. Montazeri}, Journal = {Proceedings of International Symposium on Applied Corporate Computing (ISAAC '95)}, Month = oct, Title = {Measure Coupling and Cohesion in Object-Oriented Systems}, Year = {1995} } @article{Hitz96b, Annote = {oometrics}, Author = {M. Hitz and B. Montazeri}, Journal = {IEEE Transactions on Software Engineering}, Month = apr, Number = {4}, Pages = {267--271}, Title = {{Chidamber} and {Kemerer}'s Metrics Suite; A Measurement Theory Perspective}, Volume = {22}, Year = {1996} } @inproceedings{Hjal98a, author = {Hj\'{a}lmt\'{y}sson, G\'{\i}sli and Gray, Robert}, title = {Dynamic {C++} classes: a lightweight mechanism to update code in a running program}, booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference}, series = {ATEC '98}, year = {1998}, location = {New Orleans, Louisiana}, pages = {6--6}, numpages = {1}, url = {http://portal.acm.org/citation.cfm?id=1268256.1268262}, acmid = {1268262}, publisher = {USENIX Association}, address = {Berkeley, CA, USA} } @article{Hoad03a, Author = {Timothy C. Hoad and Justin Zobel}, Journal = {Journal of the American Society for Information Science and Technology}, Keywords = {plagiarism}, Number = {3}, Pages = {203--215}, Title = {Methods for Identifying Versioned and Plagiarized Documents}, Url = {http://goanna.cs.rmit.edu.au/~jz/Papers.html}, Volume = {54}, Year = {2003}, Bdsk-Url-1 = {http://goanna.cs.rmit.edu.au/~jz/Papers.html} } @article{Hoar69a, Author = {C.A.R. Hoare}, Journal = {Communications of the ACM}, Keywords = {semantics}, Pages = {576--583}, Title = {An Axiomatic Basis for Computer Programming}, Volume = {12}, Year = {1969} } @techreport{Hoar73a, Author = {C. A. R. Hoare}, Institution = {Stanford University}, Number = {CS-TR-73-403}, Title = {Hints on programming language design}, Url = {http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf}, Year = {1973}, Bdsk-Url-1 = {http://www.eecs.umich.edu/~bchandra/courses/papers/Hoare_Hints.pdf} } @article{Hoar74a, Author = {C.A.R. Hoare}, Journal = {CACM}, Keywords = {concurrency monitors binder}, Month = oct, Number = {10}, Pages = {549--557}, Title = {Monitors: An Operating System Structuring Concept}, Volume = {17}, Year = {1974} } @article{Hoar78a, Author = {C.A.R. Hoare}, Journal = {CACM}, Keywords = {concurrency csp binder}, Month = aug, Number = {8}, Pages = {666--677}, Title = {Communicating Sequential Processes}, Volume = {21}, Year = {1978} } @book{Hoar85a, Author = {C.A.R. Hoare}, Isbn = {0-13-153289-8}, Keywords = {pcalc equivalence csp book scglib}, Publisher = {Prentice-Hall}, Title = {Communicating Sequential Processes}, Year = {1985} } @inproceedings{Hoar99a, 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.}, Address = {Lisbon, Portugal}, Author = {C.A.R. Hoare and He Jifing}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {1--17}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Trace Model for Pointers and Objects}, Volume = 1628, Year = {1999} } @inproceedings{Hoel91a, Address = {Geneva, Switzerland}, Author = {Urs H{\"o}lzle and Craig Chambers and David Ungar}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-oopl self ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {21--38}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches}, Volume = 512, Year = {1991} } @inproceedings{Hoel93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Urs H{\"o}lzle}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {36--56}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Integrating Independently-Developed Components in Object-Oriented Languages}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Hoel95a, Address = {Aarhus, Denmark}, Author = {Urs H{\"o}lzle and David Ungar}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {283--302}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Do Object-Oriented Languages Need Special Hardware Support?}, Volume = {952}, Year = {1995} } @inproceedings{Hoes09a, Author = {Hoest, Einar W. and OEstvold, Bjarte M.}, Booktitle = {Proceedings of the 23nd European Conference on Object-Oriented Programming (ECOOP'09)}, Isbn = {978-3-642-03012-3}, Pages = {To appear}, Publisher = {Springer}, Series = {LNCS}, Title = {Debugging Method Names}, Year = {2009} } @inproceedings{Hofe06a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Christoph Hofer and Marcus Denker and St\'ephane Ducasse}, Booktitle = {Proceedings of NODE'06}, Inria = {hors}, Keywords = {skip-doi scg-pub stefPub jb07 fb06 snf06}, Medium = {2}, Month = sep, Organization = {Gesellschaft f{\"u}r Informatik (GI)}, Pages = {17--32}, Peerreview = {yes}, Selectif = {non}, Series = {Lecture Notes in Informatics}, Title = {Design and Implementation of a Backward-In-Time Debugger}, Url = {http://scg.unibe.ch/archive/papers/Hofe06aUnstuckNode.pdf}, Volume = {P-88}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Hofe06aUnstuckNode.pdf} } @mastersthesis{Hofe06b, 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.}, Author = {Christoph Hofer}, Keywords = {scg-msc snf06 jb07 fb06}, Month = sep, School = {University of Bern}, Title = {Implementing a Backward-In-Time Debugger}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Hofe06b.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Hofe06b.pdf} } @article{Hoff82a, Author = {C. M. Hoffman and M. J. O'Donnell}, Journal = {Journal of the ACM}, Month = jan, Number = 1, Pages = {68--95}, Title = {Pattern Matching in Trees}, Volume = 29, Year = {1982} } @article{Hofm94a, Author = {Martin Hofmann and Benjamin C. Pierce}, Journal = {Journal of Functional Programming}, Keywords = {types olit binder}, Month = jan, Note = {To appear}, Title = {A Unifying Type-Theoretic Framework for Objects}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/abstroop.ps.gz}, Year = {1994}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/abstroop.ps.gz} } @unpublished{Hofm94b, Author = {Martin Hofmannn and Benjamin Pierce}, Keywords = {subtyping olit binder}, Misc = {July 22}, Month = jul, Note = {Department of Computer Science, University of Edinburgh}, Title = {Positive Subtyping}, Type = {Draft}, Year = {1994} } @inproceedings{Hofm95a, Abstract = {The statement 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.}, Author = {Martin Hofmann and Benjamin C. Pierce}, Booktitle = {Proceedings POPL '95}, Keywords = {types olit binder popl95}, Title = {Positive Subtyping}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pos.ps.gz}, Year = {1995}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pos.ps.gz} } @techreport{Hofm99a, Author = {Thomas F. Hofmann}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = apr, Title = {StudentInnen-Verwaltungs-System am Institut f{\"u}r Informatik der Universit{\"a}t Bern}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Hofm99a.pdf http://scg.unibe.ch/archive/projects/Hofm99a-code.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hofm99a.pdf%20http://scg.unibe.ch/archive/projects/Hofm99a-code.pdf} } @inproceedings{Hofm99b, Author = {Thomas Hofmann}, Booktitle = {International Conference on Research and Development in Information Retrieval}, Title = {Probabilistic Latent Semantic Indexing}, Year = {1999} } @book{Hofm00a, Author = {Christine Hofmeister and Robert L. Nord and Dilip Soni}, Publisher = {Addison Wesley}, Title = {Applied Software Architecture}, Year = {2000} } @mastersthesis{Hofm01a, 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.}, Author = {Thomas F. Hofmann}, Keywords = {scg-pub skip-doi scg-msc jb01 snf02}, Month = apr, School = {University of Bern}, Title = {{OPENSPACES}, An Object-Oriented Framework for Configurable Coordination of Heterogeneous Agents}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Hofm01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Hofm01a.pdf} } @techreport{Hogg81a, 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.}, Author = {John Hogg and Oscar Nierstrasz and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Computer Systems Research Group, University of Toronto}, Keywords = {oislit skip-doi forms tla}, Month = mar, Number = {127}, Pages = {101--133}, Title = {Form Procedures}, Type = {Omega Alpha, CSRG Technical Report}, Url = {http://scg.unibe.ch/archive/uoft/Hogg81aTLA.pdf}, Year = {1981}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Hogg81aTLA.pdf} } @mastersthesis{Hogg81b, Author = {John Hogg}, Keywords = {oislit forms tla}, School = {Department of Computer Science, University of Toronto}, Title = {{TLA}: {A} System for Automating Form Procedures}, Type = {M.Sc. thesis}, Year = {1981} } @article{Hogg83a, Author = {John Hogg and Murray S. Mazer and S. Gamvroulas and Dennis Tsichritzis}, Journal = {IEEE Database Engineering}, Keywords = {oislit imail}, Month = sep, Number = {3}, Title = {Imail --- An Intelligent Mail System}, Volume = {6}, Year = {1983} } @inproceedings{Hogg84a, Author = {John Hogg and S. Gamvroulas}, Booktitle = {SIGMOD '84 Proceedings, SIGMOD Record}, Keywords = {oislit imail}, Month = jun, Title = {An Active Mail System}, Volume = {14}, Year = {1984} } @incollection{Hogg85a, 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.}, Address = {Heidelberg}, Author = {John Hogg and Oscar Nierstrasz and Dennis Tsichritzis}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {oislit skip-doi forms tla oact85}, Pages = {137--166}, Publisher = {Springer-Verlag}, Title = {Office Procedures}, Url = {http://scg.unibe.ch/archive/uoft/Hogg85aOfficeProcedures.pdf}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Hogg85aOfficeProcedures.pdf} } @incollection{Hogg85b, Address = {Heidelberg}, Author = {John Hogg}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {oislit imail oact85}, Pages = {113--134}, Publisher = {Springer-Verlag}, Title = {Intelligent Message Systems}, Year = {1985} } @inproceedings{Hogg87a, Author = {John Hogg and Steven Weiser}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {388--393}, Title = {{OTM}: applying Objects to Tasks}, Volume = {22}, Year = {1987} } @techreport{Hogg87b, Author = {John Hogg}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc petri nets osg oat87}, Month = mar, Pages = {165--181}, Title = {Modelling Coordination Among Objects}, Type = {Objects and Things}, Year = {1987} } @inproceedings{Hogg91a, Author = {John Hogg}, Booktitle = {Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'91), ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {271--285}, Title = {Islands: Aliasing Protection in Object-Oriented Languages}, Volume = {26}, Year = {1991} } @article{Hogg92a, Author = {John Hogg and Doug Lea and Alan Wills and Dennis deChampeaux and Richard Holt}, Doi = {10.1145/130943.130947}, Issn = {1055-6400}, Journal = {SIGPLAN OOPS Mess.}, Number = {2}, Pages = {11--16}, Publisher = {ACM Press}, Title = {The {G}eneva convention on the treatment of object aliasing}, Volume = {3}, Year = {1992}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/130943.130947} } @book{Hogr95a, Editor = {Dieter Hogrefe and Stefan Leue}, Isbn = {0-412-64450-(2)}, Keywords = {book scglib}, Publisher = {Chapman \& Hall}, Title = {Proceedings of {IFIP} {WG} 6.1 7th International Conference on Formal Description Techniques}, Year = {1995} } @inproceedings{Hohe96a, Address = {Linz, Austria}, Author = {Uwe Hohenstein}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {398--420}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Bridging the Gap between {C}++ and Relational Databases}, Volume = {1098}, Year = {1996} } @phdthesis{Holl92b, Author = {Ian M. Holland}, Keywords = {olit-reuse binder}, School = {Northeastern University}, Title = {The Design and Representation of Object-Oriented Components}, Type = {{Ph.D}. Thesis}, Url = {http://www.ccs.neu.edu/home/lieber/theses/holland/thesis.ps}, Year = {1991}, Bdsk-Url-1 = {http://www.ccs.neu.edu/home/lieber/theses/holland/thesis.ps} } @inproceedings{Holl92a, Address = {Utrecht, the Netherlands}, Author = {Ian M. Holland}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-reuse ecoop92proc}, Month = jun, Pages = {287--308}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Specifying Reusable Components Using Contracts}, Volume = {615}, Year = {1992} } @phdthesis{Holl92c, Author = {Joseph E. Hollingsworth}, Keywords = {olit-reuse binder}, School = {Dept. of Computer \& Information Science, The Ohio State University, Columbus, OH}, Title = {Software Component Design-for-Reuse: A Language Independent Discipline Applied to Ada}, Url = {http://www.cis.ohio-state.edu/rsrg/}, Year = {1992}, Bdsk-Url-1 = {http://www.cis.ohio-state.edu/rsrg/} } @article{Holl94a, Author = {Joseph E. Hollingsworth and Sethu Sreerama and Bruce W. Weide and Sergey Zhupanov}, Doi = {10.1145/190679.190684}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {4}, Pages = {52--63}, Publisher = {ACM Press}, Title = {Part IV: {RESOLVE} components in {Ada} and {C++}}, Volume = {19}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.190684} } @inproceedings{Holl97a, Author = {Hollingsworth, J. K. and Niam, O. and Miller, B. P. and Xu, Zhichen and Goncalves, M. J. R. and Zheng, Ling}, Title = {{MDL}: A Language And Compiler For Dynamic Program Instrumentation}, Booktitle = {Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques}, Series = {PACT '97}, Year = {1997}, Isbn = {0-8186-8090-3}, Pages = {201--}, Url = {http://portal.acm.org/citation.cfm?id=522659.825654}, Acmid = {825654}, Publisher = {IEEE Computer Society}, Address = {Washington, DC, USA}, Keywords = {} } @inproceedings{Holl00a, Author = {Joseph E. Hollingsworth and Lori Blankenship and Bruce W. Weide}, Booktitle = {SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering}, Doi = {10.1145/355045.355048}, Isbn = {1-58113-205-0}, Location = {San Diego, California, United States}, Pages = {11--19}, Publisher = {ACM Press}, Title = {Experience Report: Using {RESOLVE/C++} for Commercial Software}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/355045.355048} } @inproceedings{Holl08a, Doi = {10.1007/978-3-540-79576-6_4}, author = {Holleis, Paul and Schmidt, Albrecht}, title = {MAKEIT: Integrate User Interaction Times in the Design Process of Mobile Applications}, booktitle = {Pervasive'08: Proceedings of the 6th International Conference on Pervasive Computing}, address = {Berlin, Heidelberg}, series = {LNCS}, volume = {5013}, year = {2008}, keywords = {damiencbib pervasive}, pages = {56--74}, Publisher = {Springer-Verlag} } @book{Holm95a, Author = {Jim Holmes}, Isbn = {0-13-182106-7}, Keywords = {compiler book scglib}, Publisher = {Prentice-Hall}, Title = {Building your own Compiler with {C}++}, Year = {1995} } @book{Holm95b, Author = {Jim Holmes}, Isbn = {0-13-192071-5}, Keywords = {compiler oobib(gen) book scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Compiler Construction}, Year = {1995} } @inproceedings{Holm97a, Author = {David Holmes and James Noble and John Potter}, Booktitle = {Proceedings of TOOLS-25'97}, Keywords = {oobib synchronization Rings}, Month = nov, Publisher = {IEEE}, Title = {{Aspects of Synchronisation}}, Year = {1997} } @inproceedings{Holm05a, Author = {Reid Holmes and Gail C. Murphy}, Booktitle = {Proceedings of ICSE'05}, Pages = {1--10}, Title = {Using Structural Context to Recommend Source Code Examples}, Year = {2005} } @article{Holm06a, Address = {Piscataway, NJ, USA}, Author = {Holmes, Reid}, Booktitle = {Software Engineering, IEEE Transactions on}, Citeulike-Article-Id= {2372522}, Doi = {10.1109/TSE.2006.117}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Number = {12}, Pages = {952--970}, Posted-At = {2009-08-10 15:23:54}, Priority = {5}, Publisher = {IEEE Press}, Title = {Approximate Structural Context Matching: An Approach to Recommend Relevant Examples}, Url = {http://dx.doi.org/10.1109/TSE.2006.117}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2006.117} } @inproceedings{Holm09a, Abstract = {In this paper we examine the search behaviours of developers using the Strathcona source code example recommendation system over the period of three years. In particular, we investigate the number of query facts software engineers included in their queries as they searched for source code examples. We found that in practice developers predominantly searched with multiple search facts and tended to constrain their queries by iteratively adding more facts as needed. Our experience with this data suggest that example search tools should both support searching with multiple facts as well and facilitate the construction of multi-fact queries.}, Author = {Holmes, R.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403376}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070013}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070013}, Doi = {10.1109/SUITE.2009.5070013}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, strathcona, suite2009}, Pages = {13--16}, Posted-At = {2009-08-10 11:10:15}, Priority = {0}, Title = {Do developers search for source code examples using multiple facts?}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070013}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070013} } @book{Holo07, Author = {Adrian Holovaty and Jacob Kaplan-Moss}, Isbn = {TBD}, Publisher = {Apress}, Title = {The Django Book}, Year = {2007} } @article{Holt72a, Author = {Richard Holt}, Journal = {ACM Computing Surveys}, Keywords = {misc os deadlock binder}, Month = sep, Number = {3}, Pages = {179--196}, Title = {Some Deadlock Properties of Computer Systems}, Volume = {4}, Year = {1972} } @book{Holt83a, Address = {Reading, Mass.}, Author = {Richard Holt}, Keywords = {plang euclid}, Publisher = {Addison Wesley}, Title = {Concurrent Euclid, the {UNIX} system, and {TUNIS}}, Year = {1983} } @inproceedings{Holt96a, Address = {Los Alamitos CA}, Author = {Richard Holt and Jason Pak}, Booktitle = {Proceedings of Working Conference on Reverse Engineering (WCRE 1996)}, Keywords = {evolution visualization}, Pages = {163--167}, Publisher = {IEEE Computer Society Press}, Title = {{GASE}: Visualizing Software Evolution-in-the-Large}, Year = {1996} } @inproceedings{Holt98a, Author = {Richard Holt}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {210--219}, Publisher = {IEEE Computer Society}, Title = {Structural Manipulations of Software Architecture Using Tarski Relational Algebra}, Year = {1998} } @techreport{Holt98b, Author = {Richard C. Holt}, Institution = {University of Waterloo}, Month = nov, Title = {An Introduction to {TA}: The {Tuple}-{Attribute} Language}, Url = {http://plg.uwaterloo.ca/~holt/papers/ta.html}, Year = {1998}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~holt/papers/ta.html} } @inproceedings{Holt99a, Address = {Toronto}, Author = {John B. Tran and Richard C. Holt}, Booktitle = {CASCON '99}, Month = nov, Title = {Forward and Reverse Repair of Software Architecture}, Year = {1999} } @inproceedings{Holt00a, Author = {Richard C. Holt and Andreas Winter and Andy Sch\"urr}, Booktitle = {Proceedings WCRE '00}, Month = nov, Title = {{GXL}: Towards a Standard Exchange Format}, Year = {2000} } @inproceedings{Holt01a, Address = {University of Alberta}, Author = {Ric Holt}, Booktitle = {ASERC Workshop on Software Architecture}, Month = aug, Title = {Sofware Architecture as a Shared Mental Model}, Year = {2001} } @inproceedings{Holt05a, Author = {Danny Holten and Roel Vliegen and Jarke J. van Wijk}, Booktitle = {VISSOFT}, Pages = {27--32}, Title = {Visual Realism for the Visualization of Software Metrics}, Year = {2005} } @article{Holt06a, Author = {Holt and Sch\"urr and Sim and Winter}, Journal = {Science of Computer Programming}, Month = apr, Number = 2, Pages = {149--170}, Title = {GXL: A graph-based standard exchange format for reengineering}, Volume = 60, Year = {2006} } @inproceedings{Holt07a, author = {Danny Holten and Bas Cornelissen and Jarke J. van Wijk}, title = {Trace Visualization Using Hierarchical Edge Bundles and Massive Sequence Views}, booktitle = {Proceedings of Visualizing Software for Understanding and Analysis, 2007 (VISSOFT'07)}, year = {2007}, isbn = {1-4244-0600-5}, pages = {47 - 54}, doi= {10.1109/VISSOF.2007.4290699}, publisher = {IEEE Computer Society} } @book{Holz90a, Author = {Urs H{\"o}lzle and Bay-Wei Chang and Craig Chambers and David Ungar}, Keywords = {obib(gen) book scglib}, Publisher = {Computer Systems Laboratory of Stanfor University}, Title = {The {SELF} Manual}, Year = {1991} } @inproceedings{Holz96a, Address = {Cesena, Italy}, Author = {A.A.Holzbacher}, Booktitle = {Proceedings of COORDINATION '96}, Editor = {P. Ciancarini and Chris Hankin}, Keywords = {olit coordination coordination96}, Pages = {249--266}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Software Environment for Concurrent Coordinated Programming}, Volume = {1061}, Year = {1996} } @book{Holz03a, author = {Holzmann, Gerard J.}, howpublished = {Hardcover}, isbn = {0321228626}, keywords = {checking model damiencbib}, publisher = {Addison-Wesley Professional}, Address = {Boston, MA, USA}, title = {The {SPIN} Model Checker : Primer and Reference Manual}, url = {http://www.worldcat.org/isbn/0321228626}, year = {2003} } @book{Holz04a, Author = {Steve Holzner}, Isbn = {0596006411}, Month = may, Publisher = {O'Reilly}, Title = {Eclipse}, Year = {2004} } @article{Holz05a, Address = {New York, NY, USA}, Author = {Andreas Holzinger}, Date-Added = {2006-09-11 10:07:03 +0200}, Date-Modified= {2006-09-11 10:07:58 +0200}, Doi = {10.1145/1039539.1039541}, Issn = {0001-0782}, Journal = {Commun. ACM}, Keywords = {usability}, Number = {1}, Pages = {71--74}, Publisher = {ACM Press}, Title = {Usability engineering methods for software developers}, Volume = {48}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1039539.1039541} } @inproceedings{Hond88a, Address = {Oslo}, Author = {Yasuaki Honda and Akinori Yonezawa}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-obc ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {267--282}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Debugging Concurrent Systems Based on Object Groups}, Volume = {322}, Year = {1988} } @techreport{Hond90a, Author = {Kohei Honda and Mario Tokoro}, Institution = {Keio University}, Keywords = {pcalc-obc mobility binder}, Misc = {Oct. 20}, Month = oct, Title = {Objects and Calculi}, Type = {manuscript}, Year = {1990} } @inproceedings{Hond91a, Address = {Geneva, Switzerland}, Author = {Kohei Honda and Mario Tokoro}, Booktitle = {Proceedings ECOOP '91}, Editor = {Pierre America}, Keywords = {pcalc-obc mobility equivalence ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {133--147}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object Calculus for Asynchronous Communication}, Volume = 512, Year = {1991} } @unpublished{Hond92a, Author = {Kohei Honda}, Keywords = {pcalc-obc mobility binder}, Misc = {Dec. 23}, Month = dec, Note = {Keio University}, Title = {Reduction Theories for Concurrent Calculi --- Behavioural Semantics without Observables}, Type = {draft}, Year = {1992} } @unpublished{Hond92b, Author = {Kohei Honda}, Keywords = {pcalc-obc mobility binder}, Misc = {Oct. 20}, Month = oct, Note = {submitted for publicatedKeio University}, Title = {Representing Functions in an Object Calculus}, Type = {draft}, Year = {1992} } @unpublished{Hond92c, Author = {Kohei Honda}, Keywords = {pcalc-obc mobility binder}, Misc = {Oct. 9}, Month = oct, Note = {Keio University}, Title = {Two Bisimilarities in $\nu$-calculus}, Type = {draft}, Year = {1992} } @inproceedings{Hond92d, Author = {Kohei Honda and Mario Tokoro}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {pcalc-obc mobility equivalence concurrency91 binder}, Pages = {21--51}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Asynchronous Communication Semantics}, Volume = 612, Year = {1992} } @unpublished{Hond92e, Author = {Kohei Honda}, Keywords = {pcalc-obc mobility types binder}, Misc = {Aug 17}, Month = aug, Note = {submitted for publicatedKeio University}, Title = {On Interaction Types}, Type = {draft}, Year = {1992} } @unpublished{Hond92f, Author = {Kohei Honda}, Keywords = {pcalc-obc mobility types binder}, Misc = {Dec. 23}, Month = dec, Note = {Keio University}, Title = {Types for Dyadic Interaction}, Type = {draft}, Year = {1992} } @phdthesis{Hond98a, Address = {Brussels --- Belgium}, Author = {Koen De Hondt}, Keywords = {olit reveng ooreeng reengtool classification-browser reuse-contracts}, Month = dec, School = {Vrije Universiteit Brussel,Departement of Computer Science}, Title = {A Novel Approach to Architectural Recovery in Evolving Object-Oriented Systems}, Url = {http://prog.vub.ac.be/Publications/1998/vub-prog-phd-98-02.pdf}, Year = {1998}, Bdsk-Url-1 = {http://prog.vub.ac.be/Publications/1998/vub-prog-phd-98-02.pdf} } @article{Hong97a, Address = {New York, NY, USA}, Author = {Hong Zhu and Patrick A. V. Hall and John H. R. May}, Date-Added = {2007-02-01 14:05:28 +0100}, Date-Modified= {2007-02-01 14:05:28 +0100}, Doi = {10.1145/267580.267590}, Issn = {0360-0300}, Journal = {ACM Comput. Surv.}, Keywords = {unit test coverage}, Number = {4}, Pages = {366--427}, Publisher = {ACM Press}, Title = {Software Unit Test Coverage and Adequacy}, Volume = {29}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/267580.267590} } @article{Honi93a, Author = {Shinichi Honiden and Nobuto Kotaka and Yoshinori Kishimoto}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {54--66}, Title = {Formalizing Specification Modeling in {OOA}}, Volume = {10}, Year = {1993} } @inproceedings{Hook84a, Address = {Sophia-Antipolis}, Author = {J.G. Hook}, Booktitle = {Proceedings, Semantics of Data Types}, Editor = {Kahn and MacQueen and Plotkin}, Keywords = {fpl russell tfc}, Pages = {69--85}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Understanding Russell: {A} First Attempt}, Volume = {173}, Year = {1984} } @book{Hopc79a, Address = {Reading, Mass.}, Author = {John E. Hopcroft and Jeffrey D. Ullman}, Keywords = {misc automata book}, Publisher = {Addison Wesley}, Title = {Introduction to Automata Theory, Languages and Computation}, Year = {1979} } @book{Hopk95a, Author = {Trevor Hopkins and Bernard Horan}, Isbn = {0-13-318387-4}, Keywords = {obib(smalltalk) scglib}, Publisher = {Prentice-Hall}, Title = {Smalltalk: An Introduction to Application Development using Visualworks}, Year = {1995} } @inproceedings{Hora84a, Address = {Toronto}, Author = {Wolfgang Horak and G{\"u}nther Kr{\"o}nert}, Booktitle = {Proceedings of the Second ACM-SIGOA Conference}, Keywords = {olit-appl oda documents ois}, Month = jun, Pages = {152--160}, Title = {An Object-Oriented Office Document Architecture Model for Processing and Interchange of Documents}, Year = {1984} } @article{Hora85a, Author = {Wolfgang Horak}, Journal = {IEEE Computer}, Keywords = {olit-appl oda}, Month = oct, Number = {10}, Pages = {50--60}, Title = {Office Document Architecture and Office Document Interchange Formats: Current Status of International Standardization}, Volume = {18}, Year = {1985} } @incollection{Horn76a, Author = {Jim J. Horning}, Booktitle = {Software Engineering Education --- Needs and Objectives}, Editor = {Wasserman and Freeman}, Keywords = {misc selit hut binder}, Publisher = {Springer-Verlag}, Title = {The Software Project as a Serious Game}, Year = {1976} } @article{Horn77a, Author = {Jim J. Horning and David B. Wortman}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {misc selit hut}, Month = jul, Number = {4}, Pages = {325--330}, Title = {Software Hut: {A} Computer Program Engineering Project in the Form of a Game}, Volume = {SE-3}, Year = {1977} } @article{Horn87a, Author = {M.F. Hornick and Stanley B. Zdonik}, Journal = {ACM TOOIS}, Keywords = {olit-db encore}, Month = jan, Number = {1}, Pages = {70--95}, Title = {A Shared, Segmented Memory System for an Object-Oriented Database}, Volume = {5}, Year = {1987} } @inproceedings{Horn87b, Address = {Paris, France}, Author = {Chris Horn}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-inheritance ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {223--233}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Conformance, Genericity, Inheritance and Enhancement}, Volume = {276}, Year = {1987} } @inproceedings{Horn92a, Author = {Bruce Horn}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {218--233}, Title = {Constraint Patterns As a Basis for Object-Oriented Programming}, Volume = {27}, Year = {1992} } @techreport{Horo91a, Address = {Pittsburgh, PA}, Author = {Michael L. Horowitz}, Institution = {Carnegie Mellon University, Information Technology Center}, Keywords = {oodb-olit survey (smc)}, Month = aug, Title = {An Introduction to Object-Oriented Databases and Database Systems}, Type = {{CMU-ITC-91-103}}, Year = {1991} } @article{Horr02a, Author = {I. Horrocks}, Journal = {IEEE Data Eng Bull}, Number = {1}, Pages = {4--9}, Title = {DAML+OIL: a description logic for the Semantic Web}, Volume = {25}, Year = {2002} } @techreport{Hors90a, 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.}, Author = {Nigel Horspool}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg om90}, Month = jul, Pages = {305--312}, Title = {Mode Analysis Techniques for Discovery of Lists in Prolog}, Type = {Object Management}, Year = {1990} } @book{Hors98a, Author = {Cay Horstmann}, Isbn = {0-471-17223-5}, Keywords = {olit-oopl java scglib}, Publisher = {Willey}, Title = {Computing Concepts with {Java} Essentials}, Year = {1998} } @mastersthesis{Horv04a, 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.}, Author = {Marc-Philippe Horvath}, Keywords = {scg-msc recast05 jb05}, Month = oct, School = {University of Bern}, Title = {Automatic Recognition of Class Blueprint Patterns}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Horv04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Horv04a.pdf} } @article{Horw89a, Author = {Susan Horwitz and Jan Prins and Thomas Reps}, Journal = {ACM Trans. Programming Languages and Systems}, Month = jul, Number = {3}, Pages = {345--387}, Title = {Integrating Non-Interfering Versions of Programs}, Volume = {11}, Year = {1989} } @inproceedings{Horw90a, Address = {White Plains, NY}, Author = {Susan Horwitz}, Booktitle = {Proceedings of the {ACM} {SIGPLAN} '90 Conference on Programming Language Design and Implementation}, Journal = {SIGPLAN Notices}, Month = jun, Pages = {234--245}, Title = {Identifying the semantic and textual differences between two versions of a program}, Url = {citeseer.ist.psu.edu/horwitz90identifying.html}, Volume = {25}, Year = {1990}, Bdsk-Url-1 = {citeseer.ist.psu.edu/horwitz90identifying.html} } @article{Horw91a, Author = {Susan Horwitz and Thomas Reps}, Journal = {Acta Informatica}, Pages = {713--732}, Title = {Efficient comparison of program slices}, Volume = {28}, Year = {1991} } @inproceedings{Horwi02a, author = {Horwitz, Susan}, title = {Tool Support for Improving Test Coverage}, booktitle = {Proceedings of the 11th European Symposium on Programming Languages and Systems}, series = {ESOP '02}, year = {2002}, isbn = {3-540-43363-5}, pages = {162--177}, numpages = {16}, url = {http://portal.acm.org/citation.cfm?id=645396.651959}, acmid = {651959}, publisher = {Springer-Verlag}, address = {London, UK, UK} } @inproceedings{Hosk92a, Author = {Antony L. Hosking and J. Eliot B. Moss and Darko Stefanovi\'c}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {92--109}, Title = {A Comparative Performance Evaluation of Write Barrier Implementations}, Volume = {27}, Year = {1992} } @inproceedings{Hosk93a, Author = {Antony L. Hosking and J. Eliot B. Moss}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {288--303}, Title = {Object Fault Handling for Persistent Programming Languages: {A} Performance Evaluation}, Volume = {28}, Year = {1993} } @misc{HotSwap, Key = {HotSwap}, Title = {HotSwap}, Url = {http://developers.sun.com/dev/coolstuff/hotswap/publications.html}, Bdsk-Url-1 = {http://developers.sun.com/dev/coolstuff/hotswap/publications.html} } @article{Hove04a, Author = {David Hovemeyer and William Pugh}, Journal = {ACM SIGPLAN Notices}, Number = {12}, Pages = {92--106}, Publisher = {ACM New York, NY, USA}, Title = {Finding bugs is easy}, Volume = {39}, Year = {2004} } @book{Howa95a, Author = {Tim Howard}, Isbn = {1-884842-11-9}, Keywords = {smalltalk scglib gui}, Publisher = {SIGS Books}, Title = {The {Smalltalk} Developer's Guide to VisualWorks}, Year = {1995} } @article{Howd82a, Author = {W. E. Howden}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-02-01 14:06:58 +0100}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {Complete; effective; mutations; testing; Complete; effective; mutations; testing}, Month = jul, Number = {4}, Pages = {371--379}, Title = {Weak Mutation Testing and Completeness of Test Sets}, Volume = {SE-8}, Year = {1982} } @inproceedings{Hoyd93a, Author = {Geir Magne H\oydalsvik and Guttorm Sindre}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {240--258}, Title = {On the purpose of Object-Oriented Analysis}, Volume = {28}, Year = {1993} } @inproceedings{Hsi00a, Address = {New York NY}, Author = {Idris Hsi and Colin Potts}, Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM 2000)}, Keywords = {feature}, Pages = {143--151}, Publisher = {IEEE Computer Society Press}, Title = {Studying the Evolution and Enhancement of Software Features}, Year = {2000} } @inproceedings{Hsi03a, Address = {Los Alamitos CA}, Author = {Idris Hsi and Colin Potts}, Booktitle = {Proceedings IEEE Working Conference on Reverse Engineering (WCRE 2003)}, Keywords = {feature}, Month = nov, Pages = {345--352}, Publisher = {IEEE Computer Society Press}, Title = {Ontological Excavation: Unearthing the core concepts of an application}, Year = {2003} } @article{Hu02a, Author = {E. Yu-Shing Hu and G. Bernat and A. Wellings}, Journal = {In Proceedings of 7th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS-2002)}, Month = jan, Pages = {64--71}, Title = {A {Static} {Timing} {Analysis} {Environment} {Using} {Java} {Architecture} for {Safety} {Critical} {Real}-{Time} {Systems}}, Year = {2002} } @article{Huan06a, Address = {Hingham, MA, USA}, Author = {Gang Huang and Hong Mei and Fu-Qing Yang}, Doi = {10.1007/s10515-006-7738-4}, Issn = {0928-8910}, Journal = {Automated Software Engineering}, Number = {2}, Pages = {257--281}, Publisher = {Kluwer Academic Publishers}, Title = {Runtime Recovery and Manipulation of Software Architecture of Component-Based Systems}, Volume = {13}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10515-006-7738-4} } @inproceedings{Huan07a, Address = {New York, NY, USA}, Author = {Shan Shan Huang and David Zook and Yannis Smaragdakis}, Booktitle = {AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development}, Doi = {10.1145/1218563.1218584}, Isbn = {1-59593-615-7}, Location = {Vancouver, British Columbia, Canada}, Pages = {185--198}, Publisher = {ACM Press}, Title = {cJ: enhancing java with safe type conditions}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1218563.1218584} } @book{Hubb98a, Author = {Thane Hubbel}, Keywords = {cobol}, Publisher = {Sams}, Title = {Teach Yourself Cobol in 24 Hours}, Year = {1998} } @inproceedings{Huch99a, Address = {Montpellier, France}, Author = {Marianne Huchard and Herv{\'e} Leblanc}, Booktitle = {Actes de ORDAL '99 (3rd International Conference on Orders, Algorithms and Applications)}, Keywords = {fca}, Pages = {211--216}, Title = {From {JAVA} {Classes} to {JAVA} {Interfaces} through {Galois} {Lattices}}, Year = {1999} } @article{Huch00a, Author = {Marianne Huchard and Herv{\'e} Dicky and Herv{\'e} Leblanc}, Journal = {Theoretical Informatics and Applications}, Pages = {521--548}, Title = {Galois {Lattice} as a {Framework} to specify {Algorithms} {Building} {Class} {Hierarchies}}, Volume = {34}, Year = {2000} } @inproceedings{Huch00b, Author = {Marianne Huchard and Herv{\'e} Leblanc}, Booktitle = {Proceedings of ASE '00 (15th IEEE International Conference onAutomated Software Engineering}, Location = {Grenoble, France}, Pages = {317--320}, Title = {Computing {Interfaces} in {JAVA}}, Year = {2000} } @book{Huch05a, Annote = {editor proceedings}, Editor = {Marianne Huchard and St\'ephane Ducasse and Oscar Nierstrasz}, Isbn = {2-7462-1125-4}, Keywords = {book scglib stefPub}, Publisher = {Lavoisier}, Series = {L'objet}, Title = {Langages et Mod\`eles \`a Objets LMO'05}, Volume = {11}, Year = {2005} } @article{Huch07a, Abstract = {Relational datasets, i.e., datasets in which individuals are described both by their own features and by their relations to other individuals, arise from various sources such as databases, both relational and object-oriented, knowledge bases, or software models, e.g., UML class diagrams. When processing such complex datasets, it is of prime importance for an analysis tool to hold as much as possible to the initial format so that the semantics is preserved and the interpretation of the final results eased. Therefore, several attempts have been made to introduce relations into the formal concept analysis field which otherwise generated a large number of knowledge discovery methods and tools. However, the proposed approaches invariably look at relations as an intra-concept construct, typically relating two parts of the concept description, and therefore can only lead to the discovery of coarse-grained patterns. As an approach towards the discovery of finer-grain relational concepts, we propose to enhance the classical (object - attribute) data representations with a new dimension that is made out of inter-object links (e.g., spouse, friend, manager- of, etc.). Consequently, the discovered concepts are linked by relations which, like associations in conceptual data models such as the entity-relation diagrams, abstract from existing links between concept instances. The borders for the application of the relational mining task are provided by what we call a relational context family, a set of binary data tables representing individuals of various sorts (e.g., human beings, companies, vehicles, etc.) related by additional binary relations. As we impose no restrictions on the relations in the dataset, a major challenge is the processing of relational loops among data items. We present a method for constructing concepts on top of circular descriptions which is based on an iterative approximation of the final solution. The underlying construction methods are illustrated through their application to the restructuring of class hierarchies in object-oriented software engineering, which are described in UML.}, Author = {Marianne Huchard and Rouane Hacene and Cyril Roume and Petko Valtchev}, Doi = {10.1007/s10472-007-9056-3}, Editor = {Anne Berry, Eric San Juan, Maurice Pouzet and Martin C. Golumbic}, Issn = {1012-2443 ({P}rint) 1573-7470 ({O}nline)}, Journal = {Annals of Mathematics and Artificial Intelligence}, Keywords = {fca rca arevalo}, Month = apr, Number = {1/4}, Pages = {39-76}, Publisher = {Springer Netherlands}, Title = {Relational Concept Discovery in Structured Datasets}, Volume = {49}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10472-007-9056-3} } @article{Huda89a, Author = {Paul Hudak}, Journal = {ACM Computing Surveys}, Keywords = {fpl haskell etc pl-lit}, Month = sep, Number = {3}, Pages = {359--411}, Title = {Conception, Evolution, and Application of Functional Programming Languages}, Volume = {21}, Year = {1989} } @article{Huda92a, Author = {Paul Hudak and Joseph H. Fasel}, Journal = {ACM SIGPLAN Notices}, Keywords = {fpl haskell binder (shelf) pl-lit}, Month = may, Number = {5}, Pages = {T1-T53}, Title = {A Gentle Introduction to Haskell}, Url = {http://www.haskell.org/tutorial/}, Volume = {27}, Year = {1992}, Bdsk-Url-1 = {http://www.haskell.org/tutorial/} } @article{Huda92b, Author = {Paul Hudak and Simon Peyton Jones and Philip Wadler}, Journal = {ACM SIGPLAN Notices}, Keywords = {fpl haskell binder (shelf)}, Month = may, Number = {5}, Title = {Report on the Programming Language Haskell --- {A} Non-strict, Purely Functional Language (Version 1.2)}, Url = {http://www.haskell.org/}, Volume = {27}, Year = {1992}, Bdsk-Url-1 = {http://www.haskell.org/} } @article{Huda96a, Author = {Paul Hudak}, Doi = {doi.acm.org/10.1145/242224.242477}, Journal = {ACM Computing Surveys}, Keywords = {dsllit}, Month = dec, Number = {4es}, Title = {Building domain specific embedded languages}, Volume = {28}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/242224.242477} } @inproceedings{Huda98a, Author = {Paul Hudak}, Booktitle = {Proceedings: Fifth International Conference on Software Reuse}, Editor = {P. Devanbu and J. Poulin}, Keywords = {dsllit}, Pages = {134--142}, Publisher = {IEEE Computer Society Press}, Title = {Modular Domain Specific Languages and Tools}, Year = {1998} } @inproceedings{Huen95a, 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.}, Author = {Hermann Hueni and Ralph E. Johnson and Robert Engel}, Booktitle = {Proceedings OOPSLA '95, ACM SIGPLAN Notices}, Keywords = {olit frameworks oopsla95 design-patterns}, Month = oct, Title = {A Framework for Network Protocol Software}, Url = {ftp://st.cs.uiuc.edu/pub/patterns/papers/conduits+.ps}, Year = {1995}, Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/patterns/papers/conduits+.ps} } @inproceedings{Huer94a, Address = {Bologna, Italy}, Author = {Walter L. H{\"u}rsch}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {12--31}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Should Superclasses be Abstract?}, Volume = {821}, Year = {1994} } @incollection{Huet89a, Author = {Hans H{\"u}ttel and Kim G. Larsen}, Booktitle = {Logic at Botik 89}, Keywords = {pcalc ccs logic binder}, Pages = {163--180}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Use of Static Constructs in a Modal Process Logic}, Volume = {363}, Year = {1989} } @book{Huet90a, Address = {Reading, Mass.}, Editor = {G. Huet}, Keywords = {fpl}, Publisher = {Addison Wesley}, Title = {Logical Foundations of Functional Programming}, Year = {1990} } @phdthesis{Huet91a, Author = {Hans H{\"u}ttel}, Keywords = {pcalc equivalence binder}, Month = dec, Number = {ECS-LFCS-91-181}, School = {Computer Science Dept., University of Edinburgh}, Title = {Decidability, Behavioural Equivalences and Infinite Transition Graphs}, Type = {{Ph.D}. Thesis}, Year = {1991} } @inproceedings{Huff03a, Author = {Jane Huffman-Hayes and Alex Dekhtyar and James Osborne}, Booktitle = {Procerdings of 11th IEEE International Requierments Engineering Conference}, Pages = {138}, Title = {Improving Requirements Tracing via Information Retrieval}, Year = {2003} } @article{Huff06a, Author = {Jane Huffman-Hayes and Alex Dekhtyar and Senthil Karthikeyan Sundaram}, Journal = {IEEE Transactions on Software Engineering}, Month = jan, Number = {1}, Pages = {4--19}, Publisher = {IEEE CS Press}, Title = {Advancing Candidate Link Generation for Requirements Tracing: The Study of Methods}, Volume = {32}, Year = {2006} } @article{Hugh89a, Author = {J. Hughes}, Journal = {Computer Journal}, Number = {2}, Pages = {98--107}, Title = {{Why Functional Programming Matters}}, Url = {http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html http://www.cs.chalmers.se/~rjmh/Papers/whyfp.pdf}, Volume = {32}, Year = {1989}, Bdsk-Url-1 = {http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html%20http://www.cs.chalmers.se/~rjmh/Papers/whyfp.pdf} } @article{Hugh00a, Author = {John Hughes}, Journal = {Science of Computer Programming}, Month = {may}, Pages = {67--111}, Title = {Generalising Monads to Arrows}, Volume = {37}, Year = {2000} } @incollection{Hui93a, 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.}, Author = {Siu Cheung Hui and Angela Goh and Jose K. Raphel}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {356--370}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {{CLOG}: {A} Class-Based Logic Language For Object-Oriented Databases}, Volume = {742}, Year = {1993} } @inproceedings{Huix01a, Author = {Huixiang Liu and Timothy C. Lethbridge}, Booktitle = {Proceedings of Centre for Advanced Studies on Collaborative research (CASCON)}, Pages = {10}, Title = {Intelligent search techniques for large software systems}, Year = {2001} } @mastersthesis{Hull85a, Author = {S.J. Hull}, Keywords = {uilit uims}, Month = jan, School = {Department of Computer Science, University of Toronto}, Title = {A Study of User Interface Management Systems}, Type = {M.Sc. thesis, CSRI Technical Note}, Year = {1985} } @inproceedings{Hull86a, Author = {Jean-Marie Hullot}, Booktitle = {Actes des journees AFCET sur les Langages Orientes Objets}, Title = {{SOS Interface}: un generateur d'interfaces Homme-Machine}, Year = {1986} } @article{Humm08a, Author = {Hummel, O. and Janjic, W. and Atkinson, C.}, Booktitle = {Software, IEEE}, Citeulike-Article-Id= {5403243}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/MS.2008.110}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4602673}, Doi = {10.1109/MS.2008.110}, Journal = {Software, IEEE}, Number = {5}, Pages = {45--52}, Posted-At = {2009-08-10 10:04:47}, Priority = {0}, Title = {Code Conjurer: Pulling Reusable Software out of Thin Air}, Url = {http://dx.doi.org/10.1109/MS.2008.110}, Volume = {25}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2008.110} } @book{Hump89a, Author = {Watts S. Humphrey}, Isbn = {0-201-18095-2}, Keywords = {scglib}, Publisher = {Addison Wesley}, Series = {SEI Series in Software Engineering}, Title = {Managing the Software Process}, Year = {1989} } @book{Hump95a, Author = {Watts S. Humphrey}, Isbn = {0-201-54610-8}, Keywords = {scglib}, Publisher = {Addison Wesley}, Series = {SEI Series in Software Engineering}, Title = {A Discipline for Software Engineering}, Year = {1995} } @book{Hump97a, Author = {Watts Humphrey}, Isbn = {0-201-54809-7}, Keywords = {scglib}, Publisher = {Addison Wesley}, Series = {SEI Series in Software Engineering}, Title = {Introduction to the Personal Software Process}, Year = {1997} } @book{Hump00a, Author = {Watts Humphrey}, Isbn = {0-201-47719-X}, Keywords = {scglib}, Publisher = {Addison Wesley}, Series = {SEI Series in Software Engineering}, Title = {Introduction to the Team Software Process}, Year = {2000} } @unpublished{Huni95a, Author = {Hermann H{\"u}ni and Ralph Johnson and Robert Engel}, Keywords = {oobib(gen) patterns networks binder}, Misc = {February 28}, Month = feb, Note = {GLUE Software Engineering (Bern), Ascom Tech AG(Bern), University of Illinois}, Title = {A Framework for Network Protocol Software}, Type = {Draft}, Year = {1995} } @techreport{Hunt76a, Address = {Murray Hill NJ}, Author = {James Hunt and Douglas McIlroy}, Institution = {Bell Laboratories}, Number = {CSTR 41}, Pages = {9}, Title = {An Algorithm for Differential File Comparison}, Year = {1976} } @article{Hunt77a, Author = {James W. Hunt and Thomas G. Szymanski}, Journal = {CACM}, Keywords = {lcs}, Month = may, Number = {5}, Pages = {350--353}, Title = {A Fast Algorithm for Computing Longest Common Subsequences}, Volume = {20}, Year = {1977} } @book{Hunt98a, Author = {Jason Hunter}, Keywords = {java servlet olit}, Publisher = {O'Reilly \& Associates, Inc}, Title = {Java Servlet Programming}, Url = {http://www.servlets.com/index.html}, Year = {1998}, Bdsk-Url-1 = {http://www.servlets.com/index.html} } @book{Hunt00a, Author = {Andrew Hunt and David Thomas}, Isbn = {0-201-61622-X}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The Pragmatic Programmer}, Year = {2000} } @book{Hunt03a, Author = {Andy Hunt and Dave Thomas}, Keywords = {unit testing, xp}, Publisher = {ThePragmaticProgrammers}, Title = {Pragmatic Unit Testing in {Java} with {JUnit}}, Year = {2003} } @inproceedings{Hupf04a, Abstract = {We present contextual collaboration ...}, Address = {New York, NY, USA}, Author = {Hupfer, Susanne and Cheng, Li T. and Ross, Steven and Patterson, John}, Booktitle = {CSCW '04: Proceedings of the 2004 ACM conference on Computer supported cooperative work}, Citeulike-Article-Id= {3993387}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1031607.1031611}, Citeulike-Linkout-1= {http://dx.doi.org/10.1145/1031607.1031611}, Doi = {10.1145/1031607.1031611}, Isbn = {1-58113-810-5}, Keywords = {jazz, snfhot\_clone}, Location = {Chicago, Illinois, USA}, Pages = {21--24}, Posted-At = {2010-01-30 00:15:39}, Priority = {2}, Publisher = {ACM}, Title = {Introducing collaboration into an application development environment}, Url = {http://dx.doi.org/10.1145/1031607.1031611}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1031607.1031611} } @inproceedings{Hur87a, Address = {Paris, France}, Author = {Jin H. Hur and Kilnam Chon}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-obcl clix ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {265--273}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Overview of a Parallel Object-Oriented Language {CLIX}}, Volume = {276}, Year = {1987} } @phdthesis{Hurs95a, Author = {Walter H{\"u}rsch}, Keywords = {olit-reuse}, School = {Northeastern University, MA}, Title = {Maintaining Behavior and Consistency of Object-Oriented Systems during Evolution}, Type = {{Ph.D}. Thesis}, Url = {http://www.ccs.neu.edu/home/lieber/theses/huersch/thesis.ps}, Year = {1995}, Bdsk-Url-1 = {http://www.ccs.neu.edu/home/lieber/theses/huersch/thesis.ps} } @inproceedings{Hurs96a, Address = {Japan}, Author = {W. H{\"u}rsch and L. Seiter}, Booktitle = {Proceedings of ISOTAS '96}, Month = mar, Organization = {JSSST-JAIST}, Pages = {2--21}, Publisher = {Springer-Verlag}, Series = {LNSC}, Title = {Automating the Evolution of Object-Oriented Systems}, Volume = 1049, Year = {1996} } @article{Hutc85a, Author = {David H. Hutchens and Victor R. Basili}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {clustering}, Month = aug, Number = {8}, Pages = {749--757}, Title = {System {Structure} {Analysis}: {Clustering} with {Data} {Bindings}}, Volume = {11}, Year = {1985} } @techreport{Hutc87a, Address = {Seattle}, Author = {Norman C. Hutchinson and Rajindra K. Raj and Andrew P. Black and Henry M. Levy and Eric Jul}, Institution = {Department of Computer Science, University of Washington}, Keywords = {olit-obcl emerald}, Month = oct, Number = {87-10-07}, Title = {The Emerald Programing Lanuage Report}, Type = {Technical Report}, Year = {1987} } @article{Hutc91a, Address = {Piscataway, NJ, USA}, Author = {Norman C. Hutchinson and Larry L. Peterson}, Doi = {10.1109/32.67579}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Number = {1}, Pages = {64--76}, Publisher = {IEEE Press}, Title = {The X-Kernel: An Architecture for Implementing Network Protocols}, Volume = {17}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.67579} } @techreport{Hutc01a, 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.}, Author = {John M. Hutchison}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = aug, Title = {{JMLS}-- Multi Language System for {Java}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Hutc01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Hutc01a.pdf} } @book{Huth04a, Author = {Huth, Michael and Ryan, Mark}, Edition = {second}, Keywords = {olit design scglib uml damiencbib ltl}, address = {Nottingham}, isbn = {9780521543101}, Publisher = {Cambridge}, Title = {Logic in Computer Science: Modelling and Reasoning about Systems}, Year = {2004} } @article{Hutt92a, title = {Higher-Order Functions for Parsing}, author = {Graham Hutton}, journal = {Journal of Functional Programming}, volume = {2}, number = {3}, pages = {323--343}, year = {1992}, publisher = {Cambridge University Press} } @techreport{Hutt06a, Author = {Graham Hutton and Erik Meijer}, Institution = {Department of Computer Science, University of Nottingham}, Keywords = {parsing parser combinators}, Number = {NOTTCS-TR-96-4}, Title = {Monadic Parser Combinators}, Url = {citeseer.ist.psu.edu/hutton96monadic.html http://eprints.nottingham.ac.uk/237/1/monparsing.pdf}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/hutton96monadic.html%20http://eprints.nottingham.ac.uk/237/1/monparsing.pdf} } @unpublished{Hype87a, Author = {Bill Atkinson}, Note = {Hypercard}, Title = {HyperCard}, Year = {1987} } @techreport{IBM06a, title = {An architectural blueprint for autonomic computing.}, volume = {Fourth Edi}, author = {IBM}, url = {http://users.encs.concordia.ca/~ac/ac-resources/AC_Blueprint_White_Paper_4th.pdf}, institution = {IBM}, abstractNote = {Autonomic Computing White Paper June 2006 Fourth Edition Page 2. Page2 Contents 1. Introduction 3}, number = {June}, publisher = {IBM Corp.}, year = {2006} } @manual{ICC01a, Address = {Papenhoehe 14, D-25335 Elmshorn/Hamburg, Germany}, Month = aug, Organization = {IC \mbox{\&} C GmBH Software Foundations}, Title = {ADvance User's Guide}, Year = {2001} } @article{IEEE85a, Author = {{IEEE}}, Institution = {IEEE}, Journal = {IEEE Computer}, Keywords = {visprog}, Month = aug, Number = {8}, Title = {Special Issue on Visual Programming}, Volume = {18}, Year = {1985} } @book{IEEE91a, Author = {Anne Geraci and Freny Katki and Louise McMonegal and Bennett Meyer and Hugh Porteous}, Isbn = {1559370793}, Publisher = {IEEE}, Title = {IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries}, Year = {1991} } @manual{IEEE92a, Organization = {IEEE}, Title = {POSIX P1003.4a --- Threads Extension for Portable Operating Systems}, Year = {1992} } @book{IEEE99b, author = {IEEE}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA}, title = {{IEEE}-1219: {IEEE} Standard for Software Maintenance}, year = {1998}, keywords = {software engineering maintenance evolution damiencbib} } @manual{IEEE99a, Month = aug, Organization = {IEEE Architecture Working Group}, Title = {{IEEE P1471/D5.0} Information Technology --- Draft Recommended Practice for Architecural Description}, Year = {1999} } @misc{IO, Key = {IO}, Note = {http://www.iolanguage.com/}, Title = {IO Home Page} } @techreport{ISO89a, Author = {{ISO8807}}, Institution = {ISO8807}, Keywords = {pcalc lotos ccs}, Number = {8807}, Title = {Information Processing Systems --- Open Systems Interconnection --- {LOTOS} --- {A} formal description technique based on the temporal ordering of observational behaviour}, Type = {International Standard ISO}, Year = {1989} } @inproceedings{Ibra88a, Author = {Mamdouh H. Ibrahim and Fred A. Cummins}, Booktitle = {Proceedings of the International Conference on Computer Languages}, Month = oct, Organization = {IEEE}, Pages = {186--193}, Title = {{KSL}: A Reflective Object-Oriented Programming Language}, Year = {1988} } @inproceedings{Ibra90a, Address = {New York, NY, USA}, Author = {Mamdouh H. Ibrahim}, Booktitle = {OOPSLA/ECOOP '90: Proceedings of the European conference on Object-oriented programming addendum: systems, languages, and applications}, Isbn = {0-89791-443-0}, Location = {Ottawa, Canada}, Pages = {73--80}, Publisher = {ACM Press}, Title = {Reflection and metalevel architectures in object-oriented programming (workshop session)}, Year = {1991}, Doi = {10.1145/319016.319050} } @article{Ibra91a, Author = {Mamdouh H. Ibrahim and William E. Bejeck and Fred A. Cummins}, Journal = {Journal of Object-Oriented Programming}, Month = jun, Number = {3}, Pages = {53--56}, Title = {Instance specialization without delegation}, Volume = {4}, Year = {1991} } @inproceedings{Ibra95a, Author = {Fred Cummins and Mamdouh Ibrahim}, Booktitle = {Proceedings of the IJCAI '95 workshop on Reflection and Meta-Level Architectures and their Applications in AI}, Pages = {19--29}, Title = {{A Model of Reflection in Object-Oriented Languages}}, Year = {1995} } @inproceedings{Ichi02a, Address = {Malaga, Spain}, Author = {Yuuji Ichisugi and Akira Tanaka}, Booktitle = {Proceedings ECOOP 2002}, Keywords = {modules mixjuice}, Month = jun, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Difference-based modules: A class independent module mechanism}, Url = {http://staff.aist.go.jp/y-ichisugi/mj/}, Volume = 2374, Year = {2002}, Bdsk-Url-1 = {http://staff.aist.go.jp/y-ichisugi/mj/} } @inproceedings{Ichi09a, Abstract = {Software component retrieval systems are widely used to retrieve reusable software components. This paper proposes recommendation system integrated into software component retrieval system based on collaborative filtering. Our system uses browsing history to recommend relevant components to users. We also conducted a case study using programming tasks and found that our system enables users to efficiently retrieve reusable components.}, Author = {Ichii, M. and Hayase, Y. and Yokomori, R. and Yamamoto, T. and Inoue, K.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403377}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070014}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070014}, Doi = {10.1109/SUITE.2009.5070014}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, sparsej, suite2009}, Pages = {17--20}, Posted-At = {2009-08-10 11:10:28}, Priority = {0}, Title = {Software component recommendation using collaborative filtering}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070014}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070014} } @techreport{Ieee00a, Author = {IEEE}, Institution = {The Architecture Working Group of the Software Engineering Committee}, Month = oct, Title = {IEEE Recommended Practice for Architectural Description for Software-Intensive Systems}, Year = {2000} } @article{Ieru95a, Author = {Roberto Ierusalimschy and N. de la Rocque Rodriguez}, Journal = {Computer Languages}, Number = {21}, Pages = {129-146}, Title = {Side-effect free functions in object-oriented languages}, Volume = {3/4}, Year = {1995} } @article{Ieru96a, Author = {Roberto Ierusalimschy and Luiz Henrique de Figueiredo and Waldemar Celes Filho}, Journal = {Software: Practice and Experience}, Keywords = {lua scripting}, Number = {6}, Pages = {635--652}, Title = {Lua --- an Extensible Extension Language}, Url = {ftp://ftp.inf.puc-rio.br/pub/docs/techreports/95_12_ierusalimschy.ps.gz}, Volume = {26}, Year = {1996}, Bdsk-Url-1 = {ftp://ftp.inf.puc-rio.br/pub/docs/techreports/95_12_ierusalimschy.ps.gz} } @inproceedings{Igar99a, 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.}, Address = {Lisbon, Portugal}, Author = {Atsushi Igarashi and Benjamin Pierce}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {161--185}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Foundations for Virtual Types}, Volume = 1628, Year = {1999} } @inproceedings{Igar99b, Author = {Atsushi Igarashi and Benjamin C. Pierce and Philip Wadler}, Booktitle = {Proceedings OOPSLA '99, ACM SIGPLAN Notices}, Doi = {10.1145/320384.320395}, Keywords = {types fj}, Month = nov, Pages = {132--146}, Title = {Featherweight {Java}: a minimal core calculus for {Java} and {GJ}}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320395} } @article{Igar00, Author = {Atsushi Igarashi and Benjamin C. Pierce}, Journal = {Lecture Notes in Computer Science}, Title = {On Inner Classes}, Volume = {1850}, Year = {2000} } @article{Igar01a, Author = {Atsushi Igarashi and Benjamin C. Pierce and Philip Wadler}, Doi = {10.1145/503502.503505}, Journal = {ACM TOPLAS}, Keywords = {types fj}, Month = may, Number = {3}, Pages = {396--450}, Title = {Featherweight {Java}: a minimal core calculus for {Java} and {GJ}}, Volume = {23}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/503502.503505} } @misc{Imposter, Key = {Imposter}, Note = {http://csoki.ki.iif.hu/$\sim$vitezg/impostor/}, Title = {{Imposter}} } @inproceedings{Inga76a, Author = {Dan Ingalls}, Booktitle = {POPL'76, Principles of Programming Languages}, Pages = {9--16}, Publisher = {ACM Press}, Title = {The {Smalltalk}-76 Programming System Design and Implementation}, Year = {1976} } @inproceedings{Inga78a, Address = {New York, NY, USA}, Author = {Ingalls, Daniel H. H.}, Booktitle = {POPL '78: Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages}, Doi = {10.1145/512760.512762}, Location = {Tucson, Arizona}, Pages = {9--16}, Publisher = {ACM}, Title = {The Smalltalk-76 programming system design and implementation}, Year = {1978}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/512760.512762} } @article{Inga81, Author = {Daniel H. Ingalls}, Journal = {Byte}, Month = aug, Number = {8}, Pages = {286--298}, Title = {Design Principles Behind {Smalltalk}}, Volume = {6}, Year = {1981} } @inproceedings{Inga86a, Author = {Daniel H.H. Ingalls}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {types olit polymorphism oopsla86 oorp}, Month = nov, Number = 11, Pages = {347--349}, Title = {A Simple Technique for Handling Multiple Polymorphism}, Volume = 21, Year = {1986} } @inproceedings{Inga88a, Author = {Dan Ingalls}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Doi = {10.1145/62084.62100}, Keywords = {visprog}, Month = nov, Pages = {176--190}, Title = {Fabrik: A Visual Programming Environment}, Volume = {23}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/62084.62100} } @inproceedings{Inga97a, Author = {Dan Ingalls and Ted Kaehler and John Maloney and Scott Wallace and Alan Kay}, Booktitle = {Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'97)}, Doi = {10.1145/263700.263754}, Keywords = {olit smalltalk oopsla97 oorp}, Month = nov, Pages = {318--326}, Publisher = {ACM Press}, Title = {Back to the Future: The Story of {Squeak}, a Practical {Smalltalk} Written in Itself}, Url = {http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html}, Year = {1997}, Bdsk-Url-1 = {http://www.cosc.canterbury.ac.nz/~wolfgang/cosc205/squeak.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/263700.263754} } @inproceedings{Ingo91a, Address = {Baastad, Sweden}, Author = {A. Ing\'olfsd\'ottir and Bent Thomsen}, Booktitle = {Proc. of Chalmers Workshop on Concurrency}, Keywords = {pcalc ccs binder}, Misc = {May 27-31}, Month = may, Title = {Semantic Models for {CCS} with Values}, Year = {1991} } @book{Ingw92a, Address = {London}, Author = {Peter Ingwersen}, Keywords = {information retrieval}, Publisher = {Taylor Graham}, Title = {Information Retrieval Interaction}, Url = {http://www.db.dk/pi/iri}, Year = {1992}, Bdsk-Url-1 = {http://www.db.dk/pi/iri} } @misc{Inne97, Author = {JavaSoft}, Month = feb, Note = {Available through http://java.sun.com/docs/index.html}, Title = {Inner classes specification}, Year = {1997} } @book{Inst83a, Author = {{American National Standards Institute, Inc.}}, Institution = {American National Standards Institute, Inc.}, Keywords = {plang ada}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Programming Language Ada Reference Manual}, Volume = {155}, Year = {1983} } @book{Inst97, Author = {{American National Standards Institute, Inc.}}, Institution = {American National Standards Institute, Inc.}, Keywords = {plang smalltalk}, Publisher = {American National Standards Institute}, Title = {Draft American National Standard for Information Systems --- {Programming Languages} --- {Smalltalk}}, Year = {1997} } @article{Inve91a, Author = {Paola Inverardi and Corrado Priami}, Journal = {Bulletin of EATCS}, Keywords = {concurrency tools binder}, Month = oct, Pages = {158--185}, Title = {Evaluation of Tools for the Analysis of Communicating Systems}, Volume = {45}, Year = {1991} } @inproceedings{Inve93a, Author = {P. Inverardi and B. Krishnamurthy and D. Yankelevich}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {105--120}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Yeast: {A} Case Study for a Practical Use of Formal Methods}, Volume = {668}, Year = {1993} } @article{Inve95a, Author = {Paola Inverardi and Alexander L. Wolf}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {cham concurrency binder}, Month = apr, Number = {4}, Title = {Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model}, Url = {ftp://ftp.cs.colorado.edu/users/alw/papers/tse0495.ps.Z}, Volume = {21}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.cs.colorado.edu/users/alw/papers/tse0495.ps.Z} } @inproceedings{Inve97a, Author = {Paola Inverardi and Alexander L. Wolf and Daniel Yankelevich}, Booktitle = {Proceedings of COORDINATION '97}, Keywords = {CHAM Coordination}, Month = sep, Pages = {46--63}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Checking Assumptions in Component Dynamics at the Architectural Level}, Volume = 1282, Year = {1997} } @book{Irvi97a, Author = {Kip R. Irvine}, Isbn = {0-02-359852-2}, Keywords = {olit-oopl}, Publisher = {Prentice-Hall}, Title = {{C}++ and Object-Oriented Programming}, Year = {1997} } @inproceedings{Ishi86a, Author = {Yutaka Ishikawa and Mario Tokoro}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-obcl orient84k knowrep actors oopsla86 oobib(obcp)}, Month = nov, Pages = {232--241}, Title = {A Concurrent Object-Oriented Knowledge Representation Language Orient84/{K}: Its Features and Implementation}, Volume = {21}, Year = {1986} } @inproceedings{Ishi90a, Author = {Yutaka Ishikawa and Hideyuki Tokuda}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {289--298}, Title = {Object-Oriented Real-Time Language Design: Constructs for Timing Constraints}, Volume = {25}, Year = {1990} } @article{Ishi91a, Author = {Yutaka Ishikawa}, Journal = {SIGPLAN Notices}, Month = aug, Number = {8}, Pages = {101--110}, Title = {{Reflection} {Facilities} and {Realistic} {Programming}}, Volume = {26}, Year = {1991} } @inproceedings{Ishi92a, Author = {Yutaka Ishikawa}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit-obc oopsla92}, Month = oct, Pages = {303--314}, Title = {Communication Mechanism on Autonomous Objects}, Volume = {27}, Year = {1992} } @article{Ishi92b, Author = {Yutaka Ishikawa and Hideyuki Tokuda and Clifford W. Mercer}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee}, Month = oct, Number = {10}, Pages = {66--73}, Title = {An Object-Oriented Real-Time Programming Language}, Volume = {25}, Year = {1992} } @inproceedings{Issa98a, Author = {Val{\'e}rie Issarny and Christophe Bidan and Titos Saridakis}, Booktitle = {{Proceedings of the 31st Annual Hawaii International Conference on System Sciences}}, Month = jan, Pages = {275--283}, Title = {Characterizing Coordination Architectures According to their Non-Functional Execution Properties}, Url = {http://www-rocq.inria.fr/solidor/members/issarny.html}, Year = {1998}, Bdsk-Url-1 = {http://www-rocq.inria.fr/solidor/members/issarny.html} } @inproceedings{Itko04a, Author = {Jonne Itkonen and Minna Hillebrand and Vesa Lappalainen}, Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR 2004)}, Keywords = {oorp}, Pages = {233--239}, Title = {Application of Relation Analysis to a Small {Java} Software}, Year = {2004} } @inproceedings{Ivko02a, Address = {Paris, France}, Author = {Igor Ivkovic and Michael Godfrey}, Booktitle = {In Proceedings of the 10th International Workshop on Program Comprehension 2002 (IWPC 2002)}, Month = jun, Title = {Architecture Recovery of Dynamically Linked Applications: A Case Study}, Year = {2002} } @inproceedings{Ivko03a, Author = {Ivkovic and Godfrey}, Booktitle = {International Workshop on Program Comprehension (IWPC)}, Isbn = {0-7695-1883-4}, Pages = {266--276}, Title = {Enhancing Domain-Specific Software Architecture Recovery}, Year = {2003} } @article{Ivor01, Address = {New York, NY, USA}, Author = {Ivory, Melody Y. and Hearst, Marti A.}, 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}, Journal = {ACM Comput. Surv.}, Keywords = {usability}, Month = {dec}, Number = {4}, Pages = {470--516}, Priority = {3}, Publisher = {ACM Press}, Title = {The state of the art in automating usability evaluation of user interfaces}, Url = {http://portal.acm.org/citation.cfm?id=503114}, Volume = {33}, Year = {2001}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=503114}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/503112.503114} } @article{Izad02a, Doi = {10.1023/A:1014534414062}, author = {Izadi, Shahram and Coutinho, Pedro and Rodden, Tom and Smith, Gareth}, title = {The {FUSE} Platform: Supporting Ubiquitous Collaboration Within Diverse Mobile Environments}, keywords = {damiencbib}, journal = {Automated Software Engineering}, year = {2002}, volume = {9}, pages = {167--186} } @techreport{JBean97a, Author = {Graham Hamilton}, Institution = {Sun Microsystems}, Title = {JavaBeans}, Url = {http://java.sun.com/products/javabeans/docs/spec.html}, Year = {1997}, Bdsk-Url-1 = {http://java.sun.com/products/javabeans/docs/spec.html} } @misc{JDI, Key = {JDI}, Note = {http://java.sun.com/{\-}j2se/1.4.2/docs/{\-}jguide/jpda/{\-}jarchitecture.html}, Title = {Java Debug Interface (JDI)} } @misc{JEdit, Author = {{jEdit web site}}, Key = {jEdit}, Note = {http://www.jedit.org}, Title = {{jEdit}: a programmer's text editor}, Year = {2008} } @misc{JHotDraw, Key = {JHotDraw}, Note = {\url{www.jhotdraw.org}}, Title = {JHotDraw: a Java GUI framework for technical and structured Graphics}, Url = {http://www.jhotdraw.org}, Bdsk-Url-1 = {http://www.jhotdraw.org} } @misc{JMondr, Author = {JMondrian}, Key = {JMondrian}, Note = {http://loose.upt.ro/iplasma/jmondrian.html}, Title = {{JMondrian} --- Java implementation of the Mondrian information visualization framework}, Url = {http://loose.upt.ro/iplasma/jmondrian.html}, Year = {2009}, Bdsk-Url-1 = {http://loose.upt.ro/iplasma/jmondrian.html} } @misc{JQuery, Key = {jQuery}, Note = {http://plone.org/products/archgenxml}, Title = {{jQuery}} } @misc{JSP, Key = {JSP}, Note = {http://java.sun.com/products/jsp/}, Title = {Java Server Pages} } @misc{JSTraits, Key = {JSTraits}, Note = {\url{http://slate.tunes.org}}, Title = {JSTraits} } @misc{JUnit, Key = {JUnit}, Keywords = {testing}, Note = {http://www.junit.org}, Title = {{JU}nit}, Url = {http://www.junit.org}, Bdsk-Url-1 = {http://www.junit.org} } @misc{JVMPI, Key = {JVMTI}, Title = {Sun Microsystems, Inc. JVM Profiler Interface (JVMPI).}, Url = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmpi/}, Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmpi/} } @misc{JVMTI, Key = {JVMTI}, Note = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/}, Title = {Sun Microsystems, Inc. {JVM} Tool Interface ({JVMTI})}, Url = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/}, Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/} } @misc{JWIG, Key = {JWIG}, Note = {http://www.brics.dk/JWIG/}, Title = {{JWIG}, Java Extensions for High-Level Web Service Development} } @article{Jaas95a, Author = {Ari Jaaski}, Journal = {Software Practice and Experience}, Month = mar, Number = {3}, Pages = {271--289}, Title = {Implementing Interactive Applications in {C++}}, Volume = {25}, Year = {1995} } @inproceedings{Jack86a, Author = {Jonathan Jacky and Ira Kalet}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl radiation therapy pascal oopsla86}, Month = nov, Pages = {368--376}, Title = {An Object-Oriented Approach to a Large Scientific Application}, Volume = {21}, Year = {1986} } @article{Jack00a, Author = {Daniel Jackson and John Chapin}, Journal = {IEEE Software}, Keywords = {oorp}, Month = may, Number = {3}, Pages = {63--70}, Publisher = {IEEE}, Title = {Redesigning Air Traffic Control: An Exercise in Software Design}, Volume = {17}, Year = {2000} } @inproceedings{Jaco86a, Author = {Ivar Jacobson}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit distribution real-time oopsla86}, Month = nov, Pages = {377--384}, Title = {Language Support for Changeable Large Real Time Systems}, Volume = {21}, Year = {1986} } @inproceedings{Jaco87a, Author = {Ivar Jacobson}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {183--191}, Title = {Object Oriented Development in an Industrial Environment}, Volume = {22}, Year = {1987} } @inproceedings{Jaco91a, Author = {Ivar Jacobson and Fredrik Lindstr{\"o}m}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit-db oopsla91}, Month = nov, Pages = {340--350}, Title = {Re-engineering of Old Systems to an Object-Oriented Database}, Volume = {26}, Year = {1991} } @book{Jaco92a, Address = {Reading, Mass.}, Author = {Ivar Jacobson and Magnus Christerson and Patrik Jonsson and Gunnar Overgaard}, Isbn = {0-201-54435-0}, Keywords = {olit-oose binder (shelf) scglib oorp}, Publisher = {Addison Wesley/ACM Press}, Title = {Object-Oriented Software Engineering --- {A} Use Case Driven Approach}, Year = {1992} } @article{Jaco93a, Author = {Ivar Jacobson}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {24--30}, Title = {Is Object Technology Software's Industrial Platform?}, Volume = {10}, Year = {1993} } @techreport{Jaco93b, Author = {Ian Jacobs and Francis Montagnac and Janet Bertot and Dominique Cle\'ment and Vincent Prunet}, Institution = {INRIA}, Month = feb, Number = {150}, Title = {The Sophtalk Reference Manual}, Year = {1993} } @techreport{Jaco93c, Author = {Ian Jacobs and Janet Bertot}, Institution = {INRIA}, Month = feb, Number = {149}, Title = {Sophtalk Tutorials}, Year = {1993} } @book{Jaco95a, Author = {Ivar Jacobson and Maria Ericsson and Agneta Jacobson}, Isbn = {0-201-42289}, Keywords = {oobib(gen) book scglib}, Publisher = {Addison Wesley}, Title = {The Object Advantage: Business Process Reengineering with Object Technology}, Year = {1995} } @inproceedings{Jaco96a, Address = {Linz, Austria}, Author = {Bart Jacobs}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {210--231}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance and Cofree Constructions}, Volume = {1098}, Year = {1996} } @book{Jaco97a, Author = {Ivar Jacobson and Martin Griss and Patrik Jonsson}, Isbn = {0-201-92476-5}, Keywords = {olit-oose oorp}, Publisher = {Addison Wesley/ACM Press}, Title = {Software Reuse}, Year = {1997} } @book{Jaco99a, Author = {Ivar Jacobson and Grady Booch and James Rumbaugh}, Keywords = {olit-ood book}, Publisher = {Addison Wesley}, Title = {The Unified Software Development Process}, Year = {1999} } @article{Jaco03, Author = {Ivar Jacobson}, Journal = {Journal of Object Technology}, Keywords = {scenario aspect}, Month = jul, Number = {4}, Pages = {7--28}, Title = {Use Cases and Aspects--Working Seamlessly Together}, Url = {http://www.jot.fm/issues/issue_2003_07/column1}, Volume = {2}, Year = {2003}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2003_07/column1} } @book{Jaco05a, Author = {Ivar Jacobson and Pan-Wei Ng}, Isbn = {0321268881}, Keywords = {book}, Publisher = {Addison Wesley Professional}, Title = {Aspect-Oriented Software Development with Use Cases}, Year = {2005} } @article{Jaco08a, Address = {New York, NY, USA}, Author = {Bart Jacobs and Frank Piessens and Jan Smans and K. Rustan M. Leino and Wolfram Schulte}, Doi = {10.1145/1452044.1452045}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst. (TOPLAS)}, Number = {1}, Pages = {1--48}, Publisher = {ACM}, Title = {A programming model for concurrent object-oriented programs}, Volume = {31}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1452044.1452045} } @article{Jaer03a, Author = {Jaakko J\"arvi and Gary Powell and Andrew Lumsdaine}, Doi = {10.1002/spe.504}, Issn = {0038-0644}, Journal = {Softw. Pract. Exper.}, Number = {3}, Pages = {259--291}, Publisher = {John Wiley \& Sons, Inc.}, Title = {The Lambda library: unnamed functions in {C++}}, Volume = {33}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.504} } @article{Jaff94a, Author = {J. Jaffar and M. Maher}, Journal = {The Journal of Logic Programming}, Number = {19,20}, Pages = {503--581}, Title = {Constraint Logic Programming: a survey}, Year = {1994} } @inproceedings{Jaga90a, Address = {Warwick U.}, Author = {Radha Jagadeesan and Prakash Panangaden}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {pcalc mobility icalp90 binder(conc)}, Month = jul, Pages = {181--194}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Domain-theoretic Model for a Higher-order Process Calculus}, Volume = {443}, Year = {1990} } @inproceedings{Jaga92a, 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.}, Address = {Utrecht, the Netherlands}, Author = {Suresh Jagannathan and Gul Agha}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-inheritance ecoop92proc}, Month = jun, Pages = {350--371}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Reflective Model of Inheritance}, Url = {ftp://biobio.cs.uiuc.edu/pub/papers/reflective}, Volume = {615}, Year = {1992}, Bdsk-Url-1 = {ftp://biobio.cs.uiuc.edu/pub/papers/reflective} } @inproceedings{Jahn97a, Author = {Jens Jahnke and Albert Z{\"u}ndorf}, Booktitle = {Proceedings of the ESEC/FSE Workshop on Object-Oriented Re-engineering}, Editor = {Serge Demeyer and Harald Gall}, Keywords = {olit designpatterns}, Month = sep, Note = {Technical Report TUV-1841-97-10}, Publisher = {Technical University of Vienna, Information Systems Institute, Distributed Systems Group}, Title = {Rewriting poor Design Patterns by Good Design Patterns}, Url = {http://scg.unibe.ch/archive/famoos/ESEC97/index.html}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/ESEC97/index.html} } @inproceedings{Jahn97b, Author = {Jens. H. Jahnke and Wilhelm. Sch{\"a}fer and Albert. Z{\"u}ndorf}, Booktitle = {Proceedings of ESEC/FSE '97}, Keywords = {dbreeng famoos oorp}, Note = {inproceedings}, Number = {1301}, Pages = {193--210}, Series = {LNCS}, Title = {Generic Fuzzy Reasoning Nets as a Basis ofr Reverse Engineering Relational Database Applications}, Year = {1997} } @misc{Jain, title = {{Jain-SIP}, Java {API} for {SIP} signalling}, key = {jain}, url = {https://jain-sip.dev.java.net/} } @book{Jain88a, Address = {Englewood Cliffs}, Author = {Anil Kumar Jain and Richard C. Dubes}, Keywords = {clustering}, Publisher = {Prentice Hall}, Title = {Algorithms for Clustering Data}, Year = {1988} } @article{Jain99a, Address = {New York, NY, USA}, Author = {Anil Kumar Jain and M. Narasimha Murty and Patrick Joseph Flynn}, Doi = {10.1145/331499.331504}, Issn = {0360-0300}, Journal = {ACM Computing Surveys}, Keywords = {clustering}, Number = {3}, Pages = {264--323}, Publisher = {ACM Press}, Title = {Data Clustering: a Review}, Url = {http://dx.doi.org/10.1145/331499.331504}, Volume = {31}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/331499.331504} } @inproceedings{Jakob09a, title = {An Aspect-Oriented Approach to Securing Distributed Systems}, author = {Jakob, Henner and Loriant, Nicolas and Consel, Charles}, booktitle = {ICPS'09: Proceedings of the 6th International Conference on Pervasive Services}, year = {2009}, isbn = {978-1-60558-644-1}, pages = {21--30}, address = {London, UK}, doi = {10.1145/1568199.1568204}, publisher = {ACM} } @book{Jalo97a, Address = {New York}, Author = {P. Jalote}, Edition = {2nd}, Keywords = {fca}, Publisher = {Springer-Verlag}, Title = {An Integrated Approach to Software Engineering}, Year = {1997} } @inproceedings{Jamm05a, Author = {Fran\c{c}ois Jammes and Harm Smit}, Booktitle = {Proceedings of the 3rd IEEE International Conference on Industrial Informatics (INDIN'05)}, Doi = {10.1109/INDIN.2005.1560366}, Month = aug, Pages = {140--147}, Title = {Service-Oriented Architectures for Devices --- the SIRENA View}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/INDIN.2005.1560366} } @inproceedings{Jamm05b, Address = {New York, NY, USA}, Author = {Fran\&\#231;ois Jammes and Antoine Mensch and Harm Smit}, Booktitle = {MPAC '05: Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing}, Doi = {10.1145/1101480.1101496}, Isbn = {1-59593-268-2}, Location = {Grenoble, France}, Pages = {1--8}, Publisher = {ACM Press}, Title = {Service-oriented device communications using the devices profile for web services}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1101480.1101496} } @inproceedings{Jang09a, author = {Jang, Dongseok and Choe, Kwang-Moo}, title = {Points-to analysis for JavaScript}, booktitle = {Proceedings of the 2009 ACM symposium on Applied Computing}, series = {SAC '09}, year = {2009}, isbn = {978-1-60558-166-8}, location = {Honolulu, Hawaii}, pages = {1930--1937}, numpages = {8}, doi = {10.1145/1529282.1529711}, acmid = {1529711}, publisher = {ACM}, address = {New York, NY, USA}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1529282.1529711} } @inproceedings{Janj09a, Abstract = {Dedicated software search engines that index open source software repositories or in-house software assets significantly enhance the chance of finding software components suitable for reuse. However, they still leave the work of evaluating and testing components to the developer. To significantly change the risk/cost/benefit tradeoff involved in software reuse, search engines need to be supported by user friendly environments that deliver code search functionality, non-intrusively, right to developers' fingertips during key software development activities and significantly raise the quality of search results. In this position paper we describe our attempt to realize this vision through an Eclipse plug-in, Code Conjurer, in tandem with the code search engine, merobase.}, Author = {Janjic, W. and Stoll, D. and Bostan, P. and Atkinson, C.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403380}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070015}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070015}, Doi = {10.1109/SUITE.2009.5070015}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codeconjurer, codesearch, merobase, suite2009}, Pages = {21--24}, Posted-At = {2009-08-10 11:10:50}, Priority = {0}, Title = {Lowering the barrier to reuse through test-driven search}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070015}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070015} } @article{Jank88a, Author = {Hugo T. Jankowitz}, Journal = {Computer Journal}, Keywordsw = {plagiarism}, Number = {31}, Pages = {1--8}, Title = {Detecting Plagiarism in Student {PASCAL} Programs}, Volume = {1}, Year = {1988} } @incollection{Jans87a, Author = {Dirk Janssens and G. Rozenberg}, Booktitle = {Graph-Grammars and Their Application to Computer Science}, Editor = {H. Ehrig and M. Nagl and G. Rozenberg and A. Rosenfeld}, Keywords = {concurrency actors graph-grammars}, Pages = {280--298}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Basic Notions of Actor Grammars: {A} Graph Grammar Model for Actor Computation}, Volume = {291}, Year = {1987} } @techreport{Jans88a, Author = {Dirk Janssens and G. Rozenberg}, Institution = {University of Limburg, Diepenbeek, Belgium, and University of Leiden, the Netherlands}, Keywords = {concurrency actors graph-grammars}, Note = {Submitted for Mathematical Systems Theory}, Title = {Actor Grammars}, Type = {manuscript}, Year = {1988} } @inproceedings{Jans04a, Address = {Istanbul, Turkey}, Author = {Svante Janson and Stefano Lonardi and Wojciech Szpankowski}, Booktitle = {Proceedings of the Symposium on Combinatorial Pattern Matching}, Editor = {Springer}, Number = {3109}, Series = {LNCS}, Title = {On Average Sequence Complexity}, Year = {2004} } @inproceedings{Janz03a, Address = {New York, NY, USA}, Author = {Doug Janzen and Kris de Volder}, Booktitle = {AOSD'03: Proceedings of the 2nd International Conference on Aspect-oriented Software Development}, Isbn = {1-58113-660-9}, Pages = {178--187}, Publisher = {ACM}, Title = {Navigating and Querying Code Without Getting Lost}, Year = {2003} } @article{Jarv02a, author = {J\"{a}rvelin, Kalervo and Kek\"{a}l\"{a}inen, Jaana}, title = {Cumulated gain-based evaluation of IR techniques}, journal = {ACM Trans. Inf. Syst.}, volume = {20}, number = {4}, month = oct, year = {2002}, issn = {1046-8188}, pages = {422--446}, numpages = {25}, doi = {10.1145/582415.582418}, acmid = {582418}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Jarz03a, Author = {Stan Jarzabek and Li Shubiao}, Booktitle = {Proceedings ESEC-FSE'03, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering}, Month = sep, Pages = {237--246}, Publisher = {ACM Press}, Title = {Eliminating Redundancies with a `Composition with Adaptation' Meta-programming Technique}, Year = {2003} } @misc{Java, Key = {Java}, Note = {http://java.sun.com/}, Title = {Java} } @misc{JavaAnn, Author = {{Sun microsystems}}, Key = {JavaAnn}, Note = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html}, Title = {Java Annotations}, Url = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html}, Year = {2004}, Bdsk-Url-1 = {http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html} } @misc{JavaCC, Key = {JavaCC}, Note = {http://www.experimentalstuff.com/Technologies/JavaCC/}, Title = {Java Compiler Compiler}, Url = {http://www.experimentalstuff.com/Technologies/JavaCC/}, Bdsk-Url-1 = {http://www.experimentalstuff.com/Technologies/JavaCC/} } @misc{JavaIDEApi, Key = {Java IDE API}, Note = {http://jcp.org/en/jsr/detail?id=198}, Title = {JSR 198: A Standard Extension API for Integrated Development Environments}, Url = {http://jcp.org/en/jsr/detail?id=198}, Bdsk-Url-1 = {http://jcp.org/en/jsr/detail?id=198} } @misc{JavaME, Key = {JavaME}, Note = {http://java.sun.com/javame/index.jsp}, Title = {Java Micro Edition} } @inproceedings{Jaza95a, Author = {Mehdi Jazayeri}, Booktitle = {Proceedings of ESEC 95}, Keywords = {olit}, Title = {Component Programming --- a fresh look at software components}, Url = {http://www.infosys.tuwien.ac.at/reports/repository/TUV-1841-95-01.ps}, Year = {1995}, Bdsk-Url-1 = {http://www.infosys.tuwien.ac.at/reports/repository/TUV-1841-95-01.ps} } @book{Jaza97a, Address = {Zurich, Switzerland}, Editor = {Mehdi Jazayeri and Helmut Schauer}, Isbn = {3-540-63531-9}, Keywords = {esec '97 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {ESEC}/{FSE}'97}, Volume = {1301}, Year = {1997} } @inproceedings{Jaza99a, Author = {Mehdi Jazayeri and Harald Gall and Claudio Riva}, Booktitle = {Proceedings of ICSM '99 (International Conference on Software Maintenance)}, Keywords = {oorp}, Pages = {99--108}, Publisher = {IEEE Computer Society Press}, Title = {Visualizing {Software} {Release} {Histories}: The {Use} of {Color} and {Third} {Dimension}}, Year = {1999} } @inproceedings{Jaza02a, Address = {Berlin}, Author = {Mehdi Jazayeri}, Booktitle = {Reliable Software Technologies-Ada-Europe 2002}, Keywords = {oorp}, Pages = {13--23}, Publisher = {Springer Verlag}, Title = {On Architectural Stability and Evolution}, Year = {2002} } @inproceedings{Jaza04a, Author = {Mehdi Jazayeri}, Booktitle = {Proceedings of ASE 2004 (20th International Conference on Automated Software Engineering}, Pages = {18--27}, Publisher = {IEEE CS Press}, Title = {The Education of a Software Engineer}, Year = {2004} } @mastersthesis{Jean08a, Author = {C\'edric Jeanneret}, Month = mar, School = {Systemic Modeling Laboratory, Ecole Polytechnique F\'ed\'erale de Lausanne (EPFL), CH}, Title = {An Analysis of Model Composition Approaches}, Type = {Master's thesis}, Url = {http://cedric.jeanneret-wiedmer.com/material/research/master-thesis/cedric_jeanneret_master_thesis.pdf}, Year = {2008}, Bdsk-Url-1 = {http://cedric.jeanneret-wiedmer.com/material/research/master-thesis/cedric_jeanneret_master_thesis.pdf} } @inproceedings{Jeff92a, Address = {Tokyo}, Author = {S. Jefferson and D.P. Friedman}, Booktitle = {IMSA '92 International Workshop on Reflection and Meta-Level Architecture}, Month = nov, Title = {{A Simple Reflective Interpreter}}, Year = {1992} } @book{Jeff01a, Author = {Ron Jeffries and Ann Anderson and Chet Hendrickson}, Isbn = {0-201-70842-6}, Keywords = {scglib XP oorp}, Publisher = {Addison Wesley}, Title = {Extreme Programming Installed}, Year = {2001} } @article{Jenn95a, Author = {Nicholas Jennings and Michael Wooldridge}, Journal = {Applied Artificial Intelligence An International Journal}, Keywords = {agents dai}, Number = {4}, Pages = {351--361}, Title = {Applying Agent Technology}, Volume = {9}, Year = {1995} } @inproceedings{Jenn95b, Address = {London}, Author = {Nicholas Jennings}, Booktitle = {Proc. UNICOM Seminar on Agent Software}, Keywords = {agents dai}, Pages = {12--27}, Title = {Agent Software}, Year = {1995} } @incollection{Jenn96a, Author = {Nicholas Jennings}, Booktitle = {Foundations of Distributed Artificial Intelligence}, Editor = {G.M.P. O'Hare and N.R. Jennings}, Keywords = {agents dai}, Pages = {187--210}, Publisher = {John Wiley \& Sons}, Title = {Coordination Techniques for Distributed Artificial Intelligence}, Year = {1996} } @techreport{Jerd96a, Author = {Dean Jerding and John Stasko and Thomas Ball}, Institution = {Georgia Institute of Technology}, Month = may, Number = {GIT-GVU-96-15}, Title = {Visualizing Message Patterns in Object-Oriented Program Executions}, Year = {1996} } @techreport{Jerd96b, Author = {Dean F. Jerding and John T. Stasko}, Institution = {Georgia Institute of Technology}, Keywords = {oorp}, Month = oct, Number = {GIT-GVU-96-25}, Title = {The Information Mural: Increasing Information Bandwidth in Visualizations}, Year = {1996} } @inproceedings{Jerd97a, Author = {Dean Jerding and Spencer Rugaber}, Booktitle = {Proceedings of 4th Working Conference on Reverse Engineering (WCRE'97)}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Pages = {56--65}, Publisher = {IEEE Computer Society Press}, Title = {Using Visualization for Architectural Localization and Extraction}, Year = {1997} } @inproceedings{Jerd97b, Author = {Dean J. Jerding and John T. Stasko and Thomas Ball}, Booktitle = {Proceedings of International Conference on Software Engineering (ICSE'97)}, Pages = {360--370}, Title = {Visualizing Interactions in Program Executions}, Year = {1997} } @inproceedings{Jerd97c, Author = {Dean Jerding and Spencer Rugaber}, Booktitle = {Proceedings WCRE}, Pages = {56--65}, Publisher = {IEEE}, Title = {{Using} {Visualization} for {Architectural} {Localization} and {Extraction}}, Year = {1997} } @inproceedings{Jerr89a, Author = {Max E. Jerrell}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {169--174}, Title = {Function Minimization and Automatic Differentiation Using {C}++}, Volume = {24}, Year = {1989} } @article{Jetl99a, Author = {Niraj Jetly}, Journal = {Java Developer's Journal}, Month = apr, Number = {4}, Pages = {48--49}, Title = {{Visual}{Age} for {Java} 2.0}, Volume = {4}, Year = {1999} } @inproceedings{Jeze92a, Address = {Utrecht, the Netherlands}, Author = {J-M. J\'ez\'equel}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-obc ecoop92proc}, Month = jun, Pages = {197--212}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{EPEE}: an Eiffel Environment to Program Distributed Memory Parallel Computers}, Volume = {615}, Year = {1992} } @inproceedings{Jeze93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Jean-Marc J\'ez\'equel}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {384--405}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Transparent Parallelisation Through Reuse: Between a Compiler and a Library Approach}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @article{Jeze94a, Author = {J-M. J\'ez\'equel and F. Guidec and F. Hamelin}, Journal = {Object-Oriented Systems}, Keywords = {olit binder}, Month = dec, Number = {2}, Pages = {149--170}, Publisher = {Chapman \& Hall}, Title = {Parallelizing Object-Oriented Software trough the Reuse of Parallel Components}, Volume = {1}, Year = {1994} } @book{Jeze96a, Author = {J-M. J\'ez\'equel}, Isbn = {0-201-63381-7}, Keywords = {olit-oopl scglib}, Publisher = {Addison Wesley}, Title = {Object-Oriented Software Engineering with Eiffel}, Year = {1996} } @inproceedings{Jeze96b, Address = {Linz, Austria}, Author = {Jean-Marc J\'ez\'equel and Jean-Lin Pacherie}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {275--294}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Parallel Operators}, Volume = {1098}, Year = {1996} } @misc{Jfac, Key = {jFac}, Keywords = {refactoring}, Note = {http://www.instantiations.com/jfactor/}, Title = {j{Factor}} } @misc{Jikes, Key = {Jikes}, Note = {http://jikesrvm.sourceforge.net/}, Title = {The {Jikes} Research Virtual Machine}, Url = {http://jikesrvm.sourceforge.net/}, Bdsk-Url-1 = {http://jikesrvm.sourceforge.net/} } @inproceedings{Jim96a, Author = {Trevor Jim}, Booktitle = {Principles of Programming Languages}, Publisher = {ACM}, Title = {What are principal typings and what are they good for?}, Url = {http://www.research.att.com/~trevor/papers.html}, Year = {1996}, Bdsk-Url-1 = {http://www.research.att.com/~trevor/papers.html} } @inbook{Jime09b, Author = {Ricardo Jimenez-Peris and Marta Pati\~no-Martinez and Bettina Kemme and Francisco Perez-Sorrosal and Damian Serrano}, Booktitle = {Architecting Dependable Systems. Volume 6.}, Isbn = {3-642-10247-6}, Keywords = {enterprise scglib}, Pages = {1--23}, Publisher = {Springer}, Series = {LNCS}, Title = {A System of Architectural Patterns for Scalable, Consistent and Highly Available Multi-Tier Service Oriented Infrastructure}, Volume = {5835}, Year = {2009} } @article{Jimen09a, Doi = {10.1109/MS.2009.93}, author = {Jimenez, Manuel and Rosique, Francisca and Sanchez, Pedro and Alvarez, Barbara and Iborra, Andres}, title = {Habitation: A Domain-Specific Language for Home Automation}, journal = {IEEE Software}, volume = {26}, number = {4}, year = {2009}, keywords = {damiencbib}, pages = {30-38}, publisher = {IEEE Computer Society} } @misc{Jip, Key = {jip}, Keywords = {dynamic analysis}, Note = {http://sourceforge.net/projects/jiprof}, Title = {Java Interactive Profiler} } @techreport{John75a, Address = {Murray Hill, NJ}, Author = {S.C. Johnson}, Institution = {Bell Laboratories}, Keywords = {misc unix yacc compiler}, Number = {\#32}, Title = {Yacc: Yet Another Compiler Compiler}, Type = {Computer Science Technical Report}, Year = {1975} } @incollection{John78a, Author = {S.C. Johnson}, Booktitle = {UNIX programmer's manual}, Pages = {78--1273}, Publisher = {AT\&T Bell Laboratories}, Title = {Lint, a {C} Program Checker}, Year = {1978} } @inproceedings{John86a, Author = {Ralph E. Johnson}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk types oopsla86 oobib(types)}, Month = nov, Pages = {315--321}, Title = {Type-Checking {Smalltalk}}, Volume = {21}, Year = {1986} } @inproceedings{John88a, Author = {Ralph Johnson}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {18--26}, Title = {{TS}: {An} Optimizing Compiler for {Smalltalk}}, Volume = {23}, Year = {1988} } @article{John88b, Author = {Ralph E. Johnson and Brian Foote}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-reuse binder(oop) oobib(gen) joop}, Number = {2}, Pages = {22--35}, Title = {Designing Reusable Classes}, Url = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/designing-reusable-classes.ps ftp://p300.cpl.uiuc.edu/pub/foote/DRC.ps}, Volume = {1}, Year = {1988}, Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/designing-reusable-classes.ps%20ftp://p300.cpl.uiuc.edu/pub/foote/DRC.ps} } @techreport{John91a, Author = {Ralph E. Johnson and Vincent F. Russo}, Institution = {UIUC DCS}, Keywords = {olit-reuse frameworks binder}, Month = may, Number = {91-1696}, Title = {Reusing Object-Oriented Designs}, Url = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/reusable-oo-design.ps}, Year = {1991}, Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/frameworks/reusable-oo-design.ps} } @inproceedings{John91b, Address = {Los Alamitos, CA, USA}, Author = {Brian Johnson and Ben Shneiderman}, Booktitle = {VIS '91: Proceedings of the 2nd conference on Visualization '91}, Isbn = {0-8186-2245-8 (PAPER)}, Location = {San Diego, California}, Pages = {284--291}, Publisher = {IEEE Computer Society Press}, Title = {Tree-Maps: a space-filling approach to the visualization of hierarchical information structures}, Year = {1991} } @inproceedings{John92a, Author = {Ralph E. Johnson}, Booktitle = {Proceedings OOPSLA '92}, Keywords = {olit oopsla92}, Month = oct, Pages = {63--76}, Title = {Documenting Frameworks using Patterns}, Volume = {27}, Year = {1992} } @inproceedings{John93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Richard Johnson and Murugappan Palaniappan}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {503--528}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {MetaFlex: {A} Flexible Metaclass Generator}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @incollection{John93b, 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.}, Author = {Ralph E. Johnson and William F. Opdyke}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {264--278}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Refactoring and Aggregation}, Volume = {742}, Year = {1993} } @inproceedings{John93c, Author = {J. Howard Johnson}, Booktitle = {Proceedings of CASCON 93}, Keywords = {clones}, Pages = {171--183}, Title = {Identifying Redundancy in Source Code using Fingerprints}, Year = {1993} } @inproceedings{John94a, Author = {J. Howard Johnson}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 94)}, Date = {September 19-23}, Doi = {10.1109/ICSM.1994.336783}, Keywords = {clones}, Pages = {120--126}, Title = {Substring Matching for Clone Detection and Change Tracking}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1994.336783} } @inproceedings{John94b, Author = {J. Howard Johnson}, Booktitle = {Proceedings of CASCON '94}, Date = {October 31--November 3}, Pages = {9--18}, Title = {Visualizing Textual Redundancy in Legacy Source}, Year = {1994} } @techreport{John94c, Author = {John, Bonnie E. and Kieras, David E.}, Date-Added = {2006-08-15 14:33:02 +0200}, Date-Modified= {2006-09-11 10:14:20 +0200}, Institution = {Carnegie Mellon University School of Computer Science}, Keywords = {goms}, Month = {aug}, Number = {CMU-CS-94-181}, Title = {{T}he {GOMS} {F}amily of {A}nalysis {T}echniques: {T}ools for {D}esign and {E}valuation}, Year = {1994} } @inproceedings{John95a, Author = {J.~Howard Johnson}, Booktitle = {Proceedings of CASCON '95}, Date = {November 7-9}, Keywords = {clones}, Title = {Using Textual Redundancy to Understand Change}, Year = {1995} } @inproceedings{John96a, Author = {J.~Howard Johnson}, Booktitle = {Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative Research}, Organization = {IBM Centre for Advanced Studies}, Publisher = {IBM Press}, Title = {Navigating the Textual Redundancy Web in Legacy Source}, Year = {1996} } @incollection{John98a, Author = {Ralph Johnson and Bobby Wolf}, Booktitle = {Pattern Languages of Program Design 3}, Chapter = {4}, Editor = {Robert C. Martin and Dirk Riehle and Frank Buschmann}, Note = {ISBN:0-201-31011-2}, Publisher = {Addison Wesley}, Title = {Type Object}, Year = {1998} } @article{John98b, Author = {David S. Johnson and Mihalis Yannakakis}, Journal = {Information Processing Letters}, Pages = {119--123}, Title = {On Generating all Maximal Independent Sets}, Volume = {27}, Year = {1998} } @book{John00a, Author = {Jeff Johnson}, Keywords = {scglib}, Publisher = {Morgan Kaufmann}, Title = {GUI Bloopers}, Year = {2000} } @book{John04a, Author = {Rob Johnsohn and Juergen Hoeller}, Isbn = {0-764-558315}, Pages = 576, Publisher = {Wrox}, Title = {Expert One-on-One J2EE Development without EJB}, Year = {2004} } @book{Jone78a, Address = {Heidelberg}, Editor = {D. Bj\orner and C.B. Jones}, Keywords = {pl-semantics vdm}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Vienna Development Method: The Meta-Language}, Volume = {61}, Year = {1978} } @book{Jone86a, Author = {C.B. Jones}, Keywords = {plang vdm}, Publisher = {Prentice Hall International}, Title = {Systematic Software Development Using {VDM}}, Year = {1986} } @inproceedings{Jone86b, Author = {Michael B. Jones and Richard F. Rashid}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {security olit mach unix os distribution oopsla86 oobib(sys)}, Month = nov, Pages = {67--77}, Title = {Mach and Matchmaker: Kernel and Language Support for Object-Oriented Distributed Systems}, Volume = {21}, Year = {1986} } @book{Jone87a, Address = {Englewood Cliffs}, Author = {Simon L. Peyton Jones}, Isbn = {0-13-453325-9}, Keywords = {misc fp binder (shelf) book scglib}, Publisher = {Prentice-Hall}, Series = {Prentice Hall international series in computer science}, Title = {The Implementation of Functional Programming Languages}, Year = {1987} } @article{Jone91a, Author = {Neil D. Jones}, Journal = {Theoretical Computer Science 90}, Keywords = {semantics binder}, Pages = {95--118}, Title = {Static Semantics, Types, and Binding Time Analysis}, Year = {1991} } @techreport{Jone92a, 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.}, Author = {Cliff B. Jones}, Institution = {University of Manchester}, Keywords = {olit-obc pobl pcalc mobility binder}, Title = {An Object-Based Design Method for Concurrent Programs}, Type = {UMCS-92-12-1}, Url = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-92-12-1.ps.gz}, Year = {1992}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-92-12-1.ps.gz} } @techreport{Jone93a, 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.}, Author = {Cliff B. Jones}, Institution = {University of Manchester}, Keywords = {olit-obc pobl pcalc mobility binder}, Title = {Process-Algebraic Foundations for an Object-Based Design Notation}, Type = {UMCS-93-10-1}, Url = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-10-1.ps.gz}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-10-1.ps.gz} } @inproceedings{Jone93b, Author = {Cliff B. Jones}, Booktitle = {Proceedings of CONCUR '93}, Editor = {E. Best}, Keywords = {olit-obc pobl pcalc mobility concur93 binder}, Pages = {158--172}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A pi-calculus Semantics for an Object-Based Design Notation}, Volume = {715}, Year = {1993} } @inproceedings{Jone93c, Author = {C.B. Jones}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {oobib(gen) tapsoft93}, Month = apr, Pages = {136--150}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Constraining Interference in Object-Based Design Method}, Volume = {668}, Year = {1993} } @book{Jone93d, Author = {Neil J. Jones and Carsten K. Gomard and Peter Sestoft}, Publisher = {Prentice-Hall}, Title = {Partial Evaluation and Automatic Program Generation}, Year = {1993} } @book{Jone95a, Author = {C. B. Jones}, Keywords = {oobib(gen) binder}, Note = {for printing in FMiSD}, Publisher = {Kluwer Academic Publishers}, Title = {Accomodating Interference in the Formal Design of Concurrent Object-Based Programs}, Year = {1995} } @inproceedings{Jone97a, Author = {Mark P. Jones}, Booktitle = {POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Isbn = {0-89791-853-3}, Location = {Paris, France}, Pages = {483--496}, Publisher = {ACM Press}, Title = {First-class polymorphism with type inference}, Year = {1997} } @inproceedings{Jone98a, Address = {Victoria, British Columbia}, Author = {Simon Peyton Jones and Erik Meijer and Daan Leijen}, Booktitle = {Fifth International Conference on Software Reuse}, Keywords = {reuse scripting COM haskell}, Month = jun, Title = {Scripting {COM} components in Haskell}, Url = {http://www.dcs.gla.ac.uk/~simonpj/com.ps.gz}, Year = {1998}, Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~simonpj/com.ps.gz} } @article{Jone04a, Author = {James A. Jones and Alessandro Orso and Mary Jean Harrold}, Doi = {10.1057/palgrave.ivs.9500077}, Journal = {Information Visualization}, Number = {3}, Pages = {173--188}, Publisher = {Palgrave Macmillan}, Title = {{GAMMATELLA}: visualizing program-execution data for deployed software}, Volume = {3}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1057/palgrave.ivs.9500077} } @manual{Jone07, Author = {Richard Jones}, Title = {Roundup: an Issue-Tracking System for Knowledge Workers}, Url = http://roundup.sourceforge.net/doc-1.0/index.html, Year = {2007}, Bdsk-Url-1 = {http://roundup.sourceforge.net/doc-1.0/index.html} } @article{Jong77a, Author = {Peter de Jong and M.M. Zloof}, Journal = {CACM}, Keywords = {oislit forms sba}, Month = jun, Number = {6}, Pages = {385--396}, Title = {The System for Business Automation ({SBA}): Programming Language}, Volume = {20}, Year = {1977} } @article{Jong86a, Author = {Peter de Jong}, Journal = {ACM SIGPLAN Notices}, Keywords = {concurrency messages actors scripter oopws86}, Month = oct, Number = {10}, Pages = {68--77}, Title = {Compilation into Actors}, Volume = {21}, Year = {1986} } @inproceedings{Jong00a, Author = {Merijn de Jonge}, Booktitle = {Workshop Proceedings 2nd International Symposion on Constructing Software Engineering Tools CoSET 2000}, Month = jun, Pages = {68--77}, Publisher = {IEEE}, Title = {A Pretty Printer for Every Occasion}, Year = {2000} } @unpublished{Jons93a, Author = {Dirk Jonscher and Klaus R. Dittrich}, Keywords = {olit-oodb security chassis binder}, Month = aug, Note = {University of Zurich}, Title = {A Formal Security Model based on an Object-Oriented Data Model}, Type = {draft manuscript}, Year = {1993} } @book{Jons94a, Address = {Uppsala, Sweden}, Editor = {Bengt Jonson and Joachim Parrow}, Isbn = {3-540-58329-7}, Keywords = {olit concur94 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'94}, Volume = {836}, Year = {1994} } @techreport{Jord05a, 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.}, Author = {Niklaus Jordi and Frank Wettstein}, Institution = {University of Bern}, Keywords = {jsp java pse og scg-ip snf-none jb06}, Title = {Die {Entwicklung} von {Psystatix}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Jord05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Jord05a.pdf} } @article{Jorg03a, Author = {Bo N\o rregaard J\o rgensen}, Journal = {Journal of Object Technology}, Keywords = {lasagna}, Number = {11}, Pages = {55--76}, Title = {Integration of Independently Developed Components through Aliased Multi-Object Type Widening}, Volume = {3}, Year = {2004} } @inproceedings{Joua06a, Author = {Fr\'ed\'eric Jouault and Jean B\'ezivin}, Booktitle = {IFIP Int. Conf. on Formal Methods for Open Object-Based Distributed Systems, LNCS 4037}, Pages = {171--185}, Publisher = {Springer}, Title = {{KM3}: a {DSL} for Metamodel Specification}, Url = {http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a}, Year = {2006}, Bdsk-Url-1 = {http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a} } @techreport{Jouv89a, Author = {Pierre Jouvelot and David K. Gifford}, Institution = {MIT}, Keywords = {olit-obc obc fx-87 concurrency binder}, Month = feb, Title = {Communication Effects for Message-Based Concurrency}, Type = {MIT/LCS/TM-386}, Year = {1989} } @inproceedings{Jouv08a, Address = {Heidelberg, Germany}, Author = {Jouve, Wilfried and Palix, Nicolas and Consel, Charles and Kadionik, Patrice}, Booktitle = {IPTComm'08: Proceedings of the 2nd Conference on Principles, Systems and Applications of IP Telecommunications}, Keywords = {generation sip middleware diaspec damiencbib}, Month = jul, Title = {A {SIP}-based Programming Framework for Advanced Telephony Applications}, pages = {1--20}, doi = {10.1007/978-3-540-89054-6_1}, Url = {http://phoenix.labri.fr/publications/talks/jouve-al_iptcomm08_talk.pdf}, Year = {2008}, Bdsk-Url-1 = {http://phoenix.labri.fr/publications/talks/jouve-al_iptcomm08_talk.pdf} } @inproceedings{Jouv08b, Address = {Hong Kong, China}, Author = {Jouve, Wilfried and Lancia, Julien and Palix, Nicolas and Consel, Charles and Lawall, Julia}, Booktitle = {Proceedings of the 6th IEEE Conference on Pervasive Computing and Communications (PerCom'08)}, Keywords = {pervasive middleware generation diaspec damiencbib}, Month = {mar}, Pages = {252--255}, Pdf = {http://phoenix.labri.fr/publications/papers/jouve-al_percom08.pdf}, Title = {High-level Programming Support for Robust Pervasive Computing Applications}, Url = {http://phoenix.labri.fr/publications/talks/jouve-al_percom08_poster.pdf}, Year = {2008}, Bdsk-Url-1 = {http://phoenix.labri.fr/publications/talks/jouve-al_percom08_poster.pdf} } @inproceedings{Jouv09a, Address = {Galveston, TX, USA}, Author = {Jouve, Wilfried and Bruneau, Julien and Consel, Charles}, Booktitle = {PerCom'09: Proceedings of the 7th Conference on Pervasive Computing and Communications}, Keywords = {Test Simulation DiaSim Generation DiaSpec damiencbib demo}, Month = mar, Publisher = {IEEE Computer Society Press}, Title = {{DiaSim}: A Parameterized Simulator for Pervasive Computing Applications}, note = {demo}, Year = {2009} } @article{Jovi10a, title = {Listener latency profiling: Measuring the perceptible performance of interactive Java applications}, journal = {Science of Computer Programming}, volume = {In Press, Corrected Proof}, number = {}, pages = {}, year = {2010}, note = {To appear}, issn = {0167-6423}, doi = {10.1016/j.scico.2010.04.009}, author = {Milan Jovic and Matthias Hauswirth} } @misc{Jref, Key = {jRef}, Keywords = {refactoring}, Note = {http://jrefactory.sourceforge.net/}, Title = {{JR}efactory} } @inproceedings{Juck06a, Address = {New York, NY, USA}, Author = {Susanne Jucknath-John and Dennis Graf}, Booktitle = {SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization}, Doi = {10.1145/1148493.1148527}, Isbn = {1-59593-464-2}, Location = {Brighton, United Kingdom}, Pages = {167--168}, Publisher = {ACM}, Title = {Icon graphs: visualizing the evolution of large class models}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1148493.1148527} } @inproceedings{Judd03a, Doi = {10.1109/PERCOM.2003.1192735}, author = {Judd, Glenn and Steenkiste, Peter}, title = {Providing Contextual Information to Pervasive Computing Applications}, address = {Washington, DC, USA}, booktitle = {PerCom'03: Proceedings of the 1st International Conference on Pervasive Computing and Communications}, keywords = {damiencbib}, year = {2003}, pages = {133--142}, publisher = {IEEE Computer Society} } @article{Jul88a, Author = {Eric Jul and et al.}, Journal = {ACM TOCS}, Keywords = {olit-obcl emerald}, Month = jul, Number = {1}, Title = {Fine Grained Mobility in the Emerald System}, Volume = {6}, Year = {1988} } @phdthesis{Jul88b, Address = {Seattle}, Author = {Eric Jul}, Keywords = {olit-obcl emerald}, Month = dec, Number = {TR 88-12-06}, School = {Department of Computer Science, University of Washington}, Title = {Object Mobility in a Distributd Object-Oriented System}, Type = {{Ph.D}. Thesis}, Year = {1988} } @inproceedings{Jul94a, 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.}, Author = {Eric Jul}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {47--54}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Separation of Distribution and Objects}, Volume = {791}, Year = {1994} } @phdthesis{June90a, Author = {Marc Junet}, Keywords = {pl-semantics db cui binder (shelf)}, School = {University of Geneva}, Title = {S\'emantique des Bases de Don\'ees: Un Mod\`ele et une R\'ealisation}, Type = {{Ph.D}. Thesis}, Year = {1990} } @techreport{Jung91a, Author = {Ralf Jungclaus and Gunter Saake and Thorsten Hartmann and Cristina Sernadas}, Institution = {Technical University of Braunschweig}, Keywords = {olit-oopl troll binder (shelf)}, Month = dec, Number = {91-04}, Title = {Object-Oriented Specification of Information Systems: The {TROLL} Language}, Type = {Version 0.01, Report}, Year = {1991} } @inproceedings{Jung93a, Address = {Amsterdam}, Author = {R. Jungclaus and T. Hartmann and G. Saake}, Booktitle = {Proceedings of the second European-Japanese Seminar, Information Modelling and Knowledge Bases IV: Concepts, Methods and Systems}, Pages = {425--438}, Publisher = {IOS Press}, Title = {Relationships between Dynamic Object}, Year = {1993} } @article{Jung96a, Author = {R. Jungclaus and G. Saake and T. Hartmann and C. Sernadas}, Journal = {ACM transactions on Inofrmation Systems}, Month = apr, Number = {2}, Pages = {175--211}, Title = {Troll --- A langguae for Object-Oriented Specification of Information Systems}, Volume = {14}, Year = {1996} } @article{Jung04a, Address = {Los Alamitos, CA, USA}, Author = {Ho-Won Jung and Seung-Gweon Kim and Chang-Shin Chung}, Doi = {10.1109/MS.2004.1331309}, Issn = {0740-7459}, Journal = {IEEE Softw.}, Number = {5}, Pages = {88--92}, Publisher = {IEEE Computer Society Press}, Title = {Measuring Software Product Quality: A Survey of ISO/IEC 9126}, Volume = {21}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2004.1331309} } @article{Jung10a, author = {Jung, Georg and Hatcliff, John}, title = {A type-centric framework for specifying heterogeneous, large-scale, component-oriented, architectures}, journal = {Science of Computer Programming}, volume = {75}, number = {7}, month = jul, year = {2010}, issn = {0167-6423}, pages = {615--637}, numpages = {23}, doi = {10.1016/j.scico.2009.12.008}, publisher = {Elsevier}, keywords = {Component-oriented development, Meta-modeling, Middleware, Model-driven development, Software architecture, Type systems, damiencbib, calm, cadena} } @article{Juni00a, Author = {Thomas Junier and Marco Pagni}, Journal = {Bioinformatics}, Keywords = {dotplot}, Number = {2}, Pages = {178--179}, Publisher = {Oxford University Press}, Title = {Dotlet: Diagonal Plots in a Web Browser}, Volume = {16}, Year = {2000} } @techreport{Junk07a, Abstract = {Presenting numbers in the right way is crucial for understanding their meaning. However, many existing diagram drawing tools do not make understanding the numbers as easy as it could be. They often insert too many visual distractions or require a fixed input format. EyeSee is a model-independent diagram drawing engine that allows for programmatic specification of the presentation, while offering default values that produce uncluttered diagrams. As a validation, we demonstrate the simplicity to create well-known diagrams.}, Author = {Matthias Junker and Markus Hofstetter}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb07 moose-pub}, Month = may, Title = {Scripting Diagrams with EyeSee}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Junk07aJunkerHofstetterEyeSee.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Junk07aJunkerHofstetterEyeSee.pdf} } @mastersthesis{Junk09a, Abstract = {Historical data can serve as a rich source of information for answering questions about coupling between components, software structure or developer contribution. The main goal of previous research was mainly to gain a high-level view of an entire system, to ease the task of examination and analysis. Many approaches exist which help detect exceptional entities or to understand how developers work on files. But only little attention has been dedicated to the low-level analysis of software systems. We address this issue with an interactive visualization called Kumpel which consists of a history flow diagram and several integrated lightweight approaches. Furthermore we define patterns which can be used to describe the structure of a history and how developers work.}, Author = {Matthias Junker}, Keywords = {scg-msc evolution visualization moose-pub jb09 snf09}, Month = jan, School = {University of Bern}, Title = {Kumpel: Visual Exploration of File Histories}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Junk09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Junk09a.pdf} } @techreport{Juno93a, 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.}, Author = {Betty Junod and Xavier Pintado and Fr\'ed\'eric Pot}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg vo93}, Month = jul, Pages = {89--109}, Title = {Building an Object-Oriented Financial Framework}, Type = {Visual Objects}, Year = {1993} } @inproceedings{Jurg04a, Author = {J\"{u}rgen Bortolazzi}, Booktitle = {Proceedings of the 2nd Software Engineering for Automotive Systems Workshop (ICSE'04)}, Note = {Invited talk}, Title = {Challenges in Automotive Software Engineering}, Year = {2004} } @unpublished{Just94a, Author = {Timothy P. Justice and Rajeev K. Pandey and Timothy A. Budd}, Keywords = {compiler binder}, Note = {Oregon State University}, Title = {A Multiparadigm Approach to Compiler Construction}, Type = {Draft}, Year = {1994} } @misc{Jython, Key = {jython}, Keywords = {jython scripting}, Note = {http://www.jython.org/}, Title = {Jython} } @inproceedings{Kaba08a, Doi = {10.1145/1411732.1411758}, Author = {Kabanov, Jevgeni and Raudj\"{a}rv, Rein}, Title = {{Embedded typesafe domain specific languages for Java}}, Keywords = {damiencbib sql dsl typesafe}, Booktitle = {PPPJ'08: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java}, Year = {2008}, Pages = {189--197}, address = {Modena, Italy}, Publisher = {ACM} } @article{Kaba11a, author = {Kabanov, Jevgeni}, title = {JRebel Tool Demo}, journal = {Electron. Notes Theor. Comput. Sci.}, issue_date = {February, 2011}, volume = {264}, issue = {4}, month = {feb}, year = {2011}, issn = {1571-0661}, pages = {51--57}, numpages = {7}, url = {http://dx.doi.org/10.1016/j.entcs.2011.02.005}, doi = {10.1016/j.entcs.2011.02.005}, acmid = {1945154}, publisher = {Elsevier Science Publishers B. V.}, address = {Amsterdam, The Netherlands, The Netherlands}, keywords = {API, ClassLoader, JRebel, bytecode, retroactive} } @inproceedings{Kaeh86a, Author = {Ted Kaehler}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk memory loom oopsla86}, Month = nov, Pages = {87--106}, Title = {Virtual Memory on a Narrow Machine for an Object-Oriented Language}, Volume = {21}, Year = {1986} } @inproceedings{Kafu89a, Address = {Nottingham}, Author = {Dennis G. Kafura and Keung Hae Lee}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-obcl inheritance concurrency act++ ecoop89proc binder(oop) oobib(obcp)}, Misc = {July 10-14}, Month = jul, Pages = {131--145}, Publisher = {Cambridge University Press}, Title = {Inheritance in Actor Based Concurrent Object-Oriented Languages}, Year = {1989} } @inproceedings{Kafu90a, Author = {Dennis Kafura and Douglas Washabaugh and Jeff Nelson}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {126--134}, Title = {Garbage Collection of Actors}, Volume = {25}, Year = {1990} } @inproceedings{Kafu91a, Author = {Dennis G. Kafura and Greg Lavender}, Booktitle = {ACM OOPS Messenger, Proceedings OOPSLA/ECOOP 90 Workshop on Object-Based Concurrent Systems}, Keywords = {olit-obcl act++ obc90}, Month = apr, Pages = {55--58}, Title = {Recent Progress in Combining Actor-Based Concurrency with Object-Oriented Programming}, Volume = {2}, Year = {1991} } @book{Kafu98a, Author = {Dennis Kafura}, Isbn = {0-13-901349-0}, Keywords = {c++}, Publisher = {Prentice-Hall}, Title = {Object Oriented Software Design and Construction with {C}++}, Year = {1998} } @inproceedings{Kagd07a, Author = {Kagdi, H. and Maletic, J.I. and Sharif, B.}, Booktitle = {Program Comprehension, 2007. ICPC '07. 15th IEEE International Conference on}, title={Mining Software Repositories for Traceability Links}, Year = {2007}, Month = jun, Pages = {145 -154}, Abstract = {An approach to recover/discover traceability links between software artifacts via the examination of a software system's version history is presented. A heuristic-based approach that uses sequential-pattern mining is applied to the commits in software repositories for uncovering highly frequent co-changing sets of artifacts (e.g., source code and documentation). If different types of files are committed together with high frequency then there is a high probability that they have a traceability link between them. The approach is evaluated on a number of versions of the open source system KDE. As a validation step, the discovered links are used to predict similar changes in the newer versions of the same system. The results show highly precision predictions of certain types of traceability links.}, Keywords = {sequential pattern mining;software artifacts;software repositories;software system;traceability links;data mining;software engineering;}, Doi = {10.1109/ICPC.2007.28}, ISSN = {1063-6897} } @inproceedings{Kahn86a, Author = {Ken Kahn and Eric Dean Tribble and Mark S. Miller and Daniel G. Bobrow}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-obcl vulcan prolog oopsla86}, Month = nov, Pages = {242--257}, Title = {Objects in Concurrent Logic Programming Languages}, Volume = {21}, Year = {1986} } @techreport{Kahn87a, Author = {Gilles Kahn}, Institution = {INRIA}, Keywords = {pl-semantics binder}, Month = feb, Number = {601}, Title = {Natural Semantics}, Type = {Report no.}, Year = {1987} } @inproceedings{Kahn89a, Address = {Nottingham}, Author = {K.M. Kahn}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-obc logic ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {207--223}, Publisher = {Cambridge University Press}, Title = {Objects --- {A} Fresh Look}, Year = {1989} } @inproceedings{Kahn90a, Author = {Kenneth M. Kahn and Vijay A. Saraswat}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-obcl lucy janus oopsla90 ecoop90proc}, Month = oct, Pages = {57--65}, Title = {Actors as a Special Case of Concurrent Constraint Programming}, Volume = {25}, Year = {1990} } @inproceedings{Kais87a, Author = {Gail E. Kaiser and David Garlan}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {254--267}, Title = {MELDing Data Flow and Object-Oriented Programming}, Volume = {22}, Year = {1987} } @inproceedings{Kais88a, Address = {San Jose, CA}, Author = {Gail E. Kaiser and Simon M. Kaplan}, Booktitle = {Proceedings 8th International Conference on Distributed Computing Systems}, Keywords = {olit-obc obcp concurrency prototyping binder(patterns)}, Misc = {June 13-17}, Month = jun, Pages = {250--255}, Publisher = {IEEE Computer Society}, Title = {Rapid Prototyping of Concurrent Programming Languages}, Year = {1988} } @inproceedings{Kais89a, Address = {Nottingham}, Author = {Gail E. Kaiser and Stephen S. Popovich and Wenwey Hseush and Shyhtsun Felix Wu}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-obcl meld scglib ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {147--166}, Publisher = {Cambridge University Press}, Title = {MELDing Multiple Granularities of Parallelism}, Year = {1989} } @techreport{Kais92a, Author = {Gail E. Kaiser and Brent Hailpern}, Institution = {IBM Research Division}, Keywords = {olit binder}, Note = {ACM TOPLAS Vol 14, No 2, April 92 201-265}, Number = {16442(#73057)}, Title = {An Object-Based Programming Model for Shared Data}, Type = {Research Report}, Year = {1992} } @inproceedings{Kale93a, Author = {Laxmikant V. Kale and Sanjeev Krishnan}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {91--108}, Title = {{CHARM}++: {A} Portable Concurrent Object Oriented System Based On {C}++}, Volume = {28}, Year = {1993} } @book{Kami90a, Author = {Samuel N. Kamin}, Isbn = {0-201-06824-9}, Keywords = {pl book scglib}, Publisher = {Addison Wesley}, Title = {Programming Languages: An Interpreter-Based Approach}, Year = {1990} } @inproceedings{Kami97a, Address = {Berkeley, CA, USA}, Author = {Samuel N. Kamin and David Hyatt}, Booktitle = {Proceedings of the Conference on Domain-Specific Languages}, Month = oct, Pages = {297--310}, Publisher = {USENIX}, Title = {A Special-Purpose Language for Picture-Drawing}, Year = {1997} } @inproceedings{Kami01a, Address = {Toronto, Canada}, Author = {Toshihiro Kamiya and Fumiaki Ohata and Kazuhiro Kondou and Shinji Kusumoto and Katuro Inoue}, Booktitle = {Proceedings 23rd Int'l Conf. on Software Eng. (ICSE'2001)}, Keywords = {Clones dotplot}, Month = may, Pages = {837--838}, Title = {Maintenance support tools for {Java} programs: CCFinder and JAAT}, Year = {2001} } @article{Kami02a, Author = {Toshihiro Kamiya and Shinji Kusumoto and Katsuro Inoue}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {clones dotplot}, Number = {6}, Pages = {654--670}, Title = {{CCF}inder: A Multi-Linguistic Token-Based Code Clone Detection System for Large Scale Source Code}, Volume = {28}, Year = {2002} } @inproceedings{Kami09a, Abstract = {This paper presents a novel design of search tools in reverse engineering, which enables describing core searching tasks (such as pattern searching, extraction, filtering, etc.) in a separated way from the management task of location data (such as line number or file name). By using example programs with a prototype implementation, we explain how the proposed design differs from a traditional design, and how the programs help the implementation of customizable tools.}, Author = {Kamiya, T.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403378}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070016}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070016}, Doi = {10.1109/SUITE.2009.5070016}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, suite2009}, Pages = {25--28}, Posted-At = {2009-08-10 11:11:00}, Priority = {0}, Title = {Programmable queries, or a new design of earch tools}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070016}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070016} } @book{Kan02a, Author = {Stephen H. Kan}, Isbn = {0-201-72915-6}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Metrics and Models in Software Quality Engineering}, Year = {2002} } @book{Kane97a, Author = {Jonni Kanerva}, Isbn = {0-201-63456-2}, Keywords = {java scglib}, Publisher = {Addison Wesley}, Title = {The {Java} {FAQ}}, Year = {1997} } @techreport{Kang90a, Author = {Kyo C.Kang, Sholom G. Cohen and James A. Hess and William E. Novak and A. Spencer Peterson}, Institution = {iSoftware Engineering Institute, Carnegie Mellon University, Pittsburgh, PA}, Keywords = {feature}, Number = {CMU/SEI-90-TR-21-ESD-90/TR-222}, Title = {Feature Oriented Design Analysis (FODA) Feasibility Study}, Year = {1990} } @article{Kang02a, Author = {K.C. Kang and Jaejoon Lee and Patrick Donohoe}, Journal = {IEEE Software}, Keywords = {feature}, Title = {Feature-Oriented Product Line Engineering}, Year = {2002} } @book{Kanj99a, Author = {Gopal K. Kanji}, Pages = {110}, Publisher = {SAGE Publications}, Title = {100 Statistical Tests}, Year = {1999} } @incollection{Kapl93a, 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.}, Author = {Alan Kaplan and Jack C. Wileden}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {371--392}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Name Management and Object Technology for Advanced Software(Invited Paper),}, Volume = {742}, Year = {1993} } @inproceedings{Kapp88a, Address = {Rome}, Author = {Gerti Kappel and Michael Schrefl}, Booktitle = {Proceedings 7th International Conference on Entity Relationship Approach}, Keywords = {olit-db osg ood89}, Month = nov, Pages = {175--192}, Title = {A Behaviour Integrated Entity Relationship Approach for the Design of Object-Oriented Databases}, Year = {1988} } @article{Kapp89a, 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}, Author = {Gerti Kappel and Oscar Nierstrasz}, Journal = {Handbuch der Modernen Datenverarbeitung}, Keywords = {olit skip-doi osg ood89}, Month = jan, Pages = {116--125}, Publisher = {Forkel-Verlag}, Title = {Prototyping in einer objektorientierten Entwicklungsumgebung}, Url = {http://scg.unibe.ch/archive/osg/Kapp89aPrototyping.pdf}, Volume = {145}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Kapp89aPrototyping.pdf} } @article{Kapp89b, 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}, Author = {Gerti Kappel and Jan Vitek and Oscar Nierstrasz and Betty Junod and Marc Stadelmann}, Doi = {10.1145/77250.77253}, Journal = {SIGOIS Bulletin}, Keywords = {olit-ithaca osg scripting vst}, Month = dec, Number = {4}, Pages = {21--32}, Title = {Scripting Applications in the Public Administration Domain}, Url = {http://scg.unibe.ch/archive/osg/Kapp89bScripting.pdf}, Volume = {10}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Kapp89bScripting.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/77250.77253} } @techreport{Kapp89c, 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.}, Author = {Gerti Kappel and Jan Vitek and Oscar Nierstrasz and Simon Gibbs and Betty Junod and Marc Stadelmann and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca skip-doi osg scripting vst ood89}, Month = jul, Pages = {123--142}, Title = {An Object-Based Visual Scripting Environment}, Type = {Object Oriented Development}, Url = {http://scg.unibe.ch/archive/osg/Kapp89cVisualScripting.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Kapp89cVisualScripting.pdf} } @inproceedings{Kapp94a, Author = {G. Kappel and S. Rausch-Schott and Retschitzegger}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {189--204}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Beyond Coupling Modes: Implementing Active Concepts on Top of a Commercial {OODBMS}}, Volume = {858}, Year = {1994} } @techreport{Kaps02a, Address = {Ontario, Canada}, Annote = {Project was realized during a Software Engineering Course called Topics in Software Evolution and Design, held by Michael Godfrey}, Author = {Cory Kapser and Jack Chi and Maher Shinouda}, Institution = {School of Computer Science, University of Waterloo}, Keywords = {clones}, Month = nov, Title = {A Project On Real World Cloning: Cloning in Linux File Systems}, Type = {Class Project}, Url = {http://plg.uwaterloo.ca/~migod/846/project/KapserChiShinouda-report.pdf}, Year = {2002}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/846/project/KapserChiShinouda-report.pdf} } @inproceedings{Kaps03a, Author = {Cory Kapser and Michael W. Godfrey}, Booktitle = {Proceedings of the First International Workshop on Evolution of Large-scale Industrial Software Applications (ELISA)}, Institution = {School of Computer Science, University of Waterloo}, Keywords = {clones}, Month = sep, Publisher = {IEEE}, Title = {Toward a Taxonomy of Clones in Source Code: A Case Study}, Year = {2003} } @inproceedings{Kaps04a, Address = {Kyoto, Japan}, Author = {Cory Kapser and Michael W. Godfrey}, Booktitle = {Proceedings of 2004 International Workshop on Software Evolution (IWPSE-04)}, Keywords = {clones}, Month = sep, Title = {Aiding Comprehension of Cloning Through Categorization}, Url = {http://plg.uwaterloo.ca/~migod/papers/}, Year = {2004}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/papers/} } @article{Kaps06a, Address = {Los Alamitos, CA, USA}, Author = {Kapser, Cory and Godfrey, Michael W.}, Booktitle = {WCRE '06: Proceedings of the 13th Working Conference on Reverse Engineering}, Citeulike-Article-Id= {1304923}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1174714}, Citeulike-Linkout-1= {http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.1}, Citeulike-Linkout-2= {http://dx.doi.org/10.1109/WCRE.2006.1}, Citeulike-Linkout-3= {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4023973}, Date-Added = {2010-01-29 23:31:00 +0100}, Date-Modified= {2010-02-01 08:48:50 +0100}, Doi = {10.1109/WCRE.2006.1}, Isbn = {0-7695-2719-1}, Issn = {1095-1350}, Journal = {WCRE '06}, Keywords = {hot\_clone, snf}, Pages = {19--28}, Posted-At = {2010-01-28 10:21:32}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {"Cloning Considered Harmful" Considered Harmful}, Url = {http://dx.doi.org/10.1109/WCRE.2006.1}, Volume = {0}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.1} } @book{Karl95a, Author = {Even-Andre Karlsson}, Isbn = {0-471-95819-0}, Keywords = {olit-reuse book scglib}, Publisher = {Jhon Willey Sons}, Title = {Software Reuse {A} Holistic Approach}, Year = {1995} } @phdthesis{Karo03a, Author = {Said Karouach}, Month = jul, School = {Universit\'e Paul Sabatier, Toulouse III}, Title = {Syst\`eme de visualisations interactives pour la d\'ecouverte de connaissances}, Year = {2003} } @inproceedings{Karo04a, Author = {Said Karouach and Bernard Dousset}, Booktitle = {4iemes journ\'ees d'EGC (Extration et Gestion de Connaissances) , Clermont Ferrand, France, 20/01/04-23/01/04}, Keywords = {SIGEVI}, Month = jan, Publisher = {Hermes}, Title = {Analyse d'information relationnelle par des graphes interactifs de grandes tailles}, Year = {2004} } @inproceedings{Karp07a, Author = {Marcin Karpinski and Vinny Cahill}, Booktitle = {In Proceedings of Fourth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks SECON 2007}, Location = {San Diego, CA}, Month = jun, Publisher = {IEEE}, Title = {High-Level Application Development is Realistic for Wireless Sensor Network}, Year = {2007} } @article{Karr92a, Author = {C. Karreman}, Journal = {Comput. Appl. Biosci.}, Keywords = {dotplot}, Pages = {75--77}, Title = {A Dotplot Program for the {Atari} {ST}, for the Analysis of {DNA} and Protein Sequences}, Volume = {8}, Year = {1992} } @inproceedings{Kars93a, Author = {Alain Karsenty and Michel Beaudouin-Lafon}, Booktitle = {Proceeding of ICDCS '93 Intyernational Conference on Distributed Computing Systems}, Editor = {IEEE}, Month = may, Title = {An algorithm for distributed groupware Applications}, Year = {1993} } @inproceedings{Kase07a, Author = {Owen Kaser and Daniel Lemire}, Booktitle = {Proceedings of the Tagging and Metadata for Social Information Organization Workshop}, Title = {Tag-Cloud Drawing: Algorithms for Cloud Visualization}, Year = {2007} } @book{Kast82a, Author = {U. Kastens and B. Hutt and E. Zimmermann}, Keywords = {compiler generator gag patterns}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{GAG}: {A} Practical Compiler Generator}, Volume = {141}, Year = {1982} } @inproceedings{Kata01a, Author = {Yoshio Kataoka and Michael D. Ernst and William G. Griswold and David Notkin}, Booktitle = {Proceedings of the International Conference on Software Maintenance, (Florence, Italy)}, Month = nov, Pages = {736--743}, Title = {Automated support for program refactoring using invariants}, Year = {2001} } @techreport{Kate90a, Address = {Iraklion, Crete}, Author = {Manolis Katevenis and T. Sorilos and Christos Georgis and P. Kalogerakis}, Institution = {Foundation of Research and Technology --- Hellas}, Keywords = {olit-ithaca laby}, Misc = {Dec. 31}, Month = dec, Number = {FORTH.90.E3.3.#7}, Title = {Laby User's Manual (version 2.10)}, Type = {ITHACA report}, Year = {1990} } @inproceedings{Kats08a, Address = {Nashville, Tenessee, USA}, Author = {Lennart C. L. Kats and Martin Bravenboer and Eelco Visser}, Booktitle = {Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA 2008)}, Doi = {10.1145/1449764.1449772}, Editor = {Gregor Kiczales}, Isbn = {978-1-60558-215-3}, Keywords = {dsllit}, Month = oct, Pages = {91--108}, Publisher = {ACM}, Title = {Mixing Source and Bytecode. {A} Case for Compilation by Normalization}, Url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-030.pdf}, Year = {2008}, Bdsk-Url-1 = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-030.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1449764.1449772} } @book{Kauf90a, Address = {New York}, Author = {L. Kaufman and P. J. Rousseeuw}, Keywords = {clustering}, Publisher = {John Wiley \& Sons Inc.}, Series = {Wiley Series in Probability and Mathematical Statistics}, Title = {Finding Groups in Data: An Introduction to Cluster Analysis}, Year = {1990} } @mastersthesis{Kauf01a, 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.}, Author = {Christian Kaufmann}, Keywords = {scg-pub skip-doi jb02 scg-msc snf02}, School = {University of Bern}, Title = {Software Engineering im Spannungsfeld Theorie und Praxis}, Url = {http://scg.unibe.ch/archive/masters/Kauf01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kauf01a.pdf} } @book{Kauf01b, Address = {Berlin Heidelberg}, Author = {Michael Kaufmann and Dorothea Wagner}, Isbn = {3-540-42062}, Publisher = {Springer-Verlag}, Title = {Drawing Graphs}, Year = {2001} } @inproceedings{Kaul06a, Address = {New York, NY, USA}, Author = {Dimple Kaul and Aniruddha Gokhale}, Booktitle = {ACM-SE 44: Proceedings of the 44th annual Southeast regional conference}, Doi = {10.1145/1185448.1185520}, Isbn = {1-59593-315-8}, Location = {Melbourne, Florida}, Pages = {319--324}, Publisher = {ACM Press}, Title = {Middleware specialization using aspect oriented programming}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1185448.1185520} } @misc{Kawa, Author = {Per Bothner}, Note = {http://www.gnu.org/software/kawa/}, Title = {{Kawa}, the {Java}-based {Scheme} system} } @inproceedings{Kawa04a, Author = {Shinji Kawaguchi and Pankaj K. Garg and Makoto Matsushita and Katsuro Inoue}, Booktitle = {Proceedings of the 11th Asia-Pacific Software Engineering Conference (APSEC 2004)}, Pages = {184--193}, Title = {MUDABlue: An Automatic Categorization System for Open Source Repositories}, Year = {2004} } @inproceedings{Kay72a, Author = {Alan C. Kay}, Booktitle = {Proceedings of the ACM National Conference}, Keywords = {smalltalk dynabook}, Month = aug, Publisher = {ACM Press}, Title = {A Personal Computer for Children of All Ages}, Url = {http://www.mprove.de/diplom/gui/kay72.html http://www.mprove.de/diplom/gui/Kay72a.pdf}, Year = {1972}, Bdsk-Url-1 = {http://www.mprove.de/diplom/gui/kay72.html%20http://www.mprove.de/diplom/gui/Kay72a.pdf} } @article{Kay77a, Author = {Alan C. Kay}, Journal = {Scientific American}, Number = {237}, Pages = {230--240}, Title = {Microelectronics and the Personal Computer}, Volume = {3}, Year = {1977} } @inproceedings{Kay93a, Author = {Alan C. Kay}, Booktitle = {ACM SIGPLAN Notices}, Doi = {10.1145/155360.155364}, Keywords = {smalltalk}, Month = mar, Pages = {69--95}, Publisher = {ACM Press}, Title = {The Early History of {Smalltalk}}, Url = {http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_Abstract.html}, Volume = {28}, Year = {1993}, Bdsk-Url-1 = {http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_Abstract.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/155360.155364} } @book{Kay00a, Author = {Michael Kay}, Keywords = {XML scglib}, Publisher = {Wrox Press Ltd.}, Title = {XSLT, Programmer's Reference}, Year = {2000} } @book{Kay01a, Author = {Michael Kay}, Edition = {2nd}, Keywords = {XML scglib}, Publisher = {Wrox Press Ltd.}, Title = {XSLT, Programmer's Reference}, Year = {2001} } @techreport{Kay05a, Address = {1209 Grand Central Avenue, Glendale, CA 91201}, Author = {Alan Kay}, Institution = {Viewpoints Research Institute}, Keywords = {visprog}, Number = {VPRI Research Note RN-2005-001}, Title = {Squeak {Etoys}, Children \& Learning}, Url = {http://vpri.org/pdf/rn2005001_learning.pdf}, Year = {2005}, Bdsk-Url-1 = {http://vpri.org/pdf/rn2005001_learning.pdf} } @techreport{Kay05b, Address = {1209 Grand Central Avenue, Glendale, CA 91201}, Author = {Alan Kay}, Institution = {Viewpoints Research Institute}, Keywords = {visprog}, Number = {VPRI Research Note RN-2005-002}, Title = {Squeak {Etoys} Authoring \& Media}, Url = {http://vpri.org/pdf/rn2005002_authoring.pdf}, Year = {2005}, Bdsk-Url-1 = {http://vpri.org/pdf/rn2005002_authoring.pdf} } @inproceedings{Kazm94a, Author = {Rick Kazman and Leonard J. Bass and Mike Webb and Gregory D. Abowd}, Booktitle = {International Conference on Software Engineering (ICSE)}, Pages = {81--90}, Title = {{SAAM}: A Method for Analyzing the Properties of Software Architectures}, Year = {1994} } @techreport{Kazm95a, Author = {Rick Kazman and Marcus Burth}, Institution = {University of Waterloo}, Title = {Assessing Architectural Complexity}, Year = {1995} } @article{Kazm96a, Author = {Rick Kazman and Gregory Abowd and Len Bass and Paul Clements}, Journal = {IEEE Software}, Keywords = {olit architecture}, Month = nov, Number = {6}, Pages = {47--55}, Title = {Scenario-Based Analysis of Software Architecture}, Volume = {13}, Year = {1996} } @misc{Kazm96b, Author = {R. Kazman}, Note = {Proceedings of Workshop (ISAW-2) joint Sigsoft}, Pages = {94--97}, Title = {Tool support for Architecture Analysis and Design}, Year = {1996} } @inproceedings{Kazm98a, Author = {R. Kazman and S.G. Woods and S.J. Carri\'ere}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {154--163}, Publisher = {IEEE Computer Society}, Title = {Requirements for Integrating Software Architecture and Reengineering Models: CORUM II}, Year = {1998} } @inproceedings{Kazm98b, Address = {Victoria, B.C.}, Author = {Rick Kazman and S. Jeromy Carriere}, Booktitle = {Proceedings of the 5th International Conference on Software Reuse}, Doi = {10.1109/ICSR.1998.685754}, Keywords = {oorp design-recovery}, Title = {View Extraction and View Fusion in Architectural Understanding}, Url = {http://www.sei.cmu.edu/ata/icsr5.pdf}, Year = {1998}, Bdsk-Url-1 = {http://www.sei.cmu.edu/ata/icsr5.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSR.1998.685754} } @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}, Booktitle = {ICECCS}, Pages = {68--78}, Title = {The Architecture Tradeoff Analysis Method}, Year = {1998} } @article{Kazm99a, Author = {Rick Kazman and S. J. Carriere}, Journal = {Automated Software Engineering}, Keywords = {oorp design-recovery}, Month = apr, Title = {Playing detective: Reconstructing software architecture from available evidence.}, Url = {http://www.sei.cmu.edu/architecture/ASE.pdf}, Year = {1999}, Bdsk-Url-1 = {http://www.sei.cmu.edu/architecture/ASE.pdf} } @techreport{Kazm01a, Author = {Rick Kazman and Liam O'Brien and Chris Verhoef}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Month = aug, Title = {Architecture Reconstruction Guidelines}, Type = {{CMU/SEI-2001-TR-026}}, Url = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr026.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr026.pdf} } @techreport{Kazm03a, Author = {Rick Kazman and Liam O'Brien and Chris Verhoef}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Month = nov, Title = {Architecture Reconstruction Guidelines, Third Edition}, Type = {{CMU/SEI-2002-TR-034}}, 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}, Bdsk-Url-1 = {http://www.sei.cmu.edu/publications/documents/02.reports/02tr034.html%20http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr034.pdf} } @techreport{Kazm05a, Author = {Rick Kazman and Len Bass}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Month = dec, Title = {Categorizing Business Goals for Software Architectures}, Type = {CMU/SEI-2005-TR-021}, 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}, Bdsk-Url-1 = {http://www.sei.cmu.edu/publications/documents/05.reports/05tr021.html%20http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tr021.pdf} } @inproceedings{Keay03a, Address = {New York, NY, USA}, Author = {Roger Keays and Andry Rakotonirainy}, Booktitle = {MobiDe '03: Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access}, Doi = {10.1145/940923.940926}, Isbn = {1-58113-767-2}, Keywords = {cop-lit}, Location = {San Diego, CA, USA}, Pages = {9--16}, Publisher = {ACM Press}, Title = {Context-oriented programming}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/940923.940926} } @book{Keen89a, Author = {Sonia E. Keene}, Publisher = {Addison Wesley}, Title = {Object-Oriented Programming in Common-Lisp}, Year = {1989} } @inproceedings{Kell91a, Address = {Austin}, Author = {Rudolf K. Keller, Mary Cameon, Richard N. Taylor Dennis B. Troup}, Booktitle = {Proceedings of the 13th international conference on Software Engineering}, Month = may, Organization = {IEEE}, Pages = {208--218}, Title = {User Interface Development and Software Environments: the CHIRON-1 System}, Year = {1991} } @inproceedings{Kell97a, Author = {Wolfgang Keller}, Booktitle = {Proc. Of European Conference on Pattern Languages of Programming Conference EuroPLOP '97}, Title = {Mapping Objects to Tables - A Pattern Language}, Year = {1997} } @incollection{Kell98a, Author = {Wolfgang Keller and Jens Coldewey}, Booktitle = {Pattern Languages of Program Design 3}, Editor = {Robert Martin and Dirk Riehle and Frank Bushmann}, Keywords = {olit dbreeng famoos patterns oorp}, Pages = {313--343}, Publisher = {Addison Wesley}, Title = {Accessing Relational Databases: {A} Pattern Language}, Year = {1998} } @inproceedings{Kell98b, Author = {Ralph Keller and Urs H{\"o}lzle}, Booktitle = {ECOOP'98, LNCS 1445}, Pages = {307--340}, Title = {Binary Component Adaptation}, Year = {1998} } @inproceedings{Kell99a, Author = {Rudolf K. Keller and Reinhard Schauer and S\'{e}bastien Robitaille and Patrick Pag\'{e}}, Booktitle = {Proceedings of ICSE '99 (21st International Conference on Software Engineering)}, Location = {Los Angeles, California, United States}, Month = may, Pages = {226--235}, Publisher = {IEEE Computer Society Press / ACM Press}, Title = {Pattern-{Based} {Reverse} {Engineering} of {Design} {Components}}, Year = {1999} } @inproceedings{Kell00a, Author = {Wolfgang Keller}, Booktitle = {Proceedings of EuroPLoP 2000}, Keywords = {olit oorp}, Title = {The Bridge to the New Town --- A Legacy System Migration Pattern}, Url = {http://www.coldewey.com/europlop2000/papers.html}, Year = {2000}, Bdsk-Url-1 = {http://www.coldewey.com/europlop2000/papers.html} } @techreport{Kell05a, Author = {Andy Kellens and Kim Mens}, Institution = {UCL, Belgium}, Month = jun, Title = {A Survey of Aspect Mining Tools and Techniques}, Url = {ftp://prog.vub.ac.be/tech_report/2005/vub-prog-tr-05-16.pdf}, Year = {2005}, Bdsk-Url-1 = {ftp://prog.vub.ac.be/tech_report/2005/vub-prog-tr-05-16.pdf} } @article{Kell05b, author = {Kelleher, Caitlin and Pausch, Randy}, title = {Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers}, journal = {ACM Comput. Surv.}, volume = {37}, issue = {2}, month = jun, year = {2005}, issn = {0360-0300}, pages = {83--137}, numpages = {55}, doi = {10.1145/1089733.1089734}, acmid = {1089734}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Human-computer interaction, computer Science education, learning, literacy, problem solving} } @article{Kell07a, Author = {Andy Kellens and Kim Mens and Paolo Tonella}, Journal = {Transactions on Aspect-Oriented Software Development}, Number = {4640}, Pages = {143--162}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {A Survey of Automated Code-Level Aspect Mining Techniques}, Volume = {4}, Year = {2007} } @article{Keme87a, Author = {Chris F. Kemerer}, Journal = {Communications of the ACM}, Title = {An Empirical Validation of Software Cost Estimation Models}, Year = {1987} } @article{Keme95a, Author = {Chris F. Kemerer}, Journal = {Annals of Software Engineering}, Number = {1}, Pages = {1--22}, Title = {Empirical Research on Software Complexity and Software Maintenance}, Volume = {1}, Year = {1995} } @article{Keme97a, Author = {Kemerer, Chris F. and Slaughter, Sandra A.}, Journal = {Software Maintenance: Research and Practice}, Number = {4}, Pages = {235--251}, Title = {Determinants of Software Maintenance Profiles: An Empirical Investigation}, Volume = {9}, Year = {1997} } @article{Keme99a, Author = {Chris F. Kemerer and S. Slaughter}, Doi = {10.1109/32.799945}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit}, Number = {4}, Pages = {493--509}, Title = {An Empirical Approach to Studying Software Evolution}, Url = {http://plg.uwaterloo.ca/~migod/846/papers/kemerer-tse.pdf}, Volume = {25}, Year = {1999}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/846/papers/kemerer-tse.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.799945} } @inproceedings{Kemp87a, Author = {James Kempf and Warren Harris and Roy D'Souza and Alan Snyder}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {214--226}, Title = {Experience with CommonLoops}, Volume = {22}, Year = {1987} } @inproceedings{Kemp87b, Author = {Renate Kempf and Marilyn Stelzner}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {11--25}, Title = {Teaching Object-Oriented Programming with the {KEE} System}, Volume = {22}, Year = {1987} } @inproceedings{Kemp91a, Address = {Kaiserslautern}, Author = {Alfons Kemper and Guido Moerkotte and Hans-Dieter Walter and Andreas Zachmann}, Booktitle = {Proceedings of Datenbanksysteme in B{\"u}ro, Technik u. Wi{\ss}enschaft (BTW)}, Keywords = {olit-db gom binder}, Month = mar, Title = {{GOM}: {A} Strongly-Typed Persistent Object Model With Polymorphism}, Year = {1991} } @incollection{Kemp91b, Author = {Alfons Kemper and Peter Lockemann and Guido Moerkotte and Hans-Dieter Walter and S.M. Lang}, Booktitle = {Entity-Relationship Approach: The Core of Conceptual Modelling}, Editor = {H. Kangassalo}, Keywords = {olit-db gom binder}, Publisher = {Elsevier Science Publishers}, Title = {AUtonomy over Ubiquity: Coping with the Complexity of a Distributed World}, Year = {1991} } @inproceedings{Kemp92a, Address = {Toronto}, Author = {Alfons Kemper and Guido Moerkotte and Hans-Dieter Walter}, Booktitle = {Proceedings of 7th IFAC/IFIP/IFORS/IMACS/ISPE Symposium on Information Control Problems in Manufacturing Technology (INCOM '92)}, Keywords = {olit-db binder}, Month = may, Title = {Structuring the Distributed Object World of {CIM}}, Year = {1992} } @book{Kemp96a, Author = {Alfons Kemper and Andr\'e Eickler}, Isbn = {3-486-23008-5}, Keywords = {olit-db scglib}, Publisher = {R. Oldenbourg Verlag}, Title = {Datenbank-systeme}, Year = {1996} } @inproceedings{Kend99a, Author = {Elizabeth Kendall}, Booktitle = {Proceedings of OOPSLA '99}, Month = nov, Pages = {353--369}, Series = {ACM Sigplan Notices}, Title = {Role Model Design and Implementations with {Aspect}-{Oriented} Programming}, Year = {1999} } @incollection{Kenn82a, Author = {J. Kennaway and M. Sleep}, Booktitle = {LISP and Functional Programming}, Keywords = {pcalc mobility (uwe)}, Pages = {21--28}, Publisher = {ACM}, Title = {Expressions as Processes}, Year = {1982} } @incollection{Kenn83a, Author = {J. Kennaway and M. Sleep}, Booktitle = {The Analysis of Concurrent Systems}, Keywords = {pcalc mobility (uwe)}, Pages = {222--230}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Syntax and Informal Semantics of DyNe, a Parallel Language}, Volume = {207}, Year = {1983} } @article{Kenn04a, Author = {Andrew Kennedy and Don Syme}, Journal = {Concurrency and Computation: Practice and Experience}, Number = {7}, Title = {Transposing F to C\#: Expressivity of polymorphism in an object-oriented language}, Volume = {16}, Year = {2004} } @inproceedings{Keog99a, Author = {Eamonn Keogh and M. Pazzani}, Booktitle = {Proceedings 3rd European Conference on Principles and Practice of Knowledge Discovery in Databases}, Keywords = {dynamic analysis}, Pages = {1--11}, Title = {Scaling up dynamic time warping to massive datasets}, Year = {1999} } @inproceedings{Keog01a, Address = {Los Alamitos CA}, Author = {Eamonn Keogh and Selina Chu and David Hart and Michael Pazzani}, Booktitle = {Proceedings IEEE International Conference on Data Mining}, Keywords = {dynamic analysis, signal}, Month = nov, Pages = {289--298}, Publisher = {IEEE Computer Society Press}, Title = {An Online Algorithm for Segmenting Time Series}, Year = {2001} } @inproceedings{Keog02a, Author = {Eamonn Keogh}, Booktitle = {Proceedings 28th International Conference on Very Large Databases, Hong Kong}, Keywords = {dynamic analysis}, Month = dec, Pages = {406--417}, Title = {Exact Indexing of dynamic time warping}, Year = {2002} } @book{Kern76a, Address = {Reading, Mass.}, Author = {B.W. Kernighan and P.J. Plauger}, Keywords = {misc unix}, Publisher = {Addison Wesley, Inc.}, Title = {Software Tools}, Year = {1976} } @book{Kern78a, Author = {B.W. Kernighan and D.M. Ritchie}, Keywords = {plang c}, Publisher = {Prentice Hall Software Series}, Title = {The {C} Programming Language}, Year = {1978} } @book{Kern82a, Address = {New York, NY, USA}, Author = {B. W. Kernighan and P.J. Plauger}, Isbn = {0070342075}, Publisher = {McGraw-Hill, Inc.}, Title = {The Elements of Programming Style}, Year = {1982} } @book{Kern84a, Author = {B.W. Kernighan and R. Pike}, Keywords = {misc unix}, Publisher = {Prentice-Hall}, Title = {The {UNIX} Programming Environment}, Year = {1984} } @inproceedings{Kerr87a, Author = {R.K. Kerr and D.B. Percival}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {1--10}, Title = {Use of Object-Oriented Programming in a Time Series Analysis System}, Volume = {22}, Year = {1987} } @inproceedings{Kers05a, Address = {New York, NY, USA}, Author = {Mik Kersten and Gail C. Murphy}, Booktitle = {AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development}, Doi = {10.1145/1052898.1052912}, Isbn = {1-59593-042-6}, Location = {Chicago, Illinois}, Pages = {159--168}, Publisher = {ACM Press}, Title = {Mylar: a degree-of-interest model for IDEs}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1052898.1052912} } @inproceedings{Kers06a, Address = {New York, NY, USA}, Author = {Mik Kersten and Gail C. Murphy}, Booktitle = {SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering}, Doi = {10.1145/1181775.1181777}, Isbn = {1-59593-042-6}, Location = {Portland, Oregon, USA}, Pages = {1--11}, Publisher = {ACM Press}, Title = {Using task context to improve programmer productivity}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1181775.1181777} } @inproceedings{Khom09a, author = {Khomh, Foutse and Di Penta, Massimiliano and Gueheneuc, Yann-Gael}, title = {An Exploratory Study of the Impact of Code Smells on Software Change-proneness}, booktitle = {Proceedings of the 2009 16th Working Conference on Reverse Engineering}, series = {WCRE '09}, year = {2009}, isbn = {978-0-7695-3867-9}, pages = {75--84}, numpages = {10}, url = {http://dx.doi.org/10.1109/WCRE.2009.28}, doi = {10.1109/WCRE.2009.28}, acmid = {1686210}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, keywords = {Code Smells, Mining Software Repositories, Empirical Software Engineering} } @inproceedings{Khos86a, Author = {Setrag N. Khoshafian and George P. Copeland}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-db concepts identity oopsla86 oobib(oodb)}, Month = nov, Pages = {406--416}, Title = {Object Identity}, Volume = {21}, Year = {1986} } @book{Khos95a, Author = {Setrag Khoshafian and Marek Buckiewicz}, Keywords = {scglib}, Publisher = {John Wiley \& Sons}, Title = {Introduction to Groupware, Workflow and Workgroup Computing}, Year = {1995} } @unpublished{Kici01a, Author = {Emre K{\i}c{\i}man and Laurence Melloul and Armando Fox}, Note = {Submitted to Hot Topics in Operating Systems (HotOS VIII).}, Title = {Towards Zero-Code Composition}, Year = {2001} } @inproceedings{Kicz90a, Address = {Nice}, Author = {Gregor Kiczales and Luis Rodriguez}, Booktitle = {Proceedings of ACM conference on Lisp and Functional Programming}, Pages = {99--105}, Title = {Efficient Method Dispatch in PCL}, Year = {1990} } @book{Kicz91a, Author = {Gregor Kiczales and Jim des Rivi\`eres and Daniel G. Bobrow}, Isbn = {0-262-11158-6}, Keywords = {olit-oopl clos binder (shelf) book scglib}, Publisher = {MIT Press}, Title = {The Art of the Metaobject Protocol}, Year = {1991} } @inproceedings{Kicz92a, Author = {Gregor Kiczales and John Lamping}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {435--451}, Title = {Issues in the Design and Documentation of Class Libraries}, Volume = 27, Year = {1992} } @inproceedings{Kicz92b, Author = {Gregor Kiczales}, Booktitle = {Proc. of IMSA '92 Workshop on Reflection and Meta-Level Architecture}, Title = {Towards a New Model of Abstraction in the Engineering of Software}, Year = {1992} } @incollection{Kicz93a, 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.}, Author = {Gregor Kiczales}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {27--42}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Traces ({A} Cut at the ``Make Isn't Generic'' Problem)}, Volume = {742}, Year = {1993} } @incollection{Kicz93b, Author = {Gregor Kiczales and J.Michael Ashley and Luis Rodriguez and Amin Vahdat and Daniel G. Bobrow}, Booktitle = {Object-Oriented Programming: the {CLOS} Perspective}, Pages = {101--118}, Publisher = {MIT Press}, Title = {Metaobject protocols: Why we want them and what else they can do}, Year = {1993} } @incollection{Kicz96a, Author = {Gregor Kiczales}, Booktitle = {Special Issues in Object-Oriented Programming}, Editor = {Max Muehlhauser}, Keywords = {olit}, Publisher = {Dpunkt Verlag}, Title = {Aspect-Oriented Programming: A Position Paper From the {Xerox} {PARC} Aspect-Oriented Programming Project}, Year = {1996} } @article{Kicz96b, Author = {Gregor Kiczales}, Journal = {IEEE Software}, Keywords = {olit}, Month = jan, Title = {Beyond the Black Box: Open Implementation}, Year = {1996} } @inproceedings{Kicz97a, Address = {Jyvaskyla, Finland}, Author = {Gregor Kiczales and John Lamping and Anurag Mendhekar and Chris Maeda and Cristina Lopes and Jean-Marc Loingtier and John Irwin}, Booktitle = {Proceedings ECOOP '97}, Editor = {Mehmet Aksit and Satoshi Matsuoka}, Keywords = {olit}, Month = jun, Pages = {220--242}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Aspect-Oriented Programming}, Volume = 1241, Year = {1997}, Doi = {10.1007/BFb0053381} } @inproceedings{Kicz00a, Author = {Gregor Kiczales and Jim Hugunin and Mik Kersten and John Lamping and Cristina Lopes and William G. Griswold}, Booktitle = {{Workshop on Multi-Dimensional Separation of Concerns in Software Engineering (ICSE 2000)}}, Keywords = {olit}, Title = {{Semantics-Based Crosscutting in {AspectJ}}}, Year = {2000} } @inproceedings{Kicz01a, Author = {Gregor Kiczales and Erik Hilsdale and Jim Hugunin and Mik Kersten and Jeffrey Palm and William G. Griswold}, Booktitle = {Proceedings ECOOP 2001}, Number = {2072}, Pages = {327--353}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {An overview of {AspectJ}}, Year = {2001} } @inproceedings{Kieb96a, author = {Kieburtz, Richard B. and McKinney, Laura and Bell, Jeffrey M. and Hook, James and Kotov, Alex and Lewis, Jeffrey and Oliva, Dino P. and Sheard, Tim and Smith, Ira and Walton, Lisa}, booktitle = {ICSE'96: Proceedings of the 18th International Conference on Software engineering}, keywords = {damiencbib flexibility productivity reliability software component generation usability}, title = {A software engineering experiment in software component generation}, pages = {542--552}, year = {1996}, isbn = {0-8186-7246-3}, address = {Berlin, Germany}, month = mar, publisher = {IEEE Computer Society} } @inproceedings{Kiel95b, Address = {Gent, Belgium}, Author = {T. Kielmann and Guido Wirtz}, Booktitle = {Proc. of PARCO '95}, Keywords = {olit coordination}, Month = sep, Publisher = {Elsevier}, Title = {Coordination Requirements for Open Distributed Systems}, Year = {1995} } @inproceedings{Kiel96a, Address = {Cesena, Italy}, Author = {Thilo Kielmann}, Booktitle = {Proceedings of COORDINATION '96}, Editor = {P. Ciancarini and Chris Hankin}, Keywords = {olit coordination open systems coordination96}, Pages = {267--284}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Designing a Coordination Model for Open Systems}, Volume = {1061}, Year = {1996} } @inproceedings{Kien02a, Author = {Joerg Kienzle and Rachid Guerraoui}, Booktitle = {Proceedings ECOOP 2002}, Keywords = {olit ecoop02proc}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {{AOP}: Does it Make Sense? The Case of Concurrency and Failures}, Volume = {2374}, Year = {2002} } @article{Kien07a, Address = {Los Alamitos, CA, USA}, Author = {Holger M. Kienle and Hausi A. Muller}, Doi = {10.1109/VISSOF.2007.4290693}, Isbn = {1-4244-0599-8}, Journal = {VISSOFT 2007. 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {2--9}, Publisher = {IEEE Computer Society}, Title = {Requirements of Software Visualization Tools: A Literature Survey}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290693} } @article{Kien09a, Abstract = {At the first International Workshop on Advanced Software Development Tools and Techniques, four emerging trends in academic tool building were evident. First, tools are increasingly constructed on the basis of external code, reusing, for instance, existing frameworks and integrated development environments. Second, researchers often choose dynamic languages such as Smalltalk to implement prototype tools. Third, Web-based tools are starting to incorporate Web 2.0 technologies to improve user interaction. Finally, increasing computational resources allow tools to tackle larger, real-world code bases.}, Address = {Los Alamitos, CA, USA}, Annote = {internationaljournal}, Author = {Kienle, Holger M. and Kuhn, Adrian and Mens, Kim and van den Brand, Mark and Wuyts, Roel}, Doi = {10.1109/MS.2009.25}, Issn = {0740-7459}, Journal = {IEEE Software}, Keywords = {wasdett-pub}, Number = {1}, Pages = {22--23}, Posted-At = {2009-09-14 14:33:13}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {Tool Building on the Shoulders of Others}, Url = {http://dx.doi.org/10.1109/MS.2009.25}, Volume = {26}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.25} } @inproceedings{Kies95a, Address = {Aarhus, Denmark}, Author = {Heiko Kie{\ss}ling and Uwe Kr{\"u}ger}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {424--448}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Sharing Properties in a Uniform Object Space}, Volume = {952}, Year = {1995} } @inproceedings{Kiez07a, Address = {Washington, DC, USA}, Author = {Adam Kiezun and Michael D. Ernst and Frank Tip and Robert M. Fuhrer}, Booktitle = {ICSE '07: Proceedings of the 29th International Conference on Software Engineering}, Doi = {10.1109/ICSE.2007.70}, Isbn = {0-7695-2828-7}, Pages = {437--446}, Publisher = {IEEE Computer Society}, Title = {Refactoring for Parameterizing Java Classes}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2007.70} } @article{Kilo91a, Author = {Haim Kilov}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit binder}, Month = oct, Number = {10}, Pages = {11--12}, Title = {Object Concepts and Bibliography}, Volume = {26}, Year = {1991} } @inproceedings{Kilo92a, Address = {Narita, Japan}, Author = {Haim Kilov}, Booktitle = {Proceedings 3d Telecommunications Information Networking Architecture Workshop (TINA 92)}, Keywords = {olit binder}, Misc = {Jan. 21-23}, Month = jan, Title = {From {OSI} Systems Management to an Interoperable Object Model: Behavioural Specification of (Generic) Relationships}, Year = {1992} } @proceedings{Kilo93a, Editor = {Haim Kilov and Bill Harvey}, Keywords = {olit semantics binder (shelf)}, Month = sep, Title = {Workshop on Specification of Behavioural Semantics in Object-Oriented Information Modeling ({OOPSLA} '93)}, Year = {1993} } @inproceedings{Kilo93b, Author = {Haim Kilov}, Booktitle = {Proceedings of SESS '93 on Sofware Engineering Standards Symposium}, Keywords = {oobib(semantics) sess93 binder}, Month = aug, Pages = {220--226}, Publisher = {IEEE Computer Society}, Title = {Specifying Joint Behavior of Objects: Formalization and Standardization}, Year = {1993} } @inproceedings{Kilo93c, Author = {Haim Kilov and Peter Koppstein and Hassan Srinidhi}, Booktitle = {Proceedings of TINA '93 4th Telcommunications Information Workshop}, Keywords = {oobib(semantics) tina93 binder}, Month = sep, Note = {L'Aquila Italy}, Publisher = {IEEE Communications Society}, Title = {A Practical Approach to the Formal Specification of Semantics in the Information MOdeling}, Volume = {1}, Year = {1993} } @inproceedings{Kilo93d, Author = {Haim Kilov}, Booktitle = {Proceedings of the International Workshop on Next Generation Information Technologies and Systems}, Editor = {Opher Etzion \& Arie Segev}, Keywords = {olit binder}, Month = jun, Pages = {182--191}, Title = {Information Modeling and Object {Z}: Specifying Generic Reusable Associations}, Year = {1993} } @conference{Kilp92a, Title={Grammatical tree matching}, Author={Pekka Kilpel\"{a}inen and Heikki Mannila}, Booktitle={Combinatorial Pattern Matching}, Pages={162--174}, Year={1992}, Organization={Springer} } @inproceedings{Kim87a, Author = {Won Kim and Jay Banerjee and Hong-Tai Chou and Jorge F. Garza and Darrell Woelk}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-db oopsla87}, Month = dec, Pages = {118--125}, Title = {Composite Object Support in an Object-Oriented Database System}, Volume = {22}, Year = {1987} } @techreport{Kim87b, Author = {H-J Kim and H.F. Horth}, Institution = {University of Texas}, Keywords = {olit-oodb schema evolution (smc)}, Title = {{PSYCHO}: a Graphical Language for Supporting Schema Evolution in Object-oriented Databases}, Type = {TR-87-43}, Year = {1987} } @inproceedings{Kim88a, Author = {Won Kim and Nat Ballou and Jay Banerjee and Hong-Tai Chou and Jorge F. Garza and Darrell Woelk}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {142--152}, Title = {Integrating an Object-Oriented Programming System with a Database System}, Volume = {23}, Year = {1988} } @inproceedings{Kim88b, Address = {Los Angeles, CA}, Author = {W. Kim and H.-T. Chou}, Booktitle = {ACM SIGMOD Int. Conf. Very Large DataBases}, Editor = {F. Bancilhon and D.J. DeWitt}, Keywords = {olit-oodb versions (smc)}, Pages = {148--159}, Title = {Versions of Schema for Object-oriented Databases}, Year = {1988} } @incollection{Kim89a, Address = {New York}, Author = {Won Kim and Nat Ballou and Hong-Tai Chou and Jorge F. Garza and Darrell Woelk}, Booktitle = {Object-oriented Concepts, Databases and Applications}, Editor = {W Kim and F Lochovsky}, Keywords = {olit-oodb (smc)}, Pages = {251--282}, Publisher = {ACM Press}, Title = {Features of the Orion Object-oriented Database System}, Year = {1989} } @book{Kim89b, Address = {Reading, Mass.}, Editor = {Won Kim and Frederick H. Lochovsky}, Isbn = {0-201-14410-7}, Keywords = {olit-oodb oobib(gen) scglib}, Publisher = {ACM Press and Addison Wesley}, Title = {Object Oriented Concepts, Databases and Applications}, Year = {1989} } @article{Kim90a, Author = {Won Kim and Jay Banerjee and Hong-Tai Chou and Jorge F. Garza}, Journal = {Computer Aided Design}, Keywords = {olit-oodb (smc)}, Number = {8}, Pages = {469--479}, Title = {Object-Oriented Database Support for {CAD}}, Volume = {22}, Year = {1990} } @article{Kim90b, Author = {Won Kim and Jorge F. Garza and Nat Ballou and Darrell Woelk}, Journal = {IEEE Transactions on Knowledge and Data Engineering}, Keywords = {olit-oodb (smc)}, Number = {1}, Pages = {109--124}, Title = {Architecture of the {ORION} Next-generation Database System}, Volume = {2}, Year = {1990} } @misc{Kim90c, Address = {Cambridge, MA}, Author = {Won Kim}, Isbn = {0-262-11124-1}, Keywords = {olit-oodb (smc) book scglib}, Series = {Computer Systems}, Title = {Introduction to Object-Oriented Databases}, Year = {1990} } @inproceedings{Kim92a, Address = {Utrecht, the Netherlands}, Author = {Won Kim}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-db ecoop92proc}, Month = jun, Pages = {1--18}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Unifying Relational and Object-Oriented Database Systems}, Volume = {615}, Year = {1992} } @incollection{Kim95a, Author = {J.J. Kim and K.M. Benner}, Booktitle = {Pattern Languages of Program Design 2}, Publisher = {Addison Wesley}, Title = {Implementation Patterns for the Observer Pattern}, Year = {1995} } @book{Kim95c, Author = {Won Kim}, Isbn = {0-201-59098-0}, Keywords = {olit-oodb book scglib}, Publisher = {Addison Wesley}, Title = {Modern Database Systems}, Year = {1995} } @proceedings{Kim95d, Address = {Cheju Island, Korea}, Booktitle = {Proceedings of the 5th Workshop on Future Trends of Distributed Computing Systems}, Editor = {K.H.Him and Radu Popescu-Zeletin}, Isbn = {0-8186-7125-4}, Keywords = {distributed scglib}, Misc = {August 28-30}, Month = aug, Publisher = {IEEE}, Title = {Future Trends in Distributed Computing Systems}, Year = {1997} } @techreport{Kim02a, Author = {Howard Kim}, Institution = {Department of Computer Science, Trinity College, Dublin}, Keywords = {aspect c#}, Title = {AspectC\#: An AOSD implementation for C\#}, Year = {2002} } @inproceedings{Kim05a, Address = {New York NY}, Author = {Miryung Kim and Vibha Sazawal and David Notkin and Gail C. Murphy}, Booktitle = {Proceedings of European Software Engineering Conference (ESEC/FSE 2005)}, Doi = {10.1145/1081706.1081737}, Isbn = {1-59593-014-0}, Keywords = {evolution clone}, Pages = {187--196}, Publisher = {ACM Press}, Title = {An Empirical Study of Code Clone Genealogies}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1081706.1081737} } @inproceedings{Kim06a, 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.}, Annote = {internationalworkshop}, 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}, Booktitle = {Proceedings Workshop on Mining Software Repositories (MSR 2006)}, Keywords = {evolution girba scg-pub skip-doi jb06 fb06 recast06}, Medium = {2}, Pages = {22--25}, Peerreview = {yes}, Title = {{TA-RE}: An Exchange Language for Mining Software Repositories}, Url = {http://scg.unibe.ch/archive/papers/Kim06aTARE.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kim06aTARE.pdf} } @inproceedings{Kim07a, Address = {Washington, DC, USA}, Author = {Sunghun Kim and Thomas Zimmermann and E. James Whitehead Jr. and Andreas Zeller}, Booktitle = {ICSE '07: Proceedings of the 29th international conference on Software Engineering}, Doi = {10.1109/ICSE.2007.66}, Isbn = {0-7695-2828-7}, Pages = {489--498}, Publisher = {IEEE Computer Society}, Title = {Predicting Faults from Cached History}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE.2007.66} } @incollection{Kimb07a, Author = {Kimball, Aaron and Grossman, Dan}, Booktitle = {The 8th Annual Workshop on Scheme and Functional Programming}, Month = sep, Publisher = {ACM SIGPLAN}, Title = {Software Transactions Meet First-Class Continuations}, Url = {http://www.cs.washington.edu/homes/djg/papers/transactions_continuations.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.cs.washington.edu/homes/djg/papers/transactions_continuations.pdf} } @article{King97a, Author = {Nelson King}, Journal = {Internet Systems}, Keywords = {olit repository abb}, Month = apr, Title = {Overcoming the Object Onslaught}, Url = {http://www.dbmsmag.com/9704i07.html}, Year = {1997}, Bdsk-Url-1 = {http://www.dbmsmag.com/9704i07.html} } @inproceedings{Kirk87a, Author = {Kirkpatrick S. and Gelatt C. D. Jr. and Vecchi M. P.}, Booktitle = {Readings in computer vision: issues, problems, principles, and paradigms}, Isbn = {0-934613-33-8}, Keywords = {simulated annealing}, Pages = {606--615}, Title = {Optimization by simulated annealing}, Year = {1987} } @techreport{Kisc97b, Author = {Gregor Kiczales and John Irwin and John Lamping and Jean-Marc Loingtier and Cristina Videira Lopes and Chris Maeda and Anurag Mendhekar}, Institution = {Xerox Palo Alto Research Center}, Title = {Aspect-oriented programming}, Year = {1997} } @article{Kist99a, Address = {Norwell, MA, USA}, Author = {Thomas Kistler and Michael Franz}, Doi = {10.1023/A:1018740018601}, Issn = {0885-7458}, Journal = {Int. J. Parallel Program.}, Number = {1}, Pages = {21--33}, Publisher = {Kluwer Academic Publishers}, Title = {A Tree-Based Alternative to Java Byte-Codes}, Volume = {27}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1018740018601} } @inproceedings{Kitc88a, Author = {Barbara A. Kitchenham}, Booktitle = {Proceedings of the 12th International Computer Software and Application Conference (COMPSAC 1988)}, Pages = {369-376}, Publisher = {IEEE Computer Society Press}, Title = {An evaluation of software structure metrics}, Year = {1988} } @article{Kitc00a, Address = {Piscataway, NJ, USA}, 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}, Doi = {10.1109/TSE.2002.1027796}, Journal = {IEEE Trans. Softw. Eng.}, Number = {8}, Pages = {721--734}, Publisher = {IEEE Press}, Title = {Preliminary guidelines for empirical research in software engineering}, Volume = {22}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2002.1027796} } @book{Klae87a, 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.}, Address = {Basel}, Author = {M. Kl{\"a}y and R. Maibach and I. Metz and H. Riedwyl}, Publisher = {Birkh{\"a}user,}, Title = {{ALSTAT} {PC}. Algorithmen der Statistik f{\"u}r {IBM} {PC} und Kompatible}, Year = {1987} } @inproceedings{Klae00a, Author = {H. Klaeren and E. Pulverm\"{u}ller and A. Raschid and A. Speck}, Booktitle = {Proceedings of the 2nd International Symposium on Generative and Component-Based Software Engineering (GCSE 2000)}, Pages = {57--69}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Aspect Composition Applying the Design by Contract Principle}, Volume = {2177}, Year = {2000} } @article{Klas90a, Author = {Wolfgang Klas and Ehrich J. Neuhold and Michael Schrefl}, Journal = {Computer Communications}, Month = may, Note = {Most important reference to Klas \& Neuhold}, Number = {4}, Pages = {204--216}, Title = {Using an Object-Oriented Approach to Model Multimedia Data}, Volume = {13}, Year = {1990} } @article{Klas90b, Author = {Wolfgang Klas and Ehrich J. Neuhold and Michael Schrefl}, Journal = {Arbeitpapiere der GMD}, Number = {462}, Title = {Metaclasses in {VODAK} and their Application in Database Integration}, Volume = {?}, Year = {1990} } @misc{Klas95a, Author = {Wolfgang Klas and Michael Schrefl}, Keywords = {olit-oopl scglib}, Series = {LNCS}, Title = {Metaclasses and Their Application}, Volume = {943}, Year = {1995} } @article{Klei72a, author = {Kleinrock, L. and Muntz, R. R.}, title = {Processor Sharing Queueing Models of Mixed Scheduling Disciplines for Time Shared System}, journal = {J. ACM}, volume = {19}, number = {3}, month = jul, year = {1972}, issn = {0004-5411}, pages = {464--482}, numpages = {19}, url = {http://doi.acm.org/10.1145/321707.321717}, doi = {10.1145/321707.321717}, acmid = {321717}, publisher = {ACM}, address = {New York, NY, USA} } @article{Klei81a, Author = {B. K. Kleiner and J. A. Hartigan}, Institution = {American Statistical Association}, Journal = {Journal of the American Statistical Association}, Month = {jun}, Pages = {260-272}, Title = {Representing Points in Many Dimensions by Trees and Castles}, Year = {1981} } @inproceedings{Klei96a, Address = {Washington, DC, USA}, Author = {J\"urgen Kleinoder and Michael Golm}, Booktitle = {IWOOOS '96: Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)}, Isbn = {0-8186-7692-2}, Pages = {54}, Publisher = {IEEE Computer Society}, Title = {{MetaJava}: an efficient run-time meta architecture for {Java} ({TM})}, Year = {1996} } @book{Klei99a, Author = {Gary Klein}, Isbn = {0-262-61146-5}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Sources of Power --- How People Make Decisions}, Year = {1999} } @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}, Booktitle = {WICSA}, Pages = {225--244}, Title = {Attribute-Based Architecture Styles}, Year = {1999} } @inproceedings{Klei03a, author = {Dan Klein and Christopher D. Manning}, title = {Fast Exact Inference with a Factored Model for Natural Language Parsing}, booktitle = {In Advances in Neural Information Processing Systems 15 (NIPS}, year = {2003}, pages = {3--10}, publisher = {MIT Press} } @inproceedings{Kley88a, Author = {Michael F. Kleyn and Paul C. Gingrich}, Booktitle = {Proceedings of International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'88)}, Keywords = {olit-obc oopsla88}, Location = {San Diego, California}, Month = nov, Pages = {191--205}, Publisher = {ACM Press}, Title = {{GraphTrace} --- Understanding Object-Oriented Systems using Concurrently Animated Views}, Volume = {23}, Year = {1988} } @book{Klim96a, Author = {Edward J. Klimas and Suzanne Skublics and David A. Thomas}, Isbn = {0-13-165549-3}, Keywords = {smalltalk scglib book}, Publisher = {Prentice-Hall}, Title = {Smalltalk with Style}, Year = {1996} } @article{Klim98a, Author = {Edward J. Klimas}, Journal = {Visual Age Magazine}, Month = may, Title = {Getting The Biggest Bang For Your Buck}, Year = {1998} } @inproceedings{Klin89a, Author = {Jan Heering and Paul Klint and Jan Rekers}, Title = {Incremental generation of parsers}, Booktitle = {PLDI 1989}, Year = {1989}, Isbn = {0-89791-306-X}, Pages = {179--191}, Doi = {10.1145/73141.74834}, Keywords = {parsing}, Publisher = {ACM} } @article{Klin93a, Author = {Paul Klint}, Journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)}, Number = {2}, Pages = {176--201}, Publisher = {ACM New York, NY, USA}, Title = {A meta-environment for generating programming environments}, Volume = {2}, Year = {1993} } @article{Klin05a, Address = {New York, NY, USA}, Author = {Paul Klint and Ralf Lammel and Chris Verhoef}, Doi = {10.1145/1072997.1073000}, Issn = {1049-331X}, Journal = {ACM Transactions on Software Engineering Methodology}, Number = {3}, Pages = {331--380}, Publisher = {ACM Press}, Title = {Toward an engineering discipline for grammarware}, Volume = {14}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1072997.1073000} } @inproceedings{Klos09a, Author = {Karl Klose and Klaus Ostermann}, Booktitle = {Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2009}, Doi = {10.1007/978-3-642-02571-6_17}, Pages = {289--307}, Publisher = {Springer-Verlag}, Series = {LNBIP}, Title = {A Classification Framework for Pointcut Languages in Runtime Monitoring}, Url = {http://www.daimi.au.dk/~ko/papers/tools09.pdf}, Volume = {33}, Year = {2009}, Bdsk-Url-1 = {http://www.daimi.au.dk/~ko/papers/tools09.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-02571-6_17} } @inproceedings{Klus03a, Author = {Steven Klusener and Ralf L{\"a}mmel}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 2003)}, Doi = {10.1109/ICSM.2003.1235420}, Keywords = {parsing}, Month = sep, Pages = {179--188}, Publisher = {IEEE Computer Society}, Title = {Deriving tolerant grammars from a base-line grammar}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2003.1235420} } @inproceedings{Knab10a, author = {Knab, Patrick and Pinzger, Martin and Gall, Harald C.}, title = {Visual patterns in issue tracking data}, booktitle = {Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process}, series = {ICSP'10}, year = {2010}, isbn = {3-642-14346-6, 978-3-642-14346-5}, location = {Paderborn, Germany}, pages = {222--233}, numpages = {12}, url = {http://portal.acm.org/citation.cfm?id=1884224.1884249}, acmid = {1884249}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @inproceedings{Knaus08a, author = {Knaus, Claude Y.}, title = {Essential programming paradigm}, booktitle = {OOPSLA'08: Companion to the 23rd Conference on Object-Oriented Programming Systems Languages And Applications}, series = {OOPSLA Companion'08}, year = {2008}, isbn = {978-1-60558-220-7}, address = {Nashville, TN, USA}, pages = {823--826}, numpages = {4}, doi = {10.1145/1449814.1449873}, acmid = {1449873}, publisher = {ACM}, keywords = {design patterns domain specific languages DSL paradigm damiencbib} } @techreport{Kneu01a, Author = {Stefan Kneub\"uhl}, Institution = {University of Bern}, Keywords = {piccola scg-ip skip-abstract jb-none}, Month = feb, Title = {Implementing Coordination Styles in {Piccola}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Kneu01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kneu01a.pdf} } @mastersthesis{Kneu03a, 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.}, Author = {Stefan Kneub\"uhl}, Keywords = {snf03 piccola scg-pub skip-doi jb03 scg-msc}, Month = apr, School = {University of Bern}, Title = {Typeful Compositional Styles}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Kneu03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kneu03a.pdf} } @inproceedings{Knie99a, 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.}, Address = {Lisbon, Portugal}, Author = {G\"unter Kniesel}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {351--366}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Type-Safe Delegation for Run-Time Component Adaptation}, Volume = 1628, Year = {1999} } @phdthesis{Knie00a, Author = {G{\"u}nter Kniesel}, School = {CS Dept. III, University of Bonn, Germany}, Title = {Darwin --- Dynamic Object-Based Inheritance with Subtyping}, Type = {{PhD} thesis}, Year = {2000} } @article{Knie01a, Author = {G{\"u}nter Kniesel and Dirk Theisen}, Journal = {Software --- Practice and Experience}, Month = may, Number = {6}, Pages = {555--576}, Title = {{JAC} --- Access right based encapsulation for {Java}}, Volume = {31}, Year = {2001} } @incollection{Knie02a, Author = {G. Kniesel and J. Noppen and T. Mens and J. Buckley}, Booktitle = {Proceedings of ECOOP 2002 Workshop Reader}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {The First Workshop on Unanticipated Software Evolution (USE 2002)}, Volume = {2548}, Year = {2002} } @incollection{Knie04a, Author = {G{\"u}nter Kniesel and Tobias Rho and Stefan Hanenberg}, Booktitle = {Proc. of ECOOP'2004 Workshop on Reflection, AOP and Meta-Data for Software Evolution}, Month = jun, Publisher = {Springer Verlag}, Title = {Evolvable Pattern Implementations Need Generic Aspects, Proc. of ECOOP 2004 Workshop on Reflection, AOP and Meta-Data for Software Evolution}, Url = {http://roots.iai.uni-bonn.de/research/logicaj/downloads/papers/KnieselRhoHanenberg-RAM-SE04.pdf}, Year = {2004}, Bdsk-Url-1 = {http://roots.iai.uni-bonn.de/research/logicaj/downloads/papers/KnieselRhoHanenberg-RAM-SE04.pdf} } @incollection{Knie05a, Author = {G{\"u}nter Kniesel and Tobias Rho}, Booktitle = {Proceedings of JFDLPA 2005}, Month = sep, Publisher = {Hermes Paris}, Title = {Generic Aspect Languages --- Needs, Options and Challenges, JFDLPA 2005}, Year = {2005} } @article{Knig86a, author = {Knight, John C. and Leveson, Nancy G.}, title = {An experimental evaluation of the assumption of independence in multiversion programming}, journal = {IEEE Transactions Software Engineering}, volume = {12}, issue = {1}, month = jan, year = {1986}, issn = {0098-5589}, pages = {96--109}, numpages = {14}, url = {http://portal.acm.org/citation.cfm?id=10677.10688}, acmid = {10688}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA} } @article{Knig02a, author = {Knight, Alan and Dai, Naci}, journal = {IEEE Software}, title = {Objects and the Web}, year = {2002}, month = mar, volume = {19}, number = {2}, pages = {51 -59}, keywords = {model-view-controller mvc web damiencbib}, doi = {10.1109/52.991332}, ISSN = {0740-7459} } @manual{Knig07, Author = {Steven Knight}, Title = {SCons User Guide 0.97}, Url = http://www.scons.org/doc/0.97/HTML/scons-user/book1.html, Year = {2007}, Bdsk-Url-1 = {http://www.scons.org/doc/0.97/HTML/scons-user/book1.html} } @inproceedings{Kno03a, Author = {Jens Knodel and Martin Pinzger}, Booktitle = {Proceedings of WCRE '03}, Month = nov, Pages = {186--195}, Publisher = {IEEE Computer Society}, Title = {Improving Fact Extraction of Framework-based Software Systems}, Year = {2003} } @inproceedings{Knod05a, Address = {Washington, DC, USA}, Author = {Jens Knodel and Isabel John and Dharmalingam Ganesan and Martin Pinzger and Fernando Usero and Jose L. Arciniegas and Claudio Riva}, Booktitle = {Proceedings of Working Conference on Reverse Engineering (WCRE 05)}, Doi = {10.1109/WCRE.2005.8}, Isbn = {0-7695-2474-5}, Pages = {120--129}, Publisher = {IEEE Computer Society}, Title = {Asset Recovery and Their Incorporation into Product Lines}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2005.8} } @inproceedings{Knod06a, Address = {Los Alamitos, CA, USA}, Author = {Jens Knodel and Dirk Muthig and Matthias Naab and Mikael Lindvall}, Booktitle = {CSMR'06}, Doi = {10.1109/CSMR.2006.53}, Issn = {1052-8725}, Pages = {279--294}, Publisher = {IEEE Computer Society}, Title = {Static Evaluation of Software Architectures}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.53} } @inproceedings{Knud88a, Address = {Oslo}, Author = {J\orgen Lindskov Knudsen and Ole Lehrmann Madsen}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {21--40}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Teaching Object-Oriented Programming Is More than Teaching Object-Oriented Programming Languages}, Volume = {322}, Year = {1988} } @inproceedings{Knud88b, Address = {Oslo}, Author = {J\orgen Lindskov Knudsen}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {93--109}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Name Collision in Multiple Classification Hierarchies}, Volume = {322}, Year = {1988} } @book{Knut73a, Address = {Reading, Mass.}, Author = {D.E. Knuth}, Isbn = {0-201-03803-X}, Keywords = {misc searching book scglib}, Publisher = {Addison Wesley}, Series = {The Art of Computer Programming}, Title = {Sorting and Searching}, Volume = {3}, Year = {1973} } @book{Knut73b, Address = {Reading, Mass.}, Author = {D.E. Knuth}, Isbn = {0-201-03809-9}, Keywords = {misc book scglib}, Publisher = {Addison Wesley}, Series = {The Art of Computer Programming}, Title = {Fundamental Algorithms}, Volume = {1}, Year = {1973} } @book{Knut73c, Address = {Reading, Mass.}, Author = {D.E. Knuth}, Isbn = {0-201-03822-6}, Keywords = {misc book scglib}, Publisher = {Addison Wesley}, Series = {The Art of Computer Programming}, Title = {Seminumerical Algoritms}, Volume = {2}, Year = {1973} } @article{Knut77a, Author = {Donald E. Knuth and James H. Morris and Vaughan R. Pratt}, Journal = {SIAM Journal of Computing}, Month = jun, Number = {2}, Pages = {323--350}, Title = {Fast Pattern Matching in Strings}, Volume = {6}, Year = {1977} } @book{Knut86a, Author = {D.E. Knuth}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The TexBook}, Year = {1986} } @book{Knut92a, Author = {Donald E. Knuth}, Isbn = {0-937073-80-6}, Keywords = {oorp}, Publisher = {Stanford, California: Center for the Study of Language and Information}, Title = {Literate Programming}, Year = {1992} } @inproceedings{Ko04a, Author = {Andrew J. Ko and Brad A. Myers}, Booktitle = {Proceedings of the 2004 conference on Human factors in computing systems}, Doi = {10.1145/985692.985712}, Pages = {151--158}, Publisher = {ACM Press}, Title = {Designing the whyline: a debugging interface for asking questions about program behavior}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/985692.985712} } @article{Ko06a, author = {Ko, A.J. and Myers, B.A. and Coblenz, M.J. and Aung, H.H.}, journal = {Software Engineering, IEEE Transactions on}, title={An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks}, year = {2006}, month = dec, volume = {32}, number = {12}, pages = {971 -987}, abstract ={Much of software developers' time is spent understanding unfamiliar code. To better understand how developers gain this understanding and how software development environments might be involved, a study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes. The study found that developers interleaved three activities. They began by searching for relevant code both manually and using search tools; however, they based their searches on limited and misrepresentative cues in the code, environment, and executing program, often leading to failed searches. When developers found relevant code, they followed its incoming and outgoing dependencies, often returning to it and navigating its other dependencies; while doing so, however, Eclipse's navigational tools caused significant overhead. Developers collected code and other information that they believed would be necessary to edit, duplicate, or otherwise refer to later by encoding it in the interactive state of Eclipse's package explorer, file tabs, and scroll bars. However, developers lost track of relevant code as these interfaces were used for other tasks, and developers were forced to find it again. These issues caused developers to spend, on average, 35 percent of their time performing the mechanics of navigation within and between source files. These observations suggest a new model of program understanding grounded in theories of information foraging and suggest ideas for tools that help developers seek, relate, and collect information in a more effective and explicit manner}, doi = {10.1109/TSE.2006.116}, ISSN = {0098-5589} } @inproceedings{KoAu05a, Author = {Andrew J. Ko and Htet Aung and Brad A. Myers}, Booktitle = {ICSE '05: Proceedings of the 27th international conference on Software engineering}, Doi = {10.1145/1062455.1062492}, Isbn = {1-59593-963-2}, Location = {St. Louis, MO, USA}, Pages = {125--135}, Title = {Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1062455.1062492} } @techreport{Koba92a, Author = {Naoki Kobayashi and Akinori Yonezawa}, Institution = {Dept. of Computer Science, University of Tokyo}, Keywords = {olit-obc linear-logic binder}, Month = jul, Number = {92-5}, Title = {Asynchronous Communication Model Based on Linear Logic}, Type = {TR}, Year = {1992} } @inproceedings{Koba96a, Author = {Naoki Kobayashi and Benjamin C. Pierce and David N. Turner}, Booktitle = {Conference Record of {POPL}~'96}, Keywords = {pict pi typing popl96}, Month = jan, Pages = {358--371}, Publisher = {ACM Press}, Title = {Linearity and the Pi-Calculus}, Url = {http://www.dcs.gla.ac.uk/~dnt/KobayashiPierceTurner96.ps.gz}, Year = {1996}, Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~dnt/KobayashiPierceTurner96.ps.gz} } @techreport{Kobe04a, 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 Bern. 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.}, Author = {Markus Kobel}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb04}, Month = jan, Title = {{VisClim} --- Visualisation of Climatological Data}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Kobe04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kobe04a.pdf} } @mastersthesis{Kobe05a, 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.}, Author = {Markus Kobel}, Keywords = {scg-msc recast05 jb05 moose-pub}, Month = apr, School = {University of Bern}, Title = {Parsing by Example}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Kobe05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kobe05a.pdf} } @book{Kobi97a, Author = {James G. Kobielus}, Isbn = {0-7645-3012-7}, Keywords = {scglib}, Publisher = {IDG Books}, Title = {Workflow Strategies}, Year = {1997} } @proceedings{Kobr98a, Editor = {Cris Kobryn}, Isbn = {0-7803-5158-4}, Keywords = {olit scglib edoc98 new-entr new-entry}, Publisher = {IEEE}, Title = {EDOC '98 Proceedings}, Year = {1998} } @inproceedings{Koch94a, Author = {S. Kochhar}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {232--247}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Providing a High-Level {C} Interface for an Object-Oriented, {C}++ System}, Volume = {858}, Year = {1994} } @article{Koen95a, Author = {Andrew Koenig}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit patterns antipatterns}, Misc = {March-April}, Month = mar, Title = {Patterns and antipatterns}, Year = {1995} } @book{Koen07a, Author = {Dierk K\"onig}, Isbn = {1-932394-85-2}, Keywords = {scglib}, Publisher = {Manning}, Title = {Groovy in action}, Year = {2007} } @article{Kohl81a, Author = {Walter H. Kohler}, Journal = {ACM Computing Surveys}, Keywords = {olit reliability recovery}, Month = jun, Number = {2}, Pages = {149--183}, Title = {A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems}, Volume = {13}, Year = {1981} } @article{Kohl86a, Author = {Eugene E. Kohlbecker and Daniel P. Friedman and Matthias Felleisen and Bruce Duba}, Journal = {Symposium on LISP and Functional Programming}, Pages = {151--161}, Title = {Hygienic macro expansion}, Year = {1986}, Month = aug } @inproceedings{Kohl87a, Author = {E. E. Kohlbecker and M. Wand}, Booktitle = {Conference record of the 14th ACM Symposium on Principles of Programming Languages (POPL)}, Pages = {77--84}, Title = {Macro-by-Example: Deriving Syntactic Transformations fron their Specification}, Year = {1987} } @inproceedings{Kohl98a, Author = {Gerd Kohler and Heinrich Rust and Frank Simon}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Pages = {250--251}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Assessment of Large Object-Oriented Software Systems: {A} Metrics Based Process}, Volume = {1543}, Year = {1998} } @inproceedings{Koll01a, Author = {Ralf Kollman and Martin Gogolla}, Booktitle = {Proceedings 5th European Conference on SOftware Maintenance and Reengineering (CSMR 2001)}, Publisher = {IEEE Computer Society}, Title = {Capturing Dynamic Program Behaviour with UML Collaboration Diagrams}, Year = {2001} } @inproceedings{Kols98a, Author = {U. K{\"o}lsch}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {104--115}, Publisher = {IEEE Computer Society}, Title = {Object-Oriented Re-Engineering of Information Systems in a Hetegeneous Distributed Environment}, Year = {1998} } @inproceedings{Komo01a, Author = {Raghavan Komondoor and Susan Horwitz}, Booktitle = {Proc. European Symposium on Programming (ESOP)}, Keywords = {clones}, Pages = {383--386}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Tool Demonstration: Finding Duplicated Code Using Program Dependences}, Url = {http://www.cs.wisc.edu/~raghavan/esop01-demo.pdf}, Volume = {2028}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.wisc.edu/~raghavan/esop01-demo.pdf} } @inproceedings{Komo01b, Address = {Paris, France}, Author = {Raghavan Komondoor and Susan Horwitz}, Booktitle = {Proceedings of the 8th International Symposium on Static Analysis (SAS)}, Keywords = {clones}, Month = jul, Publisher = {Springer-Verlag}, Title = {Using slicing to identify duplication in source code}, Url = {http://www.cs.wisc.edu/~raghavan/sas01.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.wisc.edu/~raghavan/sas01.pdf} } @techreport{Komo02a, Author = {Raghavan Komondoor and Susan Horwitz}, Institution = {UW-Madison Dept. of Computer Sciences}, Keywords = {clones}, Month = dec, Number = {1461}, Title = {Eliminating Duplication in Source Code via Procedure Extraction}, Url = {http://www.cs.wisc.edu/~raghavan/pldi03-paper.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.wisc.edu/~raghavan/pldi03-paper.pdf} } @inproceedings{Kono96a, Address = {Linz, Austria}, Author = {Kenji Kono and Kazuhiko Kato and Takashi Masuda}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {295--315}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Implementation Method of Migratable Distributed Objects Using an {RPC} Technique Integrated with Virtual Memory Management}, Volume = {1098}, Year = {1996} } @techreport{Kons88a, 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.}, Author = {Dimitri Konstantas and Oscar Nierstrasz and Michael Papathomas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obcl skip-doi hybrid osg-ftp aoe88}, Month = jun, Pages = {61--105}, Title = {An Implementation of Hybrid, a Concurrent Object-Oriented Language}, Type = {Active Object Environments}, Url = {http://scg.unibe.ch/archive/osg/Kons88aHybridImplementation.pdf http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridImplementation.pdf}, Year = {1988}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Kons88aHybridImplementation.pdf%20http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridImplementation.pdf} } @techreport{Kons90a, 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.}, Author = {Dimitri Konstantas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit hybrid osg om90}, Month = jul, Pages = {245--254}, Title = {A Dynamically Scalable Distributed Object-Oriented System}, Type = {Object Management}, Year = {1990} } @techreport{Kons91a, 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.}, Author = {Dimitri Konstantas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc cell osg oc91}, Month = jun, Pages = {225--237}, Title = {Cell: {A} Model for Strongly Distributed Object Based Systems}, Type = {Object Composition}, Year = {1991} } @inproceedings{Kons91b, Author = {Joseph A. Konstan and Lawrence A. Rowe}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {75--88}, Title = {Developing a {GUIDE} Using Object-Oriented Programming}, Volume = {26}, Year = {1991} } @inproceedings{Kons91c, 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.}, Address = {Palo-Alto}, Author = {Dimitri Konstantas}, Booktitle = {Proceedings of 2nd IEEE International Workshop for Object-Orientation in Operating Systems (I-WOOOS '91)}, Keywords = {olit osg}, Misc = {Oct. 17-18}, Month = oct, Pages = {156--163}, Title = {Design Issues of a Strongly Distributed Object Based System}, Year = {1991} } @techreport{Kons92a, 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.}, Author = {Dimitri Konstantas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit hybrid osg of92}, Month = jul, Pages = {109--118}, Title = {Hybrid Update}, Type = {Object Frameworks}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridUpdate.pdf}, Year = {1992}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridUpdate.pdf} } @techreport{Kons92b, 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}, Author = {Dimitri Konstantas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit hybrid osg of92}, Month = jul, Pages = {119--136}, Title = {The Implementation of the Hybrid Cell}, Type = {Object Frameworks}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/cellImplemntation.pdf}, Year = {1992}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/cellImplemntation.pdf} } @inproceedings{Kons93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Dimitri Konstantas}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc osg-ftp vo93}, Month = jul, Pages = {80--102}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Interoperability}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/objectOrientedInterop.pdf}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/objectOrientedInterop.pdf} } @inproceedings{Kons93b, 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.}, Address = {Kawasaki, Japan}, Author = {Dimitri Konstantas}, Booktitle = {Proceedings of the International Symposium on Autonomous Decentralized Systems --- ISADS 93}, Keywords = {olit hybrid osg-ftp}, Misc = {March 30}, Month = mar, Pages = {52--61}, Title = {Hybrid Cell: An Implementation of an Object Based Strongly Distributed System}, Year = {1993} } @phdthesis{Kons93c, 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.}, Author = {Dimitri Konstantas}, Keywords = {olit hybrid osg-phd}, Number = {no. 2598)}, School = {Dept. of Computer Science, University of Geneva}, Title = {Cell: {A} Framework for a Strongly Distributed Object Based System}, Type = {{Ph.D}. Thesis}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/ThesisKonstantas.pdf}, Year = {1993}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/ThesisKonstantas.pdf} } @incollection{Kons95a, 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.}, Author = {Dimitri Konstantas}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC03}, Pages = {69--95}, Publisher = {Prentice-Hall}, Title = {Interoperation of Object-Oriented Applications}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @inproceedings{Kont95a, Author = {Kostas Kontogiannis and M. Galler and R. DeMori}, Booktitle = {Working Notes of the Third Workshop on AI and Software Engineering: Breaking the Toy Mold (AISE)}, Keywords = {clones}, Month = aug, Pages = {68--73}, Title = {Detecting Code Similarity using Patterns}, Url = {citeseer.ist.psu.edu/kontogiannis95detecting.html}, Year = {1995}, Bdsk-Url-1 = {citeseer.ist.psu.edu/kontogiannis95detecting.html} } @article{Kont96a, Author = {K. Kontogiannis and R. DeMori and E. Merlo and M. Galler and M. Bernstein}, Doi = {10.1007/BF00126960}, Journal = {Journal of Automated Software Engineering}, Pages = {77--108}, Title = {Pattern Matching for Clone and Concept Detection}, Volume = {3}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF00126960} } @inproceedings{Kont97a, Author = {Kostas Kontogiannis}, Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Pages = {44--54}, Publisher = {IEEE Computer Society}, Title = {Evaluation Experiments on the Detection of Programming Patterns Using Software Metrics}, Year = {1997} } @inproceedings{Konz04a, Author = {Ned Konz}, Booktitle = {IEEE C5: The Second International Conference on Creating, Connecting and Collaborating through Computing}, Keywords = {connectors squeak etoys visprog}, Pages = {96--103}, Title = {Connectors: A framework for building graphical applications in Squeak}, Volume = {2}, Year = {2004} } @book{Koom04a, Author = {Jonathan G. Koomey}, Keywords = {scglib}, Publisher = {Analytics Press}, Title = {Turning Numbers into Knowledge}, Year = {2004} } @book{Kopk99a, Author = {Helmut Kopka and Patrick W. Daly}, Isbn = {0-201-39825-7}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {A Guide To Latex}, Year = {1999} } @article{Kopp96a, Author = {Rainer Koppler}, Journal = {Software: Practice and Experience}, Number = {6}, Pages = {637--649}, Title = {A Systematic Approach to Fuzzy Parsing}, Volume = {27}, Year = {1996} } @article{Kore88a, Author = {B. Korel and J. Laski}, Journal = {Information Processing Letters}, Number = {3}, Pages = {155--163}, Title = {Dynamic program slicing}, Volume = {29}, Year = {1988} } @inproceedings{Kore97a, Author = {Bogdan Korel and J\"urgen Rilling}, Booktitle = {5th International Workshop on Program Comprehension (WPC '97)}, Pages = {80--85}, Title = {Dynamic Program Slicing in Understanding of Program Execution}, Year = {1997} } @article{Kore98a, Author = {Bogdan Korel and Juergen Rilling}, Doi = {10.1016/S0950-5849(98)00089-5}, Journal = {Information {\&} Software Technology}, Number = {11-12}, Pages = {647--659}, Title = {Dynamic program slicing methods}, Volume = {40}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0950-5849(98)00089-5} } @book{Kori02a, Author = {Gene Korienek and Tom Wrensch and Doug Dechow}, Keywords = {scglib smalltalk squeak}, Publisher = {Addison Wesley}, Title = {Squeak --- A Quick Trip to Objectland}, Year = {2002} } @book{Kort94a, Author = {Henry F. Korth and Abraham Silberschatz}, Isbn = {0-07-100804-7}, Keywords = {dblit binder(shelf) scglib}, Publisher = {McGraw Hill}, Title = {Database System Concepts}, Year = {1994} } @incollection{Kort08a, author = {Kortenkamp, David and Simmons, Reid}, title = {Robotic systems architectures and programming}, chapter = {8}, booktitle = {Springer Handbook of Robotics}, pages = {187--206}, address = {Berlin, Heidelberg}, publisher = {Springer}, doi = {10.1007/978-3-540-30301-5}, year = {2008}, keywords = {robotics springer damiencbib}, isbn = {978-3-540-23957-4} } } @misc{Kosa09a, Author = {Kosara, Robert}, Howpublished = {http://twitter.com/eagereyes/status/3434857667, archived at http://www.webcitation.org/5ogz37rBJ}, Month = aug, Title = {``If your project is still on sourceforge, move it to {Google Code}, github, or bitbucket. {Sourceforge} is becoming the {MySpace} of open source.''}, Url = {http://twitter.com/eagereyes/status/3434857667}, Year = {2009}, Bdsk-Url-1 = {http://twitter.com/eagereyes/status/3434857667} } @inproceedings{Kosc98a, Author = {Rainer Koschke and J.-F. Girard and M. W{\"u}rthner}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {241--251}, Publisher = {IEEE Computer Society}, Title = {An Intermediate Representation for Reverse Engineering Analyses}, Year = {1998} } @inproceedings{Kosc99a, Author = {R. Koschke}, Booktitle = {Working Conference on Reverse Engineering}, Keywords = {fca}, Pages = {256-}, Title = {An Incremental Semi-Automatic Method for Component Recovery}, Url = {http://citeseer.nj.nec.com/koschke99incremental.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/koschke99incremental.html} } @phdthesis{Kosc00a, Author = {Rainer Koschke}, Keywords = {fca clustering}, School = {Universit\"at Stuttgart}, Title = {Atomic Architectural Component Recovery for Program Understanding and Evolution}, Url = {http://www.informatik.uni-stuttgart.de/ifi/ps/bauhaus/papers/koschke.thesis.2000.html}, Year = {2000}, Bdsk-Url-1 = {http://www.informatik.uni-stuttgart.de/ifi/ps/bauhaus/papers/koschke.thesis.2000.html} } @inproceedings{Kosc00b, Author = {Rainer Koschke and Thomas Eisenbarth}, Booktitle = {Proceedings of the International Workshop on Program Comprehension, IWPC'2000}, Month = jun, Organization = {IEEE}, Title = {A Framework for Experimental Evaluation of Clustering Techniques}, Year = {2000} } @inproceedings{Kosc02a, Author = {Rainer Koschke}, Booktitle = {Proceedings of the International Conference on Software Maintenance}, Doi = {10.1109/ICSM.2002.1167807}, Keywords = {design-recovery}, Month = oct, Title = {Atomic Architectural Component Recovery for Program Understanding and Evolution}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2002.1167807} } @article{Kosc03a, Author = {Rainer Koschke}, Doi = {10.1002/smr.270}, Issn = {1040-550X}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice}, Number = {2}, Pages = {87--109}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey}, Volume = {15}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.270} } @inproceedings{Kosc03b, Author = {Rainer Koschke and Daniel Simon}, Booktitle = {Proceedings of the 10th Working Conference on Reverse Engineering (WCRE 2003)}, Isbn = {0-7695-2027-8}, Pages = {36}, Publisher = {IEEE Computer Society}, Title = {Hierarchical Reflexion Models}, Year = {2003} } @article{Kosc05a, Author = {Rainer Koschke and Jochen Quante}, Journal = {International Conference on Automated Software Engineering, 2005}, Pages = {86--95}, Publisher = {ACM Press}, Title = {On Dynamic Feature Location}, Year = {2005} } @incollection{Kosc08a, Address = {Berlin, Heidelberg}, Author = {Koschke, Rainer}, Booktitle = {Software Evolution}, Chapter = {2}, Citeulike-Article-Id= {6614397}, Citeulike-Linkout-0= {http://dx.doi.org/10.1007/978-3-540-76440-3_2}, Citeulike-Linkout-1= {http://www.springerlink.com/content/h304872163837426}, Doi = {10.1007/978-3-540-76440-3_2}, Isbn = {978-3-540-76439-7}, Keywords = {clones, snf}, Pages = {15--36}, Posted-At = {2010-02-02 15:14:18}, Priority = {0}, Publisher = {Springer Berlin Heidelberg}, Title = {Identifying and Removing Software Clones}, Url = {http://dx.doi.org/10.1007/978-3-540-76440-3_2}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-76440-3_2} } @inproceedings{Kosk82a, Author = {K. Koskimies and K-J. R{\"a}ih{\"a} and M. Sarjakoski}, Booktitle = {ACM SIGPLAN Notices, Proceedings 1982 Symposium on Compiler Construction}, Keywords = {compiler generator hlp patterns}, Month = jun, Pages = {153--159}, Title = {Compiler Construction Using Attribute Grammars}, Volume = {17}, Year = {1982} } @inproceedings{Kosk84a, Author = {K. Koskimies}, Booktitle = {ACM SIGPLAN Notices, Proceedings 1984 Symposium on Compiler Construction}, Keywords = {compiler generator hlp patterns}, Month = jun, Pages = {179--189}, Title = {A Specification Language for One-Pass Semantic Analysis}, Volume = {19}, Year = {1984} } @article{Kosk94a, Author = {Kai Koskimies and H. M{\"o}ssenb{\"o}ck}, Journal = {Software Practice and Experience}, Month = jul, Number = {7}, Pages = {643--658}, Publisher = {IEEE}, Title = {Automatic Synthesis of State Machines from Trace Diagrams}, Volume = {24}, Year = {1994} } @misc{Kosk95a, Author = {Kai Koskimies and Hanspeter M{\"o}ssenb{\"o}ck}, Keywords = {olit binder}, Note = {To appear, ESEC 1995}, Title = {Designing a Framework by Stepwise Generalization}, Year = {1995} } @inproceedings{Kosk96a, Author = {Kai Koskimies and H. M{\"o}ssenb{\"o}ck}, Booktitle = {Proceedings of ICSE-18}, Month = mar, Pages = {366--375}, Publisher = {IEEE}, Title = {Scene: Using Scenario Diagrams and Active Test for Illustrating Object-Oriented Programs}, Year = {1996} } @article{Kosk98a, Author = {Kai Koskimies and Tarja Syst\"{a} and Jyrki Tuomi and Tatu M\"{a}nnisto\"{o}}, Journal = {IEEE Software}, Misc = {January/February}, Month = jan, Number = 1, Pages = {87--94}, Title = {Automated Support for Modeling OO Software}, Volume = 15, Year = {1998} } @article{Kosk04a, Address = {New York, NY, USA}, Author = {Jussi Koskinen and Airi Salminen and Jukka Paakki}, Doi = {10.1002/smr.292}, Issn = {1532-060X}, Journal = {Journal on Software Maintenance Evolution: Research and Practice}, Number = {3}, Pages = {187--215}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Hypertext support for the information needs of software maintainers}, Volume = {16}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.292} } @techreport{Kost01a, Address = {Oregon}, Author = {Rainer Koster and Andrew P. Black and Jie Huang and Jonathan Walpole and Calton Pu}, Institution = {{OGI}, School of Science and Engineering}, Number = {{CSE}-01-004}, Title = {Thread Transparency in Information Flow Middleware}, Year = {2001} } @inproceedings{Koth06a, Author = {Jay Kothari and Trip Denton and Spiros Mancoridis and Ali Shokoufandeh}, Booktitle = {13th IEEE Working Conference on Reverse Engineering (WCRE 2006)}, Keywords = {Dynamic Analysis feature}, Month = oct, Title = {On Computing the Canonical Features of Software Systems}, Year = {2006} } @inproceedings{Koth07a, Address = {New York, NY, USA}, Author = {Nupur Kothari and Ramakrishna Gummadi and Todd Millstein and Ramesh Govindan}, Booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, Doi = {10.1145/1250734.1250757}, Isbn = {978-1-59593-633-2}, Location = {San Diego, California, USA}, Pages = {200--210}, Publisher = {ACM}, Title = {Reliable and efficient programming abstractions for wireless sensor networks}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1250734.1250757} } @inproceedings{Koum08a, author = {Koumaras, Harilaos and Negrou, Daniel and Liberal, Fidel and Arauz, Javier and Kourtis, Anastasios}, booktitle = {AQTR'08: Proceedings of the 16th International Conference on Automation, Quality and Testing, Robotics}, title = {{ADAMANTIUM} project: Enhancing {IMS} with a {PQoS}-aware multimedia content management system}, year = {2008}, month = may, pages = {358--363}, address = {Cluj-Napoca, Romania}, keywords = {multimedia damiencbib}, doi = {10.1109/AQTR.2008.4588768} } @manual{Kout96a, Address = {Murray Hill, NJ}, Author = {Eleftherios Koutsofios and Stephen C. North}, Organization = {AT \& T Bell Laboratories}, Title = {Drawing graphs with dot} } @inproceedings{Kove93a, Author = {Larry Koved and Wayne L. Wooten}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {309--325}, Title = {{GROOP}: An Object-Oriented Toolkit for Animated 3D Graphics}, Volume = {28}, Year = {1993} } @book{Koza92a, Address = {Cambridge, Mass.}, Author = {John R. Koza}, Isbn = {0-262-11170-5}, Publisher = {MIT Press}, Title = {Genetic programming: {O}n the programming of computers by natural selection}, Year = {1992} } @article{Koza93a, Author = {Wojtek Kozaczynski and Annie Kuntzmann-Combelles}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {20--23}, Title = {What It Takes to Make {OO} Work}, Volume = {10}, Year = {1993} } @inproceedings{Koze93a, Author = {Dexter Kozen and Jens Palsberg and Michael I. Schwartzbach.}, Booktitle = {Proceedings POPL '93}, Keywords = {types olit popl93}, Pages = {419--428}, Title = {Efficient Recursive Subtyping}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Year = {1993}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @article{Kozi10a, title = {Performance evaluation of component-based software systems: A survey}, journal = {Performance Evaluation}, volume = {67}, number = {8}, pages = {634--658}, year = {2010}, note = {Special Issue on Software and Performance}, issn = {0166-5316}, doi = {10.1016/j.peva.2009.07.007}, author = {Heiko Koziolek} } @incollection{Kozo00, Author = {M. Tatsubori and S. Chiba and M.-O. Killijian and K. Itano}, Booktitle = {1st OOPSLA Workshop on Reflection and Software Engineering}, Pages = {117--133}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {{OpenJava}: {A} Class-Based Macro System for {Java}}, Volume = {1826}, Year = {2000} } @inproceedings{Krah07a, Author = {Holger Krahn and Bernhard Rumpe and Steven V{\"o}lkel}, Booktitle = {Proceedings of MoDELS 2007}, Doi = {978-3-540-75209-7_20}, Isbn = {978-3-540-75208-0}, Keywords = {dsllit}, Pages = {286--300}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Integrated Definition of Abstract and Concrete Syntax for Textual Languages}, Volume = {4735}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/978-3-540-75209-7_20} } @inproceedings{Krah08a, Author = {Holger Krahn and Bernhard Rumpe and Steven V\"olkel}, Booktitle = {Proceedings of the 46th International Conference Objects, Models, Components, Patterns (TOOLS-Europe)}, Editor = {Richard Paige and Bertrand Meyer}, Keywords = {dsllit}, Location = {Zurich, Switzerland}, Pages = {297--315}, Publisher = {Springer-Verlag}, Title = {{MontiCore}: Modular Development of Textual Domain Specific Languages}, Year = {2008} } @mastersthesis{Kraj03a, Author = {Jacek Krajewski}, Keywords = {olit}, Misc = {15, April}, Month = apr, School = {Information Systems Institute, Distributed Systems Group, Technical University of Vienna}, Title = {{QCR} \-- {A} Methodology for Software Evolution Analysis}, Year = {2003} } @article{Krak90a, Author = {Sacha Krakowiak and M. Meysembourg and H. Nguyen Van and Michel Riveill and C. Roisin and X. Rousset de Pina}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-obcl guide joop}, Month = sep, Number = {3}, Pages = {11--22}, Title = {Design and Implementation of an Object-Oriented Strongly Typed Language for Distributed Applications}, Volume = {3}, Year = {1990} } @inproceedings{Kral97a, Address = {Linz, Austria}, Author = {Andreas Krall and Jan Vitek}, Booktitle = {Proc. of The Joint Modular Languages Conference JMLC}, Keywords = {olit-oopl obib(oopl) binder}, Title = {On Extending {Java}}, Year = {1997} } @article{Kram85a, Address = {Piscataway, NJ, USA}, Author = {Jeff Kramer and Jeff Magee}, Doi = {10.1109/TSE.1985.232231}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Keywords = {conic}, Number = {4}, Pages = {424--436}, Publisher = {IEEE Press}, Title = {Dynamic Configuration for Distributed Systems}, Volume = {11}, Year = {1985}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.1985.232231} } @article{Kram89a, Author = {Jeffrey Kramer and Jeff Magee and K. Ng}, Doi = {10.1109/2.42014}, Journal = {IEEE Computer}, Keywords = {visprog scripting}, Month = oct, Number = {10}, Pages = {53--65}, Title = {Graphical Configuration Programming}, Volume = {22}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.42014} } @inproceedings{Kram89b, Address = {Pittsburgh, Pennsylvania}, Author = {Jeffrey Kramer and J. Magee and M. Sloman}, Booktitle = {Proc 5th Int Workshop on Software Specification and Design}, Keywords = {visprog scripting}, Month = may, Pages = {28--33}, Title = {Configuration Support for System Description, Construction and Evolution}, Year = {1989} } @inproceedings{Kram89c, Author = {Jeffrey Kramer and Jeff Magee and K. Ng}, Booktitle = {Hawaii International Conference on System Sciences}, Keywords = {visprog scripting binder}, Month = jan, Pages = {860--870}, Title = {Graphical Support for Configuration Programming}, Year = {1989} } @incollection{Kram90a, Author = {J. Kramer and J. Magee and A. Finkelstein}, Booktitle = {Proc 10th Intl Conf on Distributed Computing Systems}, Keywords = {ds components Conic}, Month = jun, Pages = {580--587}, Publisher = {IEEE}, Title = {A Constructive Approach to the Design of Distributed Systems}, Year = {1990} } @article{Kram90b, Address = {Piscataway, NJ, USA}, Author = {Jeff Kramer and Jeff Magee}, Doi = {10.1109/32.60317}, Journal = {IEEE Trans. Softw. Eng.}, Number = {11}, Pages = {1293--1306}, Publisher = {IEEE Press}, Title = {The Evolving Philosophers Problem: Dynamic Change Management}, Url = {http://reference.kfupm.edu.sa/content/e/v/the_evolving_philosophers_problem__dynam_6560.pdf}, Volume = {16}, Year = {1990}, Bdsk-Url-1 = {http://reference.kfupm.edu.sa/content/e/v/the_evolving_philosophers_problem__dynam_6560.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/32.60317} } @inproceedings{Kram96a, Author = {Christian Kramer and Lutz Prechelt}, Booktitle = {Proceedings of WCRE '96 (3rd Working Conference on Reverse Engineering)}, Location = {Monterrey, California, USA}, Month = nov, Pages = {208--216}, Publisher = {IEEE Computer Society Press}, Title = {Design {Recovery} by {Automated} {Search} for {Structural} {Design} {Patterns} in {Object}-{Oriented} {Software}}, Year = {1996} } @inproceedings{Kram98a, Author = {R. Kramer}, Booktitle = {Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS-USA)}, Pages = {295-305}, Title = {iContract -- The Java Design by Contract Tool}, Year = {1998} } @inproceedings{Kran06a, author = {Kranz, Matthias and Rusu, Radu Bogdan and Maldonado, Alexis and Beetz, Michael and Schmidt, Albrecht}, title = {A Player/Stage System for Context-Aware Intelligent Environments}, address = {Orange County, CA, USA}, pages = {1--7}, keywords = {damiencbib robotics ubicomp kitchen}, publisher = {EDAS}, booktitle = {UbiSys'06: Proceedings of the System Support for Ubiquitous Computing Workshop}, year = {2006} } @inproceedings{Kran07a, Doi = {10.1109/PERCOM.2007.12}, author = {Kranz, Matthias and Spiessl, Wolfgang and Schmidt, Albrecht}, title = {Designing Ubiquitous Computing Systems for Sports Equipment}, keywords = {damiencbib}, booktitle = {PerCom'07: Proceedings of the 5th International Conference on Pervasive Computing and Communications}, year = {2007}, pages = {79--86}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @article{Kras80a, Author = {G. Krasner}, Journal = {Computer Music Journal}, Keywords = {olit-appl music smalltalk casais}, Number = {4}, Title = {Machine Tongues {VIII}: the Design of a {Smalltalk} Music System}, Volume = {4}, Year = {1980} } @book{Kras83a, Address = {Reading, Mass.}, Author = {G. Krasner}, Isbn = {0-201-11669-3}, Keywords = {olit-oopl smalltalk implementationE casais oobib oopl book scglib}, Publisher = {Addison Wesley}, Title = {Smalltalk-80: Bits of History, Words of Advice}, Year = {1983} } @article{Kras88a, Author = {Krasner, Glenn E. and Pope, Stephen T.}, Journal = {Journal of Object-Oriented Programming}, Month = aug, Number = {3}, Pages = {26--49}, keywords = {damiencbib mvc}, Title = {A cookbook for using the model-view-controller user interface paradigm in {Smalltalk}-80}, Volume = {1}, Year = {1988} } @inproceedings{Kreu87a, Address = {Paris, France}, Author = {Wolfgang Kreutzer}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {203--212}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Modeller's Workbench: Experiments in Object-Oriented Simulation}, Volume = {276}, Year = {1987} } @book{Krie92a, Address = {Rennes, France}, Editor = {B. Krieg-Bruckner}, Isbn = {3-540-55253-7}, Keywords = {olit esop92 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESOP}'92}, Volume = {582}, Year = {1992} } @phdthesis{Krik99a, Author = {Rene Krikhaar}, Keywords = {design-recovery}, School = {University of Amsterdam}, Title = {Software Architecture Reconstruction}, Url = {http://www.cs.vu.nl/~x/sar/sar.pdf}, Year = {1999}, Bdsk-Url-1 = {http://www.cs.vu.nl/~x/sar/sar.pdf} } @inproceedings{Krik99b, Address = {Washington, DC, USA}, Author = {Ren\'e Krikhaar and Andr\'e Postma and Alex Sellink and Marc Stroucken and Chris Verhoef}, Booktitle = {Proceedings of International Conference on Software Maintenance (ICSM'99)}, Isbn = {0-7695-0016-1}, Pages = {371}, Publisher = {IEEE Computer Society}, Title = {A Two-Phase Process for Software Architecture Improvement}, Year = {1999} } @inproceedings{Krin01a, Author = {Jens Krinke}, Booktitle = {Proceedings Eigth Working Conference on Reverse Engineering (WCRE'01)}, Doi = {10.1109/WCRE.2001.957835}, Keywords = {clones}, Month = oct, Organization = {IEEE Computer Society}, Pages = {301--309}, Title = {Identifying Similar Code with Program Dependence Graphs}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2001.957835} } @inproceedings{Krin04a, Address = {Los Alamitos, CA, USA}, Author = {Jens Krinke}, Booktitle = {Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM'04)}, Doi = {10.1109/ICSM.2004.1357801}, Issn = {1063-6773}, Pages = {168--177}, Publisher = {IEEE Computer Society}, Title = {Visualization of Program Dependence and Slices}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2004.1357801} } @book{Kris82a, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and M{\o}ller-Pedersen,Birger and Kristen Nygaard}, Keywords = {olit-oopl beta}, Publisher = {Norwegian Computing Center, Oslo, Computer Sciences department, Aarhus University}, Title = {{BETA} project working notes 1-8}, Year = {1982} } @inproceedings{Kris83a, Address = {Paris}, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Booktitle = {Proceedings of the 11th SIMULA 67 User's Conference}, Keywords = {olit-oopl beta}, Month = sep, Title = {From {SIMULA} 67 to {BETA}}, Year = {1983} } @inproceedings{Kris83b, Address = {Austin, Texas}, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Booktitle = {Proceedings POPL '83}, Keywords = {olit-oopl beta popl83}, Misc = {Jan 24-26}, Month = jan, Pages = {285--298}, Title = {Abstraction Mechanisms in the {BETA} Programming Language}, Year = {1983} } @article{Kris85a, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Journal = {SIGPLAN Notices}, Keywords = {olit-oopl beta}, Month = apr, Number = {4}, Pages = {57--70}, Title = {Multi-sequential execution in the {BETA} programming language}, Volume = {20}, Year = {1985} } @incollection{Kris87a, Address = {Cambridge, Mass.}, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Booktitle = {Research Directions in Object-Oriented Programming}, Editor = {B. Shriver and P. Wegner}, Keywords = {olit-obcl beta concurrency rdoop87 binder(oop) oobib(obcp)}, Pages = {7--48}, Publisher = {MIT Press}, Title = {The {BETA} Programming Language}, Year = {1987} } @inproceedings{Kris87b, Address = {Paris, France}, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B{\'e}zivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-oopl beta ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {98--107}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Classification of Actions, or Inheritance also for Methods}, Volume = {276}, Year = {1987} } @incollection{Kris93a, 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.}, Author = {Bent Buun Kristensen}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {279--296}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Transverse Activities: Abstractions in Object-Oriented Programming,}, Volume = {742}, Year = {1993} } @inproceedings{Kris95a, Author = {Bent Bruun Kristensen}, Title = {Object-Oriented Modeling with Roles}, Booktitle = {Proceedings of the 2nd International Conference on Object-Oriented Information Systems}, Editor = {John Murphy and Brian Stone}, Year = {1995}, Publisher = {Springer-Verlag}, Publaddr = {London , UK}, Confname = {Second International Conference on Object-Oriented Information Systems}, Pages = {57--71} } @inproceedings{Kris96a, Address = {Linz, Austria}, Author = {Bent Bruun Kristensen and Daniel C. M. May}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {472--501}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Activities: Abstractions for Collective Behavior}, Volume = {1098}, Year = {1996} } @inproceedings{Kris96b, author = {Bent Bruun Kristensen and Kasper \/Osterbye}, title = {Roles: Conceptual Abstraction Theory \& Practical Language Issues}, Booktitle = {Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-Oriented Systems}, year = {1996}, pages = {143--160} } @inproceedings{Kris98a, Author = {Bent Bruun Kristensen}, Title = {Subjective Method Interpretation in Object-Oriented Modeling}, Abstract = {In object-oriented modeling an object reacts objectively to an invocation of one of its methods in the sense that it is given which description for the method is interpreted. Subjective behavior of an object means that [it] is not objectively given which description is interpreted---the choice depends on other factors than the invocation such as the invoking object, the context of the objects, and the state of the objects. The notion of subjectivity is defined, and the support of subjectivity by means of object-oriented language mechanisms is investigated}, Booktitle = {In Proceedings of the 5th International Conference on Object-Oriented Information Systems}, Year = {1998}, Pages = {9--11}, Publisher = {Springer-Verlag} } @article{Kris01a, Author = {Bent Bruun Kristensen}, Title = {Subjective behaviour}, Journal = {Comput. Syst. Sci. Eng.}, Volume = {16}, Number = {1}, Year = {2001}, Pages = {13-24} } @inproceedings{Kris02a, Author = {Kristensen, Bent Bruun}, title = {Associative Modeling and Programming}, Booktitle = {Proceedings of the 8th International Conference on Object-Oriented. Information Systems}, Series = {OOIS '02}, Year = {2002}, Isbn = {3-540-44087-9}, Pages = {358--371}, Numpages = {14}, Url = {http://portal.acm.org/citation.cfm?id=645789.667655}, Acmid = {667655}, Publisher = {Springer-Verlag}, Address = {London, UK} } @book{Kris07a, Author = {Shriram Krishnamurthi}, Publisher = {Shriram Krishnamurthi}, Title = {Programming Languages: Application and Interpretation}, Url = {http://www.cs.brown.edu/$\sim$sk/Publications/Books/ProgLangs/}, Year = {2007}, Bdsk-Url-1 = {http://www.cs.brown.edu/$%5Csim$sk/Publications/Books/ProgLangs/} } @inproceedings{Kris07b, Address = {New York, NY, USA}, Author = {Bent Bruun Kristensen and Ole Lehrmann Madsen and Birger M\oller-Pedersen}, Booktitle = {HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages}, Doi = {10.1145/1238844.1238854}, Isbn = {978-1-59593-766-X}, Location = {San Diego, California}, Pages = {10-1--10-57}, Publisher = {ACM}, Title = {The when, why and why not of the {BETA} programming language}, Url = {http://www.mjolner.dk/fileadmin/filer/dokumenter/BETA_sproget/BETA-HOPL-V4.7_ref_copyright.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.mjolner.dk/fileadmin/filer/dokumenter/BETA_sproget/BETA-HOPL-V4.7_ref_copyright.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1238844.1238854} } @inproceedings{Krist94a, Address = {Portland}, Author = {Bent Brunn Kristensen}, Booktitle = {Proceedings of OOPSLA '94}, Editor = {ACM}, Month = oct, Number = {10}, Organization = {ACM}, Pages = {272--286}, Series = {ACM Sigplan Notices}, Title = {Complex Associations: Abstractions in Object-Oriented Modeling}, Volume = {29}, Year = {1994} } @inproceedings{Krog85a, Author = {Stein Krogdahl}, Booktitle = {BIT 25}, Pages = {318--326}, Title = {Multiple Inheritance in {Simula-like} Languages}, Year = {1985} } @inproceedings{Krone94a, Author = {Maren Krone and Gregor Snelting}, Booktitle = {Proceedings of ICSE '94 (16th International Conference on Software Engineering)}, Keywords = {fca}, Location = {Sorrento, Italy}, Pages = {49--57}, Publisher = {IEEE Computer Society / ACM Press}, Title = {On the {Inference} of {Configuration} {Structures} from {Source} {Code}}, Year = {1994} } @article{Kruc95a, Author = {Philippe B. Kruchten}, Journal = {IEEE Software}, Keywords = {olit architecture}, Month = nov, Number = {6}, Pages = {42--50}, Title = {The 4+1 View Model of Architecture}, Volume = {12}, Year = {1995} } @book{Kruc04a, Author = {Philippe Kruchten}, Edition = {Third}, Isbn = {0321197704}, Keywords = {scglib}, Publisher = {Addison-Wesley}, Title = {The Rational Unified Process}, Year = {2004} } @article{Kruc06a, Address = {Los Alamitos, CA, USA}, Author = {Philippe Kruchten and Henk Obbink and Judith Stafford}, Doi = {10.1109/MS.2006.59}, Issn = {0740-7459}, Journal = {IEEE Software}, Number = {2}, Pages = {22--30}, Publisher = {IEEE Computer Society}, Title = {The Past, Present, and Future for Software Architecture}, Volume = {23}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2006.59} } @article{Krue92a, Author = {Krueger, Charles W.}, Journal = {ACM Computing Surveys}, Keywords = {oobib scglib repository reuse abb cognitive distance}, Number = {2}, Pages = {131--183}, Title = {{Software Reuse}}, Volume = {24}, Year = {1992} } @inproceedings{Krue93a, Author = {Keith Krueger and David Loftesness and Amin Vahdat and Thomas Anderson}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {48--64}, Title = {Tools for the Development of Application-Specific Virtual Memory Management}, Volume = {28}, Year = {1993} } @book{Krug97a, Author = {David J. Kruglinski}, Publisher = {Microsoft Press}, Title = {Inside Visual {C++}}, Year = {1997} } @book{Krug00a, Address = {Indiana, United States}, Author = {Steve Krug}, Isbn = {0-7897-2310-7}, Keywords = {binder(shelf) book scglib}, Publisher = {New Riders Publishing}, Title = {Don't make me think! A Common Sense Approach to Web Usability}, Year = {2000} } @article{Krus78a, Author = {Joseph B. Kruskal and Myron Wish}, Journal = {Paper series on Quantitative Application in the Social Science}, Location = {Beverly Hills and London}, Pages = {7--11}, Title = {Multidimensional Scaling}, Year = {1978} } @techreport{Kuch06, Author = {Andrew M. Kuchling}, Institution = {Python Software Foundation}, Title = {What's New in {Python} 2.5}, Url = http://docs.python.org/whatsnew/whatsnew25.html, Year = {2007}, Bdsk-Url-1 = {http://docs.python.org/whatsnew/whatsnew25.html} } @mastersthesis{Kueh98a, 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.}, Author = {Daniel K{\"u}hni}, Keywords = {scg-pub skip-doi toBeChecked scg-msc jb98 scg-coord-98}, Month = oct, School = {University of Bern}, Title = {{APROCO}: {A} Programmable Coordination Medium}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Kueh98a/aproco.html http://scg.unibe.ch/archive/masters/Kueh98a/Kueh98a.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kueh98a/aproco.html%20http://scg.unibe.ch/archive/masters/Kueh98a/Kueh98a.pdf} } @inproceedings{Kueh99a, 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.}, Address = {Lisbon, Portugal}, Author = {Thomas Kuehne}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {329--350}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Internal Iteration Externalized}, Volume = 1628, Year = {1999} } @book{Kueh99b, Author = {Thomas Kuehne}, Keywords = {scglib}, Publisher = {Verlag Dr. Kovac}, Title = {A Functional Pattern System for Object-Oriented Design}, Year = {1999} } @mastersthesis{Kuhn03a, 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.}, Author = {Adrian Kuhn}, Keywords = {akuhn}, Month = dec, School = {University of Bern}, Title = {Using Local Slant Correction to Normalize Handwritten Text Samples}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Kuhn03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kuhn03a.pdf} } @inproceedings{Kuhn05a, 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.}, Address = {Los Alamitos CA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Adrian Kuhn and St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {Proceedings of 12th Working Conference on Reverse Engineering (WCRE'05)}, Doi = {10.1109/WCRE.2005.16}, Inria = {hors}, Keywords = {scg-pub semantic clustering lsi stefPub girba jb06 recast06 hapax moose-pub listic akuhn}, Location = {Pittsburgh, PA}, Misc = {acceptance rate: 21/58 = 36 \%}, AcceptTotal = {58}, AcceptNum = {21}, Month = nov, Pages = {113--122}, Publisher = {IEEE Computer Society Press}, Rate = {36%}, Selectif = {non}, Title = {Enriching Reverse Engineering with Semantic Clustering}, Url = {http://scg.unibe.ch/archive/papers/Kuhn05aSemanticClustering.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn05aSemanticClustering.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2005.16} } @inproceedings{Kuhn05b, 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.}, Address = {Los Alamitos CA}, Annote = {internationalworkshop}, Author = {Adrian Kuhn and Orla Greevy and Tudor G\^irba}, Booktitle = {Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2005)}, Keywords = {scg-pub skip-doi semantic clustering lsi stefPub girba jb06 recast06 hapax moose-pub akuhn}, Location = {Pittsburgh, PA}, Month = nov, Pages = {48--53}, Publisher = {IEEE Computer Society Press}, Title = {Applying Semantic Analysis to Feature Execution Traces}, Url = {http://scg.unibe.ch/archive/papers/Kuhn05bHapaxPCODA2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn05bHapaxPCODA2005.pdf} } @mastersthesis{Kuhn06a, 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.}, Author = {Adrian Kuhn}, Keywords = {scg-msc jb06 fb06 recast06 moose-pub akuhn}, Month = mar, School = {University of Bern}, Title = {Semantic Clustering: Making Use of Linguistic Information to Reveal Concepts in Source Code}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Kuhn06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Kuhn06a.pdf} } @inproceedings{Kuhn06c, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Adrian Kuhn and Orla Greevy}, Booktitle = {Proceedings IEEE International Conference on Software Maintainance (ICSM 2006)}, Doi = {10.1109/ICSM.2006.29}, Keywords = {scg-pub kuhn greevy jb07 fb06 Feature Feature-Traces Dynamic Analysis moose-pub recast07 snf06 akuhn}, Medium = {2}, Month = sep, Pages = {320--329}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Exploiting the Analogy Between Traces and Signal Processing}, Url = {http://scg.unibe.ch/archive/papers/Kuhn06cTraceSignalICSM2006.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn06cTraceSignalICSM2006.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2006.29} } @inproceedings{Kuhn06d, 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.}, Address = {Los Alamitos CA}, Annote = {internationalworkshop}, Author = {Adrian Kuhn and Orla Greevy}, Booktitle = {Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2006)}, Keywords = {scg-pub skip-doi snf06 jb07 fb06 moose-pub akuhn}, Location = {Benevento, Italy}, Medium = {2}, Month = oct, Pages = {01--06}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Summarizing Traces as Signals in Time}, Url = {http://scg.unibe.ch/archive/papers/Kuhn06dTimePlot.pdf http://www.lore.ua.ac.be/Events/PCODA2006/index.html}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn06dTimePlot.pdf%20http://www.lore.ua.ac.be/Events/PCODA2006/index.html} } @article{Kuhn07a, 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.}, Address = {Newton, MA, USA}, Aeres = {ACL}, Aereststatus = {2008}, Annote = {internationaljournal}, Author = {Adrian Kuhn and St\'ephane Ducasse and Tudor G\^irba}, Doi = {10.1016/j.infsof.2006.10.017}, Impactfactor = {0.435, SCI 2005}, Inria = {hors}, Issn = {0950-5849}, Journal = {Information and Software Technology}, Keywords = {scg07 moose-pub scg-pub snf07 jb07 recast07 girba stefPub akuhn}, Medium = {2}, Misc = {SCI impact factor 0.435 (2005)}, Month = mar, Number = {3}, Pages = {230--243}, Peerreview = {yes}, Publisher = {Butterworth-Heinemann}, Title = {Semantic Clustering: Identifying Topics in Source Code}, Url = {http://scg.unibe.ch/archive/drafts/Kuhn06bSemanticClustering.pdf}, Volume = {49}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/drafts/Kuhn06bSemanticClustering.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.infsof.2006.10.017} } @inproceedings{Kuhn07b, Abstract = {When modelling a system, often there are properties and operations related to a group of objects rather than to a single object only. For example, given a person object with an income property, the average income applies to a group of persons as a whole rather than to a single person. In this paper we propose to extend programming languages with the notion of collective behavior. Collective behavior associates custom behavior with collection instances, based on the type of its elements. However, collective behavior is modeled as part of the element's rather than the collection's class. We present a proof-of-concept implementation of collective behavior using Smalltalk, and validate the usefulness of collective behavior considering a real-life case study: 20% of the case-study's domain logic is subject to collective behavior.}, Annote = {internationalworkshop}, Author = {Adrian Kuhn}, Booktitle = {Proceedings of 3rd ECOOP Workshop on Dynamic Languages and Applications (DYLA 2007)}, Keywords = {scg07 scg-pub skip-doi snf07 jb08 akuhn}, Location = {Berlin, Germany}, Medium = {2}, Month = aug, Peerreview = {yes}, Title = {Collective Behavior}, Url = {http://scg.unibe.ch/archive/papers/Kuhn07bCollectiveBehavior.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn07bCollectiveBehavior.pdf} } @misc{Kuhn07c, Abstract = {RBCrawler is a software visualization tool for the Refactory Browser, implement in Cincom Smalltalk. It extends both the editor pane and the navigation pane with software visualization views. RBCrawler features static, dynamic, and lexical analysis. Currently in implementation are: Lanza's System Complexity View and Class Blueprint, customizable Polymetric Views and Distribution Maps, as well as Traceplots of dynamic execution traces. Semantic Clustering, polysemy-aware search and Wordclouds are planned as well, but might not be ready in time for presentation at ESUG 2007. RBCrawler improves software understanding and reduces the time for software navigation. An empirical study based on the present implementation is planned for this fall's Smalltalk lecture at University of Bern.}, Annote = {tooldemo}, Author = {Adrian Kuhn}, Howpublished = {European Smalltalk User Group Innovation Technology Award}, Keywords = {esug scg-misc moose-pub snf07 jb08 akuhn}, Month = aug, Title = {RBCrawler --- a Visual Navigation System for {Smalltalk}'s {Refactoring} {Browser}}, Url = {http://scg.unibe.ch/archive/reports/Kuhn07cRBCrawler.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Kuhn07cRBCrawler.pdf} } @inproceedings{Kuhn08a, Abstract = {To quickly localize defects, we want our attention to be focussed on relevant failing tests. We propose to improve defect localization by exploiting dependencies between tests, using a JUnit extension called JExample. In a case study, a monolithic white-box test suite for a complex algorithm is refactored into two traditional JUnit style tests and to JExample. Of the three refactorings, JExample reports five times fewer defect locations and slightly better performance (-8-12\%), while having similar maintenance characteristics. Compared to the original implementation, JExample greatly improves maintainability due the improved factorization following the accepted test quality guidelines. As such, JExample combines the benefits of test chains with test quality aspects of JUnit style testing.}, Annote = {internationalconference}, Author = {Adrian Kuhn and Bart Van Rompaey and Lea H\"ansenberger and Oscar Nierstrasz and Serge Demeyer and Markus Gaelli and Koenraad Van Leemput}, Booktitle = {Extreme Programming and Agile Processes in Software Engineering, 9th International Conference, XP 2008}, Doi = {10.1007/978-3-540-68255-4_8}, Editor = {P. Abrahamsson}, Isbn = {978-3-540-68254-7}, Keywords = {scg08 scg-pub snf08 jb08 JExample akuhn gaelli haensenberger}, Medium = {2}, Pages = {73--82}, Peerreview = {yes}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {{JExample}: Exploiting Dependencies Between Tests to Improve Defect Localization}, Url = {http://scg.unibe.ch/archive/papers/Kuhn08aJExample.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn08aJExample.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-68255-4_8} } @inproceedings{Kuhn08b, Abstract = {Software visualizations can provide a concise overview of a complex software system. Unfortunately, since software has no physical shape, there is no ``natural'' mapping of software to a two-dimensional space. As a consequence most visualizations tend to use a layout in which position and distance have no meaning, and consequently layout typical diverges from one visualization to another. We propose a consistent layout for software maps in which the position of a software artifact reflects its \emph{vocabulary}, and distance corresponds to similarity of vocabulary. We use Latent Semantic Indexing (LSI) to map software artifacts to a vector space, and then use Multidimensional Scaling (MDS) to map this vector space down to two dimensions. The resulting consistent layout allows us to develop a variety of thematic software maps that express very different aspects of software while making it easy to compare them. The approach is especially suitable for comparing views of evolving software, since the vocabulary of software artifacts tends to be stable over time.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Adrian Kuhn and Peter Loretan and Oscar Nierstrasz}, Booktitle = {Proceedings of 15th Working Conference on Reverse Engineering (WCRE'08)}, Doi = {10.1109/WCRE.2008.45}, Isbn = {978-0-7695-3429-9}, Keywords = {scg08 scg-pub semantic codemap-pub clustering lsi jb09 snf09 hasler08 akuhn}, Location = {Pittsburgh, PA}, Medium = {2}, Month = oct, Pages = {209--218}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Consistent Layout for Thematic Software Maps}, Url = {http://scg.unibe.ch/archive/papers/Kuhn08bSoftwareMap.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn08bSoftwareMap.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2008.45} } @inproceedings{Kuhn08c, Abstract = {Tomorrow's eternal software system will co-evolve with their context: their metamodels must adapt at runtime to ever-changing external requirements. In this paper we present FAME, a polyglot library that keeps metamodels accessible and adaptable at runtime. Special care is taken to establish causal connection between fame-classes and host-classes. As some host-languages offer limited reflection features only, not all implementations feature the same degree of causal connection. We present and discuss three scenarios: 1) full causal connection, 2) no causal connection, and 3) emulated causal connection. Of which, both Scenario 1 and 3 are suitable to deploy fully metamodel-driven applications.}, Annote = {internationalworkshop}, Author = {Adrian Kuhn and Toon Verwaest}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn08cFame.pdf% http://www.comp.lancs.ac.uk/~bencomo/MRT/MRT2008Proceedings.pdf}, Booktitle = {Workshop on Models at Runtime}, Keywords = {scg08 scg-pub skip-doi jb09 akuhn hasler08 tverwaes}, Medium = {2}, Pages = {57--66}, Peerreview = {yes}, Title = {{FAME}, A Polyglot Library for Metamodeling at Runtime}, Url = {http://scg.unibe.ch/archive/papers/Kuhn08cFame.pdf http://www.comp.lancs.ac.uk/~bencomo/MRT/MRT2008Proceedings.pdf}, Year = {2008}, Bdsk-Url-2 = {http://scg.unibe.ch/archive/papers/Kuhn08cFame.pdf%20http://www.comp.lancs.ac.uk/~bencomo/MRT/MRT2008Proceedings.pdf} } @inproceedings{Kuhn08d, Abstract = {As object-oriented languages are extended with novel modularization mechanisms, better underlying models are required to implement these high-level features. This paper describes CELL, a language model that builds on delegation-based chains of object fragments. Composition of groups of cells is used: 1) to represent objects, 2) to realize various forms of method lookup, and 3) to keep track of method references. A running prototype of CELL is provided and used to realize the basic kernel of a Smalltalk system. The paper shows, using several examples, how higher-level features such as traits can be supported by the lower-level model.}, Annote = {internationalworkshop}, Author = {Adrian Kuhn and Oscar Nierstrasz}, Booktitle = {Proceedings of the 2nd Workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms (VMIL 2008), Nashville, Tennessee, Oct. 19, 2008}, Doi = {10.1145/1507504.1507505}, Editor = {Hridesh Rajan}, Isbn = {978-1-60558-384-6}, Keywords = {cell scg08 scg-pub snf09 jb09 akuhn}, Medium = {2}, Pages = {1--12}, Peerreview = {yes}, Title = {Composing New Abstractions From Object Fragments}, Url = {http://scg.unibe.ch/archive/papers/Kuhn08dCells.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn08dCells.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1507504.1507505} } @inproceedings{Kuhn09a, Abstract = {As more and more open-source software components become available on the internet we need automatic ways to label and compare them. For example, a developer who searches for reusable software must be able to quickly gain an understanding of retrieved components. This understanding cannot be gained at the level of source code due to the semantic gap between source code and the domain model. In this paper we present a lexical approach that uses the log-likelihood ratios of word frequencies to automatically provide labels for software components. We present a prototype implementation of our labeling/comparison algorithm and provide examples of its application. In particular, we apply the approach to detect trends in the evolution of a software system.}, Annote = {internationalconference}, Author = {Adrian Kuhn}, Booktitle = {MSR '09: Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories}, Doi = {10.1109/MSR.2009.5069499}, Keywords = {scg09 scg-pub jb09 snf09 akuhn codemap-pub}, Location = {Vancouver, Canada}, Medium = {2}, Pages = {175--178}, Peerreview = {yes}, Publisher = {IEEE}, Title = {Automatic Labeling of Software Components and their Evolution using Log-Likelihood Ratio of Word Frequencies in Source Code}, Url = {http://scg.unibe.ch/archive/papers/Kuhn09aLogLikelihoodRatio.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn09aLogLikelihoodRatio.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/MSR.2009.5069499} } @inproceedings{Kuhn09b, Abstract = {SUITE is a new workshop series that specifically focuses on exploring the notion of search as a fundamental activity during software development. The goal of the workshop is to bring researchers and practitioners with special interest on search technology for software developers together. Participants will have broad range of expertise in topics ranging from building software tools and infrastructure, Information Retrieval, user studies and Human-computer interaction, benchmarking and evaluation. The first edition of SUITE is held in conjunction with the 31st International Conference in Software Engineering (May 16th, 2009. Vancouver, Canada).}, Author = {Bajracharya, Sushil and Kuhn, Adrian and Ye, Yunwen}, Booktitle = {Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on}, Citeulike-Article-Id= {5404526}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5071054}, Doi = {10.1109/ICSE-COMPANION.2009.5071054}, Journal = {Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on}, Keywords = {akuhn jb09 codesearch, suite2009}, Pages = {445--446}, Posted-At = {2009-08-10 13:44:31}, Priority = {0}, Title = {SUITE 2009: First international workshop on search-driven development - users, infrastructure, tools and evaluation}, Url = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054} } @inproceedings{Kuhn10a, Abstract = {Search-driven development is mainly concerned with code reuse but also with code navigation and debugging. In this essay we look at search-driven navigation in the IDE. We consider Smalltalk-80 as an example of a programming system with search-driven navigation capabilities and explore its human factors. We present how immediate search results lead to a user experience of code browsing rather than one of waiting for and clicking through search results. We explore the socio-technical congruence of immediate search, ie unification of tasks and breakpoints with method calls, which leads to simpler and more extensible development tools. Eventually we conclude with remarks on the socio-technical congruence of search-driven development.}, Author = {Adrian Kuhn}, Booktitle = {ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2010. SUITE '10.}, Annote = {internationalworkshop}, Keywords = {codesearch scg-pub scg10 akuhn-pub suite2010 snf10 jb10}, Medium = {1}, Peerreview = {yes}, Title = {Immediate Search in the IDE as an Example of Socio-Technical Congruence in Search-Driven Development}, Doi = {10.1145/1809175.1809182}, Url = {http://scg.unibe.ch/archive/papers/Kuhn10a-codesearch.pdf}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Kuhn10a-codesearch.pdf} } @article{Kuhn10b, Author = {Adrian Kuhn and David Erni and Peter Loretan and Oscar Nierstrasz}, Abstract = {Software visualizations can provide a concise overview of a complex software system. Unfortunately, as software has no physical shape, there is no `natural' mapping of software to a two-dimensional space. As a consequence most visualizations tend to use a layout in which position and distance have no meaning, and consequently layout typically diverges from one visualization to another. We propose an approach to consistent layout for software visualization, called Software Cartography, in which the position of a software artifact reflects its vocabulary, and distance corresponds to similarity of vocabulary. We use Latent Semantic Indexing (LSI) to map software artifacts to a vector space, and then use Multidimensional Scaling (MDS) to map this vector space down to two dimensions. The resulting consistent layout allows us to develop a variety of thematic software maps that express very different aspects of software while making it easy to compare them. The approach is especially suitable for comparing views of evolving software, as the vocabulary of software artifacts tends to be stable over time. We present a prototype implementation of Software Cartography, and illustrate its use with practical examples from numerous open-source case studies.}, Annote = {internationaljournal}, Doi = {10.1002/smr.414}, Journal = {Journal of Software Maintenance and Evolution (JSME)}, Keywords = {scg-pub scg10 akuhn codemap-pub jb10 snf10}, Medium = {2}, Peerreview = {yes}, Month = apr, Volume = 22, Number = 3, Pages = {191--210}, Title = {Software Cartography: Thematic Software Visualization with Consistent Layout}, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Kuhn10bSoftwareMaps.pdf}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/smr.414} } @inproceedings{Kuhn10c, Author = {Adrian Kuhn and David Erni and Oscar Nierstrasz}, Keywords = {scg-pub scg10 jb11 akuhn codemap-pub}, Medium = {2}, Peerreview = {yes}, Booktitle = {SOFTVIS 2010}, Title = {Embedding Spatial Software Visualization in the IDE: an Exploratory Study}, Url = {http://scg.unibe.ch/archive/papers/softvis2010-kuhn-codemap-userstudy.pdf}, Doi = {10.1145/1879211.1879229}, pages = {113--122}, Year = {2010}, Month = oct, Abstract = {Software visualization can be of great use for understanding and exploring a software system in an intuitive manner. Spatial representation of software is a promising approach of increasing interest. However, little is known about how developers interact with spatial visualizations that are embedded in the IDE. In this paper, we present a pilot study that explores the use of Software Cartography for program comprehension of an unknown system. We investigated whether developers establish a spatial memory of the system, whether clustering by topic offers a sound base layout, and how developers interact with maps. We report our results in the form of observations, hypotheses, and implications. Key findings are a) that developers made good use of the map to inspect search results and call graphs, and b) that developers found the base layout surprising and often confusing. We conclude with concrete advice for the design of embedded software maps} } @misc{Kuhn10x, Author = {Adrian Kuhn and David Erni and Oscar Nierstrasz}, Keywords = {scg-sub akuhn codemap-pub}, Note = {To appear, ACM SOFTVIS 2010}, Title = {Towards Improving the Mental Model of Software Developers through Cartographic Visualization}, Url = {http://arxiv.org/abs/1001.2386}, Year = {2010}, Bdsk-Url-1 = {http://arxiv.org/abs/1001.2386} } @phdthesis{Kuhn11a, Abstract = {Despite common belief, software engineers do not spend most time writing code. It has been shown that an approximate 50--90 of development time is spent on code orientation, i.e. navigation and understanding of source code. This may include reading of local source code and documentation, searching the internet for code examples and tutorials, but also seeking help of other developers.\\ In this dissertation we argue that, in order to support software engineers in code navigation and understanding, we need development tools that provide first-class support for the code orientation clues that developers rely on. We argue further that development tools need to tap unconventional information found in the source code in order to provide developers with code orientation clues that would be out of their reach without tool support.\\ In a qualitative user study we identify four fundamental categories of orientation clues that developers use for code navigation and code understanding: lexical clues referring to identifier names and concepts, social clues referring to a developer's personal network and to internet communities, episodic clues referring to personal first-hand memories of a developer, and spatial clues referring to the system's architecture or to source code's on-screen position as displayed by development tools.\\ We introduce the following approaches that tap unconventional information found in the source code in order to better support code orientation: The EvoCloud tool uses lexical information found in source code to summarize parts of a system, the whole system, or even the system's entire evolution. The Hapax tool clusters software systems using lexical information found in source code. The Chronia tool addresses the episodic memory of developers by providing them with a visualization that tells the story of the team collaboration as recorded by the version control system. The Devlect tool uses lexical information found in contributions that developers shared with open source systems to build a recommendation model for bug reports. The Bender tool uses cross-project collaboration of developers in open source projects to estimate the credibility of code search results.\\ Among the code orientation strategies used by developers, spatial clues stand out for not having a first-class representation in the ecosystem of source code. Therefore, we introduce Software Cartography, an approach to create spatial on-screen visualization of software systems based on non-spatial properties. Software maps are stable over time, embedded in the development environment, and can be shared among teams. We implement the approach in the CodeMap tool and evaluate it in a qualitative user study. We show that software maps are most helpful to explore search results and call hierarchies.}, Author = {Adrian Kuhn}, Keywords = {scg-phd jb11 codemap}, Month = apr, Year = {2011}, School = {University of Bern}, Title = {Software Cartography and Code Navigation}, Type = {PhD thesis}, Url = {http://scg.unibe.ch/archive/phd/kuhn-phd.pdf} } @techreport{Kuip00a, Author = {Tobias Kuipers and Leon Moonen}, Institution = {Centrum voor Wiskunde en Informatica}, Keywords = {fca}, Month = jul, Number = {SEN-R0017}, Title = {Types and {Concept} {Analysis} for {Legacy} {Systems}}, Year = {2000} } @inproceedings{Kulb98a, Author = {B. Kulbach and A. Winter and P. Dahm and J. Ebert}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {135--145}, Publisher = {IEEE Computer Society}, Title = {Program Comprehension in Multi-Language Systems}, Year = {1998} } @inproceedings{Kulk02a, Address = {London, UK}, Author = {Vinay Kulkarni and R. Venkatesh and Sreedhar Reddy}, Booktitle = {OOIS '02: Proceedings of the Workshops on Advances in Object-Oriented Information Systems}, Doi = {10.1007/3-540-46105-1_31}, Isbn = {3-540-44088-7}, Pages = {270--279}, Publisher = {Springer-Verlag}, Title = {Generating Enterprise Applications from Models}, Url = {http://www.softmetaware.com/oopsla2005/kulkarni.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.softmetaware.com/oopsla2005/kulkarni.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-46105-1_31} } @article{Kulk03a, Address = {Los Alamitos, CA, USA}, Author = {Vinay Kulkarni and Sreedhar Reddy}, Doi = {10.1109/MS.2003.1231154}, Issn = {0740-7459}, Journal = {IEEE Software}, Number = {5}, Pages = {64--69}, Publisher = {IEEE Computer Society}, Title = {Separation of Concerns in Model-Driven Development}, Volume = {20}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2003.1231154} } @article{Kulk10a, Address = {Los Alamitos, CA, USA}, Author = {Devdatta Kulkarni and Anand Tripathi}, Doi = {10.1109/TSE.2010.11}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {cop-lit}, Number = {RapidPosts}, Pages = {184-197}, Publisher = {IEEE Computer Society}, Title = {A Framework for Programming Robust Context-Aware Applications}, Volume = {99}, Year = {2010}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2010.11} } @inproceedings{Kuma92a, Author = {V. Kumar}, Booktitle = {AI Magazine}, Number = {1}, Pages = {32--44}, Title = {Algorithms for constraint satisfaction problems: a Survey}, Volume = {13}, Year = {1992} } @article{Kung81a, Author = {Hsiang-Tsung Kung and John T. Robinson}, Journal = {ACM TODS}, Keywords = {concurrency other}, Month = jun, Number = {2}, Pages = {213--226}, Title = {On Optimistic Methods for Concurrency Control}, Volume = {6}, Year = {1981} } @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}, Journal = {Communications of the ACM}, Keywords = {olit testing maintenance iam comacm95}, Month = oct, Number = {10}, Pages = {75--86}, Title = {Developing and Oject-Oriented Software Testing and Maintenance Environment}, Volume = {38}, Year = {1995} } @inproceedings{Kupe07a, author = {Michael Kuperberg and Steffen Becker}, booktitle = {Proceedings of the 12th International Workshop on Component Oriented Programming (WCOP 2007)}, editor = {Ralf Reussner and Clemens Czyperski and Wolfgang Weck}, month = jul, title = {{P}redicting {S}oftware {C}omponent {P}erformance: {O}n the {R}elevance of {P}arameters for {B}enchmarking {B}ytecode and {API}s}, url = {http://sdqweb.ipd.uka.de/publications/pdfs/kuperberg2007a.pdf}, year = {2007} } @techreport{Kurp11a, Abstract = {This work gives insights into how Scrum is used in practice and how tools support it. In order to evaluate the qualitative success of a tool in a project, a better understanding of the human needs they cover is needed. We can then evaluate tools on how they match the needs of the developers. In order to get relevant information about the needs and how they are fulfilled in practice, personal interviews and an online survey were done. Based on these needs, the Scrum Wall and an issue tracker are compared. Weak points and issues that arise with regard to tool support in Scrum were identified and are presented in this thesis. In the end, a prototype of a possible solution approach for the synchronization of information from the Scrum Wall to a computer-related tool is presented: Scrum Detector.}, Author = {Mascha Kurpicz}, Institution = {University of Bern}, Keywords = {scg-bp jb11 snf11 scrum agile}, Month = mar, Title = {Tool Support for Scrum}, Type = {Bachelor's thesis}, Year = {2011}, Url = {http://scg.unibe.ch/archive/projects/Kurp11a.pdf} } @techreport{Kurt99a, 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.}, Author = {Eveline Kurt}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Title = {Entwicklung einer Datenbank-Applikation zur Verwaltung von Tagesstreckenkarten}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Kurt99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Kurt99a.pdf} } @misc{Kurt99z, Author = {N. Kurt}, Note = {European Lisp User Group Meeting}, Title = {Using Lisp as a markup language: the {LAML} approach}, Year = {1999} } @inproceedings{Kuzn01a, Author = {Sergei Kuznetsov and Sergei Ob{\"e}dkov}, Booktitle = {Proceedings of International Workshop on Concept Lattice-based Theory, Methods and Tools for Knowledge Discovery in Databases}, Location = {California, USA}, Title = {Comparing {Performance} of {Algorithms} for {Generating} {Concept} {Lattices}}, Year = {2001} } @misc{LINQ, Key = {Language Integrated Queries}, Note = {http://plone.org/products/archgenxml}, Title = {{Language Integrated Queries}} } @inproceedings{LaLo86a, Author = {Wilf R. LaLonde and Dave A. Thomas and John R. Pugh}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit concepts smalltalk oopsla86 binder(oop)}, Month = nov, Pages = {322--330}, Title = {An Exemplar Based {Smalltalk}}, Volume = {21}, Year = {1986} } @inproceedings{LaLo88a, Author = {Wilf R. LaLonde and Mark Van Gulik}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Doi = {10.1145/62083.62094}, Keywords = {olit oopsla88}, Month = nov, Pages = {105--122}, Title = {Building a Backtracking Facility in {Smalltalk} Without Kernel Support}, Volume = {23}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/62083.62094} } @book{LaLo90a, Author = {Wilf LaLonde and John Pugh}, Isbn = {0-13-468414-1}, Keywords = {olit-smalltalk oobib(smalltalk) book scglib}, Publisher = {Prentice Hall}, Title = {Inside {Smalltalk}: Volume 1}, Year = {1990} } @article{LaLo91a, Author = {Wilf LaLonde and John Pugh}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit joop ioom-types pl-lit-types}, Month = jan, Number = {5}, Pages = {57--62}, Title = {{Subclassing} $\neq$ {Subtyping} $\neq$ {Is}-a}, Url = {http://scgresources.unibe.ch/~scg/Literature/PL/LaLo91a-JOOP0305.pdf}, Volume = {3}, Year = {1991}, Bdsk-Url-1 = {http://scgresources.unibe.ch/~scg/Literature/PL/LaLo91a-JOOP0305.pdf} } @book{LaLo91b, Author = {Wilf LaLonde and John Pugh}, Isbn = {0-13-465964-3}, Keywords = {olit-smalltalk oobib(smalltalk) book scglib}, Publisher = {Prentice Hall}, Title = {Inside {Smalltalk}: Volume 2}, Year = {1991} } @book{LaLo94a, Author = {Wilf LaLonde}, Isbn = {0-8053-2720-7}, Keywords = {olit-smalltalk oobib(smalltalk) book scglib}, Publisher = {The Benjamin Cummings Publishing Co. Inc.}, Title = {Discovering {Smalltalk}}, Year = {1994} } @mastersthesis{LaTo04a, Annote = {bachelor}, Author = {Thomas LaToza}, School = {University of Illinois}, Title = {The Understanding and Modification of Procedural and Object-OrientedPrograms - Wnen does Knowledge Help?}, Type = {Diploma {Thesis}}, Year = {2004} } @book{Laar87a, Author = {P. J. M. Laarhoven and E. H. L. Aarts}, Keywords = {simulated annealing}, Publisher = {Kluwer Academic Publishers}, Title = {Simulated annealing: theory and applications}, Year = {1987} } @book{Lach95, Author = {T. Lachand-Robert}, Isbn = {2-225-84832-7}, Keywords = {scglib tex latex}, Publisher = {Mason}, Title = {La maitrise de TeX et LaTeX}, Year = {1995} } @inproceedings{Laco91a, Address = {Geneva, Switzerland}, Author = {Serge Lacourte}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-obcl guide ecoop91proc exceptions}, Misc = {July 15--19}, Month = jul, Pages = {268--287}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Exceptions in Guide, an Object-Oriented Language for Distributed Applications}, Volume = 512, Year = {1991} } @article{Ladd97a, Author = {Laddaga, R. and Veitch, J.}, Journal = {Communications of the ACM}, Keywords = {olit}, Month = may, Number = {5}, Pages = {36--38}, Publisher = {ACM Press}, Title = {Dynamic Object Technology}, Volume = {40}, Year = {1997} } @article{Laem01a, Author = {Ralf L\"ammel and Chris Verhoef}, Doi = {10.1002/spe.423.abs}, Journal = {Software---Practice \& Experience}, Keywords = {parsing}, Month = dec, Number = {15}, Pages = {1395--1438}, Title = {Semi-automatic Grammar Recovery}, Url = {http://www.cs.vu.nl/grammars/ge.html}, Volume = {31}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.vu.nl/grammars/ge.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/spe.423.abs} } @article{Laem01b, Author = {Ralf L\"ammel and Chris Verhoef}, Doi = {10.1109/52.965809}, Journal = {IEEE Software}, Keywords = {parsing}, Month = nov, Number = {6}, Pages = {78--88}, Title = {Cracking the 500-Language Problem}, Url = {http://csdl2.computer.org/dl/mags/so/2001/06/s6078.htm http://csdl.computer.org/dl/mags/so/2001/06/s6078.pdf}, Volume = {18}, Year = {2001}, Bdsk-Url-1 = {http://csdl2.computer.org/dl/mags/so/2001/06/s6078.htm%20http://csdl.computer.org/dl/mags/so/2001/06/s6078.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/52.965809} } @article{Laem01c, title = {Grammar adaptation}, author = {Ralf L\"{a}mmel}, journal = {FME 2001: Formal Methods for Increasing Software Productivity}, pages = {550--570}, year = {2001}, publisher = {Springer} } @inproceedings{Laem05a, Author = {Ralf L{\"a}mmel and Simon L. Peyton Jones}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Booktitle = {ICFP}, Doi = {10.1145/1086365.1086391}, Pages = {204-215}, Title = {Scrap your boilerplate with class: extensible generic functions}, Url = {http://research.microsoft.com/~simonpj/papers/hmap/gmap3.pdf}, Year = {2005}, Bdsk-Url-1 = {http://research.microsoft.com/~simonpj/papers/hmap/gmap3.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1086365.1086391} } @article{Laem10a, author = {Ralf L\"{a}mmel and Vadim Zaytsev}, title = {Recovering Grammar Relationships for the {Java} Language Specification}, journal = {Software Quality Journal}, year = {2010}, volume = {SCAM Special Issue}, publisher = {Springer}, note = {To appear} } @inproceedings{Laen88a, Address = {Oslo}, Author = {Els Laenens and Dirk Vermeir}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-oopl oops+ oodb ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {350--373}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Overview of {OOPS}+, An Object-Oriented Database Programming Language}, Volume = {322}, Year = {1988} } @inproceedings{Laen89a, Address = {Nottingham}, Author = {Els Laenens and Fran\c{c}ois Staes and Dirk Vermeir}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-db binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {367--381}, Publisher = {Cambridge University Press}, Title = {A Customizable Window-Interface to Object-Oriented Databases}, Year = {1989} } @techreport{Laff85a, Author = {M.R. Laff and Brent Hailpern}, Institution = {IBM Thomas J. Watson Research Center, Yorktown Heights, New York}, Keywords = {olit-oopl smallworld}, Title = {{SW} 2 --- An Object-based Programming Environment}, Type = {Technical Report}, Year = {1985} } @article{Laff91a, Author = {J. van den Bos and C. Laffra}, Journal = {Acta Informatica}, Pages = {511--538}, Title = {PROCOL: a Concurrent Object-Oriented Langugae with Protocols delegation and constraints}, Volume = {28}, Year = {1991} } @phdthesis{Laff92a, Author = {Chris Laffra}, Keywords = {olit-obcl procol concurrency binder (shelf)}, Month = may, School = {Erasmus University of Rotterdam}, Title = {{PROCOL} --- {A} Concurrent Object Language with Protocols, Delegation, Persistence and Constraints}, Type = {{Ph.D}. Thesis}, Year = {1992} } @inproceedings{Laff94a, Author = {C. Laffra and A. Malhotra}, Booktitle = {Proceedings of USENIX C++ Technical Conference}, Pages = {109--122}, Title = {HotWire --- {A} Visual Debugger for {C}++}, Year = {1994} } @inproceedings{Lafo88a, Address = {Isle of Thorna}, Author = {Yves Lafont}, Booktitle = {Lecture notes for the Summer School on Constructive Logics and Category Theory}, Keywords = {linear-logic binder}, Month = aug, Title = {Introduction to Linear Logic}, Year = {1988} } @article{Lafo88b, Author = {Yves Lafont}, Journal = {Theoretical Computer Science}, Keywords = {linear-logic binder}, Pages = {157--180}, Publisher = {North-Holland}, Title = {The Linear Abstract Machine}, Volume = {59}, Year = {1988} } @inproceedings{Lafo90a, Address = {Leuven}, Author = {Yves Lafont}, Booktitle = {Lecture Notes for the 2nd European Summer School in Language, Logic and Information}, Keywords = {linear-logic binder}, Misc = {July-Aug.}, Month = jul, Title = {Sequent Calculus and Linear Logic}, Year = {1990} } @inproceedings{Lafo90b, Address = {San Francisco}, Author = {Yves Lafont}, Booktitle = {Proceedings POPL '90}, Keywords = {linear-logic binder(visprog) popl90}, Misc = {Jan 17-19}, Month = jan, Pages = {95--108}, Title = {Interaction Nets}, Year = {1990} } @inproceedings{Lagu97a, Author = {Bruno Lagu{\"e} and Daniel Proulx and Ettore M. Merlo and Jean Mayrand and John Hudepohl}, Booktitle = {Proceedings of ICSM (International Conference on Software Maintenance)}, Keywords = {oorp clones}, Organization = {IEEE}, Title = {Assessing the Benefits of Incorporating Function Clone Detection in a Development Process}, Year = {1997} } @inproceedings{Lagu98a, Author = {Bruno Lagu{\"e} and Charles Leduc and Andr{\'e} Le Bon and Ettore Merlo and Michel Dagenais}, Booktitle = {Proceedings IWPC '98}, Title = {An Analysis Framework for Understanding Layered Software Architectures}, Year = {1998} } @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}, Booktitle = {ECOOP Workshops}, Keywords = {arevalo}, Pages = {101--117}, Title = {MASPEGHI 2004 Mechanisms for Specialization, Generalization and Inheritance}, Url = {http://scg.unibe.ch/archive/papers/Lahi04aECOOP04MaspeghiWorkshop.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lahi04aECOOP04MaspeghiWorkshop.pdf} } @inproceedings{Lai91a, Address = {Portland, Oregon}, Author = {K-Y. Lai and T.W. Malone}, Booktitle = {Proceedings CSCW '88}, Keywords = {olit}, Month = sep, Pages = {115--124}, Title = {Object Lens: {A} ``Spreadsheet'' for Cooperative Work}, Year = {1991} } @inproceedings{Lakh93a, 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.}, Author = {A. Lakhotia}, Booktitle = {Proceedings 15th ICSE}, Pages = {35--44}, Title = {{Rule-based approach to computing module cohesion}}, Year = {1993} } @inproceedings{Lakh00a, Author = {Lakhotia and Gravley}, Booktitle = {Proceedings of Working Conference on Reverse Engineering (WCRE)}, Doi = {10.1109/WCRE.1995.514714}, Pages = {262--272}, Publisher = {IEEE CS}, Title = {Toward Experimental Evaluation of Subsystem Classification Recovery Techniques}, Year = {1995}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.1995.514714} } @article{Lakh97a, Author = {A. Lakhotia}, Journal = {Journal of Systems and Software}, Month = mar, Pages = {211--231}, Title = {A unified framework for expressing software subsystem classification techniques}, Year = {1997} } @inproceedings{Lakh03a, Author = {Arun Lakhotia and Junwei Li and Andrew Walenstein and Yun Yang}, Booktitle = {Proc. of the 11th International IEEE Workshop on Program Comprehension (IWPC'03)}, Month = may, Pages = {285--286}, Publisher = {IEEE}, Title = {Towards a Clone detection Benchmark Suite and results Archive}, Year = {2003} } @inproceedings{Lakh04a, Address = {Delft, the Netherlands}, Author = {Arun Lakhotia and Moinuddin Mohammed}, Booktitle = {Proceedings of Eleventh Working Conference on Reverse Engineering (WCRE'04)}, Month = nov, Pages = {161--170}, Publisher = {IEEE Computer Society}, Title = {Imposing Order on Program Statements to Assist Anti-Virus Scanners}, Year = {2004} } @book{Lako90a, Author = {George Lakoff}, Isbn = {0226468046}, Keywords = {examples}, Publisher = {University Of Chicago Press}, Title = {Woman, Fire, And Dangerous Things}, Year = {1990} } @book{Lako96a, Author = {John Lakos}, Isbn = {0-201-63362-0}, Keywords = {olit-oopl}, Publisher = {Addison Wesley}, Title = {Large Scale C++ Software Design}, Year = {1996} } @article{Lalo89a, Author = {Wilf R. LaLonde}, Journal = {Transactions on Programming Languages and Systems}, Month = apr, Number = {2}, Organization = {ACM}, Pages = {212--248}, Title = {Designing Families of Data Types Using Exemplars}, Volume = {11}, Year = {1989} } @article{Lalo94b, Author = {Wilf Lalonde and John Pugh}, Journal = {Journal of Object-Oriented Programming}, Month = mar, Pages = {33--37}, Title = {{Gathering} {Metric} {Information} using {Metalevel} {Facilities}}, Year = {1994} } @book{Lamb97a, Author = {Kenneth A. Lambert and Martin Osborne}, Keywords = {smalltalk scglib}, Publisher = {PWS Publishing Company}, Title = {Smalltalk in Brief}, Year = {1997} } @inproceedings{Lamm93a, Abstract = {(abstract of keynote address)}, Address = {Kaiserslautern, Germany}, Author = {Michael G. Lamming}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {1--3}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Intimate Computing and the Memory Prosthesis: {A} Challenge for Computer Systems Research?}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @article{Lamp73a, Address = {New York, NY, USA}, Author = {Butler W. Lampson}, Doi = {10.1145/362375.362389}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {10}, Pages = {613--615}, Publisher = {ACM}, Title = {A note on the confinement problem}, Volume = {16}, Year = {1973}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/362375.362389} } @article{Lamp78a, Author = {Leslie Lamport}, Journal = {CACM}, Keywords = {concurrency other distribution synchronization}, Month = jul, Number = {7}, Title = {Time, Clocks, and the Ordering of Events in a Distributed System}, Volume = {21}, Year = {1978} } @article{Lamp80a, Author = {Butler W. Lampson and D.D. Redell}, Journal = {CACM}, Keywords = {olit-oopl mesa}, Month = feb, Number = {2}, Pages = {105--117}, Title = {Experience with Processes and Monitors in Mesa}, Volume = {23}, Year = {1980} } @incollection{Lamp81a, Author = {Butler W. Lampson}, Booktitle = {Distributed Systems --- Architecture and Implementation}, Editor = {B.W. Lampson and M. Paul and H.J. Siegert}, Keywords = {olit transactions}, Pages = {246--265}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Atomic Transactions}, Volume = {150}, Year = {1981} } @article{Lamp83a, Author = {Leslie Lamport}, Journal = {ACM TOPLAS}, Keywords = {concurrency}, Month = apr, Number = {2}, Pages = {190--222}, Title = {Specifying Concurrent Program Modules}, Volume = {5}, Year = {1983} } @article{Lamp88a, Author = {Leslie Lamport}, Journal = {ACM TOPLAS}, Keywords = {concurrency safety}, Month = apr, Number = {2}, Pages = {267--281}, Title = {Control Predicates Are Better Than Dummy Variables for Reasoning About Program Control}, Volume = {10}, Year = {1988} } @article{Lamp89a, Author = {Leslie Lamport}, Journal = {CACM}, Keywords = {concurrency safety}, Month = jan, Number = {1}, Pages = {32--45}, Title = {A Simple Approach to Specifying Concurrent Systems}, Volume = {32}, Year = {1989} } @techreport{Lamp90a, Address = {Palo Alto, California}, Author = {Leslie Lamport}, Institution = {DEC Systems Research Center}, Keywords = {temporal-logic tla binder (shelf)}, Month = apr, Number = {57}, Title = {A Temporal Logic of Actions}, Type = {Technical Report}, Year = {1990} } @inproceedings{Lamp90b, Address = {New York, NY, USA}, Author = {John Lamping}, Booktitle = {POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Doi = {10.1145/96709.96711}, Isbn = {0-89791-343-4}, Keywords = {visprog}, Location = {San Francisco, California, United States}, Pages = {16--30}, Publisher = {ACM}, Title = {An algorithm for optimal lambda calculus reduction}, Year = {1990}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/96709.96711} } @techreport{Lamp91a, Address = {Palo Alto, California}, Author = {Leslie Lamport}, Institution = {DEC Systems Research Center}, Keywords = {temporal-logic tla binder (shelf)}, Month = dec, Number = {79}, Title = {The Temporal Logic of Actions}, Type = {Technical Report}, Year = {1991} } @inproceedings{Lamp93a, Author = {John Lamping}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93 binder}, Month = oct, Pages = {201--214}, Title = {Typing the Specialization Interface}, Volume = {28}, Year = {1993} } @inproceedings{Lamp94a, Address = {Bologna, Italy}, Author = {John Lamping and Mart{\'\i}n Abadi}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {60--80}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Methods as Assertions}, Volume = {821}, Year = {1994} } @book{Lamp94b, Author = {Leslie Lamport}, Edition = {2nd}, Isbn = {0-201-52983-1}, Keywords = {latex scglib}, Publisher = {Addison Wesley}, Title = {Latex User's Guide and Reference Manual}, Year = {1994} } @inproceedings{Lamp95a, Author = {John Lamping and Ramana Rao and Peter Pirolli}, Booktitle = {Proceedings of CHI '95 (International Conference on Human Factors in Computing Systems)}, Location = {Denver, Colorado, USA}, Publisher = {ACM Press}, Title = {A {Focus} + {Context} {Technique} based on {Hyperbolic} {Geometry} for {Visualising} {Large} {Hierarchies}}, Year = {1995} } @book{Lams91a, Address = {Kaiserslautern, Germany}, Editor = {van Lamsweerde, A.Fugetta, A.}, Isbn = {3-540-54742-8}, Keywords = {olit esec91 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESEC}'91}, Volume = {550}, Year = {1991} } @article{Land66a, Author = {P.J. Landin}, Doi = {10.1145/365230.365257}, Issn = {0001-0782}, Journal = {Communications of the ACM}, Keywords = {fpl iswim binder(fp)}, Month = mar, Number = {3}, Pages = {157--166}, Title = {The Next 700 Programming Languages}, Url = {http://www.cs.utah.edu/~eeide/compilers/old/papers/p157-landin.pdf}, Volume = {9}, Year = {1966}, Bdsk-Url-1 = {http://www.cs.utah.edu/~eeide/compilers/old/papers/p157-landin.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/365230.365257} } @article{Land81a, Author = {C.E. Landwehr}, Journal = {ACM Computing Surveys}, Keywords = {security olit}, Month = sep, Number = {3}, Pages = {247--278}, Title = {Formal Models for Computer Security}, Volume = {13}, Year = {1981} } @inproceedings{Land90a, Author = {T. Landauer and M. Littmann}, Booktitle = {In Proceedings of the 6th Conference of the UW Centre for the New Oxford English Dictionary and Text Research}, Pages = {31--38}, Title = {Fully automatic cross-language document retrieval using latent semantic indexing}, Year = {1990} } @inproceedings{Land97a, Author = {T. Landauer and S. Dumais}, Booktitle = {Psychological Review}, Pages = {211--240}, Title = {The Latent Semantic Analysis Theory of Acquisition, Induction, and Representation of Knowledge}, Volume = {104/2}, Year = {1991} } @techreport{Lane90a, Author = {Thomas G. Lane}, Institution = {Carnegie Mellon University, Software Engineering Institute}, Month = nov, Title = {A Design Space and Design Rules for User Interface Software Architecture}, Type = {{CMU/SEI-90-TR-22, ESD-90-TR-223}}, Year = {1990} } @book{Lane92a, Author = {Cosimo Laneve and Ugo Montanari}, Keywords = {pcalc mobility (uwe)}, Pages = {336--345}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Mobility in the {CC}-Paradigm}, Volume = {629}, Year = {1992} } @inproceedings{Lang86a, Author = {Kevin J. Lang and Barak A. Pearlmutter}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl oaklisp lisp tfc oopsla86}, Month = nov, Pages = {30--37}, Title = {Oaklisp: an Object-Oriented Scheme with First Class Types}, Volume = {21}, Year = {1986} } @article{Lang88a, 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.}, Author = {Kevin J. Lang and Barak A. Pearlmutter}, Journal = {Lisp and Symbolic Computation: An International Journal}, Keywords = {olit-oopl oaklisp lisp (smc)}, Month = may, Number = {1}, Pages = {39--51}, Publisher = {Kluwer Academic Publishers}, Title = {Oaklisp: an Object-Oriented Dialect of Scheme}, Volume = {1}, Year = {1988} } @book{Lang89a, Address = {Redwood City, CA}, Author = {Christopher G. Langton}, Publisher = {Addison-Wesley}, Title = {Artificial Life}, Year = {1989} } @inproceedings{Lang95a, Address = {New York NY}, Author = {Danny Lange and Yuichi Nakamura}, Booktitle = {Proceedings ACM International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'95)}, Keywords = {ooreveng famoos}, Pages = {342--357}, Publisher = {ACM Press}, Title = {Interactive Visualization of Design Patterns can help in Framework Understanding}, Year = {1995} } @inproceedings{Lang95b, Author = {D.B. Lange and Y. Nakamura}, Booktitle = {Proceedings of Usenix Conference on Object-Oriented Technologies}, Pages = {39--54}, Title = {Program Explorer: {A} Program Visualizer for {C}++}, Year = {1995} } @techreport{Lang95c, Author = {D.B. Lange and Y. Nakamura}, Institution = {IBM Research, Tokyo Research Laboratory}, Number = {RT0111}, Title = {Object-Oriented Program Tracing and Visualization}, Type = {Research Report}, Year = {1995} } @article{Lang97a, Address = {Los Alamitos, CA, USA}, Author = {Danny B. Lange and Yuichi Nakamura}, Doi = {10.1109/2.589912}, Issn = {0018-9162}, Journal = {Computer}, Number = {5}, Pages = {63-70}, Publisher = {IEEE Computer Society}, Title = {Object-Oriented Program Tracing and Visualization}, Volume = {30}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.589912} } @article{Lang98a, Author = {Danny B. Lange and Mitsuru Oshima}, Journal = {World Wide Web Journal}, Keywords = {oolit agents java aglet}, Title = {Mobile Agents with {Java}: The Aglet API}, Year = {1998} } @inproceedings{Lang05a, Address = {New York, NY, USA}, Author = {Guillaume Langelier and Houari A. Sahraoui and Pierre Poulin}, Booktitle = {ASE '05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering}, Doi = {10.1145/1101908.1101941}, Isbn = {1-59593-993-4}, Location = {Long Beach, CA, USA}, Pages = {214--223}, Publisher = {ACM}, Title = {Visualization-based analysis of quality for large-scale software systems}, Url = {http://dx.doi.org/10.1145/1101908.1101941}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1101908.1101941} } @inproceedings{Lang07a, Author = {Christian F.J. Lange and Michel Chaudron}, Booktitle = {Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension)}, Pages = {221 - 230}, Publisher = {IEEE CS Press}, Title = {Interactive Views to Improve the Comprehension of UML Models - An Experimental Validation}, Year = {2007} } @inproceedings{Lang08a, Abstract = {Systems must co-evolve with their context. Reverse engineering tools are a great help in this process of required adaption. In order for these tools to be flexible, they work with models, abstract representations of the source code. The extraction of such information from source code can be done using a parser. However, it is fairly tedious to build new parsers. And this is made worse by the fact that it has to be done over and over again for every language we want to analyze. In this paper we propose a novel approach which minimizes the knowledge required of a certain language for the extraction of models implemented in that language by reflecting on the implementation of preparsed ASTs provided by an IDE. In a second phase we use a technique referred to as Model Mapping by Example to map platform dependent models onto domain specific model.}, Annote = {internationalworkshop}, Author = {Daniel Langone and Toon Verwaest}, Booktitle = {2nd Workshop on FAMIX and Moose in Software Reengineering (FAMOOSr 2008)}, Keywords = {scg08 scg-pub skip-doi jb09 hasler08 moose-pub tverwaes}, Medium = {2}, Month = oct, Pages = {32--35}, Peerreview = {yes}, Title = {Extracting models from {IDEs}}, Url = {http://scg.unibe.ch/archive/papers/Lang08aModelExtraction.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lang08aModelExtraction.pdf} } @techreport{Lang09a, Abstract = {Reverse engineering tools are a great help in the process of adapting an existing software system to novel contexts. Current implementations use models of software systems to keep themselves language independent. This also implies that the models have to be built before a software system can be analyzed by such a tool. A common approach is to build language specific parsers to extract the information from the source-code. But: Manually building parsers is tedious work. This calls for a new approach. In our approach we rely on the fact that there are already pre-parsed ASTs of software systems. Such parsing applications can be found in applications which host software systems of several languages. These ASTs are needed by the host application to provide auto-completion or syntax highlighting for example. In order to minimize the required knowledge about a certain language when extracting models we recycle those ASTs. We hook into a specific host application, Eclipse, and the ASTs generated by such parsing applications, namely language plugins. Such a language plugin is responsible for building the AST from a software system written in that language and thus provides support for that language to Eclipse. The basic idea relies on extracting the information of such an AST to build a model which can be used by reverse engineering applications.}, Author = {Daniel Langone}, Institution = {University of Bern}, Keywords = {snf09 scg-bp jb09}, Month = jan, Title = {Recycling Trees: Mapping {Eclipse} {ASTs} to {Moose} Models}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Lang09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Lang09a.pdf} } @phdthesis{Lang10a, author = {Guillaume Langelier}, abstract = {Nowadays, software development has to deal more and more with complex huge programs, constructed and maintained by large teams working in different locations. During his daily tasks, each developer may have to answer varied questions using information coming from different sources. In order to improve global performance during software development, we propose to integrate to a popular IDE (Eclipse) our new visualization tool (VERSO), which computes, organizes, displays and allows navigation through information in a coherent, effective, and intuitive way in order to benefit from the human visual system when exploring complex data. We propose to structure information along three axes: (1) context (quality, version control, etc.) determines the type of information; (2) granularity level (code line, method, class, and package) determines the appropriate level of details; and (3) evolution extracts information from the desired software version. Each software view corresponds to a discrete coordinate according to these three axes. Coherence is maintained by navigating only between adjacent views, which reduces cognitive effort as users are searching information to answer their questions. Two experiments involving representative tasks have validated the interest for our integrated approach. Results lead us to believe that an access to varied information represented graphically and coherently should be highly beneficial to the development of modern software. }, title = {Int{\'e}gration de la visualisation {\`a} multiples vues pour le d{\'}eveloppement du logiciel}, month = dec, year = {2010}, type = {Ph.D. Thesis}, school = {D{\'e}partement d'Informatique et Recherche, Op{\'e}rationnelle, Universit{\'e} de Montr{\'e}al}, url = {http://www.iro.umontreal.ca/labs/infographie/theses/langelig-phd/Langelier-2010-PhdThesis.pdf} } @inproceedings{Lang11a, Abstract = {Subjective behavior is essential for applications that must adapt their behavior to changing circumstances. Many different solutions have been proposed in the past, based, for example, on perspectives, roles, contextual layers, and "force trees". Although these approaches are somehow equally expressive, each imposes a particular world view which may not be appropriate for all applications. We propose a unification of these approaches, called Subjectopia, which makes explicit the underlying abstractions needed to support subjective behavior, namely subjects, contextual elements and decision strategies. We demonstrate how Subjectopia subsumes existing approaches, provides a more general foundation for modeling subjective behavior, and offers a means to alter subjective behavior in a running system.}, Annote = {internationalconference}, Author = {Daniel Langone and Jorge Ressia and Oscar Nierstrasz}, Booktitle = {Proceedings of the 49th International Conference on Objects, Models, Components and Patterns (TOOLS'11)}, Keywords = {scg-pub scg11 snf11 jb11 bifrost}, Publisher = {Springer-Verlag}, Volume = {6705}, Series = {LNCS}, Medium = {2}, Peerreview = {yes}, Ratex = {28%}, Title = {Unifying Subjectivity}, Year = {2011}, Month = jun, Pages = {115--130}, Doi = {10.1007/978-3-642-21952-8_10}, Url = {http://scg.unibe.ch/archive/papers/Lang11aSubjectivity.pdf} } @mastersthesis{Lang11b, Abstract = {Subjective behavior is essential for applications that must adapt their behavior to changing circumstances. Many different solutions have been proposed in the past, based, for example, on perspectives, roles, contextual layers, and ``force trees''. Although these approaches are equally expressive, each imposes a particular world view which may not be appropriate for all applications. We propose a unification of these approaches, called SUBJECTOPIA, which makes explicit the underlying abstractions needed to support subjective behavior, namely subjects, contextual elements and decision strategies. We demonstrate how SUBJECTOPIA subsumes existing approaches, provides a more general foundation for modeling subjective behavior, and offers a means to alter subjective behavior in a running system.}, Author = {Daniel Langone}, Keywords = {scg-msc jb11 snf11 subjectopia}, Month = feb, School = {University of Bern}, Title = {Subjectopia --- Unifying Subjectivity}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Lang11b.pdf}, Year = {2011} } @inproceedings{Lano92a, Address = {Utrecht, the Netherlands}, Author = {K.C. Lano and H. Haughton}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit specification ecoop92proc}, Month = jun, Pages = {78--97}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reasoning and Refinement in Object-Oriented Specification Languages}, Volume = {615}, Year = {1992} } @mastersthesis{Lanz99a, 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}, Author = {Michele Lanza}, Keywords = {snf-none oobib scg-pub skip-doi scg-msc jb00 oorp moose-pub}, Month = oct, School = {University of Bern}, Title = {Combining {Metrics} and {Graphs} for {Object} {Oriented} {Reverse} {Engineering}}, Type = {Diploma {Thesis}}, Url = {http://scg.unibe.ch/archive/masters/Lanz99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Lanz99a.pdf} } @inproceedings{Lanz01a, 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}, Author = {Michele Lanza and St\'ephane Ducasse and Lukas Steiger}, Booktitle = {Proceedings of the Workshop on Formal Foundations of Software Evolution}, Keywords = {scg-pub skip-doi snf01 jb01 stefPub moose-pub}, Title = {Understanding Software Evolution using a Flexible Query Engine}, Url = {http://scg.unibe.ch/archive/papers/Lanz01aQueryEngine.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz01aQueryEngine.pdf} } @inproceedings{Lanz01b, 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}, Author = {Michele Lanza and St\'ephane Ducasse}, Booktitle = {Proceedings of 16th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA '01)}, Doi = {10.1145/504282.504304}, Keywords = {scg-pub snf01 jb01 stefPub moose-pub}, Misc = {acceptance rate: 27/145 = 18\%}, AcceptTotal = {145}, AcceptNum = {27}, Pages = {300--311}, Publisher = {ACM Press}, Title = {A {Categorization} of {Classes} based on the {Visualization} of their {Internal} {Structure}: the {Class} {Blueprint}}, Url = {http://scg.unibe.ch/archive/papers/Lanz01bClassBlueprint.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz01bClassBlueprint.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/504282.504304} } @inproceedings{Lanz01c, 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}, Author = {Michele Lanza}, Booktitle = {Proceedings of IWPSE 2001 (International Workshop on Principles of Software Evolution)}, Doi = {10.1145/602461.602467}, Keywords = {scg-pub snf01 jb01 moose-pub}, Pages = {37--42}, Title = {The Evolution Matrix: Recovering Software Evolution using Software Visualization Techniques}, Url = {http://scg.unibe.ch/archive/papers/Lanz01cEvolutionMatrix.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz01cEvolutionMatrix.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/602461.602467} } @inproceedings{Lanz01d, 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}, Author = {Michele Lanza and St\'ephane Ducasse}, Booktitle = {Workshop Proceedings of OOPSLA 2001}, Keywords = {scg-pub skip-doi snf01 jb01 stefPub moose-pub}, Title = {The Class Blueprint: A Visualization of the Internal Structure of Classes}, Url = {http://scg.unibe.ch/archive/papers/Lanz01dClassBlueprint.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz01dClassBlueprint.pdf} } @inproceedings{Lanz02a, 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.}, Address = {Paris}, Annote = {nationalconference}, Author = {Michele Lanza and St\'ephane Ducasse}, Booktitle = {Proceedings of Langages et Mod\`eles \`a Objets (LMO'02)}, Keywords = {scg-pub skip-doi jb02 snf02 stefPub moose-pub}, Pages = {135--149}, Publisher = {Lavoisier}, Title = {Understanding Software Evolution Using a Combination of Software Visualization and Software Metrics}, Url = {http://scg.unibe.ch/archive/papers/Lanz02aEvolutionMatrix.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz02aEvolutionMatrix.pdf} } @inproceedings{Lanz02b, 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}, Author = {Michele Lanza and St\'ephane Ducasse}, 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}, Isbn = {84-699-8696-1}, Keywords = {scg-pub skip-doi jb02 snf02 stefPub moose-pub}, Pages = {77--84}, Title = {Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics}, Url = {http://scg.unibe.ch/archive/papers/Lanz02bModelIndependentMetrics.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz02bModelIndependentMetrics.pdf} } @inproceedings{Lanz03a, 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}, Author = {Michele Lanza}, Booktitle = {Proceedings of CSMR 2003}, Doi = {10.1109/CSMR.2003.1192450}, Keywords = {recast03 scg-pub jb03 moose-pub}, Misc = {acceptance rate: 40/118 = 34\%}, AcceptTotal = {118}, AcceptNum = {40}, Pages = {409--418}, Publisher = {IEEE Press}, Title = {{CodeCrawler} --- Lessons Learned in Building a Software Visualization Tool}, Url = {http://scg.unibe.ch/archive/papers/Lanz03aLessonsLearned.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz03aLessonsLearned.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2003.1192450} } @phdthesis{Lanz03b, 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.}, Author = {Michele Lanza}, Keywords = {recast03 scg-pub skip-doi scg-phd evolution jb03 moose-pub}, Misc = {Recipient of the Denert-Stiftung Software Engineering Prize 2003}, Month = may, School = {University of Bern}, Title = {Object-Oriented Reverse Engineering --- Coarse-grained, Fine-grained, and Evolutionary Software Visualization}, Url = {http://scg.unibe.ch/archive/phd/lanza-phd.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/lanza-phd.pdf} } @inproceedings{Lanz03c, 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.}, Author = {Michele Lanza}, Booktitle = {Proceedings of VisSoft 2003 (2nd International Workshop on Visualizing Software for Understanding and Analysis)}, Keywords = {recast04 scg-pub skip-doi jb04 moose-pub}, Pages = {62--67}, Publisher = {IEEE CS Press}, Title = {Program Visualization Support for Highly Iterative Development Environments}, Url = {http://scg.unibe.ch/archive/papers/Lanz03cVisSoft.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz03cVisSoft.pdf} } @article{Lanz03d, 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}, Author = {Michele Lanza and St\'ephane Ducasse}, Doi = {10.1109/TSE.2003.1232284}, Journal = {Transactions on Software Engineering (TSE)}, Keywords = {scg-pub jb04 recast04 stefPub moose-pub}, Misc = {SCI impact factor 1.73}, Month = sep, Number = {9}, Pages = {782--795}, Publisher = {IEEE Computer Society}, Title = {Polymetric Views---A Lightweight Visual Approach to Reverse Engineering}, Url = {http://scg.unibe.ch/archive/papers/Lanz03dTSEPolymetric.pdf}, Volume = {29}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz03dTSEPolymetric.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/TSE.2003.1232284} } @inproceedings{Lanz03e, 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.}, Annote = {tooldemo}, Author = {Michele Lanza}, Booktitle = {Proceedings of VisSoft 2003 (2nd International Workshop on Visualizing Software for Understanding and Analysis)}, Keywords = {recast04 scg-pub skip-doi jb04 moose-pub lanza}, Pages = {51--52}, Publisher = {IEEE CS Press}, Title = {{CodeCrawler} --- A Lightweight Software Visualization Tool}, Url = {http://scg.unibe.ch/archive/papers/Lanz03eVisSoft.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz03eVisSoft.pdf} } @inproceedings{Lanz04b, Annote = {tooldemo}, Author = {Michele Lanza}, Booktitle = {Proceedings of ASE 2004 (19th IEEE International Conference on Automated Software Engineering)}, Keywords = {mlanza moose-pub}, Pages = {394--395}, Publisher = {IEEE CS Press}, Title = {{CodeCrawler} --- Polymetric Views in Action}, Year = {2004} } @inproceedings{Lanz05a, Annote = {tooldemo}, Author = {Michele Lanza and St\'ephane Ducasse and Harald Gall and Martin Pinzger}, Booktitle = {Proceedings of ICSE 2005 (27th IEEE International Conference on Software Engineering)}, Keywords = {mlanza moose-pub}, Pages = {672--673}, Publisher = {ACM Press}, Title = {{CodeCrawler} --- An Information Visualization Tool for Program Comprehension}, Year = {2005} } @incollection{Lanz05b, 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.}, Address = {Milano}, Aeres = {OS}, Aeresstatus = {aeres08}, Annote = {articlebook}, Author = {Michele Lanza and St\'ephane Ducasse}, Booktitle = {Tools for Software Maintenance and Reengineering}, Inria = {hors}, Isbn = {88-464-6396-X}, Keywords = {scg-pub skip-doi stefPub recast05 jb05 moose-pub}, Pages = {74--94}, Publisher = {Franco Angeli}, Selectif = {non}, Series = {RCOST / Software Technology Series}, Title = {{CodeCrawler} --- An Extensible and Language Independent 2D and 3D Software Visualization Tool}, Url = {http://scg.unibe.ch/archive/papers/Lanz05bCCBookChapter.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lanz05bCCBookChapter.pdf} } @book{Lanz06a, Author = {Michele Lanza and Radu Marinescu}, Isbn = {3-540-24429-8}, Keywords = {metrics visualization norex06 moose-pub}, Publisher = {Springer-Verlag}, Title = {Object-Oriented Metrics in Practice}, Url = {http://www.springer.com/alert/urltracking.do?id=5907042}, Year = {2006}, Bdsk-Url-1 = {http://www.springer.com/alert/urltracking.do?id=5907042} } @inproceedings{Lanz09a, Annote = {internationalconference}, Author = {Michele Lanza and Harald Gall and Philippe Dugerdil}, Booktitle = {Proceedings of CSMR 2009 (13th IEEE European Conference on Software Maintenance and Reengineering)}, Keywords = {moose-pub pub-iene proj-collapse}, Pages = {293 - 296}, Publisher = {IEEE CS Press}, Title = {EvoSpaces: Multi-dimensional Navigation Spaces for Software Evolution}, Year = {2009}} @inproceedings{Lanz10a, Annote = {internationalconference}, Author = {Michele Lanza and Lile Hattori and Anja Guzzi}, Booktitle = {Proceedings of CSMR 2010 (14th IEEE European Conference on Software Maintenance and Reengineering)}, Keywords = {moose-pub pub-iene proj-rebase}, Pages={207-216}, Publisher = {IEEE CS Press}, Title = {Supporting Collaboration Awareness with Real-time Visualization of Development Activity}, Year = {2010}} @incollection{Laor93a, 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.}, Author = {Amarit Laorakpong and Motoshi Saeki}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {529--543}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Object-Oriented Formal Specification Development using {VDM}}, Volume = {742}, Year = {1993} } @inproceedings{Lapi00a, Author = {S\'ebastien Lapierre and Bruno Lagu{\"e} and Charles Leduc}, Booktitle = {Proceedings of the ICSE 2000 Workshop on Standard Exchange Format (WoSEF 2000)}, Month = jun, Title = {Datrix(TM) Source Code Model and its Interchange Format: Lessons Learned and Considerations for Future Work}, Year = {2000} } @book{Larm98a, Author = {Craig Larman}, Keywords = {uml book scglib}, Publisher = {Prentice-Hall}, Title = {Applying {UML} and Patterns, An Introduction to Object-Oriented Analysis and Design}, Year = {1998} } @inproceedings{Laro03a, Author = {David Larochelle and Karl Scheidt and Kevin Sullivan}, Booktitle = {Proceedings of the Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT)}, Month = mar, Note = {held in conjunction with AOSD 2003, Boston, MA}, Title = {Join Point Encapsulation}, Url = {http://www.cs.virginia.edu/~eos/Publications.htm http://www.daimi.au.dk/~eernst/splat03/index.html}, Year = {2003}, Bdsk-Url-1 = {http://www.cs.virginia.edu/~eos/Publications.htm%20http://www.daimi.au.dk/~eernst/splat03/index.html} } @inproceedings{Lars87a, Address = {Karlsruhe}, Author = {Kim G. Larsen and Robin Milner}, Booktitle = {Proceedings ICALP '87}, Editor = {Th. Ottmann}, Keywords = {pcalc equivalence ccs icalp87 binder(ccs)}, Month = jul, Pages = {126--135}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Verifying a Protocol Using Relativized Bisimulation}, Volume = {267}, Year = {1987} } @inproceedings{Lars88a, Address = {Nancy}, Author = {Kim G. Larsen}, Booktitle = {Proceedings CAAP '88}, Editor = {M. Dauchet and M. Nivat}, Keywords = {pcalc equivalence ccs binder(ccs) caap88}, Month = mar, Pages = {215--230}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proof Systems for Hennessy-Milner Logic with Recursion}, Volume = {299}, Year = {1988} } @inproceedings{Lars88b, Address = {Edinburgh}, Author = {Kim G. Larsen and Bent Thomsen}, Booktitle = {Proceedings 3d Annual Symposium on Logic in Computer Science}, Keywords = {pcalc equivalence ccs logic binder}, Title = {A Modal Process Logic}, Year = {1988} } @inproceedings{Lars89a, Author = {Kim G. Larsen}, Booktitle = {Automatic Verification Methods for Finite State Systems: Proceedings}, Editor = {Joseph Sifakis}, Keywords = {pcalc ccs equivalence binder}, Pages = {232--246}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modal Specifications}, Volume = {407}, Year = {1989} } @inproceedings{Lars89b, Address = {Austin, Texas}, Author = {Kim G. Larsen and Arne Skou}, Booktitle = {Proceedings POPL '89}, Keywords = {pcalc equivalence ccs binder popl89}, Misc = {Jan 11-13}, Month = jan, Pages = {344--352}, Title = {Bisimulation Through Probabilistic Testing}, Year = {1989} } @inproceedings{Lars90a, Address = {Warwick U.}, Author = {Kim G. Larsen and Liu Xinxin}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {pcalc ccs icalp90 binder(ccs)}, Month = jul, Pages = {526--539}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Compositionality Through an Operational Semantics of Contexts}, Volume = {443}, Year = {1990} } @book{Lars93a, Author = {Gary Larson}, Publisher = {Andrews McMeel Publishing}, Title = {The Far Side Gallery 5}, Year = {1993} } @inproceedings{Lars96a, Author = {L. Larsen and M.J. Harrold}, Booktitle = {Proceedings ICSE '96}, Organization = {IEEE}, Pages = {495--505}, Title = {Slicing Object-Oriented Software}, Year = {1996} } @techreport{Lasz93a, Address = {Syracuse, New York}, Author = {Gregor von Laszewski}, Institution = {Northeast Parallel Architectures Center, Syracuse University}, Keywords = {clustering}, Number = {SCCS 477}, Title = {A {Collection} of {Graph} {Partitioning} {Algorithms}: {Simulated} {Annealing}, {Simulated} {Tempering}, {Kernighan} {Lin}, {Two} {Optimal}, {Graph} {Reduction}, {Bisection}}, Year = {1993} } @inproceedings{Late03a, Author = {Mario Latendresse}, Booktitle = {Proceedings Tenth Working Conference on Reverse Engineering (WCRE 2003)}, Doi = {10.1109/WCRE.2003.1287251}, Keywords = {parsing}, Month = nov, Pages = {206--215}, Publisher = {IEEE Computer Society}, Title = {{RegReg}: a Lightweight Generator of Robust Parsers for Irregular Languages}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2003.1287251} } @inproceedings{Lato06a, abstract = {{To understand developers' typical tools, activities, and practices and their satisfaction with each, we conducted two surveys and eleven interviews. We found that many problems arose because developers were forced to invest great effort recovering implicit knowledge by exploring code and interrupting teammates and this knowledge was only saved in their memory. Contrary to expectations that email and IM prevent expensive task switches caused by face-to-face interruptions, we found that face-to-face communication enjoys many advantages. Contrary to expectations that documentation makes understanding design rationale easy, we found that current design documents are inadequate. Contrary to expectations that code duplication involves the copy and paste of code snippets, developers reported several types of duplication. We use data to characterize these and other problems and draw implications for the design of tools for their solution.}}, address = {New York, NY, USA}, author = {LaToza, Thomas D. and Venolia, Gina and DeLine, Robert}, booktitle = {ICSE '06: Proceedings of the 28th international conference on Software engineering}, citeulike-article-id= {768523}, doi = {10.1145/1134285.1134355}, isbn = {1-59593-375-1}, location = {Shanghai, China}, pages = {492--501}, posted-at = {2009-08-10 15:03:27}, priority = {0}, publisher = {ACM}, title = {{Maintaining mental models: a study of developer work habits}}, url = {http://dx.doi.org/10.1145/1134285.1134355}, year = {2006} } @inproceedings{Lau92a, Address = {Utrecht, the Netherlands}, Author = {Wing-cheong Lau and Vineet Singh}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-obc ecoop92proc}, Month = jun, Pages = {252--267}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Class Library for Scalable Parallel Heuristic Search}, Volume = {615}, Year = {1992} } @book{Lau94a, Author = {Christina Lau}, Isbn = {0-442-01948-3}, Month = mar, Publisher = {Van Nostrand Reinhold}, Title = {Object-Oriented Programming Using {SOM} and {DSOM}}, Year = {1994} } @inproceedings{Lau10a, author = {K.-K. Lau and T. Rana}, title = {A Taxonomy of Software Composition Mechanisms}, booktitle = {Proc. 36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2010)}, pages = {102-110}, year = {2010}, publisher = {IEEE} } @article{Laue98a, Author = {S\oren Lauesen}, Journal = {IEEE Software}, Keywords = {reeng reveng}, Month = mar, Pages = {76--83}, Publisher = {IEEE Computer Society Press}, Title = {Real Life Object-Oriented Systems}, Year = {1998} } @inproceedings{Laur87a, Author = {Jane Laursen and Robert Atkinson}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {377--387}, Title = {Opus: {A} {Smalltalk} Production System}, Volume = {22}, Year = {1987} } @book{Laus96a, Author = {G. Lausen and G. Vossen}, Isbn = {3-486-22370-4}, Keywords = {olit-db scglib}, Publisher = {R. Oldenbourg Verlag}, Title = {Objekt-orientierte Datenbanken: Modelle und Sprachen}, Year = {1996} } @inproceedings{Lava08a, author = {Jannik Laval and Alexandre Bergel and St\'ephane Ducasse}, title = {Assessing the Quality of your Software with MoQam}, annote = {internationalworkshop}, keywords = {moose-pub lse-pub stefPub}, booktitle = {FAMOOSr, 2nd Workshop on FAMIX and Moose in Reengineering}, year = {2008}, x-editorial-board = {yes}, x-proceedings = {no}, x-international-audience = {yes}, hal-id = {inria-00498482}, webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava08a-Famoosr2008-MoQam.pdf}, url = {http://www.jannik-laval.eu/assets/files/papers/Lava08a-Famoosr2008-MoQam.pdf} } @inproceedings{Lava09a, author = {Laval, Jannik and Denier, Simon and Ducasse, St\'ephane and Bergel, Alexandre}, title = {Identifying Cycle Causes with Enriched Dependency Structural Matrix}, booktitle = {Proceedings of the 2009 16th Working Conference on Reverse Engineering}, series = {WCRE '09}, year = {2009}, isbn = {978-0-7695-3867-9}, pages = {113--122}, numpages = {10}, url = {http://dx.doi.org/10.1109/WCRE.2009.11}, doi = {10.1109/WCRE.2009.11}, acmid = {1686214}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, keywords = {software visualization, reengineering, dependency structural matrix, package, dependency moose-pub} } @inproceedings{Lava09b, title = {Supporting Incremental Changes in Large Models}, author = {Jannik Laval and Simon Denier and St\'ephane Ducasse and Andy Kellens}, booktitle = {Proceedings of ESUG International Workshop on Smalltalk Technologies (IWST 2009)}, year = {2009}, keywords = {moose-pub lse-pub}, annote = {internationalworkshop}, aeres = {ACT}, aeresstatus = {aeres12}, selectif = {oui}, inria = {RMOD}, inriareport = {2009}, labo = {dans}, x-pays = {BE}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-country = {FR}, x-language = {EN}, address = {Brest, France}, abstract = {When reengineering large systems, software developers would like to assess and compare the impact of multiple change scenarios without actually performing these changes. A change can be effected by applying a tool to the source code, or by a manual refactoring. In addition, tools run over a model are costly to redevelop. It raises an interesting challenge for tools implementors: how to support modification of large source code models to enable comparison of multiple versions. One naive approach is to copy the entire model after each modification. However, such an approach is too expensive in memory and execution time. In this paper we explore different implementations that source code metamodels support multiple versions of a system. We propose a solution based on dynamic binding of entities between multiple versions, providing good access performance while minimizing memory consumption.}, hal-id = {inria-00498492 /}, webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09b-IWST09-incrementalChange.pdf} } @inproceedings{Lava09c, title = {Matrice de d\'ependances enrichie}, author = {Jannik Laval and Alexandre Bergel and St\'ephane Ducasse}, booktitle = {Proceedings of Languages et Mod\`eles \`a Objets (LMO 2009)}, annote = {nationalconference}, keywords = {moose-pub lse-pub}, year = {2009}, inria = {RMOD}, inriareport = {2009}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {no}, x-country = {FR}, x-language = {FR}, address = {Nancy, France}, hal-id = {inria-00498463 /}, webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09a-LMO2009-DSM.pdf}, url = {http://www.jannik-laval.eu/assets/files/papers/Lava09a-LMO2009-DSM.pdf} } @inproceedings{Lava09d, title = {Identifying cycle causes with CycleTable}, author = {Jannik Laval and Simon Denier and St\'ephane Ducasse}, booktitle = {FAMOOSr 2009: 3rd Workshop on FAMIX and MOOSE in Software Reengineering}, year = {2009}, keywords = {moose-pub lse-pub}, aeres = {ACT}, annote = {internationalworkshop}, aeresstatus = {aeres12}, labo = {dans}, inria = {RMOD}, inriareport = {2009}, selectif = {non}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-language = {EN}, x-country = {FR}, address = {Brest, France}, abstract = {No abstract}, hal-id = {inria-00498495}, webpdf = {http://www.jannik-laval.eu/assets/files/papers/Lava09d-Famoosr2009-CycleTable.pdf} } @article{Lava10b, title = {Supporting Simultaneous Versions for Software Evolution Assessment}, author = {Jannik Laval and Simon Denier and St\'ephane Ducasse and Jean-Remy Falleri}, journal = {Journal of Science of Computer Programming (SCP)}, annote = {internationaljournal}, keywords = {sub lse-pub moose-pub}, year = {2010}, month = may, inriareport = {2010}, aeres = {ACL}, aeresstatus = {aeres12}, labo = {dans}, inria = {RMOD}, misc = {Core A}, impactfactor = {Core A}, selectif = {oui}, abstract = {When reengineering software systems, maintainers should be able to assess and compare multiple change scenarios for a given goal, so as to choose the most pertinent one. Because they implicitly consider one single working copy, revision control systems do not scale up well to perform simultaneous analyses of multiple versions of systems. We designed Orion, an interactive prototyping tool for reengineering, to simulate changes and compare their impact on multiple versions of software source code models. Our approach offers an interactive simulation of changes, reuses existing assessment tools, and has the ability to hold multiple and branching versions simultaneously in memory. Specifically, we devise an infrastructure which optimizes memory usage of multiple versions for large models. This infrastructure uses an extension of the FAMIX source code meta-model but it is not limited to source code analysis tools since it can be applied to models in general. In this paper, we validate our approach by running benchmarks on memory usage and computation time of model queries on large models. Our benchmarks show that the Orion approach scales up well in terms of memory usage, while the current implementation could be optimized to lower its computation time. We also report on two large case studies on which we applied Orion.}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-language = {EN}, hal-id = {inria-00531500}, x-scientific-popularization = {yes}, pdf = {http://dx.doi.org/10.1016/j.scico.2010.11.014} } @inproceedings{Lava10e, title = {OZONE: Package Layered Structure Identification in presence of Cycles}, author = {Jannik Laval and St\'ephane Ducasse and Nicolas Anquetil}, booktitle = {9th BElgian-NEtherlands software eVOLution seminar (BENEVOL 2010)}, year = {2010}, keywords = {moose-pub pharo-pub lse-pub}, annote = {internationalworkshop}, aeres = {ACT}, aeresstatus = {aeres12}, selectif = {oui}, inria = {RMOD}, labo = {dans}, x-pays = {FR}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-country = {FR}, x-language = {EN}, address = {Lille, France} } @article{Lave95a, Author = {R. Greg Lavender and Douglas C. Schmidt}, Journal = {Proc.Pattern Languages of Programs,}, Keywords = {olit-obc design-patterns binder ACE}, Month = sep, Title = {Active Object: an Object Behavioral Pattern for Concurrent Programming}, Url = {http://www.cs.wustl.edu/~schmidt/Active-Objects.ps.Z}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/Active-Objects.ps.Z} } @book{Lawl89a, Author = {Jo A. Lawless and Molly M. Milner}, Publisher = {Digital Press}, Title = {Understanding Clos the {Common} {Lisp} {Object} {System}}, Year = {1989} } @unpublished{Lea94a, Author = {Doug Lea}, Keywords = {olit binder}, Note = {submitted ECOOP '94SUNY at Oswego / NY Case Center}, Title = {Objects in Groups}, Type = {Draft}, Year = {1994} } @inproceedings{Lea95a, Address = {Aarhus, Denmark}, Author = {Doug Lea and Jos Marlowe}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {374--398}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Interface-Based Protocol Specification of Open Systems using {PSL}}, Volume = {952}, Year = {1995} } @book{Lea96a, Author = {Doug Lea}, Isbn = {0-201-69581-2}, Keywords = {olit design-patterns java scglib oorp}, Publisher = {Addison Wesley}, Series = {The {Java} Series}, Title = {Concurrent Programming in {Java}, Design Principles and Patterns}, Year = {1996} } @inproceedings{Lea97a, Address = {Berlin, Germany}, Author = {Doug Lea}, Booktitle = {Proceedings COORDINATION '97}, Editor = {David Garlan and Daniel Le M{\`e}tayer}, Keywords = {olit coordination97 java}, Month = sep, Pages = {32--45}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Design for Open Systems in {Java}}, Volume = 1282, Year = {1997} } @book{Lea99a, Author = {Doug Lea}, Edition = {2nd}, Isbn = {0-201-31009-0}, Keywords = {olit design-patterns java}, Publisher = {Addison Wesley}, Series = {The {Java} Series}, Title = {Concurrent Programming in {Java}, Second Edition: Design principles and Patterns}, Year = {1999} } @inproceedings{Leav90a, Author = {Gary T. Leavens and William E. Weihl}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {types olit oopsla90 ecoop90proc}, Month = oct, Pages = {212--223}, Title = {Reasoning about Object-Oriented Programs that Use Subtypes}, Volume = {25}, Year = {1990} } @inproceedings{Lebl99a, Author = {Herv{\'e} Leblanc and Christoph Dony and Marianne Huchard and Th{\'e}rese Libourel}, Booktitle = {ECOOP'99: Workshop ``Object-Oriented Architectural Evolution''}, Editor = {A. Moreira and S. Demeyer}, Keywords = {fca}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An environment for building and maintaining class hierarchies}, Volume = {1743}, Year = {1999} } @phdthesis{Lebl00a, Author = {Herv{\'e} Leblanc}, School = {Universit\'{e} Montpellier 2}, 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})}, Year = {2000} } @inproceedings{Lech96a, Address = {Linz, Austria}, Author = {Ulrike Lechner and Christian Lengauer and Friederike Nickl and Martin Wirsing}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {232--247}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {(Objects + Concurrency) \& Reusability --- {A} Proposal to Circumvent the Inheritance Anomaly}, Volume = {1098}, Year = {1996} } @article{Ledg77a, Author = {H.F. Ledgard and R.W. Taylor}, Journal = {CACM}, Keywords = {types data abstraction}, Month = jun, Number = {6}, Pages = {382--384}, Title = {Two Views of Data Abstraction}, Volume = {20}, Year = {1977} } @inproceedings{Ledo96a, Author = {T. Ledoux and P. Cointe}, Booktitle = {Proceedings of ISOTAS '96, LNCS 1049}, Month = mar, Organization = {JSSST-JAIST}, Pages = {38--55}, Title = {Explicit Metaclasses as a Tool for Improving the Design of Class Libraries}, Year = {1996} } @article{Lee72a, Author = {E.T. Lee}, Journal = {Journal of Cybernetics}, Keywords = {misc}, Number = {4}, Pages = {43--59}, Title = {Proximity Measures for the Classification of Geometric Figures}, Volume = {2}, Year = {1972} } @article{Lee83a, Author = {D.L. Lee and Frederick H. Lochovsky}, Journal = {ACM Computing Surveys}, Keywords = {misc voice}, Month = dec, Number = {4}, Title = {Voice Response Systems}, Volume = {15}, Year = {1983} } @inproceedings{Lee84a, Author = {Allison Lee and Carson Woo and Frederick H. Lochovsky}, Booktitle = {Proceedings of ACM SIGOA Conference}, Keywords = {oislit documents}, Month = jun, Pages = {170--180}, Title = {Officeaid: An Integrated Document Management System}, Year = {1984} } @incollection{Lee85a, Address = {Heidelberg}, Author = {Allison Lee and Frederick H. Lochovsky}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {uilit oact85}, Pages = {3--20}, Publisher = {Springer-Verlag}, Title = {User Interface Design}, Year = {1985} } @incollection{Lee93a, 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.}, Author = {Sai Peck Lee and Colette Rolland}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {408--423}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Integration of the Tool({AWB}) Supporting the {O}* Method in the {PCTE}-Based Software Engineering Environment,}, Volume = {742}, Year = {1993} } @book{Lee95a, Address = {Philadelphia, PA, USA}, Editor = {Insup Lee and Scott A. Smolka}, Isbn = {3-540-60218-6}, Keywords = {olit concur95 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'95}, Volume = {962}, Year = {1995} } @inproceedings{Lee95b, Author = {Y. S. Lee and B. S. Liang}, Booktitle = {In Proceedings of the International Conference on Software Quality (ICSQ)}, Pages = {47--57}, Title = {Measuring the coupling and cohesion of an object-oriented program based on information flow}, Year = {1995} } @book{Lee97a, Author = {Richard C. Lee and William M. Tepfenhart}, Isbn = {0-13-619719-1}, Keywords = {c++ uml scglib new-entry}, Publisher = {Prentice-Hall}, Title = {{UML} and {C}++ {A} Practical Guide to Object-Oriented Development}, Year = {1997} } @inproceedings{Lee06a, Author = {Keunwoo Lee and Craig Chambers}, Booktitle = {Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP '06)}, Editor = {Dave Thomas}, Pages = {353--378}, Publisher = {Springer-Verlag}, Title = {Parameterized Modules for Classes and Extensible Functions}, Volume = {4067}, Year = {2006} } @article{Lefe94a, Author = {Christophe Lef\`evre and Joh-E. Ikeda}, Journal = {Nucleic Acids Research}, Keywords = {dotplot}, Number = {3}, Pages = {404--411}, Title = {A fast word search algorithm for the representation of sequence similarity in genomic {DNA}}, Volume = {22}, Year = {1994} } @article{Lehm80a, 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.}, Author = {Manny Lehman}, Journal = {Proceedings of the IEEE}, Month = sep, Number = {9}, Pages = {1060--1076}, Title = {Programs, Life Cycles, and Laws of Software Evolution}, Url = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1456074}, Volume = {68}, Year = {1980}, Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1456074} } @book{Lehm85a, Address = {London}, Author = {Manny Lehman and Les Belady}, Isbn = {0-12-442440-6}, Keywords = {oorp evolution}, Pages = {538}, Publisher = {London Academic Press}, Title = {Program Evolution: Processes of Software Change}, Url = {ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf}, Year = {1985}, Bdsk-Url-1 = {ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf} } @inproceedings{Lehm96a, Address = {Berlin}, Author = {Manny Lehman}, Booktitle = {European Workshop on Software Process Technology}, Keywords = {evolution}, Pages = {108--124}, Publisher = {Springer}, Title = {Laws of Software Evolution Revisited}, Year = {1996} } @inproceedings{Lehm97a, Address = {Los Alamitos CA}, Author = {Manny Lehman and Dewayne Perry and Juan Ramil and Wladyslaw Turski and Paul Wernick}, Booktitle = {Proceedings IEEE International Software Metrics Symposium (METRICS'97)}, Doi = {10.1109/METRIC.1997.637156}, Keywords = {evolution metrics}, Pages = {20--32}, Publisher = {IEEE Computer Society Press}, Title = {Metrics and Laws of Software Evolution--The Nineties View}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/METRIC.1997.637156} } @inproceedings{Lehm98a, Address = {Los Alamitos CA}, Author = {Manny Lehman and Dewayne Perry and Juan Ramil}, Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM'98)}, Pages = {208--217}, Publisher = {IEEE Computer Society Press}, Title = {Implications of Evolution Metrics on Software Maintenance}, Year = {1998} } @inproceedings{Lehm01a, Author = {Manny Lehman and Juan Ramil}, Booktitle = {International Conference on Software Engineering (ICSE)}, Pages = {1--16}, Title = {Evolution in Software and Related Areas}, Year = {2001} } @article{Lei02a, Doi = {10.1145/643550.643554}, author = {Lei, Hui and Sow, Daby M. and Davis,II, John S. and Banavar, Guruduth and Ebling, Maria R.}, title = {The design and applications of a context service}, keywords = {damiencbib}, journal = {ACM SIGMOBILE Mobile Computing and Communications Review}, volume = {6}, number = {4}, year = {2002}, pages = {45--55}, publisher = {ACM} } @misc{Leij01a, Author = {D. Leijen and E. Meijer}, Keywords = {parsing parser combinators}, Text = {Daan Leijen and Erik Meijer. Parsec: Direct style monadic parser combinators for the real world. Technical Report UU-CS-2001-35, Utrecht University, 2001.}, Title = {Parsec: Direct style monadic parser combinators for the real world}, Url = {citeseer.ist.psu.edu/article/leijen01parsec.html http://research.microsoft.com/users/daan/download/papers/parsec-paper.pdf}, Year = {2001}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/leijen01parsec.html%20http://research.microsoft.com/users/daan/download/papers/parsec-paper.pdf} } @inproceedings{Leit03a, Author = {Ant\'onio M. Leit{\~{a}}o}, Booktitle = {Proc. Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM)}, Keywords = {clones}, Month = sep, Pages = {183--192}, Publisher = {IEEE}, Title = {Detection of Redundant Code using {R2D2}}, Year = {2003} } @inproceedings{Leit07a, Address = {New York, NY, USA}, Author = {Andreas Leitner and Ilinca Ciupa and Manuel Oriol and Bertrand Meyer and Arno Fiva}, Booktitle = {ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering}, Doi = {10.1145/1287624.1287685}, Isbn = {978-1-59593-811-4}, Location = {Dubrovnik, Croatia}, Pages = {425--434}, Publisher = {ACM}, Title = {Contract driven development = test driven development - writing test cases}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287685} } @article{Lejt92a, Author = {Moises Lejter and Scott Meyers and Steven P. Reiss}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit}, Month = dec, Number = {12}, Pages = {1045--1052}, Title = {Support for Maintaining Object-Oriented Programs}, Volume = {SE-18}, Year = {1992} } @inproceedings{Lenc97a, Address = {New York, NY, USA}, Author = {Raimondas Lencevicius and Urs H{\"o}lzle and Ambuj K. Singh}, Booktitle = {Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming (OOPSLA'97)}, Doi = {10.1145/263698.263752}, Isbn = {0-89791-908-4}, Location = {Atlanta, Georgia, United States}, Pages = {304--317}, Publisher = {ACM}, Title = {Query-Based Debugging of Object-Oriented Programs}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/263698.263752} } @inproceedings{Lenc99a, 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.}, Address = {Lisbon, Portugal}, Author = {Raimondas Lencevicius and Urs H{\"o}lzle and Ambuj Kumar Singh}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'99)}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {135--160}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Dynamic Query-Based Debugging}, Volume = 1628, Year = {1999} } @book{Lenc00, Author = {Raimondas Lencevicius}, Keywords = {scglib}, Publisher = {Kluwer Academic Publishers}, Title = {Advanced Debugging Methods}, Year = {2000} } @inproceedings{Lern90a, Author = {Barbara Staudt Lerner and A. Nico Habermann}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {67--76}, Title = {Beyond Schema Evolution to Database Reorganization}, Volume = {25}, Year = {1990} } @article{Lero00a, Author = {Xavier Leroy}, Journal = {Journal of Functional Programming}, Keywords = {mixin module}, Number = {3}, Pages = {269--303}, Title = {A modular module system}, Volume = {10}, Year = {2000} } @inproceedings{Lero03a, Abstract = {Extended abstract of invited lecture.}, Author = {Xavier Leroy}, Booktitle = {Programming Languages and Systems: 12th European Symposium on Programming, ESOP 2003}, Editor = {P. Degano}, Keywords = {security smart-card java}, Pages = {1--9}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Computer Security from a Programming Language and Static Analysis Perspective}, Url = {http://gallium.inria.fr/~xleroy/publi/language-security-etaps03.pdf}, Urlpublisher = {http://www.springerlink.com/openurl.asp?genre=article&issn=0302-9743&volume=2618&spage=1}, Volume = {2618}, Year = {2003}, Bdsk-Url-1 = {http://gallium.inria.fr/~xleroy/publi/language-security-etaps03.pdf} } @article{Lero03b, Abstract = {Bytecode verification is a crucial security component for Java applets, on the Web and on embedded devices such as smart cards. This paper reviews the various bytecode verification algorithms that have been proposed, recasts them in a common framework of dataflow analysis, and surveys the use of proof assistants to specify bytecode verification and prove its correctness. (Extended and revised version of \cite{Leroy-survey-verif}.)}, Author = {Xavier Leroay}, Journal = {Journal of Automated Reasoning}, Keywords = {security}, Number = {3--4}, Pages = {235--269}, Title = {{Java} bytecode verification: algorithms and formalizations}, Url = {http://gallium.inria.fr/~xleroy/publi/bytecode-verification-JAR.pdf}, Urlpublisher = {http://www.springerlink.com/openurl.asp?genre=article&id=doi:10.1023/A:1025055424017}, Volume = {30}, Year = {2003}, Bdsk-Url-1 = {http://gallium.inria.fr/~xleroy/publi/bytecode-verification-JAR.pdf} } @phdthesis{Lesc92a, Author = {Lo\"ic Lescaudron}, Keywords = {olit-obcl actalk concurrency scglib}, School = {Universit\'e Paris VI}, Title = {Prototypage d'environnements de programmation pours les langages \`a objets concurrents: une r\'ealisation en Smalltak-80 pour Actalk}, Type = {{Ph.D}. Thesis}, Year = {1992} } @techreport{Lesk75a, Address = {Murray Hill, NJ}, Author = {M.E. Lesk and E. Schmidt}, Institution = {Bell Laboratories}, Keywords = {misc unix lex}, Number = {\#39}, Title = {Lex --- {A} Lexical Analyzer Generator}, Type = {Computer Science Technical Report}, Year = {1975} } @techreport{Lesk11a, Abstract = {In the Smalltalk dialects Squeak and Pharo it is difficult to view changes to source code that occurred across major releases. This poses a problem for development as well as for code analysis: Developers often need to be able to revert code to a previous version and for code analysis there should ideally be a single source of information. We solve the problem by building a Git repository with the complete source code history of Pharo. To build the repository we propose two tools: GitFS and Pharogenesis. GitFS is an implementation of Git written entirely in Smalltalk. With GitFS we can create, read and manipulate Git repositories. Pharogenesis uses GitFS to build a Git repository from the source code that Pharogenesis extracts from the source files. We also show how Git can be used to provide a single point of access for all source code from Squeak 1 through Squeak 4 and Pharo 1 using GitFS. The source code database we built with Pharogenesis is available on github (http://www.github. com/pharogenesis/pharogenesis.git).}, Author = {Max Leske}, Institution = {University of Bern}, Keywords = {snf11 scg-bp jb11}, Month = mar, Title = {The Genesis of {Pharo}: The Complete History of {Pharo} with {Git}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Lesk11a.pdf}, Year = {2011} } @techreport{Lesk11b, Abstract = {The purpose of this document is to provide users of Filesystem and GitFS with a short introduction to the main features and the basic use of both systems. When the reader has finished reading he or she will be able to work with any filesystem that supports the Filesystem public protocol and specifically know how to create, read and manipulate Git repositories from within a Pharo Smalltalk image.}, Author = {Max Leske}, Institution = {University of Bern}, Keywords = {snf11 scg-bp jb11}, Month = mar, Title = {Introduction to {Filesystem} and {GitFS}}, Type = {Bachelor's thesis, supplementary documentation}, Url = {http://scg.unibe.ch/archive/projects/Lesk11b.pdf}, Year = {2011} } @phdthesis{Leth91a, Author = {Lone Leth}, Keywords = {pcalc mobility (uwe)}, School = {Imperial College, University of London}, Title = {Functional Programs as Reconfigurable Networks of Communicating Processes}, Type = {{Ph.D}. Thesis}, Year = {1991} } @techreport{Leth92a, Author = {Lone Leth}, Institution = {European Computer-Industry Research Centre, Munich}, Keywords = {pcalc mobility (uwe)}, Title = {A New Direction in Functions as Processes}, Type = {ECRC-92-5}, Year = {1992} } @techreport{Leth97a, Author = {Timothy C. Lethbridge and Nicolas Anquetil}, Institution = {University of Ottawa}, Month = jul, Note = {Computer Science Technical Report of University of Ottawa}, Title = {Architecture of a Source Code Exploration Tool: A Software Engineering Case Study}, Url = {http://www.site.uottawa.ca/~tcl/papers/index.html}, Year = {1997}, Bdsk-Url-1 = {http://www.site.uottawa.ca/~tcl/papers/index.html} } @techreport{Leth98z, Author = {Timothy C. Lethbridge}, Institution = {University of Ottawa}, Month = nov, Note = {http://www.site.uottawa.ca/\~{}tcl/papers/sief/ standardProposalv1.html}, Title = {Requirements and Proposal for a {Software} {Information} {Exchange} {Format} ({SIEF}) Standard}, Url = {http://www.site.uottawa.ca/~tcl/papers/sief/standardProposalv1.html}, Year = {1998}, Bdsk-Url-1 = {http://www.site.uottawa.ca/~tcl/papers/sief/standardProposalv1.html} } @inproceedings{Leth04a, Author = {Timothy Lethbridge and Sander Tichelaar and Erhard Pl\"odereder}, Booktitle = {Electronic Notes in Theoretical Computer Science}, Pages = {7--18}, Title = {The Dagstuhl Middle Metamodel: A Schema For Reverse Engineering}, Volume = {94}, Year = {2004} } @article{Leth05a, Author = {Timothy C. Lethbridge and Susan Elliot Sim and Janice Singer}, Journal = {Empirical Software Engineering, Springer Science and Business Media, Inc., The Netherlands}, Keywords = {developers}, Month = jul, Number = {3}, Pages = {311--341}, Title = {Studying Software Engineers: Data Collection Techniques for Software Field Studies}, Volume = {10}, Year = {2005} } @article{Leto86a, Address = {Los Alamitos, CA, USA}, Author = {S. Letovsky and E. Soloway}, Doi = {10.1109/MS.1986.233414}, Issn = {0740-7459}, Journal = {IEEE Software}, Number = {3}, Pages = {41-49}, Publisher = {IEEE Computer Society}, Title = {Delocalized Plans and Program Comprehension}, Volume = {3}, Year = {1986}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.1986.233414} } @book{Leuf01a, Author = {Bo Leuf and Ward Cunningham}, Publisher = {Addison-Wesley}, Title = {The Wiki Way: Collaboration and Sharing on the Internet}, Year = {2001} } @book{Leve95a, Author = {Robert Levey}, Keywords = {scglib}, Publisher = {McGraw-Hill}, Title = {Reengineering Cobol With Objects}, Year = {1995} } @inproceedings{Levi02a, Address = {New York, NY, USA}, Author = {Philip Levis and David Culler}, Booktitle = {ASPLOS-X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems}, Doi = {10.1145/605397.605407}, Isbn = {1-58113-574-2}, Location = {San Jose, California}, Pages = {85--95}, Publisher = {ACM}, Title = {Mat\'e: a tiny virtual machine for sensor networks}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/605397.605407} } @phdthesis{Levy94a, Author = {Juan Pablo Levy Urquidi}, Keywords = {olit scglib}, Number = {1294}, School = {EPFL Laussane}, Title = {Groupes Multipartenaires par Projection d'interface}, Type = {{Ph.D}. Thesis}, Year = {1994} } @inproceedings{Lewe98a, Author = {Claus Lewerentz and Frank Simon}, Booktitle = {Object-Oriented Technology Ecoop '98 Workshop Reader}, Pages = {256--257}, Series = {LNCS}, Title = {{A} {Product} {Metrics} {Tool} {Integrated} into a {Software} {Development} {Environment}}, Volume = {1543}, Year = {1998} } @inproceedings{Lewi86a, Author = {David M. Lewis and David R. Galloway and Robert J. Francis and Brian W. Thomson}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit architecture swamp smalltalk oopsla86}, Month = nov, Pages = {131--139}, Title = {Swamp: {A} Fast Processor for {Smalltalk}-80}, Volume = {21}, Year = {1986} } @inproceedings{Lewi91a, Author = {John A. Lewis and Sallie M. Henry and Dennis G. Kafura and Robert S. Schulman}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit-reuse oopsla91}, Month = nov, Pages = {184--196}, Title = {An Empirical Study of the Object-Oriented Paradigm and Software Reuse}, Volume = {26}, Year = {1991} } @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}, Isbn = {0-13-213984-7}, Keywords = {olit-reuse scglib frameworks}, Publisher = {Manning Publications Co.}, Title = {Object Oriented Application Frameworks}, Year = {1995} } @book{Lewi98a, Author = {John Lewis and William Loftus}, Isbn = {0-201-57164-1}, Keywords = {java scglib}, Publisher = {Addison Wesley}, Title = {Java Software Solutions}, Year = {1998} } @inproceedings{Lewi03a, Author = {Bill Lewis and Mireille Ducass\'e}, Booktitle = {OOPSLA Companion 2003}, Pages = {96--97}, Title = {Using events to debug {Java} programs backwards in time}, Year = {2003} } @inproceedings{Lewi03b, Author = {Bill Lewis}, Booktitle = {Proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG'03)}, Month = oct, Title = {Debugging Backwards in Time}, Url = {http://arxiv.org/abs/cs/0310016v1}, Year = {2003}, Bdsk-Url-1 = {http://arxiv.org/abs/cs/0310016v1} } @article{Lewi04a, Author = {J. Lewis and Ruth Rosenholtz and Nickson Fong and Ulrich Neumann}, Journal = {ACM Transactions on Graphics}, Month = aug, Number = 3, Pages = {416--423}, Title = {{VisualIDs}: automatic distinctive icons for desktop interfaces}, Volume = 23, Year = {2004} } @inproceedings{Lhot03a, Address = {Warsaw, Poland}, Author = {Ond\v{r}ej Lhot\'ak and Laurie Hendren}, Booktitle = {Compiler Construction, 12th International Conference}, Editor = {G. Hedin}, Month = apr, Pages = {153--169}, Publisher = {Springer}, Series = {LNCS}, Title = {Scaling {Java} Points-to Analysis Using {Spark}}, Volume = {2622}, Year = {2003} } @techreport{Li91a, Address = {Massy, France}, Author = {Jiarong Li}, Institution = {Bull SA}, Keywords = {olit-ithaca adl}, Misc = {June 28}, Month = jun, Number = {Bull.91.U2.#3}, Title = {{ADL} and Its Compiler}, Type = {ITHACA Report}, Year = {1991} } @article{Li93a, Author = {Li, W. and Henry, S.}, Journal = {Journal of System Software}, Keywords = {olit metrics}, Number = {2}, Pages = {111--122}, Title = {Object Oriented Metrics that predict maintainability}, Volume = {23}, Year = {1993} } @article{Li93b, Annote = {oometrics}, Author = {W. Li and S. Henry}, Journal = {Proceedings of the First International Software Metrics Symposium.}, Month = may, Pages = {52--60}, Title = {Maintenance Metrics for the Object Oriented Paradigm}, Year = {1993} } @book{Li98a, Author = {Liwu Li}, Keywords = {olit scglib book}, Publisher = {Cambridge University Press}, Title = {The {Visual}{Age} for {Smalltalk} Primer}, Year = {1998} } @article{Li98b, Author = {Wei Li}, Journal = {Journal of Systems and Software}, Pages = {155--162}, Title = {Another Metric Suite for Object-Oriented Programming}, Volume = {44}, Year = {1998} } @inproceedings{Li03a, Address = {Portland, Oregon}, Author = {Junwei Li and Yun Yang and Andrew Walenstein}, Booktitle = {Proceedings IWPC 2003}, Month = may, Title = {Clone Detector Benchmark Suite and Results Archive}, Year = {2003} } @inproceedings{Li05a, Author = {Qingshan Li and Hua Chu and Shengming Hu and Ping Chen and Zhao Yun}, Booktitle = {Working Conference on Reverse Engineering (WCRE)}, Pages = {57--66}, Title = {Architecture Recovery and Abstraction from the Perspective of Processes}, Year = {2005} } @inproceedings{Li05b, Author = {Qingshan Li}, Booktitle = {Conference on Software Maintenance and Reengineering (CSMR)}, Pages = {284--287}, Title = {Dynamic Model Design Recovery and Architecture Abstraction of Object Oriented Software.}, Year = {2005} } @inproceedings{Lian95a, Address = {San Francisco, California}, Author = {Sheng Liang and Paul Hudak and Mark P. Jones}, Booktitle = {Conference Record of {POPL}~'95}, Keywords = {popl95 monads}, Pages = {333--343}, Title = {Monad Transformers and Modular Interpreters}, Year = {1995} } @inproceedings{Lian98a, Author = {Sheng Liang and Gilad Bracha}, Booktitle = {Proceedings of OOPSLA '98, ACM SIG{\-}PLAN Notices}, Pages = {36--44}, Title = {Dynamic Class Loading in the {Java} Virtual Machine}, Year = {1998}, Doi = {10.1145/286936.286945} } @inproceedings{Lian02a, 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}, 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}, Booktitle = {ECOOP 2002 Workshop Reader}, Keywords = {scg-pub skip-doi jb02 pecos stefPub arevalo schaerli}, Title = {Applying RMA for Scheduling Field Device Components}, Url = {http://scg.unibe.ch/archive/papers/Lian02aPecosRMA.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lian02aPecosRMA.pdf} } @inproceedings{Libl05a, Address = {New York, NY, USA}, Author = {Ben Liblit and Mayur Naik and Alice X. Zheng and Alex Aiken and Michael I. Jordan}, Booktitle = {Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation (PLDI'05)}, Doi = {10.1145/1065010.1065014}, Isbn = {1-59593-056-6}, Location = {Chicago, IL, USA}, Pages = {15--26}, Publisher = {ACM}, Title = {Scalable statistical bug isolation}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1065010.1065014} } @inproceedings{Lica03a, Address = {Los Alamitos CA}, Author = {D. Licata and C.D. Harris and S. Krishnamurthi}, Booktitle = {Proceedings IEEE International Conference on Automated Software Engineering}, Keywords = {feature}, Month = oct, Pages = {281--285}, Publisher = {IEEE Computer Society Press}, Title = {The Feature Signatures of Evolving Programs}, Year = {2003} } @inproceedings{Lidd94a, Author = {S. W. Liddle and D. W. Embley and S. N. Woodfield}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {123--141}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Seamless Model for Object-Oriented Systems Development}, Volume = {858}, Year = {1994} } @mastersthesis{Lie04a, Author = {Sean Lie}, Month = may, Pdf = {http://www.cag.csail.mit.edu/scale/papers/slie-meng.pdf}, School = {Massachusetts Institute of Technology}, Title = {Hardware Support for Unbounded Transactional Memory}, Year = {2004} } @inproceedings{Lieb80a, Author = {Henry Lieberman and Carl Hewitt}, Booktitle = {LISP Conference}, Keywords = {testing examples}, Pages = {80--99}, Title = {A Session with {T}inker: Interleaving Program Testing with Program Writing}, Year = {1980} } @techreport{Lieb81a, Author = {Henry Lieberman and Carl Hewitt}, Institution = {MIT}, Keywords = {olit memory real-time casais}, Number = {569}, Title = {A Real Time Garbage Collector Based on the Lifetimes of Objects}, Type = {AI memo no}, Year = {1981} } @article{Lieb82a, Author = {Henry Lieberman}, Journal = {Computer Music Journal}, Keywords = {olit-appl music casais}, Number = {3}, Title = {Machine Tongues {IX}: Object-Oriented Programming}, Volume = {6}, Year = {1982} } @inproceedings{Lieb86a, Author = {Henry Lieberman}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Doi = {10.1145/960112.28718}, Keywords = {ioom-prototype}, Month = nov, Pages = {214--223}, Title = {Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems}, Url = {http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html http://reference.kfupm.edu.sa/content/u/s/using_prototypical_objects_to_implement__76339.pdf}, Volume = {21}, Year = {1986}, Bdsk-Url-1 = {http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html%20http://reference.kfupm.edu.sa/content/u/s/using_prototypical_objects_to_implement__76339.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/960112.28718} } @article{Lieb86b, Author = {H. Lieberman}, Journal = {Bigre + Globule}, Pages = {79--89}, Title = {Delegation and Inheritance: Two mechanisms for sharing Knowledge in Object-Oriented Systems}, Volume = {48}, Year = {1986} } @inproceedings{Lieb87a, Address = {Paris, France}, Author = {Henry Lieberman}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {11--19}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reversible Object-Oriented Interpreters}, Volume = {276}, Year = {1987} } @incollection{Lieb87b, Address = {Cambridge, Mass.}, Author = {Henry Lieberman}, Booktitle = {Object-Oriented Concurrent Programming}, Editor = {A. Yonezawa and M. Tokoro}, Keywords = {olit-obcl act1 oocp87 oobib(obcp) scglib}, Pages = {9--36}, Publisher = {MIT Press}, Title = {Concurrent Object-Oriented Programming in Act 1}, Year = {1987} } @inproceedings{Lieb88a, Author = {Karl J. Lieberherr and Ian M. Holland and Arthur Riel}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Doi = {10.1145/62083.62113}, Keywords = {olit oopsla88 oorp law of demeter}, Month = nov, Pages = {323--334}, Title = {Object-Oriented Programming: An Objective Sense of Style}, Url = {http://www.ccs.neu.edu/research/demeter/papers/law-of-demeter/oopsla88-law-of-demeter.pdf}, Volume = {23}, Year = {1988}, Bdsk-Url-1 = {http://www.ccs.neu.edu/research/demeter/papers/law-of-demeter/oopsla88-law-of-demeter.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/62083.62113} } @inproceedings{Lieb89a, Author = {Karl J. Lieberherr and Arthur J. Riel}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {11--22}, Title = {Contributions to Teaching Object Oriented Design and Programming}, Volume = {24}, Year = {1989} } @article{Lieb89b, Author = {Karl J. Lieberherr}, Journal = {ACM SIGPLAN Notices}, Number = {3}, Pages = {67--78}, Publisher = {ACM New York, NY, USA}, Title = {Formulations and Benefits of the {Law of Demeter}}, Volume = {24}, Year = {1989} } @incollection{Lieb93a, 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.}, Author = {Karl J. Lieberherr and Cun Xiao}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {424--441}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Minimizing Dependency on Class Structures with Adaptive Programs}, Volume = {742}, Year = {1993} } @unpublished{Lieb94a, Abstract = {A succinct presentation of adaptive software. Introduces a ``lambda calculus'' for patterns.}, Author = {Karl J. Lieberherr and Jens Palsberg and Cun Xiao}, Keywords = {olit binder design-patterns}, Note = {draft manuscript}, Title = {Checking Adaptive Software}, Url = {ftp://ftp.ccs.neu.edu//pub/people/lieber/check-adaptive.ps}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.ccs.neu.edu//pub/people/lieber/check-adaptive.ps} } @article{Lieb94b, Author = {Lieberherr, K. J. and Silva-Lepe, I. and Xaio, C.}, Journal = {Communications of the ACM}, Month = may, Number = {5}, Pages = {94--101}, Publisher = {ACM Press}, Title = {Adaptive Object-Oriented Programming Using Graph-Based Customizations.}, Volume = {37}, Year = {1994} } @book{Lieb96a, Author = {Karl J. Lieberherr}, Isbn = {053494602-X}, Keywords = {olit-reuse scglib}, Publisher = {PWS Publishing}, Title = {Adaptative Object-Oriented Software: The Demeter Method}, Year = {1996} } @inproceedings{Lieb98a, Address = {Cambridge, MA-London}, Author = {Henry Lieberman and Christoper Fry}, 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}, Publisher = {The MIT Press}, Title = {{ZS}tep 95: {A} reversible, animated source code stepper}, Year = {1998} } @techreport{Lieb99a, Address = {Boston, MA 02115}, Author = {Karl Lieberherr and David~H. Lorenz and Mira Mezini}, Institution = {College of Computer Science, Northeastern University}, Month = mar, Number = {NU-CCS-99-01}, Title = {Programming with Aspectual Components}, Url = {http://www.ccs.neu.edu/home/lorenz/papers/reports/NU-CCS-99-01.html}, Year = {1999}, Bdsk-Url-1 = {http://www.ccs.neu.edu/home/lorenz/papers/reports/NU-CCS-99-01.html} } @book{Lieb01a, Author = {Henry Lieberman}, Keywords = {scglib}, Publisher = {Morgan Kaufmann}, Title = {Your Wish Is My Command --- Programming by Example}, Year = {2001} } @techreport{Lieb01b, Address = {Boston, MA}, Author = {Karl Lieberherr and Johan Ovlinger and Mira Mezini and David Lorenz}, Institution = {College of Computer Science, Northeastern University}, Month = mar, Number = {NU-CCS-2001-04}, Pages = {1--12}, Title = {Modular Programming with Aspectual Collaborations}, Year = {2001} } @article{Lieb01c, Author = {Henry Liebermann and Christopher Fry and Louis Weitzmann}, Journal = {Communications of the ACM}, Month = {aug}, Number = {8}, Pages = {69--75}, Title = {Exploring the Web with Reconnaissance Agents}, Volume = {44}, Year = {2001} } @article{Liebe88a, Author = {K. Lieberherr}, Journal = {Journal on Lisp and Symbolic Computation}, Number = {2}, Pages = {185--212}, Title = {Object-oriented programmnig with class dictionaries}, Volume = {1}, Year = {1988} } @article{Liebe89b, Author = {K. Lieberherr and I. Holland}, Journal = {IEEE Software}, Month = sep, Pages = {38--48}, Title = {Assuring a Good Style for Object-Oriented Programs}, Year = {1989} } @book{Lien80a, Address = {Boston, MA}, Author = {Bennett Lientz and Burton Swanson}, Publisher = {Addison Wesley}, Title = {Software Maintenance Management}, Year = {1980} } @article{Lien81a, Address = {New York, NY, USA}, Author = {Bennet P. Lientz and E. Burton Swanson}, Doi = {10.1145/358790.358796}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {11}, Pages = {763--769}, Publisher = {ACM}, Title = {Problems in application software maintenance}, Volume = {24}, Year = {1981}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/358790.358796} } @techreport{Lien03a, 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.}, Author = {Adrian Lienhard}, Institution = {University of Bern}, Keywords = {scg-ip jb04 snf04}, Month = nov, Title = {Mewa: Meta-level Architecture for Generic Web-Application Construction}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Lien03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Lien03a.pdf} } @mastersthesis{Lien04a, 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.}, Author = {Adrian Lienhard}, Keywords = {scg-msc snf05 jb05 scg-pub skip-doi}, Month = nov, School = {University of Bern}, Title = {Bootstrapping {Traits}}, Url = {http://scg.unibe.ch/archive/masters/Lien04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Lien04a.pdf} } @inproceedings{Lien05a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference topconference}, Author = {Adrian Lienhard and St\'ephane Ducasse and Gabriela Ar\'evalo}, Booktitle = {Proceedings of 20th Conference on Automated Software Engineering (ASE'05)}, Cvs = {ConAnASE05Traits}, Doi = {10.1145/1101908.1101921}, Inria = {hors}, Keywords = {scg-pub snf05 recast06 stefPub moose-pub arevalo jb06 listic}, Medium = {2}, Misc = {acceptance rate: 28/291 = 9\%}, AcceptTotal = {291}, AcceptNum = {28}, Month = nov, Pages = {66--75}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Rate = {9%}, Selectif = {oui}, Title = {Identifying Traits with Formal Concept Analysis}, Url = {http://scg.unibe.ch/archive/papers/Lien05aIdentifyingTraits.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien05aIdentifyingTraits.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1101908.1101921} } @misc{Lien05b, Abstract = {SqueakSource is a web-based Monticello code-repository for Squeak. By providing a web-browser based frontend it facilitates simple means to set up and to use Monticello repository. Not only it makes Monti- cello conveniently usable for collaborative development, SqueakSource also provides features such as configurable access rights, a wiki, statistics, and rss-feeds.}, Author = {Adrian Lienhard and Lukas Renggli}, Howpublished = {European Smalltalk User Group Innovation Technology Award}, Keywords = {esug scg-misc snf-none jb05}, Month = aug, Note = {Won the 2nd prize}, Title = {SqueakSource --- Smart Monticello Repository}, Url = {http://scg.unibe.ch/archive/reports/Lien05b.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Lien05b.pdf} } @inproceedings{Lien06a, 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}, Author = {Adrian Lienhard and St\'ephane Ducasse and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings International Workshop on Program Comprehension through Dynamic Analysis (PCODA'06)}, Keywords = {scg-pub skip-doi stefPub girba jb07 fb06 snf07 object-flow dynamic-analysis}, Medium = {2}, Pages = {39--43}, Peerreview = {yes}, Title = {Capturing How Objects Flow At Runtime}, Url = {http://scg.unibe.ch/archive/papers/Lien06aCapturingHowObjectsFlowPCODA06.pdf http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien06aCapturingHowObjectsFlowPCODA06.pdf%20http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf} } @inproceedings{Lien07a, Abstract = {The domain-specific ontology of a software system includes a set of features and their relationships. While the problem of locating features in object-oriented programs has been widely studied, runtime dependencies between features are less well understood. Features cannot be understood in isolation, since their behavior often depends on objects created and referenced in previously exercised features. It is difficult to spot runtime dependencies between features just by browsing source code. Hence, code modifications intended for one feature, often inadvertently affect other features. In this paper, we propose an approach to precisely identify dependencies between features based on a fine-grained dynamic analysis which captures details about how objects are referenced at runtime. The results of two case studies indicate that our approach helps software maintainers in understanding critical feature dependencies.}, Address = {Washington, DC, USA}, Annote = {internationalconference}, Author = {Adrian Lienhard and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the International Conference on Program Comprehension (ICPC'07)}, Doi = {10.1109/ICPC.2007.38}, Isbn = {0-7695-2860-0}, Issn = {1063-6897}, Keywords = {scg07 scg-pub jb07 snf07 moose-pub features object-flow dynamic-analysis}, Medium = {2}, Month = jun, Pages = {59--68}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Tracking Objects to detect Feature Dependencies}, Url = {http://scg.unibe.ch/archive/papers/Lien07aFeatureDependencies.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien07aFeatureDependencies.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2007.38} } @inproceedings{Lien07b, Abstract = {Science requires tools, and computer science is no different. In a typical research context however, it is not known upfront how a tool should work. Researching the tool's design is part of the investigation process. Various designs have to be prototyped and experimented with. This paper focuses on the research process of interactive visualization tools. We present how to improve development, so that a novel tool can be tested and modified at (almost) the same time. We present the Mondrian framework, which supports on-the-fly prototyping of interactive visualizations. As an example, we present the research process of the Feature Dependency Browser, a visualization tool which we developed to allow software engineers inspect runtime dependencies between features.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalworkshop}, Author = {Adrian Lienhard and Adrian Kuhn and Orla Greevy}, Booktitle = {Proceedings IEEE International Workshop on Visualizing Software for Understanding (Vissoft'07)}, Doi = {10.1109/VISSOF.2007.4290702}, Isbn = {1-4244-0600-5}, Keywords = {scg07 scg-pub snf07 jb07 moose-pub object-flow dynamic-analysis}, Medium = {2}, Month = jun, Pages = {67--70}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Rapid Prototyping of Visualizations using Mondrian}, Url = {http://scg.unibe.ch/archive/papers/Lien07bMondrian.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien07bMondrian.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/VISSOF.2007.4290702} } @inproceedings{Lien07c, Abstract = {To extract abstract views of the behavior of an object-oriented system for reverse engineering, a body of research exists that analyzes a system's runtime execution. Those approaches primarily analyze the control flow by tracing method execution events. However, they do not capture information flows. We address this problem by proposing a novel dynamic analysis technique named Object Flow Analysis, which complements method execution tracing with an accurate analysis of the runtime flow of objects. To exemplify the usefulness of our analysis we present a visual approach that allows a system engineer to study classes and components in terms of how they exchange objects at runtime. We illustrate and validate our approach on two case studies.}, Address = {New York, NY, USA}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Adrian Lienhard and St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL'07)}, Doi = {10.1145/1352678.1352686}, Inria = {hors}, Isbn = {978-1-60558-084-5}, Keywords = {scg07 scg-pub jb08 snf08 girba moose-pub object-flow dynamic-analysis}, Location = {Lugano, Switzerland}, Medium = {2}, Pages = {121--140}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Selectif = {non}, Title = {Object Flow Analysis --- Taking an Object-Centric View on Dynamic Analysis}, Url = {http://scg.unibe.ch/archive/papers/Lien07c-ObjectFlowAnalysis.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien07c-ObjectFlowAnalysis.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352686} } @inproceedings{Lien07d, Abstract = {We need to understand the impact of side effects whenever changing complex object-oriented software systems. This can be difficult as side effects are at best implicit in static views of the software, and typically execution traces do not capture data flow between parts of the system. To solve this problem, we complement execution traces with dynamic object flow information. In our previous work we analyzed object flows between features and classes. In this paper, we use object flow information to analyze side effects in execution traces and to detect how future behavior in the trace is affected by it. Using a visualization, the developer can study how a selected part of the program accessed program state and what side effect its execution produced. Like this, the developer can investigate how a particular part of the program works without needing to understand the source code in detail. To illustrate our approach, we use a running example of writing unit tests for a legacy system.}, Annote = {internationalworkshop}, Author = {Adrian Lienhard and Tudor G\^irba and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the 3rd International Workshop on Program Comprehension through Dynamic Analysis (PCODA'07)}, Editor = {Andy Zaidman and Abdelwahab Hamou-Lhadj and Orla Greevy}, Isbn = {978-0-7695-3034-5}, Issn = {1872-5392}, Keywords = {scg07 scg-pub snf08 skip-doi jb08 girba moose-pub object-flow dynamic-analysis}, Medium = {2}, Pages = {11--17}, Peerreview = {yes}, Publisher = {Technische Universiteit Delft}, Title = {Exposing Side Effects in Execution Traces}, Url = {http://scg.unibe.ch/archive/papers/Lien07dSideEffectsPCODA.pdf http://swerl.tudelft.nl/twiki/pub/Main/PCODA2007/PCODA2007proceedings.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien07dSideEffectsPCODA.pdf%20http://swerl.tudelft.nl/twiki/pub/Main/PCODA2007/PCODA2007proceedings.pdf} } @inproceedings{Lien08a, Abstract = {Writing unit tests for legacy systems is a key maintenance task. When writing tests for object-oriented programs, objects need to be set up and the expected effects of executing the unit under test need to be verified. If developers lack internal knowledge of a system, the task of writing tests is non-trivial. To address this problem, we propose an approach that exposes side effects detected in example runs of the system and uses these side effects to guide the developer when writing tests. We introduce a visualization called Test Blueprint, through which we identify what the required fixture is and what assertions are needed to verify the correct behavior of a unit under test. The dynamic analysis technique that underlies our approach is based on both tracing method executions and on tracking the flow of objects at runtime. To demonstrate the usefulness of our approach we present results from two case studies.}, Annote = {internationalconference}, Author = {Adrian Lienhard and Tudor G\^irba and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR'08)}, Doi = {10.1109/CSMR.2008.4493303}, Keywords = {girba scg08 scg-pub visualization object-flow dynamic-analysis snf08 jb08}, Medium = {2}, Pages = {83--92}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Test Blueprints --- Exposing Side Effects in Execution Traces to Support Writing Unit Tests}, Url = {http://scg.unibe.ch/archive/papers/Lien08a-TestBlueprint.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien08a-TestBlueprint.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2008.4493303} } @inproceedings{Lien08b, Abstract = {Back-in-time debuggers are extremely useful tools for identifying the causes of bugs, as they allow us to inspect the past states of objects no longer present in the current execution stack. Unfortunately the "omniscient" approaches that try to remember all previous states are impractical because they either consume too much space or they are far too slow. Several approaches rely on heuristics to limit these penalties, but they ultimately end up throwing out too much relevant information. In this paper we propose a practical approach to back-in-time debugging that attempts to keep track of only the relevant past data. In contrast to other approaches, we keep object history information together with the regular objects in the application memory. Although seemingly counter-intuitive, this approach has the effect that past data that is not reachable from current application objects (and hence, no longer relevant) is automatically garbage collected. In this paper we describe the technical details of our approach, and we present benchmarks that demonstrate that memory consumption stays within practical bounds. Furthermore since our approach works at the virtual machine level, the performance penalty is significantly better than with other approaches.}, Annote = {internationalconference}, Author = {Adrian Lienhard and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings of the 22nd European Conference on Object-Oriented Programming (ECOOP'08)}, Doi = {10.1007/978-3-540-70592-5_25}, Isbn = {978-3-540-70591-8}, Keywords = {scg08 scg-pub object-flow snf08 jb08 girba}, Medium = {2}, Note = {{ECOOP} distinguished paper award}, Pages = {592--615}, Peerreview = {yes}, Publisher = {Springer}, Series = {LNCS}, Title = {Practical Object-Oriented Back-in-Time Debugging}, Url = {http://scg.unibe.ch/archive/papers/Lien08bBackInTimeDebugging.pdf}, Volume = {5142}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien08bBackInTimeDebugging.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-70592-5_25} } @phdthesis{Lien08d, Abstract = {The behavior of an object-oriented software system is notoriously hard to understand from the source code alone. The main reason is the large gap between the program's static structure and its actual runtime behavior. Features inherent to object-orientation, like object aliasing and late binding, - while providing a high degree of expressiveness to model an application domain - make programs hard to understand, maintain, and analyze. Complementary to static analysis, dynamic analysis can help to close this gap by investigating the properties of a running program. The state of the art in dynamic analysis focuses on investigating runtime control flow and structures of object graphs, but a thorough analysis of how objects are passed through a system is missing. Tracking how object references are transferred, however, is essential to analyze the dependencies introduced by object aliasing. In this dissertation we propose Object Flow Analysis, our approach to track object flow by explicitly representing object references and reference transfer. Object Flow Analysis provides an effective and original way of analyzing and runtime monitoring dependencies introduced by object aliasing. To validate Object Flow Analysis, we propose three different reverse engineering applications that, based on Object Flow Analysis, reason about aliasing dependencies in object-oriented programs. Yet Object Flow Analysis extends beyond traditional reverse engineering applications. A key contribution of our work is that we advance the state of the art in back-in-time debugging by proposing and providing an implementation of the concept of Object Flow Analysis in a high-level language virtual machine.}, Author = {Adrian Lienhard}, Keywords = {scg-phd snf09 jb09 object-flow dynamic-analysis}, Month = dec, School = {University of Bern}, Title = {Dynamic Object Flow Analysis}, Type = {PhD thesis}, Url = {http://scg.unibe.ch/archive/phd/lienhard-phd.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/lienhard-phd.pdf} } @inproceedings{Lien09a, Abstract = {Conventional debugging tools present developers with means to explore the run-time context in which an error has occurred. In many cases this is enough to help the developer discover the faulty source code and correct it. However, rather often errors occur due to code that has executed in the past, leaving certain objects in an inconsistent state. The actual run-time error only occurs when these inconsistent objects are used later in the program. So-called back-in-time debuggers help developers step back through earlier states of the program and explore execution contexts not available to conventional debuggers. Nevertheless, even back-in-time debuggers do not help answer the question, ``Where did this object come from?'' The Object-Flow Virtual Machine, which we have proposed in previous work, tracks the flow of objects to answer precisely such questions, but this VM does not provide dedicated debugging support to explore faulty programs. In this paper we present a novel debugger, called Compass, to navigate between conventional run-time stack-oriented control flow views and object flows. Compass enables a developer to effectively navigate from an object contributing to an error back-in-time through all the code that has touched the object. We present the design and implementation of Compass, and we demonstrate how flow-centric, back-in-time debugging can be used to effectively locate the source of hard-to-find bugs.}, Annote = {internationalconference}, Author = {Adrian Lienhard and Julien Fierz and Oscar Nierstrasz}, Booktitle = {Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2009}, Doi = {10.1007/978-3-642-02571-6_16}, Keywords = {scg09 scg-pub jb09 snf09}, Medium = {2}, Pages = {272--288}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNBIP}, Title = {Flow-Centric, Back-In-Time Debugging}, Url = {http://scg.unibe.ch/archive/papers/Lien09aCompass.pdf}, Volume = {33}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien09aCompass.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-02571-6_16} } @article{Lien08c, Abstract = {A large body of research analyzes the runtime execution of a system to extract abstract behavioral views. Those approaches primarily analyze control flow by tracing method execution events or they analyze object graphs of heap snapshots. However, they do not capture how objects are passed through the system at runtime. We refer to the exchange of objects as the object flow, and we claim that object flow is necessary to analyze if we are to understand the runtime of an object-oriented application. We propose and detail Object Flow Analysis, a novel dynamic analysis technique that takes this new information into account. To evaluate its usefulness, we present a visual approach that allows a developer to study classes and components in terms of how they exchange objects at runtime. We illustrate our approach on three case studies.}, Aeres = {ACL}, Aeresstatus = {aeres10}, Annote = {internationaljournal}, Author = {Adrian Lienhard and St\'ephane Ducasse and Tudor G\^irba}, Doi = {10.1016/j.cl.2008.05.006}, Inria = {hors}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg09 scg-pub girba moose-pub object-flow dynamic-analysis remoose jb09 snf09}, Medium = {2}, Number = {1}, Pages = {63--79}, Peerreview = {yes}, Publisher = {Elsevier}, Selectif = {non}, Title = {Taking an Object-Centric View on Dynamic Information with Object Flow Analysis}, Url = {http://scg.unibe.ch/archive/papers/Lien08cObjectFlowAnalysis.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lien08cObjectFlowAnalysis.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2008.05.006} } @article{Lien10a, Annote = {nationaljournal}, Author = {Adrian Lienhard}, Doi = {10.1524/itit.2010.0615}, Journal = {it -- Information Technology}, Month = nov, Number = {6}, Publisher = {Oldenbourg Wissenschaftsverlag}, Title = {Dynamische Objekt-Fluss-Analyse}, Volume = {52}, Year = {2010}, Pages = {356-358} } @article{Lien11a, Author = {Adrian Lienhard and Tudor G\^irba and Oscar Nierstrasz}, Title = {Specifying Dynamic Analyses by Extending Language Semantics}, Abstract = {Dynamic analysis is increasingly attracting attention for debugging, profiling, and program comprehension. Ten to twenty years ago, many dynamic analyses investigated only simple method execution traces. Today, in contrast, many sophisticated dynamic analyses exist, for instance for detecting memory leaks, analyzing ownership properties, measuring garbage collector performance, or supporting debugging tasks. These analyses depend on complex program instrumentations and analysis models, making it challenging to understand, compare, and reproduce the proposed approaches. While formal specifications and proofs are common in the field of static analysis, most dynamic analyses are specified using informal, textual descriptions. In this article we propose a formal framework using operational semantics that allows researchers to precisely specify their dynamic analysis. Our goal is to provide an accessible and reusable basis on which researchers that may not be familiar with rigorous specifications of dynamic analyses can build. By extending the provided semantics, one can concisely specify how runtime events are captured and how this data is transformed to populate the analysis model. Furthermore, our approach provides the foundations to reason about properties of a dynamic analysis.}, Address = {Piscataway, NJ, USA}, Annote = {internationaljournal}, Journal = {Transactions on Software Engineering}, Publisher = {IEEE Press}, Keywords = {scg-pub jb11 snf10 girba}, DOI = {10.1109/TSE.2011.38}, Url = {http://scg.unibe.ch/archive/papers/Lien11aDynamicAnalysis.pdf}, Peerreview = {yes}, Year = {2011}, Note = {To appear (preprint online)} } @article{Lier03a, Address = {Los Alamitos, CA, USA}, Author = {Robert van Liere and Wim de Leeuw}, Doi = {10.1109/TVCG.2003.10011}, Issn = {1077-2626}, Journal = {IEEE Transactions on Visualization and Computer Graphics}, Number = {2}, Pages = {206-212}, Publisher = {IEEE Computer Society}, Title = {GraphSplatting: Visualizing Graphs as Continuous Fields}, Volume = {9}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TVCG.2003.10011} } @misc{LightsOut, Key = {LightsOut}, Keywords = {games examples}, Note = {http://en.wikipedia.org/wiki/\-Lights\_Out\-\_(game)}, Title = {{Lights} {Out}}, Url = {http://en.wikipedia.org/wiki/Lights_Out_(game)}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/Lights_Out_(game)} } @article{Like32a, Address = {New York, NY, USA}, Author = {Rensis Likert}, Journal = {Archives of Psychology}, Number = {140}, Pages = {1--55}, Title = {A technique for the measurement of attitudes}, Volume = {22}, Year = {1932} } @inproceedings{Lin98a, Author = {Cross II, James H. and T. Dean Hendrix and Larry A. Barowsky and Karl S. Mathias}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {201--210}, Publisher = {IEEE Computer Society}, Title = {Scalable Visualizations to Support Reverse Engineering: A Framework for Evaluation}, Year = {1998} } @inproceedings{Lin98b, Address = {Madison WI}, Author = {Dekang Lin}, Booktitle = {Proceedings of the 15th ICML}, Pages = {296--304}, Title = {An Information-Theoretic Definition of Similarity}, Year = {1998} } @inproceedings{Lind95a, Author = {Christian Lindig}, 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}, Keywords = {fca}, Month = aug, Pages = {21--25}, Title = {Concept-{Based} {Component} {Retrieval}}, Year = {1995} } @book{Lind97a, Author = {Tim Lindholm and Frank Yellin}, Isbn = {0-201-63452-X}, Keywords = {olit java scglib new-enty}, Publisher = {Addison Wesley}, Title = {The {Java} Virtual Machine Specification}, Year = {1997} } @inproceedings{Lind97b, Address = {Boston}, Author = {C. Lindig and G. Snelting}, Booktitle = {Proceedings of the International Conference on Software Engineering (ICSE 97)}, Keywords = {fca}, Pages = {349--359}, Title = {Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis}, Year = {1997} } @inproceedings{Lind00a, Author = {Christian Lindig}, Booktitle = {Working with Conceptual Structures --- Contributions to ICCS 2000}, Editor = {Gerhard Stumme}, Note = {ISBN: 3-8265-7669-1}, Pages = {152--161}, Publisher = {Shaker Verlag}, Title = {Fast Concept Analysis}, Year = {2000} } @article{Ling73a, Address = {New York, NY, USA}, Author = {Robert L. Ling}, Doi = {10.1145/362248.362263}, Issn = {0001-0782}, Journal = {Communications of ACM}, Number = {6}, Pages = {355--361}, Publisher = {ACM Press}, Title = {A computer generated aid for cluster analysis}, Volume = {16}, Year = {1973}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/362248.362263} } @book{Ling95a, Address = {Singapore}, Editor = {Tok Wang Ling and Alberto O. Mendelzon}, Isbn = {3-540-60608-4}, Keywords = {olit dood95 scglib}, Month = dec, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {DOOD}'95}, Volume = {1013}, Year = {1995} } @inproceedings{Lino99a, Author = {Panagiotis K. Linos and Stephen R. Schach}, Booktitle = {Proceedings of the short papers of ICSM '99}, Month = aug, Pages = {25--28}, Title = {Comprehending Multilanguage and Multiparadigm Software}, Year = {1999} } @inproceedings{Lins88a, Address = {Oslo}, Author = {Yngve Linsj\orn and Dag Sj\oberg}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {300--318}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Database Concepts Discussed in Object-Oriented Perspective}, Volume = {322}, Year = {1988} } @inproceedings{Lins07a, Address = {Washington, DC, USA}, Author = {Linstead, Erik and Rigor, Paul and Bajracharya, Sushil and Lopes, Cristina and Baldi, Pierre}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.20}, Isbn = {0-7695-2950-X}, Pages = {30}, Publisher = {IEEE Computer Society}, Title = {Mining {Eclipse} Developer Contributions via Author-Topic Models}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.20} } @inproceedings{Lins09a, Abstract = {We conduct a large-scale analysis of Java source code vocabulary for 12,151 open source projects from Source-Forge and Apache, a corpus substantially larger than considered previously. Simple statistical analysis demonstrates robust power-law behavior for word count distributions across multiple program entities. We then identify salient vocabulary trends for classes, interfaces, methods, and fields. Our results provide low-level insight into the vocabulary space governing Java software development, with direct application to program comprehension and software search. Supplementary material may be found at: http://sourcerer.ics.uci.edu/suite2009/suite.html.}, Author = {Linstead, E. and Hughes, L. and Lopes, C. and Baldi, P.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403381}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070017}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070017}, Doi = {10.1109/SUITE.2009.5070017}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, hapax, sourcerer, suite2009, vocabulary}, Pages = {29--32}, Posted-At = {2009-08-10 11:11:18}, Priority = {0}, Title = {Exploring Java software vocabulary: A search and mining perspective}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070017}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070017} } @article{Lint89a, Author = {M. Linton and John Vlissides and P. Calder}, Journal = {IEEE Computer}, Keywords = {olit}, Month = feb, Number = {2}, Pages = {8--22}, Title = {Composing User Interfaces with InterViews}, Volume = {22}, Year = {1989} } @inproceedings{Lipp91a, Address = {Geneva, Switzerland}, Author = {Ernst Lippe and Gert Florijn}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {342--359}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Implementation Techniques for Integral Version Management}, Volume = 512, Year = {1991} } @book{Lipp91b, Author = {Stanley Lippman}, Edition = {Second}, Isbn = {0-201-54848-8}, Keywords = {oobib(gen) book scglib}, Note = {(3)}, Publisher = {Addison Wesley}, Title = {The {C}++ Primer}, Year = {1991} } @inproceedings{Lipp92a, Address = {New York, NY, USA}, Author = {Ernst Lippe and Norbert van Oosterom}, Booktitle = {SDE 5: Proceedings of the fifth ACM SIGSOFT symposium on Software development environments}, Doi = {10.1145/142868.143753}, Isbn = {0-89791-554-2}, Location = {Tyson's Corner, Virginia, United States}, Pages = {78--87}, Publisher = {ACM Press}, Title = {Operation-based merging}, Year = {1992}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/142868.143753} } @techreport{Lipp99a, Author = {Martin Lippert and Cristina V. Lopes}, Institution = {Xerox Parc Palo Alto}, Keywords = {aspect}, Month = dec, Number = {CSL-99-1}, Title = {A Study on Exception Detection and Handling Using Aspect-Oriented Programming}, Type = {Technical Report P9910229}, Year = {1999} } @unpublished{Liqu04a, Author = {Luigi Liquori and Arnaud Spiwack}, Note = {INRIA Sophia Antipolis \& ENS Cachan}, Title = {Adding Multiple Inheritance to {Featherweight {Java}}}, Type = {Manuscript}, Url = {http://www-sop.inria.fr/mirho/Luigi.Liquori/PAPERS/ftj.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www-sop.inria.fr/mirho/Luigi.Liquori/PAPERS/ftj.pdf} } @article{Liqu07b, Author = {Luigi Liquori and Arnaud Spiwack}, Journal = {TCS, Theoretical Computer Science}, Note = {Mario Coppo, Mariangiola Dezani and Simona Ronchi della Rocca Festschrift}, Publisher = {Elsevier}, Title = {Extending {FeatherTrait Java} with Interfaces}, Url = {http://www-sop.inria.fr/mascotte/Luigi.Liquori/PAPERS/tcs-07.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www-sop.inria.fr/mascotte/Luigi.Liquori/PAPERS/tcs-07.pdf} } @article{Liqu08a, Address = {New York, NY, USA}, Author = {Luigi Liquori and Arnaud Spiwack}, Doi = {10.1145/1330017.1330022}, Issn = {0164-0925}, Journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)}, Keywords = {traits}, Number = {2}, Pages = {1--32}, Publisher = {ACM}, Title = {{FeatherTrait}: A Modest Extension of {Featherweight Java}}, Url = {http://www-sop.inria.fr/members/Luigi.Liquori/PAPERS/toplas-07.pdf}, Volume = {30}, Year = {2008}, Bdsk-Url-1 = {http://www-sop.inria.fr/members/Luigi.Liquori/PAPERS/toplas-07.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1330017.1330022} } @book{Lisc96a, Author = {Ray Lischner}, Keywords = {delphi}, Publisher = {Waite Group Press}, Title = {Secrets of Delphi 2}, Year = {1996} } @article{Lisk77a, Author = {Barbara Liskov and Alan Snyder and Robert Atkinson and Craig Schaffert}, Journal = {CACM}, Keywords = {olit lang clu data abstraction}, Month = aug, Number = {8}, Pages = {564--576}, Title = {Abstraction Mechanisms in {CLU}}, Volume = {20}, Year = {1977} } @article{Lisk79a, Author = {Barbara Liskov and Alan Snyder}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit lang clu exceptions binder}, Month = nov, Number = {6}, Pages = {546--558}, Title = {Exception Handling in {CLU}}, Volume = {5}, Year = {1979} } @article{Lisk83a, Author = {Barbara Liskov and R. Scheifler}, Journal = {ACM TOPLAS}, Keywords = {olit-oopl argus guardians transactions}, Month = jul, Number = {3}, Pages = {381--404}, Title = {Guardians and Actions: Linguistic Support for Robust, Distributed Programs}, Volume = {5}, Year = {1983} } @inproceedings{Lisk86a, Address = {St. Petersburg Beach, Florida}, Author = {Barbara Liskov and Maurice Herlihy and L. Gilbert}, Booktitle = {Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages (POPL'86)}, Doi = {10.1145/512644.512658}, Keywords = {concurrency popl86}, Location = {St. Petersburg Beach, Florida}, Misc = {Jan 13-15}, Month = jan, Pages = {150--159}, Publisher = {ACM}, Title = {Limitations of Synchronous Communication with Static Process Structure in Languages for Distributed Computing}, Year = {1986}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/512644.512658} } @book{Lisk86b, Address = {Cambridge, Mass., USA}, Author = {Barbara Liskov and John Guttag}, Isbn = {0-262-12112-3}, Keywords = {olit-oopl clu data abstraction specification oobib(oopl)}, Publisher = {MIT Press/McGraw-Hill}, Title = {Abstraction and Specification in Program Development}, Year = {1986} } @inproceedings{Lisk87a, Author = {Barbara Liskov}, Booktitle = {Proceedings OOPSLA '87}, Month = dec, Pages = {addendum}, Title = {{Data Abstraction and Hierarchy}}, Year = {1987} } @inproceedings{Lisk93a, 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)}, Address = {Kaiserslautern, Germany}, Author = {Barbara Liskov and Jeannette M. Wing}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {118--141}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A New Definition of the Subtype Relation}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Lisk93b, Author = {Barbara Liskov and Jeannette M. Wing}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {16--28}, Title = {Specifications and Their Use in Defining Subtypes}, Volume = {28}, Year = {1993} } @techreport{Lisk93c, Author = {Barbara Liskov and Jeannette M. Wing}, Institution = {Carnegie Mellon University}, Keywords = {olit ecoop93proc}, Month = jul, Title = {Family Values: {A} Behavioral Notion of Subtyping}, Type = {{CMU-CS-93-187}}, Url = {ftp://reports.adm.cs.cmu.edu/usr/anon/1993/CMU-CS-93-187.ps}, Year = {1993}, Bdsk-Url-1 = {ftp://reports.adm.cs.cmu.edu/usr/anon/1993/CMU-CS-93-187.ps} } @article{Lisk94a, Address = {New York, NY, USA}, Author = {Barbara H. Liskov and Jeannette M. Wing}, Doi = {10.1145/197320.197383}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Keywords = {pl-lit-types olit}, Number = {6}, Pages = {1811--1841}, Publisher = {ACM}, Title = {A behavioral notion of subtyping}, Url = {http://www.cs.cmu.edu/~wing/publications/LiskovWing94.pdf}, Volume = {16}, Year = {1994}, Bdsk-Url-1 = {http://www.cs.cmu.edu/~wing/publications/LiskovWing94.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/197320.197383} } @inproceedings{Lisk99a, 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.}, Address = {Lisbon, Portugal}, Author = {Barbara Liskov and Miguel Castro and Liuba Shrira and Atul Adya}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {230--257}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Providing Persistent Objects in Distributed Systems}, Volume = 1628, Year = {1999} } @inproceedings{Litt96a, Author = {David Littman and Jeannine Pinto and Stan Letovsky and Elliot Soloway}, Booktitle = {Empirical Studies of Programmers, First Workshop}, Editor = {Soloway and Iyengar}, Pages = {80--98}, Publisher = {Ablex Publishing Corporation}, Title = {Mental {Models} and {Software} {Maintenance}}, Year = {1996} } @inproceedings{Liu92a, Author = {Chamond Liu and Stephen Goetze and Bill Glynn}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {77--86}, Title = {What Contributes to Successful Object-Oriented Learning?}, Volume = {27}, Year = {1992} } @inproceedings{Liu92b, Address = {Vancouver, BC}, Author = {Ling Liu and Robert Meersman}, Booktitle = {Proceedings of the 18th VLDB Conference}, Keywords = {olit-db obc vldb92 binder}, Title = {Activity Model: {A} Declarative Approach for Capturing Communication Behaviour in Object-Oriented Database}, Year = {1992} } @incollection{Liu93a, 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.}, Author = {Ling Liu}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {194--219}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {An Object-Centered Approach for Manipulating Hierarchically Complex Objects}, Volume = {742}, Year = {1993} } @book{Liu96a, Author = {Chamond Liu}, Keywords = {olit scglib}, Publisher = {Manning Publications}, Title = {Smalltalk, Objects, and Design}, Year = {1996} } @inproceedings{Liu05a, Address = {New York, NY, USA}, Author = {Yanhong A. Liu and Scott D. Stoller and Michael Gorbovitski and Tom Rothamel and Yanni Ellen Liu}, Booktitle = {OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications}, Doi = {10.1145/1094811.1094848}, Isbn = {1-59593-031-0}, Location = {San Diego, CA, USA}, Pages = {473--486}, Publisher = {ACM Press}, Title = {Incrementalization across object abstraction}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1094811.1094848} } @inproceedings{Liu06, Address = {Portland, OR, USA}, Author = {Jing Liu and Robyn Lutz and Hridesh Rajan}, Booktitle = {Proceedings of the 1st Workshop on Aspect-oriented Product Line Engineering (AOPLE' 06)}, Note = {In conjunction with GPCE'06}, Title = {The Role of Aspects in Modeling Product Line Variabilities}, Year = {2006} } @book{Lloy78a, Author = {Sam Lloyd and Martin Gardner}, Isbn = {3-7701-1049-8}, Keywords = {puzzles}, Publisher = {Dumont}, Title = {Mathematische {R}\"atsel und {Spiele}}, Year = {1978} } @article{Lloy82a, Author = {Sam P. LLoyd}, Journal = {IEEE Transactions on Information Theory}, Pages = {129--137}, Title = {Least Squares Quantization in PCM}, Volume = {28}, Year = {1982} } @article{Loch83a, Author = {Frederick H. Lochovsky}, Journal = {IEEE Database Engineering}, Keywords = {oislit ai}, Month = sep, Number = {3}, Pages = {43--51}, Title = {A Knowledge-Based Approach to Supporting Office Work}, Volume = {6}, Year = {1983} } @proceedings{Loch85a, Editor = {Fred H. Lochovsky}, Journal = {IEEE Database Engineering}, Keywords = {olit survey special issue oobib(gen)}, Month = dec, Title = {Special Issue on Object-Oriented Systems}, Volume = {8}, Year = {1985} } @inproceedings{Loeh92a, Author = {Klaus-Peter L{\"o}hr}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit-obc eiffel oopsla92}, Month = oct, Pages = {327--340}, Title = {Concurrency Annotations}, Volume = {27}, Year = {1992} } @mastersthesis{Loer97a, 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.}, Author = {Georg L{\"o}rincze}, Keywords = {snf-none scg-pub skip-doi toBeChecked scg-msc jb97}, Month = apr, School = {University of Bern}, Title = {Modellierung, Analyse und Simulation von Regeln in der aktiven Schicht {ALFRED}}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Loer97a.pdf http://scg.unibe.ch/archive/masters/Loer97a.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Loer97a.pdf%20http://scg.unibe.ch/archive/masters/Loer97a.ps.gz} } @inproceedings{Loew07a, Abstract = {While many software systems today have to be aware of the context in which they are executing, there is still little support for structuring a program with respect to context. A first step towards better context-orientation was the introduction of method layers. This paper proposes two additional language concepts, namely the implicit activation of method layers, and the introduction of dynamic variables}, Annote = {internationalconference}, Author = {Martin von L\"owis and Marcus Denker and Oscar Nierstrasz}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007)}, Doi = {10.1145/1352678.1352688}, Isbn = {978-1-60558-084-5}, Keywords = {scg07 scg-pub jb08 snf08}, Medium = {2}, Pages = {143--156}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Title = {Context-Oriented Programming: Beyond Layers}, Url = {http://scg.unibe.ch/archive/papers/Loew07aPyContext.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Loew07aPyContext.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352688} } @article{Logr88a, Author = {L. Logrippo and A. Obaid and J.P. Briand and M.C. Fehri}, Journal = {Software --- Practice and Experience}, Keywords = {pcalc lotos ccs binder(conc)}, Month = apr, Number = {4}, Pages = {365--385}, Title = {An Interpreter for {LOTOS}, {A} Specification Language for Distributed Systems}, Volume = {18}, Year = {1988} } @article{Lohr93a, Author = {Klaus-Peter Lohr}, Journal = {Communications of the ACM}, Keywords = {oobib(concurrency) olit-reuse binder}, Month = sep, Number = {9}, Pages = {81--89}, Title = {Concurrency Annotations for Reusable Software}, Volume = {36}, Year = {1993} } @inproceedings{Lohr94a, Author = {Klaus-Peter L{\"o}hr}, Booktitle = {Proceedings of TOOLS '94}, Keywords = {oobib(gen) binder}, Pages = {???}, Publisher = {???}, Title = {Towards an Object-Oriented Design Methodoly for Concurrent Systems}, Year = {1994} } @article{Lohr94b, Author = {Klaus-Peter L{\"o}hr and Irina Piens and Thomas Wolff}, Journal = {OBJECT spektrum}, Keywords = {oobib(gen) binder}, Month = may, Number = {??}, Pages = {8--14}, Title = {Verteilungstransparenz bei der objektorientierten Entwicklung verteilter Appplikationen}, Volume = {??}, Year = {1994} } @techreport{Lohr95a, Author = {Klaus-Peter L{\"o}hr}, Institution = {Universit{\"a}t Berlin}, Keywords = {oobib(gen) binder}, Month = jan, Number = {95-X}, Title = {Verteilungstransparenz bei der objektorientierten Spezifikation verteilter Appplikationen}, Type = {Report B}, Year = {1995} } @incollection{Long01a, Author = {Andy Longshaw}, Booktitle = {Component-Based Software Engeneering}, Pages = {621--640}, Publisher = {Addison Wesley}, Title = {Choosing Between {COM+}, {EJB}, and {CCM}}, Year = {2001} } @manual{Look96a, Address = {1 Michaelson Square, Livingston, Scotland}, Author = {Objective Software Technology}, Organization = {{Objective} {Software} {Technology}}, Title = {Manual of Look}, Url = {http://www.objectivesoft.com}, Year = {1996}, Bdsk-Url-1 = {http://www.objectivesoft.com} } @inproceedings{Loom87a, Address = {Paris, France}, Author = {M.E.S. Loomis and Ashwin V. Shah and James E. Rumbaugh}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {192--202}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object Modelling Technique for Conceptual Design}, Volume = {276}, Year = {1987} } @inproceedings{Lope94a, Address = {Bologna, Italy}, Author = {Cristina Videira Lopes and Karl J. Lieberherr}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {81--99}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications}, Volume = {821}, Year = {1994} } @inproceedings{Lope94b, Address = {Bologna, Italy}, Author = {Gus Lopez and Bj\orn Freeman-Benson and Alan Borning}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {260--279}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Constraints and Object Identity}, Volume = {821}, Year = {1994} } @inproceedings{Lope96a, Author = {Cristina Videira Lopes}, Booktitle = {Proceedings of ISOTAS '96, LNCS 1049}, Month = mar, Organization = {JSSST-JAIST}, Pages = {118--136}, Title = {Adaptive Parameter Passing}, Year = {1996} } @techreport{Lope97a, Author = {C.V.Lopez and Gregor Kiczales}, Institution = {Xerox Parc.}, Keywords = {aspect}, Number = {SPL97-010P9710047}, Title = {{D}: {A} Language Framework for Distributed Programming}, Type = {Tech. Rep. TR}, Year = {1997} } @misc{Lope97b, Author = {Cristina Isabel Videira Lopes}, Title = {D: A LANGUAGE FRAMEWORK FOR DISTRIBUTED PROGRAMMING}, Year = {1997} } @inproceedings{Lope01a, Author = {Roberto E. Lopez-Herrejon and Don Batory}, Booktitle = {Proceedings GCSE '2001}, Editor = {Jan Bosch}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Standard Problem for Evaluating Product-Line Methodologies}, Volume = 2186, Year = {2001} } @inproceedings{Lope05a, Author = {Roberto E. Lopez-Herrejon and Don Batory and William Cook}, Booktitle = {Proceedings ECOOP 2005}, Title = {Evaluating Support for Features in Advanced Modularization Technologies}, Year = {2005} } @inproceedings{Lope05b, Author = {Ant{\'o}nia Lopes and Jos{\'e} Luiz Fiadeiro}, Booktitle = {Proceeding of the 2nd European Workshop on Software Architecture ({EWSA})}, Doi = {10.1007/11494713_10}, Isbn = {3-540-26275-X}, Pages = {146--161}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Context-Awareness in Software Architectures}, Volume = {3527}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11494713_10} } @inproceedings{Lope06a, Address = {New York, NY, USA}, Author = {Roberto Lopez-Herrejon and Don Batory and Christian Lengauer}, Booktitle = {PEPM '06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation}, Doi = {10.1145/1111542.1111554}, Isbn = {1-59593-196-1}, Location = {Charleston, South Carolina}, Pages = {68--77}, Publisher = {ACM Press}, Title = {A disciplined approach to aspect composition}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1111542.1111554} } @book{Lore94a, Author = {Mark Lorenz and Jeff Kidd}, Isbn = {13-179292-X}, Keywords = {oobib(gen) book scglib oorp}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Software Metrics: {A} Practical Guide}, Year = {1994} } @book{Lore95a, Author = {Mark Lorenz}, Keywords = {book scglib smalltalk}, Publisher = {SIGS Books}, Title = {Rapid Software Development with {Smalltalk}}, Year = {1995} } @inproceedings{Lore97a, Address = {New York, NY, USA}, Author = {David H. Lorenz}, Booktitle = {OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/263698.263737}, Isbn = {0-89791-908-4}, Location = {Atlanta, Georgia, United States}, Pages = {206--217}, Publisher = {ACM Press}, Title = {Tiling design patterns\ a case study using the interpreter pattern}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/263698.263737} } @inproceedings{Lore03a, Address = {Washington, DC, USA}, Author = {David H. Lorenz and John Vlissides}, Booktitle = {ICSE '03: Proceedings of the 25th International Conference on Software Engineering}, Isbn = {0-7695-1877-X}, Location = {Portland, Oregon}, Pages = {3--13}, Publisher = {IEEE Computer Society}, Title = {Pluggable reflection: decoupling meta-interface and implementation}, Year = {2003} } @inproceedings{Lore07a, Author = {Bettini, Lorenzo and Capecchi, Sara and Venneri, Betti}, Booktitle = {Proc. of PPPJ, Principles and Practice of Programming in Java}, Pages = {83-92}, Publisher = {ACM Press}, Title = {Featherweight Java with Multi-Methods}, Url = {http://rap.dsi.unifi.it/~bettini/bibliography/files/multifj.pdf}, Volume = {272}, Year = {2007}, Bdsk-Url-1 = {http://rap.dsi.unifi.it/~bettini/bibliography/files/multifj.pdf} } @mastersthesis{Lore11a, Abstract = {Software visualizations can provide a concise overview of a complex software system. Unfortunately, since software has no physical shape, there is no "natural" mapping of software to a two-dimensional space. As a consequence most visualizations tend to use a layout in which position and distance have no meaning, and consequently layout typical diverges from one visualization to another. We propose a consistent layout for software maps in which the position of a software artifact reflects its vocabulary, and distance corresponds to similarity of vocabulary. We use Latent Semantic Indexing (LSI) to map software artifacts to a vector space, and then use Multidimensional Scaling (MDS) to map this vector space down to two dimensions. The resulting consistent layout allows us to develop a variety of thematic software maps that express very different aspects of software while making it easy to compare them. The approach is especially suitable for comparing views of evolving software, since the vocabulary of software artifacts tends to be stable over time.}, Author = {Peter Loretan}, Keywords = {scg-msc jb11 scg11 codemap-pub}, Month = apr, School = {University of Bern}, Title = {Software Cartography --- A Prototype for Thematic Software Maps}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Lore11a.pdf}, Year = {2011} } @incollection{Lorh77a, Author = {Bernard Lorho}, Booktitle = {Methods of Algorithmic Language Implementation}, Editor = {A. Ershov and C.H.A. Koster}, Keywords = {compiler generator delta patterns}, Pages = {21--40}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Semantic Attributes Processing in the System {DELTA}}, Volume = {47}, Year = {1977} } @inproceedings{Lorm06a, Author = {M. Lormans and A. van Deursen}, Booktitle = {Proceedings of the 10th European Conference on Software Maintenance and Reengineering (CSMR'06)}, Publisher = {IEEE Computer Society}, Title = {Can LSI help Reconstructing Requirements Traceability in Design and Test?}, Year = {2006} } @inproceedings{Lort94a, Address = {Portland}, Author = {Victor B. Lortz and Kang G. Shin}, Booktitle = {Proceedings of OOPSLA '94}, Editor = {ACM}, Month = oct, Number = {10}, Organization = {ACM}, Pages = {453--467}, Series = {ACM Sigplan Notices}, Title = {Combining Contracts and Exemplar-Based Programming for Class Hiding and Customization}, Volume = {29}, Year = {1994} } @mastersthesis{Lose98a, 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.}, Author = {Roland Loser}, Keywords = {snf-none oobib scg-pub skip-doi toBeChecked scg-msc jb98}, Month = jan, School = {University of Bern}, Title = {Objekt-orientierter Compilerentwurf}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Lose98a.pdf http://scg.unibe.ch/archive/masters/Lose98a.ps.gz}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Lose98a.pdf%20http://scg.unibe.ch/archive/masters/Lose98a.ps.gz} } @book{Loud93a, Author = {Kenneth C. Louden}, Isbn = {0-534-93277-0}, Keywords = {pl-lit book scglib}, Publisher = {PWS Publishing (Boston)}, Title = {Programming Languages: Principles and Practice}, Year = {1993} } @book{Louk86a, Edition = {V}, Editor = {Mike Loukides}, Isbn = {1-56592-001-5}, Keywords = {pl book latex scglib}, Publisher = {O'Reilly \& Associates, Inc}, Title = {Unix in a Nutshell System}, Year = {1986} } @article{Loun98, Author = {H. Lounis and H. A. Sahraoui and W. L. Melo}, Journal = {L'Objet, Num\'ero sp\'ecial M\'etrologie et Objets}, Month = dec, Number = 4, Title = {Vers un mod\`ele de pr\'ediction de la qualit\'e du logiciel pour les syst\`emes \`a objets}, Volume = 4, Year = {1998} } @book{Love93a, Address = {New York}, Author = {Tom Love}, Isbn = {0-9627477-3-4}, Keywords = {olit oobib(gen) book scglib oorp}, Publisher = {SIGS Books}, Title = {Object Lessons --- Lessons Learned in Object-Oriented Development Projects}, Year = {1993} } @inproceedings{Low88a, Address = {Oslo}, Author = {Colin Low}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {390--410}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Shared, Persistent Object Store}, Volume = {322}, Year = {1988} } @inproceedings{Lowe01a, Author = {Welf L{\"o}we and Andreas Ludwig and Andreas Schwind}, Booktitle = {17th International Conference on Advanced Science and Technology}, Pages = {52--57}, Title = {Understanding Software -- Static and Dynamic Aspects}, Year = {2001} } @inproceedings{Lowe02a, Address = {Karlskrona, Sweden}, Author = {Welf L{\"o}we and Morgan Ericsson and Jonas Lundberg and Thomas Panas}, Booktitle = {Software Engineering Research and Practice in Sweden (SERPS)}, Title = {Software Comprehension - Integrating Program Analysis and Software Visualization}, Year = {2002} } @inproceedings{Lowe03a, Author = {Welf L{\"o}we and Jonas Lundberg}, Booktitle = {ETAPS SC'03 Workshop on Software Composition}, Title = {A Low-Level Analysis Library for Architecture Recovery}, Year = {2003} } @inproceedings{Lowe05a, Author = {W. Lowe and T. Panas}, Booktitle = {International Journal of Software Engineering and Knowledge Engineering}, Title = {Rapid Construction of Software Comprehension Tools}, Year = {2005} } @article{Lowr92a, Author = {Andy Lowry}, Journal = {ACM SIGPLAN Notices}, Keywords = {plang hermes binder (shelf)}, Month = aug, Number = {8}, Pages = {51--70}, Title = {The Hermes Language in Outline Form}, Volume = {27}, Year = {1992} } @unpublished{Lu92a, Author = {Gang Lu and Martin Ader}, Keywords = {olit-db oobib(db) binder}, Note = {Bull Worldwide Information Systems}, Title = {First Experience of WoorRKS*}, Type = {Draft}, Year = {1992} } @inproceedings{Lu09a, Address = {Paris, France}, Author = {Lu, Caroline and Fabre, Jean-Charles and Killijian, Marc-Olivier}, Booktitle = {RTNS'09: Proceedings of the 17th International Conference on Real-Time and Network Systems}, Collaboration= {Design Optimization}, Editor = {Laurent George and Maryline Chetto and Mikael Sjodin}, Keywords = {damiencbib automobile}, Pages = {132--147}, Title = {An approach for improving Fault-Tolerance in Automotive Modular Embedded Software}, Year = {2009} } @phdthesis{Lu09b, author = {Lu, Caroline}, title = {Robustesse du logiciel embarqu\'e multicouche par une approche r\'eflexive: application \`a l'automobile}, school = {University of Toulouse}, year = {2009}, keywords = {damiencbib automotive}, month = dec } @incollection{Luca78a, Address = {Heidelberg}, Author = {P. Lucas}, Booktitle = {The Vienna Development Method: The Meta-Language}, Editor = {D. Bj\orner and C.B. Jones}, Keywords = {pl-semantics vdm}, Pages = {1--23}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On the Formalization of Programming Languages: Early History and Main Approaches}, Volume = {61}, Year = {1978} } @inproceedings{Luca88a, Address = {San Diego}, Author = {John M. Lucassen and David K. Gifford}, Booktitle = {Proceedings POPL '88}, Keywords = {concurrency fx binder(conc) popl88}, Misc = {Jan 13-15}, Month = jan, Pages = {47--57}, Title = {Polymorphic Effect Systems}, Year = {1988} } @techreport{Luca94a, Author = {Carine Lucas and Patrick Steyaert}, Institution = {Vrije Universiteit Brussel, Brussels, Belgium}, Note = {vub-prog-tr-94-07}, Number = {07}, Title = {Modular Inheritance of Objets Through Mixin-Methods}, Year = {1994} } @phdthesis{Luca97a, Address = {Vrije Universiteit Brussel, Brussels, Belgium}, Author = {Carine Lucas}, School = {Programming Technology Lab}, Title = {Documenting Reuse and Evolution with Reuse Contracts}, Url = {ftp://progftp.vub.ac.be/dissertation/1997/vub-prog-phd-97-01/}, Year = {1997}, Bdsk-Url-1 = {ftp://progftp.vub.ac.be/dissertation/1997/vub-prog-phd-97-01/} } @inproceedings{Lucc87a, Author = {Steven E. Lucco}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-obc oopsla87}, Month = dec, Pages = {26--34}, Title = {Parallel Programming in a Virtual Object Space}, Volume = {22}, Year = {1987} } @inproceedings{Lucc97a, Address = {Washington, DC, USA}, Author = {Giuseppe A. Di Lucca and Anna Rita Fasolino and Patrizia Guerra and Silvia Petruzzelli}, Booktitle = {ICSM '97: Proceedings of the International Conference on Software Maintenance}, Isbn = {0-8186-8013-X}, Pages = {122--129}, Publisher = {IEEE Computer Society}, Title = {Migrating Legacy Systems towards Object-Oriented Platforms}, Year = {1997} } @inproceedings{Lucc02b, Author = {Giuseppe A. {Di Lucca} and Massimiliano {Di Penta} and Sara Gradara}, Booktitle = {Processings of 18th IEEE International Conference on Software Maintenance (ICSM 2002)}, Pages = {93--102}, Title = {An Approach to Classify Software Maintenance Requests}, Year = {2002} } @inproceedings{Luci04a, Author = {Andrea {De Lucia} and Fausto Fasano and Rocco Oliveto and Genoveffa Tortora}, Booktitle = {Proceedings of 20th IEEE International Conference on Software Maintainance (ICSM 2004)}, Pages = {306--315}, Title = {Enhancing an Artefact Management System with Traceability Recovery Features}, Year = {2004} } @article{Luck95a, Author = {David C. Luckham and John L. Kenney and Larry M. Augustin and James Vera and Doug Bryan and Walter Mann}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {rapide sa architecture tose95 adl damiencbib}, Number = {4}, pages = {336--355}, Title = {Specification and Analysis of System Architecture Using {Rapide}}, Volume = {21}, Year = {1995} } @article{Luck95b, Doi = {10.1109/32.464548}, Author = {Luckham, David C. and Vera, James}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {rapide sa architecture tose95 damiencbib communication-integrity}, Number = {9}, pages = {717--734}, Title = {An Event-Based Architecture Definition Language}, Volume = {21}, Year = {1995}, month = sep } @inproceedings{Luck96a, Author = {Luckham, David C.}, Booktitle = {DIMACS Partial Order Methods Workshop IV}, Month = jul, Publisher = {Princeton University}, Title = {Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Ordering of Events}, Year = {1996} } @book{Luck01a, author = {Luckham, David C.}, title = {The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems}, year = {2001}, isbn = {0201727897}, publisher = {Addison-Wesley Longman Publishing Co., Inc.}, address = {Boston, MA, USA} } @article{Luhn58a, Author = {H. P. Luhn}, Journal = {IBM Journal of Research and Development}, Pages = {159--165}, Title = {The automatic creation of literature abstracts}, Volume = {2}, Year = {1958} } @inproceedings{Lump96a, 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}, Address = {Leysin}, Annote = {internationalconference}, Author = {Markus Lumpe and Jean-Guy Schneider and Oscar Nierstrasz}, Booktitle = {Proceedings of Languages et Mod\`eles \`a Objects}, Keywords = {scg-pub skip-doi snf96 lmo96 pict pi olit jb96 scg-coord-old}, Month = oct, Pages = {1--12}, Title = {Using Metaobjects to Model Concurrent Objects with {PICT}}, Url = {http://scg.unibe.ch/archive/papers/Lump96aMetaobjectsWithPict.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lump96aMetaobjectsWithPict.pdf} } @inproceedings{Lump97a, 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.}, Address = {Zurich}, Annote = {internationalworkshop}, Author = {Markus Lumpe and Jean-Guy Schneider and Oscar Nierstrasz and Franz Achermann}, Booktitle = {Proceedings of ESEC '97 Workshop on Foundations of Component-Based Systems}, Editor = {Gary T. Leavens and Murali Sitaraman}, Keywords = {scg-pub skip-doi glue scripting jpict composition onhindex(36) focbs97 snf97 jb97 scg-coord-98}, Month = sep, Pages = {178--187}, Title = {Towards a formal composition language}, Url = {http://scg.unibe.ch/archive/papers/Lump97aAFormalCompLang.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lump97aAFormalCompLang.pdf} } @phdthesis{Lump99a, 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.}, Author = {Markus Lumpe}, Keywords = {scg-pub skip-doi toBeChecked scg-phd pil olit pi cose glue piccola snf99 scg-coord-99 jb99}, Month = jan, School = {University of Bern, Institute of Computer Science and Applied Mathematics}, Title = {A Pi-Calculus Based Approach to Software Composition}, Type = {{Ph.D}. Thesis}, Url = {http://scg.unibe.ch/archive/phd/lumpe-phd.pdf http://scg.unibe.ch/archive/phd/lumpe-phd.ps.gz}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/lumpe-phd.pdf%20http://scg.unibe.ch/archive/phd/lumpe-phd.ps.gz} } @misc{Lump99c, Author = {Markus Lumpe}, Keywords = {snf99 pil typing scg-wp}, Note = {Working Paper}, Title = {Automatic Type Reconstruction for a Process Calculus with Records}, Year = {1999} } @incollection{Lump00a, 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.}, Author = {Markus Lumpe and Franz Achermann and Oscar Nierstrasz}, Booktitle = {Foundations of Component Based Systems}, Editor = {Gary Leavens and Murali Sitaraman}, Keywords = {snf99 skip-doi pict pi scg-coord-99 jb00 scg-pub onhindex(55) piccola scg-coord-00}, Pages = {69--90}, Publisher = {Cambridge University Press}, Title = {{A Formal Language for Composition}}, Url = {http://scg.unibe.ch/archive/papers/Lump00aFormalLanguage.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lump00aFormalLanguage.pdf} } @unpublished{Lump00b, 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.}, Author = {Markus Lumpe}, Keywords = {oobib(gen) piccola scg-wp}, Month = mar, Note = {ECOOP 2000 Workshop on Component-Oriented Programming}, Title = {Forms --- A Flexible Notion for Composition}, Year = {2000} } @inproceedings{Lump05a, 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.}, Address = {Lisbon, Portugal}, Author = {Lumpe, Markus and Schneider, Jean-Guy}, 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}, Keywords = {olit selit forms lambdaF savcbs05}, Month = sep, Pages = {47--54}, Title = {Classboxes --- An Experiment in Modeling Compositional Abstractions using Explicit Contexts}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/savcbs05.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/savcbs05.pdf} } @article{Lump05b, Abstract = {In recent years considerable progress has been made to facilitate the specification and implementation of software components. However, it is far less clear what kind of language support is needed to enable a flexible and reliable software composition approach. Object-oriented programming languages seem to already offer some reasonable support for component-based programming (e.g., encapsulation of state and behavior, inheritance, late binding). Unfortunately, these languages typically provide only a fixed and restricted set of mechanisms for constructing and composing compositional abstractions. In this article, we will present a generic meta-level framework for modeling both object- and component-oriented programming abstractions. In this framework, various features, which are typically merged in traditional object-oriented programming languages, are all replaced by a single concept: the composition of forms. Forms are first-class, immutable, extensible records that allow for the specification of compositional abstractions in a language-neutral and robust way. Thus, using the meta-level framework, we can define a compositional model that provides the means both to bridge between different object models and to incorporate existing software artifacts into a unified composition system.}, Annote = {Special Issue on New Software Composition Concepts}, Author = {Markus Lumpe and Jean-Guy Schneider}, Doi = {10.1016/j.scico.2004.11.005}, Journal = {Journal of Science of Computer Programming}, Keywords = {olit selit components meta forms jscp04}, Month = apr, Number = {2}, Pages = {59--78}, Publisher = {Elsevier}, Title = {A Form-based Metamodel for Software Composition}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/jscp04.pdf}, Volume = {56}, Year = {2005}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/jscp04.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2004.11.005} } @inproceedings{Lump06a, Address = {Vienna, Austria}, Author = {Markus Lumpe and Jean-Guy Schneider}, Booktitle = {Proceedings of the 5th International Symposium on Software Composition (SC 2006)}, Editor = {L{\"o}we, Welf and S{\"u}dholt, Mario}, Month = mar, Pages = {307--322}, Publisher = {Springer}, Title = {{On the Integration of Classboxes into C{\#}}}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc06.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc06.pdf} } @article{Luna89a, Author = {C. Pii Lunau}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit duotalk joop}, Month = jul, Number = {2}, Pages = {20--25}, Title = {Separation of Hierarchies in Duo-Talk}, Volume = {2}, Year = {1989} } @article{Lund03a, Author = {Jonas Lundberg and Welf L{\"o}we}, Journal = {Electronic Notes in Theoretical Computer Science}, Number = {5}, Title = {Architecture Recovery by Semi-Automatic Component Identification}, Volume = {82}, Year = {2003} } @inproceedings{Lung98a, Author = {Chung-Horng Lung}, Booktitle = {Proceedings of the 3rd International Workshop on Software Architecture}, Keywords = {clustering}, Location = {Orlando, Florida, United States}, Pages = {101--104}, Publisher = {ACM Press}, Title = {Software {Architecture} {Recovery} and {Restructuring} through {Clustering} {Techniques}}, Year = {1998} } @mastersthesis{Lung04a, Abstract = {Reengineering is a subfield of software engineering which is concerned with maintaining and improving existing software systems. Reengineering is also a process, the process by which such systems get to be understood, improved and extended. Part of this process is another process, the so called reverse engineering. In reverse engineering man tries to understand the existing software system. There are different approaches to this task. Several of these approaches are based on metrics. One such approach is the detection strategies, a mechanism which makes use of compositions of metrics. The detection strategies offer a means for detecting design flaws in software artifacts by filtering a given set according to its property of respecting a certain design rule. The detection strategies have proved to be useful in detecting flaws in software systems, and this is an important step in the process of reverse engineering. However their mechanism of filtering does not make any difference between the different degrees of conformity to the rule by which the filtering is made. To address this, we introduce in this work the conformity strategies, a mechanism who's main purpose is to compute the degree of conformity of the software artifacts to specific design rules. As an application of the conformity expressions we develop a visualization technique called the Magnet View. It visually presents information about the software artifacts by letting them interact with their properties after laws derived from the equivalent physical laws of magnetism.}, Author = {Mircea Lungu}, Keywords = {moose-pub metrics detection}, Month = sep, School = {Politehnica University of Timisoara}, Title = {Conformity Strategies: Measures Of Software Design Rules}, Url = {http://scg.unibe.ch/archive/external/Lung04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Lung04a.pdf} } @inproceedings{Lung05a, 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}, Author = {Mircea Lungu and Adrian Kuhn and Tudor G\^irba and Michele Lanza}, Booktitle = {3rd International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2005)}, Doi = {10.1109/VISSOF.2005.1684313}, Keywords = {scg-pub visualization girba moose-pub jb06 recast06 akuhn}, Pages = {95--100}, Title = {Interactive Exploration of Semantic Clusters}, Url = {http://scg.unibe.ch/archive/papers/Lung05aExploreSemanticClusters.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung05aExploreSemanticClusters.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/VISSOF.2005.1684313} } @inproceedings{Lung06a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Mircea Lungu and Michele Lanza and Tudor G\^irba}, Booktitle = {Proceedings of CSMR 2006 (10th European Conference on Software Maintenance and Reengineering)}, Doi = {10.1109/CSMR.2006.39}, Keywords = {scg-pub visualization jb06 fb06 recast06 girba moose-pub norex06}, Medium = {2}, Pages = {185--196}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Package Patterns for Visual Architecture Recovery}, Url = {http://scg.unibe.ch/archive/papers/Lung06aPackagePatterns.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung06aPackagePatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2006.39} } @inproceedings{Lung06b, Address = {Los Alamitos CA}, Author = {Mircea Lungu and Michele Lanza}, Booktitle = {Proceedings of CSMR 2006 (10th European Conference on Software Maintenance and Reengineering)}, Doi = {10.1109/CSMR.2006.52}, Keywords = {norex06}, Pages = {351--354}, Publisher = {IEEE Computer Society Press}, Title = {Softwarenaut: Exploring Hierarchical System Decompositions}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.52} } @inproceedings{Lung06c, Author = {Mircea Lungu and Michele Lanza}, Booktitle = {Proceedings of Softvis 2006 (3rd International ACM Symposium on Software Visualization)}, Pages = {179--180}, Publisher = {ACM Press}, Title = {Softwarenaut: Cutting Edge Visualization}, Year = {2006} } @inproceedings{Lung07a, Address = {Los Alamitos CA}, Author = {Mircea Lungu and Michele Lanza}, Booktitle = {Proceedings of CSMR 2007 (11th European Conference on Software Maintenance and Reengineering)}, Pages = {91--100}, Publisher = {IEEE Computer Society Press}, Title = {Exploring Inter-Module Relationships in Evolving Software Systems}, Year = {2007} } @inproceedings{Lung07b, Abstract = {Software evolution research has been focused mostly on analyzing the evolution of single software systems. However, it is rarely the case that a project exists as standalone, independent of others. Rather, projects exist in parallel within larger contexts in companies, research groups or even the open-source communities, contexts that we call super-repositories. In this paper, we argue that visualization of super-repositories is useful in a range of situations, and we describe Small Project Observatory, a prototype tool which aims to visualize super-repositories.}, Annote = {internationalworkshop}, Author = {Mircea Lungu and Tudor G\^irba}, Booktitle = {Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007)}, Doi = {10.1145/1294948.1294974}, Isbn = {978-1-59593-722-3}, Keywords = {scg07 scg-pub evolution visualization girba jb08 moose-pub norex07}, Medium = {2}, Pages = {106--109}, Peerreview = {yes}, Publisher = {ACM Press}, Title = {A Small Observatory for Super-Repositories}, Url = {http://scg.unibe.ch/archive/papers/Lung07bSmallProjectObservatory.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung07bSmallProjectObservatory.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1294948.1294974} } @inproceedings{Lung07c, Abstract = {Reverse engineering and software evolution research has been focused mostly on analyzing single software systems. However, rarely a project exists in isolation; instead, projects exist in parallel within a larger context given by a company, a research group or the open-source community. Technically, such a context manifests itself in the form of super-repositories, containers of several projects developed in parallel. Well-known examples of such super-repositories include SourceForge and CodeHaus. We present an easily accessible platform which supports the analysis of such super-repositories. The platform can be valuable for reverse engineering both the projects and the structure of the organization as reflected in the interactions and collaborations between developers. Throughout the paper we present various types of analysis applied to three open-source and one industrial Smalltalk super-repositories, containing hundreds of projects developed by dozens of people.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Mircea Lungu and Michele Lanza and Tudor G\^irba and Reinout Heeck}, Booktitle = {Proceedings of WCRE 2007 (14th Working Conference on Reverse Engineering)}, Doi = {10.1109/WCRE.2007.46}, Isbn = {0-7695-3034-6}, Issn = {1095-1350}, Keywords = {snf-none scg-pub evolution visualization girba jb08 moose-pub}, Medium = {2}, Pages = {120--129}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Reverse Engineering Super-Repositories}, Url = {http://scg.unibe.ch/archive/papers/Lung07cSuperRepositories.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung07cSuperRepositories.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2007.46} } @misc{Lung07d, Abstract = {The Small Project Observatory is an online application which supports the interactive exploration and visualization of Store repositories. The application is developed in VisualWorks using Seaside. The graphics and high level of interactivity are obtained using SVG and Javascript.}, Annote = {tooldemo}, Author = {Mircea Lungu and Michele Lanza and Tudor G\^irba}, Howpublished = {European Smalltalk User Group 2007 Technology Innovation Awards}, Keywords = {esug scg-misc snf-none girba jb08 moose-pub}, Month = aug, Note = {It received the 1st prize}, Title = {The {Small Project Observatory}}, Url = {http://scg.unibe.ch/archive/reports/Lung07dSPO.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Lung07dSPO.pdf} } @phdthesis{Lung09b, Author = {Mircea Lungu}, Month = nov, School = {University of Lugano}, Title = {Reverse Engineering Software Ecosystems}, Url = {http://www.inf.usi.ch/phd/lungu/MirceaLungu-Thesis.pdf}, Year = {2009}, Keywords = {moose-pub}, Bdsk-Url-1 = {http://www.inf.usi.ch/phd/lungu/MirceaLungu-Thesis.pdf} } @inproceedings{Lung10a, Abstract = {In large software systems, knowing the dependencies be- tween modules or components is critical to assess the impact of changes. To recover the dependencies, fact extractors analyze the system as a whole and build the dependency graph, parsing the system down to the statement level. At the level of software ecosystems, which are collections of soft- ware projects, the dependencies that need to be recovered reside not only within the individual systems, but also be- tween the libraries, frameworks, and entire software systems that make up the complete ecosystem; scaling issues arise. In this paper we present and evaluate several variants of a lightweight and scalable approach to recover dependencies between the software projects of an ecosystem. We evaluate our recovery algorithms on the Squeak 3.10 Universe, an ecosystem containing more than 200 software projects.}, Annote = {internationalconference}, Author = {Mircea Lungu and Romain Robbes and Michele Lanza}, Booktitle = {ASE'10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering}, Keywords = {ecosystems lungu}, PeerReview = {yes}, Title = {Recovering Inter-Project Dependencies in Software Ecosystems}, Publisher = {ACM Press}, url = {http://inf.usi.ch/phd/lungu/research/publications/resources/Lung10a.pdf}, year = {2010}, Doi = {10.1145/1858996.1859058} } @article{Lung09a, Abstract = {Software evolution research has focused mostly on analyzing the evolution of single software systems. However, it is rarely the case that a project exists as standalone, independent of others. Rather, projects exist in parallel within larger contexts in companies, research groups or even the open-source communities. We call these contexts software ecosystems, and on this paper we present The Small Project Observatory, a prototype tool which aims to support the analysis of project ecosystems through interactive visualization and exploration. We present a case-study of exploring an ecosystem using our tool, we describe about the architecture of the tool, and we distill the lessons learned during the tool-building experience.}, Annote = {internationaljournal}, Author = {Mircea Lungu and Michele Lanza and Tudor G\^irba and Romain Robbes}, Doi = {10.1016/j.scico.2009.09.004}, Journal = {Science of Computer Programming, Elsevier}, Keywords = {scg-pub scg10 jb10 hasler09 girba evol11 moose-pub}, Medium = {2}, Peerreview = {yes}, Month = apr, Number = {4}, Pages = {264--275}, Peerreview = {yes}, Title = {The {Small Project Observatory}: Visualizing Software Ecosystems}, Url = {http://scg.unibe.ch/archive/papers/Lung09aSPO.pdf}, Volume = {75}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Lung09aSPO.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.scico.2009.09.004} } @inproceedings{Luqi99a, 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.}, Author = {Luqi and Guo, Jiang}, Booktitle = {Proceedings of Sixth IEEE International Conference and Workshop on the Engineering of Computer-Based Systems}, Keywords = {olit repository abb reuse ecbs99}, Location = {Privat}, Month = mar, Pages = {99--105}, Publisher = {IEEE}, Title = {{Toward Automated Retrieval for a Software Component Repository}}, Url = {http://www.computer.org/proceedings/ecbs/0028/00280099abs.htm}, Year = {1999}, Bdsk-Url-1 = {http://www.computer.org/proceedings/ecbs/0028/00280099abs.htm} } @book{Lutz01a, Author = {Mark Lutz}, Isbn = {0596000855}, Keywords = {scglib}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Programming {Python} (2nd edition)}, Year = {1996} } @book{Lutz96a, Author = {Mark Lutz}, Isbn = {1-56592-197-6}, Keywords = {scglib}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Programming {Python}}, Year = {1996} } @inproceedings{Lync87a, author = {Lynch, Nancy A. and Tuttle, Mark R.}, title = {Hierarchical correctness proofs for distributed algorithms}, month = dec, isbn = {0-89791-239-4}, address = {Vancouver, BC, Canada}, pages = {137--151}, booktitle = {PODC'87: Proceedings of the 6th Symposium on Principles of Distributed Computing}, doi = {10.1145/41840.41852}, publisher = {ACM}, year = {1987} } @article{Lyng84a, Author = {P. Lyngbaek and Dennis McLeod}, Journal = {ACM TOOIS}, Keywords = {olit-db distribution ois}, Number = {2}, Pages = {96--122}, Title = {Object Management in Distributed Information Systems}, Volume = {2}, Year = {1984} } @article{Lyon74a, Address = {New York, NY, USA}, Author = {Gordon Lyon}, Doi = {10.1145/360767.360771}, Issn = {0001-0782}, Journal = {Commun. ACM}, Keywords = {parsing}, Number = {1}, Pages = {3--14}, Publisher = {ACM Press}, Title = {Syntax-directed least-errors analysis for context-free languages: a practical approach}, Volume = {17}, Year = {1974}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/360767.360771} } @misc{MDA, Key = {MDA}, Note = {http://www.omg.org/mda/}, Title = {{OMG} Model Driven Architecture}, year = {2000} } @techreport{MOF97a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Key = {OMG}, Keywords = {olit UML MOF}, Month = sep, Number = {ad/97-08-14}, Title = {Meta Object Facility ({MOF}) Specification}, Year = {1997} } @techreport{MOF00a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Key = {OMG}, Keywords = {olit UML MOF}, Month = mar, Title = {{Meta} {Object} {Facility} ({MOF}) Specification (version 1.3)}, Year = {2000} } @techreport{MOF04a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Keywords = {olit UML MOF}, Title = {Meta Object Facility ({MOF}) 2.0 Core Final Adopted Specification}, Url = {http://www.omg.org/cgi-bin/doc?ptc/03-10-04}, Year = {2004}, Bdsk-Url-1 = {http://www.omg.org/cgi-bin/doc?ptc/03-10-04} } @misc{MPS, Author = {JetBrains}, Note = {http://www.jetbrains.com/mps}, Title = {Meta Programming System}, Url = {http://www.jetbrains.com/mps}, Bdsk-Url-1 = {http://www.jetbrains.com/mps} } @misc{MSDN, Key = {MSDN}, Note = {http://msdn.microsoft.com/}, Title = {{The} {Microsoft} {Developer} {Network}} } @article{Maam06a, Address = {New York, NY, USA}, Author = {Zakaria Maamar and Djamal Benslimane and Nanjangud C. Narendra}, Doi = {10.1145/1183236.1183238}, Issn = {0001-0782}, Journal = {Commun. ACM}, Keywords = {cop-lit}, Number = {12}, Pages = {98--103}, Publisher = {ACM Press}, Title = {What can context do for web services?}, Volume = {49}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1183236.1183238} } @article{Maar91a, Author = {Yo{\"e}lle S. Maarek and Daniel M. Berry and Gail E. Kaiser}, Journal = {IEEE Transactions on Software Engineering}, Month = aug, Number = {8}, Pages = {800--813}, Title = {An Information Retrieval Approach For Automatically Constructing Software Libraries}, Volume = {17}, Year = {1991} } @inproceedings{MacK93a, author = {MacKenzie, I. Scott and Ware, Colin}, title = {Lag as a determinant of human performance in interactive systems}, booktitle = {Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems}, series = {CHI '93}, year = {1993}, isbn = {0-89791-575-5}, location = {Amsterdam, The Netherlands}, pages = {488--493}, numpages = {6}, url = {http://doi.acm.org/10.1145/169059.169431}, doi = {10.1145/169059.169431}, acmid = {169431}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Fitts' law, feedback delay, human performance modeling, lag, speed-accuracy tradeoff, virtual reality} } @book{MacK03a, Author = {David MacKenzie and Paul Eggert and Richard Stallman}, Isbn = {0954161750}, Keywords = {evolution}, Pages = {120}, Publisher = {Network Theory Ltd.}, Title = {Comparing and Merging Files With Gnu Diff and Patch}, Year = {2003} } @inproceedings{MacQ67a, Address = {Berkley}, Author = {J. B. MacQueen}, Booktitle = {Proceedings of the 5th Symposium on Mathematics, Statistics and Probability}, Keywords = {clustering}, Pages = {281--297}, Publisher = {University of California Press}, Title = {Some {Methods} for {Classification} and {Analysis} of {Multivariate} {Observations}}, Year = {1967} } @inproceedings{MacQ84a, Author = {David MacQueen}, Booktitle = {Proceedings of the 1984 ACM Symposium on LISP and functional programming}, Isbn = {0-89791-142-3}, Location = {Austin, Texas, United States}, Pages = {198--207}, Publisher = {ACM Press}, Title = {Modules for Standard ML}, Year = {1984} } @inproceedings{MacQ88a, Author = {David MacQueen}, Booktitle = {Proceedings of the 1988 ACM conference on LISP and functional programming}, Doi = {10.1145/62678.62704}, Isbn = {0-89791-273-X}, Location = {Snowbird, Utah, United States}, Pages = {212--223}, Publisher = {ACM Press}, Title = {An Implementation of Standard ML Modules}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/62678.62704} } @inproceedings{MacQ93a, Author = {David B. MacQueen}, Booktitle = {Functional Programming, Concurrency, Simulation and Automated Reasoning}, Pages = {32--46}, Publisher = {Lecture Notes in Computer Science}, Title = {Reflections on Standard ML.}, Year = {1993} } @misc{Mack00a, Author = {T. Mackinnon and S. Freeman and P. Craig}, Text = {Mackinnon, T., Freeman, S., Craig, P. EndoTesting: Unit Testing with Mock Objects, eXtreme Programming and Flexible Processes in Software Engineering - XP2000, May 2000}, Title = {EndoTesting: Unit Testing with Mock Objects}, Url = {http://www.mockobjects.com}, Year = {2000}, Bdsk-Url-1 = {http://www.mockobjects.com} } @incollection{Mack01a, author = {Mackinnon, Tim and Freeman, Steve and Craig, Philip}, title = {Endo-testing: Unit testing with mock objects}, booktitle = {Extreme programming examined}, year = {2001}, keywords = {damiencbib}, pages = {287--301}, numpages = {15}, chapter = {17}, publisher = {Addison-Wesley Longman Publishing Co., Inc.}, address = {Boston, MA, USA} } @inproceedings{Mada89a, Address = {Nottingham}, Author = {Peter W. Madany and Roy H. Campbell and Vincent F. Russo and Douglas E. Leyens}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {311--328}, Publisher = {Cambridge University Press}, Title = {A Class Hierarchy for Building Stream-Oriented File Systems}, Year = {1989} } @article{Madh85a, Author = {Nazim H. Madhavji}, Journal = {Techniques et Sciences Informatiques}, Month = nov, Number = {6}, Pages = {489--498}, Title = {Compare: A Collusion Detector for {PASCAL}}, Volume = {4}, Year = {1985} } @book{Madh06a, Author = {Nazim H. Madhavji and Juan Fernandez-Ramil and Dewayne Perry}, Isbn = {0470871806}, Publisher = {John Wiley \& Sons}, Title = {Software Evolution and Feedback: Theory and Practice}, Year = {2006} } @incollection{Mads80a, Author = {Ole Lehrmann Madsen}, Booktitle = {Semantics-Directed Compiler Generation}, Editor = {N.D. Jones}, Keywords = {compiler generator patterns}, Pages = {259--299}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Defining Semantics by Means of Extended Attribute Grammars}, Volume = {94}, Year = {1980} } @article{Mads86a, Author = {Ole Lehrmann Madsen}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit concepts oopws86 ioom-intro}, Month = oct, Number = {10}, Pages = {133--142}, Title = {Block Structure and Object Oriented Languages}, Volume = {21}, Year = {1986} } @inproceedings{Mads88a, Address = {Oslo}, Author = {Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {1--20}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {What Object-Oriented Programming May Be --- and What It Does Not Have To Be}, Volume = {322}, Year = {1988} } @inproceedings{Mads89a, Author = {Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {397--406}, Title = {Virtual Classes: {A} Powerful Mechanism in Object-Oriented Programming}, Volume = {24}, Year = {1989} } @inproceedings{Mads89b, Author = {O. L. Madsen and B. Moller-Pedersen}, Booktitle = {Conference proceedings on Object-oriented programming systems, languages and applications}, Isbn = {0-89791-333-7}, Location = {New Orleans, Louisiana, United States}, Pages = {397--406}, Publisher = {ACM Press}, Title = {Virtual classes: a powerful mechanism in object-oriented programming}, Year = {1989} } @inproceedings{Mads90a, Author = {Ole Lehrmann Madsen and Boris Magnusson and Birger M{\o}ller-Pedersen}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {140--150}, Title = {Strong Typing of Object-Oriented Languages Revisited}, Volume = {25}, Year = {1990} } @book{Mads92a, Editor = {Ole Lehrmann Madsen}, Isbn = {3-540-55668-0}, Keywords = {olit ecoop92proc scglib proceedings}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {ECOOP}'92}, Volume = {615}, Year = {1992} } @inproceedings{Mads92b, Author = {Madsen, Ole Lehrmann and M{\o}ller-Pedersen, Birger}, Title = {Part objects and their location}, Abstract = {The notion of location of part objects is introduced, yielding a reference to the containing object. Combined with locally defined objects and classes (block structure), singularly defined part objects, and references to part objects, it is a powerful language mechanism for defining objects with different aspects or roles. The use of part objects for inheritance of code is also explored.}, Booktitle = {Proceedings of the seventh international conference on Technology of object-oriented languages and systems}, Year = {1992}, Isbn = {0-13-917436-2}, Location = {Dortmund, Germany}, Pages = {283--297}, Numpages = {15}, Url = {http://portal.acm.org/citation.cfm?id=161213.161247; http://www.daimi.au.dk/PB/406/PB-406.ps.gz"}, Acmid = {161247}, Publisher = {Prentice Hall International (UK) Ltd.}, Address = {Hertfordshire, UK, UK} } @book{Mads93a, Address = {Reading, Mass.}, Author = {Ole Lehrmann Madsen and Birger M{\o}ller-Pedersen and Kristen Nygaard}, Isbn = {0-201-62430-3}, Keywords = {olit-oopl beta binder (shelf) book}, Publisher = {Addison Wesley}, Title = {Object-Oriented Programming in the Beta Programming Language}, Year = {1993} } @article{Mads95a, Address = {New York, NY, USA}, Author = {Ole Lehrmann Madsen}, Doi = {10.1002/spe.4380251303}, Issn = {0038-0644}, Journal = {Softw. Pract. Exper.}, Number = {S4}, Pages = {3--43}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Open issues in object-oriented programming---a Scandinavian perspective}, Volume = {25}, Year = {1995}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.4380251303} } @inproceedings{Mads02b, Author = {Per Madsen}, Booktitle = {The Tenth Nordic Workshop on Programming and Software Development Tools and Techniques}, Note = {On-line proceedings: http://www.itu.dk/people/kasper/NWPER2002/}, Title = {Testing By Contract --- Combining Unit Testing and Design by Contract}, Url = {http://www.itu.dk/people/kasper/NWPER2002/}, Year = {2002}, Bdsk-Url-1 = {http://www.itu.dk/people/kasper/NWPER2002/} } @inproceedings{Mads02a, Author = {Per Madsen}, Booktitle = {Extreme Programming and Agile Processes in Software Engineering}, Editor = {Michele Marchesi and Giancarlo Succi}, Keywords = {unit testing design by contract}, Pages = {425--426}, Publisher = {Springer}, Series = {LNCS}, Title = {Unit Testing Using Design by Contract and Equivalence Partitions}, Year = {2003} } @inproceedings{Mads10a, author = {Madsen, Ole Lehrmann and M{\o}ller-Pedersen, Birger}, title = {A Unified Approach to Modeling and Programming}, booktitle = {MODELS'10: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems}, address = {Oslo, Norway}, keywords = {damiencbib uml simula beta delta models programming language DSL}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, pages = {1-15}, volume = {6394}, url = {http://models2010.ifi.uio.no/material/Models10.pdf}, doi = {10.1007/978-3-642-16145-2_1}, month = oct, year = {2010} } @inproceedings{Maed96a, Author = {C. Maeda}, Booktitle = {Proceedings of ISOTAS '96, LNCS 1049}, Month = mar, Organization = {JSSST-JAIST}, Pages = {275--286}, Title = {A Metaobject Protocol For Controlling File Cache Management}, Year = {1996} } @inproceedings{Maes87a, Author = {Pattie Maes}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87 binder uni-refl}, Month = dec, Pages = {147--155}, Title = {Concepts and Experiments in Computational Reflection}, Volume = {22}, Year = {1987}, Doi = {10.1145/38765.38821} } @phdthesis{Maes87b, Address = {Vrije Universiteit Brussel, Brussels Belgium}, Author = {Pattie Maes}, Month = jan, School = {Laboratory for Artificial Intelligence}, Title = {Computational {Reflection}}, Year = {1987} } @incollection{Maes88a, Author = {Pattie Maes}, Booktitle = {Meta-Level Architectures and Reflection}, Editor = {P. Maes, D. Nardi}, Pages = {21--35}, Publisher = {Elsevier Science Publishers B.V. (North-Holland)}, Title = {Issues in Computational Reflection}, Year = {1988} } @inproceedings{Maff94a, 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.}, Author = {Silvano Maffeis}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {213--224}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Flexible System Design to Support Object-Groups and Object-Oriented Distributed Programming}, Volume = {791}, Year = {1994} } @article{Mage89a, Author = {Jeff Magee and Jeffrey Kramer and M. Sloman}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {visprog scripting}, Number = {6}, Pages = {663--675}, Title = {Constructing Distributed Systems in Conic}, Volume = {SE-15}, Year = {1989} } @inproceedings{Mage92a, Address = {London}, Author = {Jeff Magee and Naranker Dulay and Jeffrey Kramer}, Booktitle = {Proceedings of the International Workshop on Configurable Distributed Systems}, Keywords = {olit visprog scripting darwin regis binder}, Month = mar, Title = {Structuring Parallel and Distributed Programs}, Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/iwcds.ps.gz}, Year = {1992}, Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/iwcds.ps.gz} } @inproceedings{Mage95a, Author = {Magee, Jeff and Dulay, Naranker and Eisenbach, Susan and Kramer, Jeffrey}, Booktitle = {ESEC'95: Proceedings of the 5th European Software Engineering Conference}, Keywords = {olit visprog scripting darwin regis binder damiencbib}, Month = sep, Pages = {137--153}, Publisher = {Springer-Verlag}, address = {Sitges, Spain}, Series = {LNCS}, Title = {Specifying Distributed Software Architectures}, doi = {10.1007/3-540-60406-5_12}, Volume = {989}, Year = {1995} } @inproceedings{Mage96a, Doi = {10.1145/239098.239104}, keywords = {damiencbib architecture darwin adl}, author = {Magee, Jeff and Kramer, Jeff}, title = {Dynamic structure in software architectures}, booktitle = {SIGSOFT'96: Proceedings of the 4th Symposium on Foundations of software engineering}, year = {1996}, pages = {3--14}, address = {San Francisco, CA, USA}, publisher = {ACM} } @book{Mage99a, Author = {Jeff Magee and Jeffrey Kramer}, Keywords = {olit}, Publisher = {Wiley}, Title = {Concurrency: State Models \& {Java} Programs}, Url = {http://www-dse.doc.ic.ac.uk/concurrency/index.html}, Year = {1999}, Bdsk-Url-1 = {http://www-dse.doc.ic.ac.uk/concurrency/index.html} } @inproceedings{Magee99a, author = {Magee, Jeff}, title = {Behavioral analysis of software architectures using {LTSA}}, booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software Engineering}, year = {1999}, isbn = {1-58113-074-0}, address = {Los Angeles, CA, USA}, pages = {634--637}, doi = {10.1145/302405.302726}, publisher = {ACM}, keywords = {behavior analysis, software architecture damiencbib} } @article{Magn90a, Author = {Boris Magnusson}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit joop}, Number = {4}, Pages = {66--70}, Title = {{SCOOP}-Europe Report and Introducing {OOP} Research at the University of Geneva}, Volume = {3}, Year = {1990} } @inproceedings{Magn93b, Address = {San Francisco}, Author = {M. Magnan and C. Oussalah}, Booktitle = {Proceeding of the 5th International Conference on Sotware Engineering and Knowledge Engineering}, Pages = {546--553}, Title = {Object Evolution}, Year = {1993} } @phdthesis{Magn94a, Author = {M. Magnan}, School = {Universit\'e de Montpellier II}, Title = {R\'eutilisation de composants: les exceptions dans les objets composites}, Year = {1994} } @inproceedings{Maha05a, Author = {Rupa Mahanti and P.K. Mahanti}, Booktitle = {Proceedings Conference on Software Engineering Education and Training (CSEET05)}, Title = {Software Engineering Education From Indian Perspective}, Year = {2005} } @book{Mahe06a, Author = {Michael Mahemoff}, Isbn = {0-596-10180-5}, Publisher = {O'Relly Media}, Title = {Ajax Design Patterns}, Year = {2006} } @article{Maie85a, Author = {David Maier and Allen Otis and Alan Purdy}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl gemstone}, Month = dec, Number = {4}, Pages = {58--65}, Title = {Object-Oriented Database Development at Servio Logic}, Volume = {8}, Year = {1985} } @inproceedings{Maie86a, Author = {David Maier and Jacob Stein and Allen Otis and Alan Purdy}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-db gemstone oopsla86}, Month = nov, Pages = {472--482}, Title = {Development of an Object-Oriented {DBMS}}, Volume = {21}, Year = {1986} } @incollection{Maie87a, Address = {Cambridge, Mass.}, Author = {David Maier and Jacob Stein}, Booktitle = {Research Directions in Object-Oriented Programming}, Editor = {B. Shriver and P. Wegner}, Keywords = {olit-db gemstone rdoop87 oobib(oodb)}, Pages = {355--392}, Publisher = {MIT Press}, Title = {Development and Implementation of an Object-Oriented {DBMS}}, Year = {1987} } @inproceedings{Main02a, Address = {New York, NY, USA}, Author = {Alan Mainwaring and David Culler and Joseph Polastre and Robert Szewczyk and John Anderson}, Booktitle = {WSNA '02: Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications}, Doi = {10.1145/570738.570751}, Isbn = {1-58113-589-0}, Location = {Atlanta, Georgia, USA}, Pages = {88--97}, Publisher = {ACM Press}, Title = {Wireless sensor networks for habitat monitoring}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/570738.570751} } @inproceedings{Maiz81a, Author = {J.V. Maizel Jr. and R.P. Lenk}, Booktitle = {Proceedings of the National Academy of Sciences, Genetics}, Keywords = {dotplot}, Pages = {7665--7669}, Title = {Enhanced Graphic Matrix Analysis of Nucleic Acid and Amino Acid Sequences}, Volume = {78}, Year = {1981} } @inproceedings{Makr09a, author = {Makris, Kristis and Bazzi, Rida A.}, title = {Immediate multi-threaded dynamic software updates using stack reconstruction}, booktitle = {Proceedings of the 2009 conference on USENIX Annual technical conference}, series = {USENIX'09}, year = {2009}, location = {San Diego, California}, pages = {31--31}, numpages = {1}, url = {http://portal.acm.org/citation.cfm?id=1855807.1855838}, acmid = {1855838}, publisher = {USENIX Association}, address = {Berkeley, CA, USA} } @inproceedings{Mala00a, Author = {Scott Malabarba and Raju Pandey and Jeff Gragg and Earl Barr and J. Fritz Barnes}, Booktitle = {Proceedings of the 14th European Conference on Object-Oriented Programming}, Isbn = {3-540-67660-0}, Pages = {337--361}, Publisher = {Springer-Verlag}, Title = {Runtime Support for Type-Safe Dynamic {Java} Classes}, Year = {2000}, Doi = {10.1007/3-540-45102-1_17} } @inproceedings{Male89a, Address = {Nottingham}, Author = {Jacques Malenfant and Guy Lapalme and Jean Vaucher}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl objvprolog binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {257--269}, Publisher = {Cambridge University Press}, Title = {ObjVProlog: Metaclasses in Logic}, Year = {1989} } @inproceedings{Male92a, Address = {Tokyo}, Author = {Jacques Malenfant and Christophe Dony and Pierre Cointe}, Booktitle = {Proceedings of Int'l Workshop on Reflection and Meta-Level Architectures}, Editor = {A. Yonezawa and B. Smith}, Month = nov, Organization = {RISE and IPA(Japan) + ACM SIGPLAN}, Pages = {143--153}, Title = {{Behavioral Reflection in a prototype-based language}}, Year = {1992} } @inproceedings{Male95b, Address = {Austin}, Author = {J. Malenfant}, Booktitle = {Proceedings of OOPSLA '95}, Month = oct, Organization = {ACM}, Pages = {215--230}, Title = {On the Semantic Diversity of Delegation-Based Programming Languages}, Year = {1995} } @inproceedings{Male96a, Author = {J. Malenfant and M. Jacques and F.-N. Demers}, Booktitle = {Proceedings of Reflection}, Title = {Compiling Static Behavioral Reflection}, Year = {1996} } @inproceedings{Male96b, Author = {J. Malenfant and M. Jacques and F.-N. Demers}, Booktitle = {Proceedings of Reflection}, Pages = {1--20}, Title = {A tutorial on behavioral reflection and its implementation}, Url = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/malenfant.pdf http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html}, Year = {1996}, Bdsk-Url-1 = {http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html} } @inproceedings{Male00a, Author = {Jonathan I. Maletic and Andrian Marcus}, Booktitle = {Proceedings of the 12th International Conference on Tools with Artificial Intelligences (ICTAI 2000)}, Keywords = {clones lsi}, Month = nov, Pages = {46--53}, Title = {Using Latent Semantic Analysis to Identify Similarities in Source Code to Support Program Understanding}, Year = {2000} } @inproceedings{Male00b, Author = {Jonathan I. Maletic and Andrian Marcus}, Booktitle = {Proceedings fo the 4th Anunual IASTED International Conference on Software Engineering and Applications (SEA2000)}, Keywords = {lsi}, Month = nov, Pages = {250--255}, Title = {Support Software Maintainance Using Latent Semantic Analysis}, Year = {2000} } @inproceedings{Male01a, Author = {Jonathan I. Maletic and Andrian Marcus}, Booktitle = {Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001)}, Keywords = {lsi}, Month = may, Pages = {103--112}, Title = {Supporting Program Comprehension Using Semantic and Structural Information}, Year = {2001} } @inproceedings{Male02a, Author = {Jonathan I. Maletic and Andrian Marcus and Michael Collard}, Booktitle = {Proceedings of the 1st Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2002)}, Keywords = {visualization}, Month = jun, Pages = {32--40}, Publisher = {IEEE}, Title = {A Task Oriented View of Software Visualization}, Year = {2002} } @inproceedings{Male02b, Author = {Jonathan Maletic and Michael Collard and Andrian Marcus}, Booktitle = {Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002)}, Month = jun, Pages = {289--292}, Publisher = {IEEE}, Title = {Source Code Files as Structured Documents}, Year = {2002} } @incollection{Malh93a, 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.}, Author = {Jawahar Malhotra}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {297--314}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Dynamic Extensibility in a Statically-compiled Object-oriented Language}, Volume = {742}, Year = {1993} } @article{Mall82a, Author = {W.R. Mallgren}, Journal = {ACM TOPLAS}, Keywords = {types other graphics}, Month = oct, Number = {4}, Pages = {687--710}, Title = {Formal Specifications of Graphic Data Types}, Volume = {4}, Year = {1982} } @mastersthesis{Mall95a, Author = {Willen C. Mallon}, Keywords = {types binder}, Misc = {29, August}, Month = aug, School = {Rijksuniversiteit Gronigen, NL}, Title = {Contraction based proof methods for a delay-insensitive algebra}, Type = {M.Sc. thesis}, Year = {1995} } @inproceedings{Malo89a, Author = {John Maloney and Alan Borning and Bjorn N. Freeman-Benson}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {381--388}, Title = {Constraint Technology fur User-Interface Construction in ThingLab {II}}, Volume = {24}, Year = {1989} } @inproceedings{Malo90a, Author = {Thomas W. Malone and Kevin Crowston}, Booktitle = {Proceedings of CSCW '90}, Keywords = {coordination olit}, Month = oct, Pages = {357--370}, Title = {What is coordination Theory and How Can it Help Cooperative Work Systems}, Year = {1990} } @article{Malo91a, Author = {Allen D. Maloney and David H. Hammerslag and David J. Jablonowski}, Journal = {IEEE Software}, Keywords = {dynamic analysis}, Month = sep, Title = {Traceview: A Trace Visualization Tool}, Year = {1991} } @article{Malo94a, Author = {Thomas W. Malone and Kevin Crowston}, Journal = {ACM Computing Surveys}, Keywords = {coordination olit}, Month = mar, Number = {1}, Title = {The Interdisciplinary Study of Coordination}, Url = {http://pound.mit.edu/ccswp/CCSWP157.ps}, Volume = {26}, Year = {1994}, Bdsk-Url-1 = {http://pound.mit.edu/ccswp/CCSWP157.ps} } @inproceedings{Malo95a, author = {Maloney, John H. and Smith, Randall B.}, title = {Directness and liveness in the morphic user interface construction environment}, booktitle = {Proceedings of the 8th annual ACM symposium on User interface and software technology}, series = {UIST '95}, year = {1995}, isbn = {0-89791-709-X}, location = {Pittsburgh, Pennsylvania, United States}, pages = {21--28}, numpages = {8}, doi = {10.1145/215585.215636}, url ={http://selflanguage.org/documentation/published/directness.pdf}, acmid = {215636}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {animation, automatic layout, direct manipulation, directness, live editing, liveness, structural reification, user interface construction, user interface frameworks} } @inproceedings{Malo04a, Author = {John Maloney and Leo Burd and Yasmin Kafai and Natalie Rusk and Brian Silverman and Mitchel Resnick}, Adress = {Los Alamitos, CA, USA}, Doi = {10.1109/C5.2004.1314376}, Booktitle = {International Conference on Creating, Connecting and Collaborating through Computing}, Keywords = {visprog}, Pages = {104--109}, Publisher = {IEEE Computer Society}, Title = {Scratch: A Sneak Preview}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/C5.2004.1314376} } @techreport{Malor99a, 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.}, Author = {Pietro Malorgio}, Institution = {University of Bern}, Keywords = {scg-ip jb-none duploc}, Month = jul, Title = {An Information Mural Visualization for Duploc}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Malor99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Malor99a.pdf} } @inproceedings{Mama05a, Author = {Marco Mamei and Franco Zambonelli}, Booktitle = {4rd International Joint Conference on Autonomous Agents and Multiagent Systems ({AAMAS} 2005)}, Isbn = {1-59593-094-9}, Pages = {415--422}, Publisher = {ACM}, Title = {Programming stigmergic coordination with the {TOTA} middleware}, Year = {2005} } @inproceedings{Manb90a, Address = {San Francisco}, Author = {Udi Manber and Gene Myers}, Booktitle = {1st ACM SIAM Symposium on Discrete Algorithms}, Month = jan, Pages = {319--327}, Title = {Suffix Arrays: A New Method for On-line String Searches}, Year = {1990} } @inproceedings{Manb94a, Author = {Udi Manber}, Booktitle = {Proceedings of the Winter Usenix Technical Conference}, Pages = {1--10}, Title = {Finding Similar Files in a Large File System}, Year = {1994} } @inproceedings{Manc98a, Author = {Spiros Mancoridis and Brian S. Mitchell}, Booktitle = {Proceedings of IWPC '98 (International Workshop on Program Comprehension)}, Keywords = {clustering}, Publisher = {IEEE Computer Society Press}, Title = {Using {Automatic} {Clustering} to produce {High}-{Level} {System} {Organizations} of {Source} {Code}}, Year = {1998} } @inproceedings{Manc99a, Address = {Oxford, UK}, Author = {Spiros Mancoridis and Brian S. Mitchell and Y. Chen and E. R. Gansner}, Booktitle = {Proceedings of ICSM '99 (International Conference on Software Maintenance)}, Keywords = {Automatic Clustering, Reverse Engineering, Software Re-engineering, Optimization Algorithms}, Publisher = {IEEE Computer Society Press}, Title = {Bunch: A {Clustering} {Tool} for the {Recovery} and {Maintenance} of {Software} {System} {Structures}}, Year = {1999} } @article{Manc08a, Author = {Blanca Mancilla and John Plaice}, Doi = {10.1007/s11786-008-0044-8}, Journal = {Mathematics in Computer Science}, Keywords = {cop-lit}, Month = nov, Pages = {63-83}, Publisher = {Birkh\"auser Basel}, Title = {Possible Worlds Versioning}, Volume = {788}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s11786-008-0044-8} } @inproceedings{Mand03a, Address = {New York, NY, USA}, Author = {Yitzhak Mandelbaum and David Walker and Robert Harper}, Booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, Doi = {10.1145/944705.944725}, Isbn = {1-58113-756-7}, Keywords = {nonstandard types}, Location = {Uppsala, Sweden}, Pages = {213--225}, Publisher = {ACM Press}, Title = {An effective theory of type refinements}, Url = {http://www.cs.princeton.edu/sip/pub/effective-type-refinements03.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.cs.princeton.edu/sip/pub/effective-type-refinements03.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/944705.944725} } @inproceedings{Mand05a, author = {Mandel, Louis and Pouzet, Marc}, title = {{ReactiveML}, a Reactive Extension to {ML}}, booktitle = {PPDP'05: Proceedings of the 7th International conference on Principles and Practice of Declarative Programming}, address = {Lisbon, Portugal}, publisher = {ACM}, month = jul, doi = {10.1145/1069774.1069782}, keywords = {damiencbib functional programming, reactive programming, semantics}, pages = {82--93}, isbn = {1-59593-090-6}, year = {2005} } @inproceedings{Manj02a, Annote = {internationalconference}, Author = {Manjarr\'es, Angeles and Suny\'e, Gerson and Pollet, Damien and Pickin, Simon and J\'ez\'equel, Jean-Marc}, Booktitle = {International Conference on Software Engineering and Knowledge Engineering (SEKE)}, Editor = {ACM}, Month = {jul}, Pages = {237--238}, Title = {AI Analysis Patterns as UML Meta-model Constructs}, Url = {http://www.irisa.fr/triskell/publis/2002/Manjarres02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2002/Manjarres02a.pdf} } @inproceedings{Manj02b, Annote = {internationalconference}, Author = {Manjarr\'es, Angeles and Pickin, Simon and Suny\'e, Gerson and Pollet, Damien and J\'ez\'equel, Jean-Marc}, Booktitle = {SGAI International Conference on Knowledge Based Systems and Applied Artificial Intelligence: Research and Development in Intelligent Systems XIX (ES2002)}, Month = {dec}, Publisher = {Springer Verlag}, Series = {BCS Conference Series}, Title = {OO Analysis Patterns as UML Metalevel Collaborations}, Year = {2002} } @inproceedings{Mann81a, Author = {Zohar Manna and Amir Pnueli}, Booktitle = {Logics of Programs (Proceedings 1981)}, Editor = {D. Kozen}, Keywords = {temporal-logic temporal logic}, Pages = {200--252}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Verification of Concurrent Programs: Temporal Proof Principle}, Volume = {131}, Year = {1981} } @incollection{Mann81b, Author = {Zohar Manna and Amir Pnueli}, Booktitle = {The Correctness Problem in Computer Science}, Editor = {R.S. Boyer and J.S. Moore}, Keywords = {temporal-logic temporal logic}, Pages = {215--273}, Publisher = {Academic Press}, Title = {Verification of Concurrent Programs: the Temporal Framework}, Year = {1981} } @article{Mann84a, Author = {Zohar Manna and Pierre Wolper}, Journal = {ACM TOPLAS}, Keywords = {temporal-logic csp binder(csp)}, Month = jan, Number = {1}, Pages = {68--93}, Title = {Synthesis of Communicating Processes from Temporal Logic Specifications}, Volume = {6}, Year = {1984} } @inproceedings{Mann87a, Address = {Paris, France}, Author = {Carl Manning}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {89--97}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Traveler: The Apiary Observatory}, Volume = {276}, Year = {1987} } @book{Mann05a, Author = {Mary L. Manns and Linda Rising}, Isbn = {0-201-74157-1}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Fearless Change}, Year = {2005} } @book{Mann06a, author = {Mann, Prem S.}, isbn = {0471755303}, keywords = {statistics linear regression model,undefined}, mendeley-tags= {statistics linear regression model}, pages = {728}, publisher = {Wiley}, title = {Introductory Statistics}, year = {2006} } @misc{Mantis, Key = {Mantis}, Note = {http://www.mantisbt.org/}, Title = {Mantis} } @article{Mao80a, Author = {T.W. Mao and R.T. Yeh}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {concurrency other tugs}, Month = mar, Number = {2}, Pages = {194--204}, Title = {Communication Port: a Language Concept for Concurrent Programming}, Volume = {SE-6}, Year = {1980} } @inproceedings{Maqb04a, Author = {O. Maqbool and H.A. Babri}, Booktitle = {Proceedings of the Eighth European Conference on Software Maintenance and Reengineering}, Location = {Tampere, Finland}, Month = mar, Page = {15-24}, Title = {The Weighted Combined Algorithm: A Linkage Algorithm for Software Clustering}, Year = {2004} } @inproceedings{Marc01a, Author = {Andrian Marcus and Jonathan I. Maletic}, Booktitle = {Proceedings of the 16th International Conference on Automated Software Engineering (ASE 2001)}, Keywords = {clones lsi}, Month = nov, Pages = {107--114}, Title = {Identification of High-Level Concept Clones in Source Code}, Year = {2001} } @book{Marc02a, Author = {Michele Marchesi and Giancarlo Succi and Don Wells and Laurie Williams}, Isbn = {0-201-77005-9}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {Extreme Programming Perspectives}, Year = {2002} } @book{Marc03a, Editor = {Michele Marchesi and Giancarlo Succi}, Keywords = {scglib}, Publisher = {Springer}, Title = {Extreme Programming and Agile Processes in Software Engineering}, Year = {2003} } @inproceedings{Marc03b, Author = {Andrian Marcus and Jonathan Maletic}, Booktitle = {Proceedings of the 25th International Conference on Software Engineering (ICSE 2003)}, Keywords = {lsi}, Month = may, Pages = {125--135}, Title = {Recovering Documentation-to-Source-Code Traceability Links using Latent Semantic Indexing}, Year = {2003} } @inproceedings{Marc03c, Author = {Andrian Marcus and Louis Feng and Jonathan I. Maletic}, Booktitle = {Proceedings of the ACM Symposium on Software Visualization}, Keywords = {visualization}, Pages = {27-ff}, Publisher = {IEEE}, Title = {{3D} Representations for Software Visualization}, Year = {2003} } @inproceedings{Marc04a, Author = {Andrian Marcus and Andrey Sergeyev and Vaclav Rajlich and Jonathan Maletic}, Booktitle = {Proceedings of the 11th Working Conference on Reverse Engineering (WCRE 2004)}, Keywords = {lsi}, Month = nov, Pages = {214--223}, Title = {An Information Retrieval Approach to Concept Location in Source Code}, Year = {2004} } @inproceedings{Marc04b, Author = {Guillaume Marceau and Gregory H. Cooper and Shriram Krishnamurthi and Steven P. Reiss}, Booktitle = {Proceedings of the 19th IEEE International Conference on Automated Software Engineering(ASE 2004)}, Title = {A Dataflow Language for Scriptable Debugging}, Year = {2004} } @inproceedings{Marc05a, Address = {Los Alamitos CA}, Author = {Andrian Marcus and Denys Poshyvanyk}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2005)}, Pages = {133--142}, Publisher = {IEEE Computer Society Press}, Title = {The Conceptual Cohesion of Classes}, Year = {2005} } @inproceedings{Marc05b, Author = {Marcus, Andrian and Rajlich, V\'aclav and Buchta, Joseph and Petrenko, Maksym and Sergeyev, Andrey}, Booktitle = {Proceedings of the 13th International Workshop on Program Comprehension (IWPC'05)}, Title = {Static Techniques for Concept Location in Object-Oriented Code}, Year = {2005} } @inproceedings{Marc05c, Author = {Marcus, Andrian and Rajlich, V\'aclav}, Booktitle = {Proceedings of the 21st International Conference on Software Maintenance (ICSM'05)}, Title = {Panel: Identification of Concepts, Features, and Concerns in Srource Code}, Year = {2005} } @article{Marc06a, Author = {Guillaume Marceau and Gregory H. Cooper and Jonathan P. Spiro and Shriram Krishnamurthi and Steven P. Reiss}, Journal = {Automated Software Engineering Journal}, Title = {The Design and Implementation of a Dataflow Language for Scriptable Debugging}, Year = {2006} } @article{Marc08a, Address = {Los Alamitos, CA, USA}, Author = {Andrian Marcus and Denys Poshyvanyk and Rudolf Ferenc}, Doi = {10.1109/TSE.2007.70768}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Number = {2}, Pages = {287--300}, Publisher = {IEEE Computer Society}, Title = {Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems}, Volume = {34}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70768} } @mastersthesis{Mari97a, Author = {Radu Marinescu}, Keywords = {olit}, Month = oct, School = {University Politehnica Timi\c{s}oara --- Fakultat fur Informatik}, Title = {The Use of Software Metrics in the Design of Object-Oriented Systems}, Type = {Diploma thesis}, Year = {1997} } @inproceedings{Mari98a, Author = {Radu Marinescu}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Pages = {252--253}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Object-Oriented Metrics for Automatic Design Flaws in Large Scale Systems}, Volume = {1543}, Year = {1998} } @misc{Mari99a, Author = {Brian Marick and John Smith and Mark Jones}, Date-Added = {2007-02-01 10:03:07 +0100}, Date-Modified= {2007-02-01 11:44:31 +0100}, Howpublished = {International Conference and International Conference and Exposition on Testing Computer Software}, Institution = {Reliable Software Technologies}, Keywords = {code coverage}, Month = {jun}, Title = {How to Misuse Code Coverage}, Url = {citeseer.ist.psu.edu/marick99how.html}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/marick99how.html} } @inproceedings{Mari01a, Author = {Radu Marinescu}, Booktitle = {Proceedings of TOOLS}, Keywords = {olit}, Pages = {173--182}, Title = {Detecting Design Flaws via Metrics in Object-Oriented Systems}, Year = {2001} } @phdthesis{Mari02a, Author = {Radu Marinescu}, Keywords = {olit}, Pages = {155}, School = {Department of Computer Science, Politehnica University of Timi\c{s}oara}, Title = {Measurement and Quality in Object-Oriented Design}, Year = {2002} } @book{Mari02b, Address = {New York, NY, USA}, Author = {Marinescu, Floyd}, Isbn = {0-471-20831-0}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Poster}, Year = {2002} } @inproceedings{Mari04a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Radu Marinescu}, Booktitle = {20th IEEE International Conference on Software Maintenance (ICSM'04)}, Keywords = {metrics}, Location = {Illinois, USA}, Pages = {350--359}, Publisher = {IEEE Computer Society Press}, Title = {Detection Strategies: Metrics-Based Rules for Detecting Design Flaws}, Year = {2004} } @inproceedings{Mari04b, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Radu Marinescu and Daniel Ra\c{t}iu}, Booktitle = {Proceedings 11th Working Conference on Reverse Engineering (WCRE'04)}, Keywords = {metrics}, Pages = {192--201}, Publisher = {IEEE Computer Society Press}, Title = {Quantifying the Quality of Object-Oriented Design: the Factor-Strategy Model}, Year = {2004} } @inproceedings{Mari05a, 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}, Author = {Cristina Marinescu and Radu Marinescu and Tudor G\^irba}, Booktitle = {METRICS 2005}, Keywords = {jb06 scg-pub skip-doi girba recast06}, Pages = {110--119}, Title = {Towards a Simplified Implementation of Object-Oriented Design Metrics}, Url = {http://scg.unibe.ch/archive/papers/Mari05aSAIL.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mari05aSAIL.pdf} } @inproceedings{Mari05b, Author = {Cristina Marinescu and Radu Marinescu and Petru Mihancea and Daniel Ratiu and Richard Wettel}, Booktitle = {Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005)}, Note = {Tool demo}, Pages = {77-80}, Title = {{iPlasma}: An Integrated Platform for Quality Assessment of Object-Oriented Design}, Year = {2005} } @inproceedings{Mari06a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Cristina Marinescu}, Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2006)}, Doi = {10.1109/ICPC.2006.27}, Keywords = {norex06}, Pages = {169--180}, Publisher = {IEEE Computer Society Press}, Title = {Identification of Design Roles for the Assessment of Design Quality in Enterprise Applications}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.27} } @inproceedings{Mari06b, Abstract = {In the last years, as object-oriented software systems became more and more complex, the need of performing automatically reverse engineering upon these systems has increased significantly. This applies also to enterprise applications, a novel category of software systems. As it is well known, one step toward a research infrastructure accelerating the progress of reverse engineering is the creation of an intermediate representation of software systems. This paper shows why existing intermediate representations of object-oriented software are not suitable for performing reverse engineering upon enterprise applications and proposes an intermediate representation (a model) for enterprise applications which facilitates the process of reverse engineering upon this type of applications. Based on an experimental study conducted on three enterprise applications, we prove the reliability of the introduced approach, discuss its benefits and touch the issues that need to be addressed in the future.}, Address = {Washington, DC, USA}, Author = {Cristina Marinescu and Ioan Jurca}, Booktitle = {SYNASC '06: Proceedings of the Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing}, Isbn = {0-7695-2740-X}, Pages = {187--194}, Publisher = {IEEE Computer Society}, Title = {A Meta-Model for Enterprise Applications}, Year = {2006} } @article{Mari07a, Author = {Marius Marin and Deursen, Arie van and Leon Moonen}, Issn = {1049-331X}, Journal = {ACM Transactions on Software Engineering and Methodology}, Number = {1}, Pages = {1--37}, Title = {Identifying crosscutting concerns using fan-in analysis}, Volume = {17}, Year = {2007} } @inproceedings{Mari07b, Author = {Cristina Marinescu}, Booktitle = {{Symbolic and Numeric Algorithms for Scientific Computing, 2007. SYNASC. International Symposium on}}, Doi = {10.1109/SYNASC.2007.9}, Month = sep, Pages = {93-100}, Title = {{Identification of Relational Discrepancies between Database Schemas and Source-Code in Enterprise Applications}}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SYNASC.2007.9} } @article{Mari07c, Address = {Los Alamitos, CA, USA}, Author = {Cristina Marinescu}, Issn = {1095-1350}, Journal = {Reverse Engineering, Working Conference on}, Pages = {100-109}, Publisher = {IEEE Computer Society}, Title = {Discovering the Objectual Meaning of Foreign Key Constraints in Enterprise Applications}, Volume = {0}, Year = {2007} } @phdthesis{Mark88a, Author = {K. Van Marke}, Month = apr, School = {Vrije Universiteit Brussel}, Title = {The Use and Implementation of the Representation Language KRS}, Type = {{PhD} thesis}, Year = {1988} } @inproceedings{Marl96a, Address = {New York, NY, USA}, Author = {Chris Marlin}, Booktitle = {Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96)}, Doi = {10.1145/243327.243668}, Isbn = {0-89791-867-3}, Location = {San Francisco, California, United States}, Pages = {222--226}, Publisher = {ACM Press}, Title = {Multiple views based on unparsing canonical representations---the {MultiView} architecture}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/243327.243668} } @inproceedings{Maro08a, Address = {New York, NY, USA}, Author = {Antoine Marot and Roel Wuyts}, Booktitle = {SPLAT '08: Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies}, Doi = {10.1145/1408647.1408652}, Isbn = {978-1-60558-144-6}, Location = {Brussels, Belgium}, Pages = {1--6}, Publisher = {ACM}, Title = {Composability of aspects}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1408647.1408652} } @inproceedings{Marq89a, Author = {Jos\'e Alves Marques and Paulo Guedes}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {113--122}, Title = {Extending the Operating System to Support an Object-Oriented Environment}, Volume = {24}, Year = {1989} } @inproceedings{Marr96a, author = {Marr\'{e}, Martina and Bertolino, Antonia}, title = {Reducing and estimating the cost of test coverage criteria}, booktitle = {ICSE '96: Proceedings of the 18th international conference on Software engineering}, year = {1996}, isbn = {0-8186-7246-3}, pages = {486--494}, location = {Berlin, Germany}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @book{Marr98a, Author = {Kim Marriot and Peter J. Stuckey}, Keywords = {book scglib}, Publisher = {The Microsoft Press}, Title = {Programming with constraints}, Year = {1998} } @inproceedings{Marr09a, Abstract = {Enormous amount of open source code is available on the Internet and various code search engines (CSE) are available to serve as a means for searching in open source code. However, usage of CSEs is often limited to simple tasks such as searching for relevant code examples. In this paper, we present a generic life-cycle model that can be used to improve software quality by exploiting CSEs. We present three example software development tasks that can be assisted by our life-cycle model and show how these three tasks can contribute to improve the software quality. We also show the application of our life-cycle model with a preliminary evaluation.}, Author = {Marri, M. R. and Thummalapenta, S. and Xie, Tao}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403382}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070018}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070018}, Doi = {10.1109/SUITE.2009.5070018}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, parseweb, spotweb, suite2009}, Pages = {33--36}, Posted-At = {2009-08-10 11:11:54}, Priority = {0}, Title = {Improving software quality via code searching and mining}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070018}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070018} } @techreport{Mars98a, Author = {P. Marsura and D. Riehle}, Institution = {Union Bank of Switzerland}, Keywords = {framework}, Number = {98.5.1}, Title = {Design and Implementation of the {Java} Any Framework}, Type = {Ubilab technical report}, Url = {http://www.ubs.com/e/index/about/ubilab/ext/publications/e_full_list.htm}, Year = {1998}, Bdsk-Url-1 = {http://www.ubs.com/e/index/about/ubilab/ext/publications/e_full_list.htm} } @techreport{Mars05a, 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.}, Author = {Philippe Marschall}, Institution = {University of Bern}, Keywords = {snf05 scg-ip jb05}, Month = apr, Title = {Detecting the Methods under Test in {Java}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Mars05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Mars05a.pdf} } @mastersthesis{Mars06a, 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.}, Author = {Philippe Marschall}, Keywords = {scg-msc snf07 jb07 fb06 reflectivity}, Month = dec, School = {University of Bern}, Title = {{Persephone}: Taking {Smalltalk} Reflection to the sub-method Level}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Mars06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Mars06a.pdf} } @misc{Mart09a, Author = {Robert Martin}, Note = {(RailsConf 09 -- http://blip.tv/file/2089545)}, Title = {What Killed {Smalltalk} Could Kill {Ruby}, Too}, Url = {http://blip.tv/file/2089545}, Bdsk-Url-1 = {http://blip.tv/file/2089545} } @techreport{Mart82a, Author = {Pat Martin and Dennis Tsichritzis}, Institution = {University of Toronto}, Keywords = {oislit mail}, Month = may, Number = {CSRG-143}, Pages = {63--77}, Title = {A Message Management Model}, Type = {Alpha-Beta, Technical Report}, Year = {1982} } @phdthesis{Mart84a, Author = {T. Patrick Martin}, Keywords = {oislit mail}, School = {Department of Computer Science, University of Toronto}, Title = {A Communication Model for Message Management Systems}, Type = {{Ph.D}. Thesis}, Year = {1984} } @article{Mart85a, Title = {Fourth Generation Languages, Volume I, Principles}, Author = {James Martin}, Journal = {New Jersey}, Year = {1985} } @inproceedings{Mart89a, Address = {Manchester}, Author = {N. Mart\'i-Oliet and Jos\'e Meseguer}, Booktitle = {Proceedings, Category Theory and Computer Science}, Editor = {D. Pitt et al.}, Keywords = {linear-logic concurrency}, Month = sep, Pages = {313--340}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {From Petri Nets to Linear Logic}, Volume = {389}, Year = {1989} } @techreport{Mart91a, 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.}, Author = {Pat Martin and Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Pages = {239--254}, Title = {Software Clearinghouses --- Form and Function}, Type = {Object Composition}, Year = {1991} } @incollection{Mart91b, Author = {A. Martelli and P-L. Ianchini}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {RobinHOOD (Reuse Objects in {HOOD})}, Year = {1991} } @misc{Mart96a, Abstract = {release equivalency, common closure, common reuse, and acylclic dependencies principles.}, Author = {Robert C. Martin}, Note = {www.objectmentor.com}, Title = {Granularity}, Url = {http://www.objectmentor.com/resources/articles/granularity.PDF}, Year = {1996}, Bdsk-Url-1 = {http://www.objectmentor.com/resources/articles/granularity.PDF} } @book{Mart98a, Editor = {Robert Martin and Dirk Riehle and Frank Buschmann}, Isbn = {0-201-31011-2}, Keywords = {patterns scglib}, Publisher = {Addison Wesley}, Title = {Pattern Languages of Program Design 3}, Year = {1998} } @book{Mart00a, Author = {Didier Martin, Mark Birbeck, et al.}, Keywords = {XML scglib}, Publisher = {Wrox Press Ltd.}, Title = {Professional XML}, Year = {2000} } @misc{Mart00b, Abstract = {"What goes wrong with software?" A brief explanation of the ten Principles of OOD with supporting patterns.}, Author = {Robert C. Martin}, Note = {www.objectmentor.com}, Title = {Design Principles and Design Patterns}, Url = {http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf} } @inproceedings{Mart01a, Address = {Vienna, Austria}, Author = {Ludger Martin}, Booktitle = {Workshop on Composition Languages, WCL '01}, Keywords = {olit}, Month = sep, Pages = {25--32}, Title = {HotAgent Component Assembly Editor}, Url = {http://www.cs.iastate.edu/~lumpe/WCL2001/}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.iastate.edu/~lumpe/WCL2001/} } @inproceedings{Mart02a, Author = {Ludger Martin and Anke Giesl and Johannes Martin}, Booktitle = {Proceedings of WCRE 2002 (Working Conference on Reverse Engineering)}, Keywords = {dynamic}, Title = {Dynamic Component Program Visualization}, Year = {2002} } @book{Mart02b, Author = {Robert Cecil Martin}, Isbn = {0-13-914556-7}, Publisher = {Prentice-Hall}, Title = {Agile Software Development. Principles, Patterns, and Practices}, Year = {2002} } @misc{Mart03a, Author = {Robert C. Martin}, Key = {Mart03a}, Keywords = {dynamic languages static languages testing}, Note = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639}, Title = {{Are} {Dynamic} {Languages} {Going} to {Replace} {Static} {Languages}?}, Url = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639}, Year = {2003}, Bdsk-Url-1 = {http://www.artima.com/weblogs/viewpost.jsp?thread=4639} } @inproceedings{Mart05a, Address = {New York, NY, USA}, Author = {Mickael Martin and Benjamin Livshits and Monica S. Lam}, Booktitle = {Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'05)}, Pages = {363--385}, Publisher = {ACM Press}, Title = {Finding application errors and security flaws using PQL: a program query language}, Year = {2005} } @inproceedings{Mart06a, Doi = {10.1109/MOBIQ.2006.340388}, author = {Martin, Miquel and Nurmi, Petteri}, title = {A Generic Large Scale Simulator for Ubiquitous Computing (poster)}, booktitle = {MobiQuitous'06: Proceedings of the 3rd International Conference on Mobile and Ubiquitous Systems: Networking \& Services}, year = {2006}, address = {San Jose, CA, USA}, pages = {1--3}, publisher = {IEEE Computer Society}, owner = {Miquel Martin}, keywords = {damiencbib siafu} } @inproceedings{Maru87a, Address = {Paris, France}, Author = {Takeo Maruichi and Tetsuya Uchiki and Mario Tokoro}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-obc paradise simulation ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {213--222}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Behavioral Simulation Based on Knowledge Objects}, Volume = {276}, Year = {1987} } @inproceedings{Maru03a, Address = {Washington, DC, USA}, Author = {Kazutaka Maruyama and Minoru Terada}, Booktitle = {Proceedings of the Third International Conference on Quality Software (QSIC'03)}, Isbn = {0-7695-2015-4}, Pages = {116}, Publisher = {IEEE Computer Society}, Title = {Debugging with Reverse Watchpoint}, Year = {2003} } @techreport{Masi89a, Author = {{Centre de Recherche en Informatique de Nancy, Vandoeuvre-l\`es-Nancy}}, Editor = {G. Masini and Amedeo Napoli and D. Colnet D. L\'eonard and Karl Tombre}, Institution = {Centre de Recherche en Informatique de Nancy, Vandoeuvre-l\`es-Nancy}, Keywords = {olit}, Number = {89-R-072)}, Title = {Les Mardis Objets du {CRIN}, 20 Oct. 1987 --- 31 Mai 1988}, Type = {(CRIN}, Year = {1989} } @article{Maso83a, Author = {R.E.A. Mason and T.T. Carey}, Journal = {CACM}, Keywords = {misc information}, Pages = {347--354}, Title = {Prototyping Interactive Information Systems}, Volume = {26}, Year = {1983} } @article{Maso01a, Author = {Mason John H., Watson Anne}, Journal = {MSOR Connections}, Keywords = {examples}, Number = {1}, Pages = {9--11}, Title = {Getting Students To Create Boundary Examples}, Url = {http://ltsn.mathstore.ac.uk/newsletter/feb2001/pdf/boundary.pdf}, Volume = {1}, Year = {2001}, Bdsk-Url-1 = {http://ltsn.mathstore.ac.uk/newsletter/feb2001/pdf/boundary.pdf} } @book{Mass05a, Author = {Vincent Massol and Timothy M. O'Brien}, Isbn = {0-596-00750-7}, Keywords = {maven}, Publisher = {O'Reilly}, Title = {Maven: A developer's Notebook}, Year = {2005} } @inproceedings{Masu92a, Author = {Hidehiko Masuhara and Satoshi Matsuoka and Takuo Watanabe and Akinori Yonezawa}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit-obc abcl oopsla92 binder}, Month = oct, Pages = {127--144}, Title = {Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla92-abclr2.ps.gz}, Volume = {27}, Year = {1992}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla92-abclr2.ps.gz} } @inproceedings{Masu95a, Address = {Austin}, Author = {Hidehiko Masuhara and Satoshi Matsuoka Kenichi Asai and Akinori Yonezawa}, Booktitle = {Proceedings of OOPSLA '95}, Month = oct, Organization = {ACM}, Pages = {300--315}, Title = {{Compiling Away the Meta-Level in Object-Oriented Concurrent Reflective Languages Using Partial Evaluation }}, Year = {1995} } @inproceedings{Math94a, Author = {L. Mathiassen and A. Munk-Madsen and P. A. Nielsen and J. Stage}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {158--170}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Combining two Approaches to Object-Oriented Analysis}, Volume = {858}, Year = {1994} } @inproceedings{Math05a, Author = {Kirsten Matheus and Rolf Morich and Cornelius Menig and Andreas L\"{u}bke and Bernd Rech and Will Specks}, Booktitle = {In the Proceedings of the 5th European Congress and Exhibition on Intelligent Transport Systems and Services (ITS'05)}, Title = {Car-to-Car Communication - Market Introduction and Success Factors}, Year = {2005} } @inproceedings{Mats88a, Author = {Satoshi Matsuoka and Satoru Kawai}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {276--284}, Title = {Using Tuple Space Communication in Distributed Object-Oriented Languages}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla88-tuplespace.ps.gz}, Volume = {23}, Year = {1988}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla88-tuplespace.ps.gz} } @unpublished{Mats90a, Author = {Satoshi Matsuoka and Ken Wakita and Akinori Yonezawa}, Keywords = {olit-obc inheritance obc90 binder}, Note = {Submitted to ECOOP/OOPSLA 90 workshop on Object-Based Concurrent Systems}, Title = {Analysis of Inheritance Anomaly in Concurrent Object-Oriented Languages}, Year = {1990} } @inproceedings{Mats91a, Address = {Geneva, Switzerland}, Author = {Satoshi Matsuoka and Takuo Watanabe and Akinori Yonezawa}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-obc ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {231--250}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Hybrid Group Reflective Architecture for Object-Oriented Concurrent Reflective Programming}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/ecoop91-abclr2.ps.gz}, Volume = 512, Year = {1991}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/ecoop91-abclr2.ps.gz} } @inproceedings{Mats91b, Address = {Tokyo, Japan}, Author = {Satoshi Matsuoka and Ken Wakita and Akinori Yonezawa}, Booktitle = {Proceedings of 7th Annual Conference of Japan Society for Software Science and Technology (JSSST)}, Keywords = {olit-obc inheritance anomaly}, Pages = {65--68}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {On Inheritance in Concurrent Object-Oriented Languages}, Volume = {742}, Year = {1991} } @inproceedings{Mats92a, Author = {Satoshi Matsuoka and Takuo Watanabe and Yuuji Ichisugi and Akinori Yonezawa}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {211--226}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Concurrent Reflective Architectures}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/obcp91-reflective.ps.gz}, Volume = 612, Year = {1992}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/obcp91-reflective.ps.gz} } @inproceedings{Mats93a, Author = {Satoshi Matsuoka and Kenjiro Taura and Akinori Yonezawa}, Booktitle = {Proceedings OOPSLA '93}, Keywords = {olit-obc inheritance oopsla93 binder}, Month = oct, Pages = {109--126}, Series = {ACM SIGPLAN Notices}, Title = {Highly Efficient and Encapsulated Re-use of Synchronization Code in Concurrent Object-Oriented Languages}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla93-concurrency-reuse.ps.gz}, Volume = {28}, Year = {1993}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/oopsla93-concurrency-reuse.ps.gz} } @incollection{Mats93b, Author = {Satoshi Matsuoka and Akinori Yonezawa}, Booktitle = {Research Directions in Concurrent Object-Oriented Programming}, Editor = {G. Agha and P. Wegner and A. Yonezawa}, Keywords = {olit-obc inheritance binder}, Pages = {107--150}, Publisher = {MIT Press}, Title = {Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages}, Year = {1993} } @book{Mats01a, Author = {Yukihiro Matsumoto}, Isbn = {0596002149}, Keywords = {scglib}, Publisher = {O'Reilly}, Title = {Ruby in a Nutshell}, Year = {2001} } @inproceedings{Matt97a, Author = {Michael Mattsson and Jan Bosch}, Booktitle = {Proceedings of TOOLS USA '97}, Month = jul, Title = {Framework Composition: Problems, Causes and Solutions}, Year = {1997} } @incollection{Matt00a, Author = {F. Mattern and P. Hasselmeyer and J. Smith and P. Cianciarini and D. Milojicic}, Booktitle = {Seminaire de printemps du 3eme cycle romand d'informatique}, Publisher = {3\`eme cycle romand d'informatique}, Title = {Agent Technology and Active Networking}, Year = {2000} } @article{Matt02a, Author = {Friedemann Mattern}, Journal = {Informatik-Spektrum}, Number = {1}, Pages = {22--32}, Title = {Zur Evaluation der Informatik mittels bibliometrischer Analyse}, Url = {http://www.vs.inf.ethz.ch/publ/papers/bibliometro.pdf}, Volume = {25}, Year = {2002}, Bdsk-Url-1 = {http://www.vs.inf.ethz.ch/publ/papers/bibliometro.pdf} } @article{Matt03a, Author = {Jacob Matthews and Robert Bruce Findler and Paul Graunke and Shriram Krishnamurthi and Matthias Felleisen}, Journal = {Automated Software Engineering: An International Journal}, Title = {Automatically Restructuring Programs for the Web}, Year = {2003} } @inproceedings{Matt04a, Author = {Jacob Matthews and Robert Bruce Findler and Matthew Flatt and Matthias Felleisen}, Booktitle = {In Proceedings of the International Conference on Rewriting Techniques and Applications (RTA) 2004}, Title = {A Visual Environment for Developing Context-Sensitive Term Rewriting Systems}, Url = {http://people.cs.uchicago.edu/~robby/pubs/papers/rta2004-mfff.pdf}, Year = {2004}, Bdsk-Url-1 = {http://people.cs.uchicago.edu/~robby/pubs/papers/rta2004-mfff.pdf} } @inproceedings{Matt05a, Address = {New York, NY, USA}, Author = {J\&\#250;lio C. B. Mattos and Emilena Specht and Bruno Neves and Luigi Carro}, Booktitle = {SBCCI '05: Proceedings of the 18th annual symposium on Integrated circuits and system design}, Doi = {10.1145/1081081.1081111}, Isbn = {1-59593-174-0}, Location = {Florianolpolis, Brazil}, Pages = {104--109}, Publisher = {ACM Press}, Title = {Making object oriented efficient for embedded system applications}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1081081.1081111} } @article{Matt07a, Address = {New York, NY, USA}, Author = {Jacob Matthews and Robert Bruce Findler}, Doi = {10.1145/1190215.1190220}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {1}, Pages = {3--10}, Publisher = {ACM}, Title = {Operational semantics for multi-language programs}, Volume = {42}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1190215.1190220} } @inproceedings{Matt09a, Abstract = {For popular software systems, the number of daily submitted bug reports is high. Triaging these incoming reports is a time consuming task. Part of the bug triage is the assignment of a report to a developer with the appropriate expertise. In this paper, we present an approach to automatically suggest developers who have the appropriate expertise for handling a bug report. We model developer expertise using the vocabulary found in their source code contributions and compare this vocabulary to the vocabulary of bug reports. We evaluate our approach by comparing the suggested experts to the persons who eventually worked on the bug. Using eight years of Eclipse development as a case study, we achieve 33.6\% top-1 precision and 71.0\% top-10 recall.}, Annote = {internationalconference}, Author = {Dominique Matter and Adrian Kuhn and Oscar Nierstrasz}, Booktitle = {MSR '09: Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories}, Doi = {10.1109/MSR.2009.5069491}, Keywords = {scg09 scg-pub jb09 snf09 akuhn}, Location = {Vancouver, Canada}, Medium = {2}, Pages = {131--140}, Peerreview = {yes}, Publisher = {IEEE}, Title = {Assigning Bug Reports using a Vocabulary-Based Expertise Model of Developers}, Url = {http://scg.unibe.ch/archive/papers/Matt09aAssigningBugreports.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Matt09aAssigningBugreports.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/MSR.2009.5069491} } @mastersthesis{Matt09b, Abstract = {For popular software systems, the number of daily submitted bug reports is high. Triaging these incoming reports is a time consuming task. Part of the bug triage is the assignment of a report to a developer with the appropriate expertise. In this thesis, we present an approach to automatically suggest developers who have the appropriate expertise for handling a bug report. We model developer expertise using the vocabulary found in their source code contributions and compare this vocabulary to the vocabulary of bug reports. We evaluate our approach by comparing the suggested experts to the persons who eventually worked on the bug. Using eight years of Eclipse development as a case study, we achieve 33.6\% top-1 precision and 71.0\% top-10 recall. Validating these results with a case study on four years of Gnome/Evolution development, we achieve 19.2\% top-1 precision and 64.7\% top-10 recall.}, Author = {Dominique Matter}, Keywords = {scg-msc bugs chronia jb09 snf09 develect}, Month = jun, School = {University of Bern}, Title = {Who Knows about That Bug? --- Automatic Bug Report Assignment with a Vocabulary-Based Developer Expertise Model}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Matt09b.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Matt09b.pdf} } @techreport{Matu03a, Author = {Martin Matula}, Institution = {NetBeans}, Month = mar, Title = {NetBeans Metadata Repository}, Url = {http://mdr.netbeans.org/MDR-whitepaper.pdf}, Year = {2003}, Bdsk-Url-1 = {http://mdr.netbeans.org/MDR-whitepaper.pdf} } @article{Matw85a, Address = {Tarrytown, NY, USA}, Author = {Stan Matwin and Tomasz Pietrzykowski}, Doi = {10.1016/0096-0551(85)90002-5}, Issn = {0096-0551}, Journal = {Comput. Lang.}, Keywords = {visprog prograph}, Number = {2}, Pages = {91--126}, Publisher = {Pergamon Press, Inc.}, Title = {PROGRAPH: a preliminary report}, Volume = {10}, Year = {1985}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/0096-0551(85)90002-5} } @techreport{Maur07a, Author = {Hermann Maurer and Tilo Balke and Frank Kappe and Narayanan Kulathuramaiyer and Stefan Weber and Bilal Zaka}, Institution = {Graz University of Technology}, Title = {Report on dangers and opportunities posed by large search engines, particularly Google}, Url = {http://www.iicm.tugraz.at/iicm_papers/dangers_google.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.iicm.tugraz.at/iicm_papers/dangers_google.pdf} } @inproceedings{Mauw87a, Address = {Amsterdam}, Author = {S. Mauw}, Booktitle = {Proceedings SION Conference (CSN 87)}, Keywords = {pcalc regular processes}, Pages = {235--252}, Publisher = {CWI}, Title = {A Constructive Version of the Approximation Induction Principle}, Year = {1987} } @misc{Maven, Key = {Maven}, Keywords = {testing project management}, Note = {http://maven.apache.org}, Title = {{Maven}}, Url = {http://maven.apache.org}, Bdsk-Url-1 = {http://maven.apache.org} } @incollection{May89a, Author = {David May and Roger Shephard}, Booktitle = {Advances in Petri Nets 1989}, Editor = {G. Rozenberg}, Keywords = {concurrency petri occam binder(conc)}, Pages = {329--353}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Occam and the Transputer}, Volume = {424}, Year = {1989} } @incollection{Mayo91a, Author = {Guillermo Mayobre}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Reuse-Oriented {SW} Development at Hewlett Packard}, Year = {1991} } @book{Mayr95a, Address = {Munich, Germany}, Editor = {Ernst W. Mayr and Claude Puech}, Isbn = {3-540-59042-0}, Keywords = {olit stacts95 scglib}, Month = mar, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {STACS}'95}, Volume = {900}, Year = {1995} } @article{Mayr95b, Author = {Anneliese von Mayrhauser and A. Marie Vans}, Journal = {IEEE Computer}, Number = 8, Pages = {44--55}, Title = {Program Comprehension During Software Maintenance and Evolution}, Volume = 28, Year = {1995} } @inproceedings{Mayr96a, Author = {Jean Mayrand and Claude Leblanc and Ettore M. Merlo}, Booktitle = {International Conference on Software Maintenance (ICSM)}, Keywords = {oorp clones}, Pages = {244--253}, Title = {Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics}, Url = {http://www.computer.org/proceedings/icsm/7677/76770244abs.htm}, Year = {1996}, Bdsk-Url-1 = {http://www.computer.org/proceedings/icsm/7677/76770244abs.htm} } @inproceedings{Mayr96b, Author = {Jean Mayrand and Claude Leblanc and Ettore M. Merlo}, Booktitle = {Proceedings of ICSM (International Conference on Software Maintenance)}, Title = {Automatic detection of Function Clones in a Software System using Metrics}, Year = {1996} } @inproceedings{Mayr96c, Author = {Jean Mayrand and Bruno Lagu{\"e} and John Hudepohl}, Booktitle = {Workshop on Empirical Software Studies, Monterey, California, USA}, Month = nov, Title = {Evaluating the Benefits of Clone Detection in the Software Maintenance Activities in Large Scale Systems}, Year = {1996} } @article{Mayr96d, Author = {von Mayrhauser, A. and A.M. Vans}, Journal = {IEEE Transactions on Software Engineering}, Month = jun, Number = {6}, Pages = {424--437}, Title = {Identification of Dynamic Comprehension Processes During Large Scale Maintenance}, Volume = {22}, Year = {1996} } @article{Maze84a, Author = {Murray S. Mazer and Frederick H. Lochovsky}, Journal = {ACM TOOIS}, Keywords = {oislit mail routing}, Month = oct, Number = {4}, Pages = {303--330}, Title = {Logical Routing Specification in Office Information Systems}, Volume = {2}, Year = {1984} } @techreport{Maze86a, Address = {Toronto}, Author = {Murray S. Mazer}, Editor = {F.H. Lochovsky}, Institution = {Computer Systems Research Institute, University of Toronto}, Keywords = {oislit}, Month = jul, Number = {CSRI-183}, Title = {Exploring the link between office support systems and distributed problem solving systems}, Type = {Office and Data Base Systems Research 86', Technical Report}, Year = {1986} } @proceedings{Mazu97a, Address = {Warsaw, Poland}, Booktitle = {Proceedings of the 8th International, CONCUR '97}, Editor = {Antoni Mazurkiewicz and Jozef Winkowski}, Isbn = {3-540-63141-0}, Keywords = {concur97 scglib}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency Theory}, Volume = {1234}, Year = {1997} } @book{Mazz94a, Address = {Hertfordshire}, Author = {C. Mazza and J. Fairclough and B. Meltron and D. de Pablo and A. Scheffer and R. Stevens}, Keywords = {fca}, Publisher = {Prentice Hall}, Title = {Software Engineering Standards}, Year = {1994} } @inproceedings{McAf95a, Address = {Aarhus, Denmark}, Author = {Jeff McAffer}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc uni-refl}, Month = aug, Pages = {190--214}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Meta-level Programming with {CodA}}, Volume = {952}, Year = {1995}, Doi = {10.1007/3-540-49538-X_10} } @phdthesis{McAf95b, author = {Jeff McAffer}, title = {A Meta-level Architecture for Prototyping Object Systems}, Month = sep, School = {University of Tokyo}, Type = {{Ph.D}. Thesis}, Year = {1995}, Url = {http://www.laputan.org/pub/mcaffer/mcaffer-phd.pdf} } @inproceedings{McAf96a, Address = {San Francisco, USA}, Author = {Jeff McAffer}, Booktitle = {Proceedings of the 1st International Conference on Metalevel Architectures and Reflection (Reflection 96)}, Editor = {Gregor Kiczales}, Month = apr, Title = {Engineering the Meta Level}, Year = {1996} } @inproceedings{McAl86a, Author = {David McAllester and Ramin Zabih}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {types olit oopsla86}, Month = nov, Pages = {417--423}, Title = {Boolean Classes}, Volume = {21}, Year = {1986} } @article{McCa60a, Author = {John McCarthy}, Journal = {CACM}, Keywords = {fpl lisp}, Month = apr, Number = {4}, Pages = {184--195}, Title = {Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part {I}}, Volume = {3}, Year = {1960} } @article{McCa76a, Author = {McCabe, Thomas J.}, Journal = {IEEE Transactions on Software Engineering}, Month = dec, Number = {4}, Pages = {308--320}, Title = {A Measure of Complexity}, Volume = {2}, Year = {1976} } @article{McCa90a, Author = {McCabe, Thomas J.}, Journal = {American Programmer}, Month = oct, Number = {10}, Pages = {8--13}, Title = {Reverse Engineering, Reusability, Redundancy: The Conncetion}, Volume = {3}, Year = {1990} } @incollection{McCa92a, Address = {Oxford}, Author = {Gordon McCalla and Jim Greer and Bryce Barrie and Paul Pospisel}, Booktitle = {Semantic Networks in Artificial Intelligence}, Editor = {Fritz Lehmann}, Pages = {363--375}, Publisher = {Pergamon Press}, Title = {Granularity Hierarchies}, Year = {1992} } @article{McCab76a, author = {McCabe, Thomas J.}, title = {A complexity measure}, keywords = {damiencbib metrics cyclomatic complexity}, year = {1976}, doi = {10.1109/TSE.1976.233837}, journal = {IEEE Transactions on Software Engineering}, number = {4}, volume = {SE-2}, pages = {308--320}, address = {San Francisco, CA, USA}, month = dec } @article{McCab89a, author = {McCabe, Thomas J. and Butler, Charles W.}, title = {Design complexity measurement and testing}, journal = {Commun. ACM}, volume = {32}, number = {12}, keywords = {damiencbib}, year = {1989}, pages = {1415--1425}, publisher = {ACM}, address = {New York, NY, USA} } @book{McCl97a, Author = {Carma McClure}, Isbn = {0-13-661000-5}, Keywords = {reuse scglib}, Publisher = {Prentice-Hall}, Title = {Software Reuse Techniques}, Year = {1997} } @article{McCr76a, Author = {Edward M. McCreight}, Journal = {JACM}, Keywords = {suffix-tree}, Month = apr, Number = {2}, Pages = {262--272}, Title = {A Space-Economical Suffix Tree Construction Algorithm}, Volume = {23}, Year = {1976} } @inproceedings{McCu87a, Author = {Paul L. McCullough}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {331--341}, Title = {Transparent Forwarding: First Steps}, Volume = {22}, Year = {1987} } @inproceedings{McCu92a, Address = {Utrecht, the Netherlands}, Author = {Daniel L. McCue}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {413--426}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Developing a Class Hierarchy for Object-Oriented Transaction Processing}, Volume = {615}, Year = {1992} } @inproceedings{McDi01a, Author = {Sean McDirmid and Matthew Flatt and Wilson Hsieh}, Booktitle = {Proceedings OOPSLA 2001, ACM SIGPLAN Notices}, Keywords = {olit oopsla01}, Month = oct, Pages = {211--222}, Title = {Jiazzi: New Age Components for Old Fashioned {Java}}, Url = {http://www.cs.utah.edu/plt/jiazzi/publications.html}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.utah.edu/plt/jiazzi/publications.html} } @inproceedings{McDi03a, Address = {New York, NY, USA}, Author = {Sean McDirmid and Wilson C. Hsieh}, Booktitle = {AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {10.1145/643603.643611}, Isbn = {1-58113-660-9}, Location = {Boston, Massachusetts}, Pages = {70--79}, Publisher = {ACM Press}, Title = {Aspect-oriented programming with Jiazzi}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643611} } @inproceedings{McDo89a, Author = {John Alan McDonald}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {175--184}, Title = {Object-Oriented Programming for Linear Algebra}, Volume = {24}, Year = {1989} } @article{McDo89b, Author = {Charles E. McDowell and David P. Helmbold}, Journal = {ACM Computing Surveys}, Month = dec, Number = {4}, Pages = {593--622}, Title = {Debugging Concurrent Programs}, Volume = {21}, Year = {1989} } @inproceedings{McDo90a, Author = {John Alan McDonald and Werner Stuetzle and Andreas Buja}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {245--257}, Title = {Painting Multiple Views of Complex Objects}, Volume = {25}, Year = {1990} } @inproceedings{McFad05a, Doi = {10.1109/PERCOM.2005.10}, title = {Applying a Disciplined Approach to the Development of a Context-Aware Communication Application}, year = {2005}, author = {McFadden, Ted and Henricksen, Karen and Indulska, Jadwiga and Mascaro, Peter}, booktitle = {PerCom'05: Proceedings of the 3rd International Conference on Pervasive Computing and Communications}, keywords = {damiencbib}, pages = {300--306}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @book{McGi92a, Author = {Henry McGilton and Mary Campione}, Isbn = {0-201-63228-4}, Keywords = {postscript scglib}, Publisher = {Addison Wesley}, Title = {PostScript by Example}, Year = {1992} } @book{McGr97a, Author = {Gary McGraw and Edward W. Felten}, Isbn = {0-471-17842-X}, Keywords = {java scglib}, Publisher = {Wiley}, Title = {Java Security}, Year = {1997} } @techreport{McGr01a, Author = {John D. McGregor}, Institution = {Carnegie Mellon University}, Keywords = {test composition traceability product line}, Title = {Testing a Software Product Line}, Url = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr022.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.sei.cmu.edu/pub/documents/01.reports/pdf/01tr022.pdf} } @inproceedings{McHa92a, Author = {Ciaran McHale and Bridget Walsh and Se\'an Baker and Alexis Donnelly}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {177--193}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Scheduling Predicates}, Url = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-91-24.ps.gz}, Volume = 612, Year = {1992}, Bdsk-Url-1 = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-91-24.ps.gz} } @unpublished{McHa92b, Author = {Ciaran McHale and Bridget Walsh and Se\'an Baker and Alexis Donnelly}, Keywords = {olit-obc obc92 binder}, Note = {Submitted to ECOOP '92 workshop on Object-Based Concurrency and Reuse}, Title = {Evaluating Synchronisation Mechanisms: The Inheritance Matrix}, Url = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-92-18.ps.gz}, Year = {1992}, Bdsk-Url-1 = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-92-18.ps.gz} } @techreport{McHa94a, 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.}, Author = {Ciaran McHale and Se\'an Baker and Bridget Walsh and Alexis Donnelly}, Institution = {Department of Computer Science, Trinity College}, Keywords = {olit-obc binder}, Month = jan, Title = {Synchronistaion Variables}, Type = {TCD-CS-94-01}, Url = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-94-01.ps.gz}, Year = {1994}, Bdsk-Url-1 = {http://www.dsg.cs.tod.ie/cgi-bin/TCD-CS-94-01.ps.gz} } @phdthesis{McHa94b, Author = {Ciaran McHale}, Keywords = {olit-obc binder}, School = {Department of Computer Science, Trinity College, Dublin}, Title = {Synchronisation in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance}, Type = {{Ph.D}. Thesis}, Url = {ftp://ftp.dsg.cs.tcd.ie/pub/doc/dsg-86.ps.gz}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.dsg.cs.tcd.ie/pub/doc/dsg-86.ps.gz} } @article{McIl60a, Author = {M. Douglas McIlroy}, Journal = {Communications of the {ACM}}, Number = 4, Pages = {214--220}, Title = {Macro instruction extensions of compiler languages}, Volume = 3, Year = {1960} } @incollection{McIl69a, Author = {M. Douglas McIlroy}, Booktitle = {Software Engineering}, Editor = {P. Naur and B. Randell}, Keywords = {olit binder}, Month = jan, Pages = {138--150}, Pdf = {http://www.dcs.gla.ac.uk/courses/teaching/mscweb/rrcs/papers/SE/McIlroy.pdf}, Publisher = {NATO Science Committee}, Title = {Mass Produced Software Components}, Year = {1969} } @article{McIl01a, Author = {S. McIlraith and T. Son and H. Zeng}, Journal = {IEEE Intelligent Systems (Special Issue on the Semantic Web)}, Month = mar, Number = {2}, Pages = {46--53}, Title = {Semantic Web services}, Volume = {16}, Year = {2001} } @inproceedings{McIn10a, Author = {McIntosh Shane and Adams Bram and Hassan E. Ahmed}, Booktitle = {7th IEEE Working Conference on Mining Software Repositories (MSR'10)}, Doi = {10.1109/MSR.2010.5463341}, Pages = {42--51}, Title = {The evolution of ANT build systems}, Year = {2010} } @inproceedings{McKe84a, Author = {J. R. McKee}, Booktitle = {Proceedings of AFIPS National Computer Conference}, Pages = {187--193}, Title = {Maintenance as a Function of Design}, Year = {1984} } @article{McLa71a, Author = {A.D. McLachlan}, Journal = {J. Mol. Biol.}, Keywords = {dotplot}, Pages = {409--424}, Title = {Tests for Comparing Related Amino-acid Sequences. Cytochrome $c$ and Cytochrome $c_{551}$}, Volume = {61}, Year = {1971} } @article{McLe81a, Author = {I.A. McLeod}, Journal = {Information Systems}, Keywords = {misc documents}, Number = {2}, Pages = {131--137}, Title = {A Data Base Management System for Document Retrieval Applications}, Volume = {6}, Year = {1981} } @article{McLe85a, Author = {Dennis McLeod and S. Widjojo}, Journal = {IEEE Database Engineering}, Keywords = {olit-db knowrep}, Month = dec, Number = {4}, Pages = {83--89}, Title = {Object Management and Sharing in Autonomous, Distributed Data/Knowledge Bases}, Volume = {8}, Year = {1985} } @inproceedings{McMu97a, Author = {B. McMullin and F.J. Varela}, Booktitle = {Fourth European Conference on Artifical Life (ECAL97)}, Pages = {38--47}, Title = {Rediscovering computational Autopoiesis}, Year = {1997} } @inproceedings{Mcaf95, Author = {Jeff McAffer}, Booktitle = {Proceedings of the Fourth International Workshop on Object-Orientation in Operating Systems, 1995.}, Pages = {232--241}, Title = {Meta-Level Architecture Support for distributed Objects}, Year = {1995} } @book{Mcca77a, Author = {Jim McCall and Paul Richards and Gene Walters}, Publisher = {NTIS Springfield}, Title = {Factors in Software Quality}, Year = {1976} } @inproceedings{Mede91a, Address = {Geneva, Switzerland}, Author = {Claudia Bauzer Medeiros and Patrick Pfeffer}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {219--230}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Integrity Using Rules}, Volume = 512, Year = {1991} } @unpublished{Medi98a, Author = {MediaGenix}, Note = {Poster Presentation at OOPSLA '98}, Title = {Understanding Applications Dependencies} } @article{Medj03a, Address = {Secaucus, NJ, USA}, Author = {Brahim Medjahed and Athman Bouguettaya and Ahmed K. Elmagarmid}, Doi = {10.1007/s00778-003-0101-5}, Issn = {1066-8888}, Journal = {The VLDB Journal}, Number = {4}, Pages = {333--351}, Publisher = {Springer-Verlag New York, Inc.}, Title = {Composing Web services on the Semantic Web}, Volume = {12}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s00778-003-0101-5} } @inproceedings{Medv96a, Address = {San Francisco, CA}, Author = {Nenad Medvidovic and Peyman Oreizy and Jason E. Robbins and Richard N. Taylor}, Booktitle = {Proceedings of the Fourth ACM SIGSOFT FSE Symposium (FSE4)}, Keywords = {olit architecture}, Month = oct, Pages = {24--32}, Title = {Using Object-Oriented Typing to Support Architectural Design in the {C2} Style}, Url = {ftp://liege.ics.uci.edu/pub/arcadia/c2/C2-FSE96.fm.ps}, Year = {1996}, Bdsk-Url-1 = {ftp://liege.ics.uci.edu/pub/arcadia/c2/C2-FSE96.fm.ps} } @inproceedings{Medv97a, Address = {Z{\"u}rich, Switzerland}, Author = {Medvidovic, Nenad and Taylor, Richard N.}, Booktitle = {Proceedings of ESEC/FSE '97}, Keywords = {olit architecture}, Month = sep, Pages = {60--76}, Title = {A Framework for Classifying and Comparing Architecture Description Languages}, Year = {1997} } @inproceedings{Medv97c, Author = {Medvidovic, Nenad and Rosenblum, David S.}, Booktitle = {Proceedings of the 1997 USENIX Conference on Domain-Specific Languages}, Month = oct, Title = {Domains of Concern in Software Architectures and Architecture Description Languages}, Year = {1997} } @inproceedings{Medv99a, author = {Medvidovic, Nenad and Rosenblum, David S. and Taylor, Richard N.}, title = {A language and environment for architecture-based software development and evolution}, keywords = {damiencbib architecture c2}, booktitle = {ICSE'99: Proceedings of the 21st International Conference on Software engineering}, year = {1999}, pages = {44--53}, doi = {10.1145/302405.302410}, address = {Los Angeles, CA, USA}, publisher = {IEEE Computer Society} } @article{Medv00a, Doi = {10.1109/32.825767}, keywords = {damiencbib architecture adl}, author = {Medvidovic, Nenad and Taylor, Richard N.}, Journal = {IEEE Transactions on Software Engineering}, Number = 1, pages = {70--93}, Title = {A Classification and Comparison Framework for Software Architecture Description Languages}, Volume = 26, Year = {2000}, publisher = {IEEE Computer Society}, address = {Piscataway, NJ, USA} } @inproceedings{Medv03a, Author = {Nenad Medvidovic and Alexander Egyed and Paul Gruenbacher}, Booktitle = {Proceedings of the 2nd Second International Workshop from Software Requirements to Architectures (STRAW)}, Title = {Stemming Architectural Erosion by Architectural Discovery and Recovery}, Year = {2003} } @article{Medv06a, Address = {Hingham, MA, USA}, Author = {Nenad Medvidovic and Vladimir Jakobac}, Doi = {10.1007/s10515-006-7737-5}, Issn = {0928-8910}, Journal = {Automated Software Engineering}, Number = {2}, Pages = {225--256}, Publisher = {Kluwer Academic Publishers}, Title = {Using software evolution to focus architectural recovery}, Volume = {13}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10515-006-7737-5} } @article{Medv07a, Doi = {10.1016/j.infsof.2006.08.006}, author = {Medvidovic, Nenad and Dashofy, Eric M. and Taylor, Richard N.}, title = {Moving architectural description from under the technology lamppost}, journal = {Information and Software Technology}, volume = {49}, number = {1}, year = {2007}, pages = {12--31}, numpages = {20}, publisher = {Butterworth-Heinemann}, address = {Newton, MA, USA}, keywords = {adl damiencbib} } @techreport{Meer05a, 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.}, Author = {Michael Meer}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb05 moose-pub}, Month = aug, Title = {A Generic Clustering Framework for Moose}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Meer05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Meer05a.pdf} } @inproceedings{Mehl04a, Address = {Delft, the Netherlands}, Author = {Michael Mehlich}, Booktitle = {Proceedings of the First International Workshop on Software Evolution Transformations (SET)}, Editor = {Ying Zou and James R. Cordy}, Month = nov, Pages = {25--28}, Title = {Transformation Systems for Real Programming Languages. Preprocessing Directives Everywhere}, Year = {2004} } @inproceedings{Mehn00a, Author = {Katharina Mehner and Annika Wagner}, Booktitle = {Proceedings of VL 2000 (Symposium on Visual Languages)}, Keywords = {sv}, Pages = {199--206}, Publisher = {IEEE Press}, Title = {Visualizing the Synchronization of {Java}-Threads with UML}, Year = {2000} } @inproceedings{Mehn06a, Author = {Katharina Mehner and Mark-Oliver Reiser and Matthias Weber}, Booktitle = {In Proceedings of the Automotive Requirements Engineering Workshop (AURE'06}, Title = {Applying Aspect-Orientation Techniques in Automotive Software Product-Line Engineering}, Year = {2006} } @inproceedings{Meht00a, Address = {Limerick, Ireland}, Author = {Nikunj R. Mehta and Nenad Medvidovic and Sandeep Phadke}, Booktitle = {Proceedings of ICSE '00}, Keywords = {olit composition architecture connector}, Month = jun, Pages = {178--187}, Title = {Towards a Taxonomy of Software Connectors}, Year = {2000} } @inproceedings{Meht02a, Address = {New York NY}, Author = {Alok Mehta and George Heineman}, Booktitle = {Proceedings ACM International Workshop on Principles of Software Evolution}, Doi = {10.1145/602461.602507}, Isbn = {1-58113-508-4}, Location = {Vienna, Austria}, Pages = {190--193}, Publisher = {ACM Press}, Title = {Evolving legacy systems features using regression test cases and components}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/602461.602507} } @phdthesis{Meij93a, Author = {Theo Dirk Meijler}, Keywords = {olit composition}, Month = sep, School = {Erasmus University Rotterdam}, Title = {User-level Integration of Data and Operation Resources by means of a Self-descriptive Data Model}, Type = {{Ph.D}. Thesis}, Year = {1993} } @inproceedings{Meij96a, 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.}, Author = {Theo Dirk Meijler and Robert Engel}, Booktitle = {EuroPLoP preliminary Conference Proceedings}, Keywords = {olit scg-pub skip-doi toBeChecked snf96 jb96}, Month = jul, Title = {Making Design Patterns Explicit in {FACE}, a Framework Adaptive Composition Environment}, Url = {http://scg.unibe.ch/archive/papers/Meij96aFACE.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meij96aFACE.pdf} } @inproceedings{Meij96d, Author = {Theo Dirk Meijler}, Booktitle = {FAMOOS workshop}, Organization = {Uni-Bern}, Title = {Formalizing Patterns for Software Understanding and Problem Detection}, Year = {1996} } @inproceedings{Meij96m, 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.}, Author = {Theo Dirk Meijler and Serge Demeyer and Robert Engel}, Booktitle = {Special Issues in Object-Oriented Programming (ECOOP '96 Workshop Reader)}, Editor = {Max M{\"u}hlh{\"a}user}, Isbn = {3-920993-67-51}, Keywords = {olit famoos-papunr scg-pub skip-doi toBeChecked snf97 jb96 sergedem-papunr}, Month = jul, Publisher = {dpunkt.verlag}, Title = {Class Composition in {FACE}, a Framework Adaptive Composition Environment}, Url = {http://scg.unibe.ch/archive/papers/Meij96mClassComposition.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meij96mClassComposition.pdf} } @inproceedings{Meij97a, 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.}, Author = {Theo Dirk Meijler and Serge Demeyer and Robert Engel}, Booktitle = {Proceedings ESEC/FSE '97}, Doi = {10.1007/3-540-63531-9_9}, Editor = {M. Jazayeri and H. Schauer}, Isbn = {978-3-540-63531-4}, Keywords = {olit famoos-papref scg-pub toBeChecked snf97 jb97 sergedem-papref}, Month = sep, Pages = {94--110}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Making Design Patterns Explicit in {FACE}, a Framework Adaptive Composition Environment}, Url = {http://scg.unibe.ch/archive/papers/Meij97aExplicitDesignPatterns.pdf}, Volume = {1301}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meij97aExplicitDesignPatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-63531-9_9} } @incollection{Meij97b, 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.}, Author = {Theo Dirk Meijler and Oscar Nierstrasz}, Booktitle = {Cooperative Information Systems: Current Trends and Directions}, Editor = {M.P. Papazoglou and G. Schlageter}, Keywords = {olit scg-pub skip-doi jb-none snf96 omnrep onhindex(60)}, Month = nov, Pages = {49--78}, Publisher = {Academic Press}, Title = {Beyond Objects: Components}, Url = {http://scg.unibe.ch/archive/papers/Meij97bBeyondObjects.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meij97bBeyondObjects.pdf} } @inproceedings{Meij04a, Author = {Erik Meijer and Peter Drayton}, Title = {Static typing where possible, dynamic typing when needed: The end of the cold war between programming languages}, Booktitle = {Proceedings OOPSLA Workshop On The Revival Of Dynamic Languages}, Year = {2004} } @inproceedings{Meij06a, Address = {New York, NY, USA}, Author = {Erik Meijer and Brian Beckman and Gavin Bierman}, Booktitle = {SIGMOD '06: Proceedings of the 2006 ACM SIGMOD international conference on Management of data}, Doi = {10.1145/1142473.1142552}, Isbn = {1-59593-434-0}, Location = {Chicago, IL, USA}, Pages = {706--706}, Publisher = {ACM}, Title = {{LINQ}: reconciling object, relations and {XML} in the {.NET} framework}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1142473.1142552} } @incollection{Mela96a, Address = {Somerset, New Jersey}, Author = {I. Dan Melamed}, Booktitle = {Proceedings of the Conference on Empirical Methods in Natural Language Processing}, Editor = {Eric Brill and Kenneth Church}, Keywords = {text alignment}, Pages = {1--12}, Publisher = {Association for Computational Linguistics}, Title = {A Geometric Approach to Mapping Bitext Correspondence}, Url = {citeseer.ist.psu.edu/182431.html}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/182431.html} } @inproceedings{Mela96b, Address = {Copenhagen, Denmark}, Author = {I. Dan Melamed}, Booktitle = {Proceedings of the 16th International Conference on Computational Linguistics (COLING'96)}, Keywords = {text alignment}, Title = {Automatic Detection of Omissions in Translations}, Url = {citeseer.ist.psu.edu/149949.html}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/149949.html} } @article{Mela99a, Author = {I. Dan Melamed}, Journal = {Computational Linguistics}, Keywords = {text alignment}, Number = {1}, Pages = {107--130}, Title = {Bitext Maps and Alignment via Pattern Recognition}, Url = {citeseer.ist.psu.edu/melamed96bitext.html}, Volume = {25}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/melamed96bitext.html} } @inproceedings{Mell87a, Address = {Paris, France}, Author = {Paola Mello and Antonio Natali}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {181--191}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Objects as Communicating Prolog Units}, Volume = {276}, Year = {1987} } @inproceedings{Mell98a, Author = {Stephen J. Mellor and Steve Tockey and Rodolphe Arthaud and Philippe LeBlanc}, 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}, Pages = {281--286}, Series = {LNCS}, Title = {Software-platform-independent, Precise Action Specifications for {UML}}, Year = {1998} } @book{Mell02a, Author = {Stephen J. Mellor and Marc J. Balcer}, Isbn = {0201748045}, Keywords = {mdd, uml}, Month = may, Publisher = {Addison-Wesley Professional}, Title = {Executable UML: A Foundation for Model-Driven Architecture}, Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0201748045}, Year = {2002}, Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0201748045} } @article{Melt07a, Address = {Hingham, MA, USA}, Author = {Hayden Melton and Ewan Tempero}, Doi = {10.1007/s10664-006-9033-1}, Issn = {1382-3256}, Journal = {Empirical Software Engineering}, Number = {4}, Pages = {389--415}, Publisher = {Kluwer Academic Publishers}, Title = {An empirical study of cycles among classes in Java}, Volume = {12}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s10664-006-9033-1} } @article{Memo01a, Address = {Piscataway, NJ, USA}, Author = {Atif M. Memon and Martha E. Pollack and Mary Lou Soffa}, Doi = {10.1109/32.908959}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Keywords = {feature testing}, Number = {2}, Pages = {144--155}, Publisher = {IEEE Press}, Title = {Hierarchical {GUI} Test Case Generation Using Automated Planning}, Volume = {27}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.908959} } @inproceedings{Memo01b, author = {Memon, Atif M. and Soffa, Mary Lou and Pollack, Martha E.}, title = {Coverage criteria for GUI testing}, booktitle = {Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering}, series = {ESEC/FSE-9}, year = {2001}, isbn = {1-58113-390-1}, location = {Vienna, Austria}, pages = {256--267}, numpages = {12}, url = {http://doi.acm.org/10.1145/503209.503244}, doi = {10.1145/503209.503244}, acmid = {503244}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {GUI test coverage, GUI testing, component testing, event-based coverage, event-flow graph, integration tree} } @inproceedings{Memo03a, Address = {Los Alamitos CA}, Author = {Atif Memon and Ishan Banerjee and Adithya Nagarajan}, Booktitle = {Proceedings IEEE Working Conference on Reverse Engineering (WCRE 2003)}, Keywords = {feature testing}, Month = nov, Pages = {260--269}, Publisher = {IEEE Computer Society Press}, Title = {{GUI} Ripping: Reverse Engineering of Graphical User Interfaces for Testing}, Year = {2003} } @article{Mend95a, Author = {Alberto Mendelzon and Johannes Sametinger}, Journal = {Software --- Concepts and Tools}, Pages = {170--182}, Title = {Reverse Engineering by Visualizing and Querying}, Volume = {16}, Year = {1995} } @inproceedings{Mend96a, Author = {Nabor C. Mendon\c{c}a and Jeff Kramer}, 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}, Doi = {10.1145/243327.243620}, Isbn = {0-89791-867-3}, Keywords = {design-recovery}, Location = {San Francisco, California, United States}, Pages = {101--105}, Publisher = {ACM Press}, Title = {Requirements for an effective architecture recovery framework}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/243327.243620} } @article{Mend01a, Address = {Hingham, MA, USA}, Author = {Nabor C. Mendon\c{c}a and Jeff Kramer}, Issn = {0928-8910}, Journal = {Automated Software Engineering}, Number = {3-4}, Pages = {311--354}, Publisher = {Kluwer Academic Publishers}, Title = {An Approach for Recovering Distributed System Architectures}, Volume = {8}, Year = {2001} } @techreport{Mens94a, Author = {Tom Mens}, Institution = {Department of Computer Science, Vrije Universiteit Brussel, Belgium}, Keywords = {oobib opus binder}, Number = {vub-tinf-tr-94-03}, Title = {A survey on formal models for {OO}}, Type = {Technical Report Technical Report}, Url = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-03.ps.Z}, Year = {1994}, Bdsk-Url-1 = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-03.ps.Z} } @techreport{Mens94b, Author = {Tom Mens and Kim Mens and Patrick Steyaert}, Institution = {Department of Computer Science, Vrije Universiteit Brussel, Belgium}, Keywords = {oobib opus binder}, Number = {vub-tinf-tr-94-04}, Title = {{OPUS}: a Calculus for Modelling Object-Oriented Concepts}, Type = {Technical Report}, Url = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-04.ps.Z}, Year = {1994}, Bdsk-Url-1 = {ftp://progftp.vub.ac.be/ftp/tech_report/1994/vub-tinf-tr-94-04.ps.Z} } @article{Mens96a, Author = {Tom Mens and Marc van Limberghen}, Journal = {Object Oriented Systems}, Keywords = {olit-inheritance mixims oobib(inh) binder}, Number = {1}, Pages = {1--30}, Title = {Encapsulation and Composition as Orthogonal Operators on Mixins: {A} Solution to Multiple Inheritance Problems}, Volume = {3}, Year = {1996} } @inproceedings{Mens98a, 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}, Author = {Kim Mens and Roel Wuyts and Dirk Bontridder and Alain Grijseels}, Booktitle = {ECOOP '98 Workshop Reader}, Editor = {Demeyer, Serge and Bosch, Jan}, Publisher = {Springer}, Title = {{ECOOP} '98 Workshop Report: Tools and Environments for Business Rules}, Url = {http://scg.unibe.ch/archive/papers/MensAl98.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/MensAl98.pdf} } @inproceedings{Mens99a, Annote = {internationalconference}, Author = {Kim Mens and Roel Wuyts and Theo D'Hondt}, Booktitle = {Proceedings of TOOLS-Europe 99}, Keywords = {SOUL}, Month = jun, Pages = {33--45}, Title = {Declaratively Codifying Software Architectures using Virtual Software Classifications}, Url = {http://scg.unibe.ch/archive/papers/Mens99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens99a.pdf} } @inproceedings{Mens99b, Annote = {internationalworkshop}, Author = {Mens, Kim and Mens, Tom and Wouters, Bart and Wuyts, Roel}, Booktitle = {Proceedings of ECOOP '99 Workshop on Architectural Evolution}, Keywords = {SOUL}, Title = {Managing Unanticipated Evolution of Software Architectures}, Url = {http://scg.unibe.ch/archive/papers/Mens99b.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens99b.pdf} } @inproceedings{Mens00a, Annote = {internationalworkshop}, Author = {Mens, Tom and Mens, Kim and Wuyts, Roel}, Booktitle = {Proceedings of the ECOOP 2000 Workshop on Object-Oriented Architectural Evolution}, Keywords = {SOUL}, Month = jun, Title = {On the Use of Declarative Meta Programming for Managing Architectural Software Evolution}, Url = {http://scg.unibe.ch/archive/papers/DHon99a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/DHon99a.pdf} } @phdthesis{Mens00b, Author = {Mens, Kim}, School = {Vrije Universiteit Brussel}, Title = {Automating Architectural Conformance Checking by means of Logic Meta Programming}, Url = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/dissertation/PHD_2002_Mens.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/dissertation/PHD_2002_Mens.pdf} } @inproceedings{Mens01a, 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 support 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 programming 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 software development and maintenance environment.}, Annote = {internationalconference}, Author = {Kim Mens and Isabel Michiels and Roel Wuyts}, Booktitle = {SEKE 2001 Proceedings}, Doi = {10.1016/S0957-4174(02)00076-3}, Keywords = {SOUL scg-pub jb02 snf02}, Misc = {SCI impact factor 0.321}, Note = {International conference on Software Engineering and Knowledge Engineering, Buenos Aires, Argentina, June 13-15, 2001}, Pages = {236--243}, Publisher = {Knowledge Systems Institute}, Title = {Supporting Software Development through Declaratively Codified Programming Patterns}, Url = {http://scg.unibe.ch/archive/papers/Mens01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens01a.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0957-4174(02)00076-3} } @article{Mens01b, 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 support 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 programming 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 software development and maintenance environment.}, Annote = {internationaljournal}, Author = {Kim Mens and Isabel Michiels and Roel Wuyts}, Doi = {10.1016/S0957-4174(02)00076-3}, Institution = {Programming Technology Lab, Vrije Universiteit Brussel, Belgium}, Journal = {SEKE 2001 Special Issue of Elsevier Journal on Expert Systems with Applications}, Keywords = {SOUL scg-pub jb02 snf02}, Misc = {Extended version of \cite{Mens01a}}, Title = {Supporting Software Development through Declaratively Codified Programming Patterns}, Url = {http://scg.unibe.ch/archive/papers/Mens01b.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens01b.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0957-4174(02)00076-3} } @inproceedings{Mens01c, Author = {Tom Mens and Tom Tourw\'e}, Booktitle = {Proc. Int. Conf. Software Maintenance}, Pages = {570--579}, Publisher = {IEEE Computer Society Press}, Title = {A Declarative Evolution Framework for Object-Oriented Design Patterns}, Year = {2001} } @inproceedings{Mens02c, Author = {Tom Mens and Serge Demeyer}, Booktitle = {Proceedings IWPSE2001 (4th International Workshop on Principles of Software Evolution)}, Keywords = {olit}, Misc = {Deme01a}, Pages = {83--86}, Title = {Future Trends in Software Evolution Metrics}, Year = {2001} } @article{Mens02a, 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.}, Author = {Tom Mens and Michele Lanza}, Doi = {10.1016/S1571-0661(05)80529-8}, Journal = {Electronic Notes in Theoretical Computer Science}, Keywords = {scg-pub jb02 snf02}, Number = {2}, Publisher = {Elsevier Science}, Title = {A Graph-Based Metamodel for Object-Oriented Software Metrics}, Url = {http://scg.unibe.ch/archive/papers/Mens02a.pdf}, Volume = {72}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens02a.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/S1571-0661(05)80529-8} } @inproceedings{Mens02b, Author = {Kim Mens and Tom Mens and Michel Wermelinger}, Booktitle = {Proceedings of SEKE 2002}, Pages = {289--296}, Publisher = {ACM Press}, Title = {Maintaining software through intentional source-code views}, Year = {2002} } @article{Mens02d, Author = {Tom Mens}, Journal = {IEEE Transactions on Software Engineering}, Month = may, Number = {5}, Pages = {449--462}, Title = {A State-of-the-art Survey on Software Merging}, Volume = {28}, Year = {2002} } @article{Mens03a, 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}, Author = {Tom Mens and Roel Wuyts and Kris De Volder and Kim Mens}, Doi = {10.1145/638750.638770}, Journal = {ACM SIGSOFT Software Engineering Notes}, Keywords = {snf03 scg-pub jb03}, Month = jan, Number = {2}, Title = {Workshop Proceedings --- Declarative Meta Programming to Support Software Development}, Url = {http://scg.unibe.ch/archive/papers/Mens03a.pdf}, Volume = {28}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mens03a.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/638750.638770} } @inproceedings{Mens03b, Author = {Tom Mens and Tom Tourw\'{e} and Francisca Munoz}, Booktitle = {Proc. International Workshop Principles of Software Evolution}, Isbn = {0-7695-1903-2}, Keywords = {refactoring, software evolution}, Pages = {39--44}, Publisher = {IEEE Computer Society Press}, Title = {Content-Based Software Classification by Self-Organization}, Year = {2003} } @inproceedings{Mens03c, Author = {Kim Mens and Bernard Poll and Sebastian Gonzalez}, Booktitle = {Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on}, Doi = {10.1109/ICSM.2003.1235419}, Issn = {1063-6773}, Keywords = {intentional source-code views, architecture}, Month = sep, Pages = {169-178}, Title = {Using intentional source-code views to aid software maintenance}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2003.1235419} } @article{Mens04a, Author = {Tom Mens and Juan F. Ramil and Michael W. Godfrey}, Issn = {1532-060X}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice}, Month = nov, Number = {6}, Pages = {363--365}, Publisher = {Wiley}, Title = {Analyzing the Evolution of Large-Scale Software: Issue Overview}, Volume = {16}, Year = {2004} } @article{Mens04b, Author = {Tom Mens and Tom Tourw\'e}, Journal = {Transactions on Software Engineering}, Number = {2}, Pages = {126-138}, Title = {A Survey of Software Refactoring}, Volume = {30}, Year = {2004} } @inproceedings{Mens05a, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalworkshop}, Author = {Tom Mens and Michel Wermelinger and St\'ephane Ducasse and Serge Demeyer and Robert Hirschfeld and Mehdi Jazayeri}, Booktitle = {Proceedings of the International Workshop on Principles of Software Evolution (IWPSE 2005)}, Inria = {hors}, Keywords = {stefPub scgPub}, Misc = {acceptance rate: 13/54 = 24\%}, AcceptTotal = {54}, AcceptNum = {13}, Pages = {123--131}, Publisher = {IEEE Computer Society}, Rate = {24%}, Selectif = {oui}, Title = {Challenges in Software Evolution}, Year = {2005} } @article{Mens05b, Author = {Tom Mens and Amnon H. Eden}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1016/j.entcs.2004.08.041}, Journal = {Electr. Notes Theor. Comput. Sci.}, Number = {3}, Pages = {147-163}, Title = {On the Evolution Complexity of Design Patterns}, Volume = {127}, Year = {2005} } @article{Mens06a, Annote = {internationaljournal}, Author = {Kim Mens and Andy Kellens and Fr\'{e}d\'{e}ric Pluquet and Roel Wuyts}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {decomp-pub}, Number = {2}, Pages = {140--156}, Publisher = {Elsevier Science}, Title = {Co-evolving Code and Design with Intensional Views --- A Case Study}, Url = {http://prog.vub.ac.be/Publications/2005/vub-prog-tr-05-26.pdf}, Volume = {32}, Year = {2006}, Bdsk-Url-1 = {http://prog.vub.ac.be/Publications/2005/vub-prog-tr-05-26.pdf} } @article{Mens06b, Author = {Tom Mens and Pieter Van Gorp}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Doi = {10.1016/j.entcs.2005.10.021}, Journal = {Electr. Notes Theor. Comput. Sci.}, Pages = {125-142}, Title = {A Taxonomy of Model Transformation}, Volume = {152}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2005.10.021} } @inbook{Mens08a, Author = {A. {v. Deursen} and L. Moonen and A. Zaidman}, Chapter = {8: On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension}, Publisher = {Springer}, Title = {Software Evolution}, Year = {2008} } @book{Mens08b, editor = {Tom Mens and Serge Demeyer}, title = {Software Evolution}, publisher = {Springer}, year = {2008}, isbn = {978-3-540-76439-7}, doi = {10.1007/978-3-540-76440-3} } @inproceedings{Merc08a, Doi = {10.1145/1449913.1449936}, Author = {Mercadal, Julien and Palix, Nicolas and Consel, Charles and Lawall, Julia}, Title = {Pantaxou: A Domain-Specific Language for Developing Safe Coordination Services}, Booktitle = {GPCE'08: Proceedings of the 7th International Conference on Generative Programming and Component Engineering}, Year = {2008}, Address = {Nashville, TN, USA}, Pages = {149--160}, publisher = {ACM Press}, Keywords = {pantaxou generation programming-framework damiencbib telephony} } @inproceedings{Merc10a, title = {A Domain-Specific Approach to Architecturing Error Handling in Pervasive Computing}, author = {Mercadal, Julien and Enard, Quentin and Consel, Charles and Loriant, Nicolas}, keywords = {damiencbib diaspec}, booktitle = {OOPSLA'10: Proceedings of the 25th International Conference on Object Oriented Programming Systems Languages and Applications}, doi = {10.1145/1869459.1869465}, pages = {47--61}, publisher = {ACM}, address = {Reno/Tahoe, NV, USA}, month = oct, year = {2010} } @inproceedings{Merk95a, Author = {Dieter Merkl}, Booktitle = {Proceedings of International Conference on Neural Networks (ICNN'95)}, Pages = {1086--1091}, Title = {Content-Based Software Classification by Self-Organization}, Volume = {II}, Year = {1995} } @unpublished{Merl04a, Author = {Ettore Merlo and Giulio Antoniol and Jens Krinke}, Keywords = {clones}, Note = {To appear}, Title = {Identifying Similar Code with Metrics and Program Dependence Graphs} } @inproceedings{Merl93a, Author = {P. Merlo and I. {McAdam} and R. {De~Mori}}, Booktitle = {Proceedings of International Joint Conference on Artificial Intelligence (IJCAI'93)}, Pages = {1339--1345}, Title = {Source Code Informal Information Analysis Using Connectionist Models}, Volume = {1}, Year = {1993} } @inproceedings{Merl02a, Author = {E. Merlo and M. Dagenais and P. Bachand and J. S. Sormani and G. Antoniol}, Booktitle = {Proc. Computer Software and Applications Conference (COMPSAC)}, Title = {Investigating Large Software System Evolution: the Linux Kernel}, Year = {2002} } @inproceedings{Merl03a, Address = {Victoria, British Columbia, Canada}, Author = {Ettore Merlo and Giuliano Antoniol and Massimiliano {Di Penta}}, Booktitle = {Proceedings of 2nd International Workshop on Software Clones (IWDSC'2003)}, Keywords = {clones}, Month = nov, Title = {Complexity and Feasibility Issues in Object Oriented Clone detection}, Url = {http://www.bauhaus-stuttgart.de/iwdsc2003/}, Year = {2003}, Bdsk-Url-1 = {http://www.bauhaus-stuttgart.de/iwdsc2003/} } @inproceedings{Merl04b, Author = {Merlo, E. and Antoniol, G. and Di Penta, M. and Rollo, VF}, Booktitle = {Proceedings of 20th IEEE International Conference on Sofware Maintenance (ICSM '04)}, Pages = {412--416}, Publisher = {IEEE Computer Society Press}, Title = {Linear complexity object-oriented similarity for clone detection and software evolution analyses}, Year = {2004} } @article{Mern05a, Address = {New York, NY, USA}, Author = {Marjan Mernik and Jan Heering and Anthony M. Sloane}, Doi = {10.1145/1118890.1118892}, Issn = {0360-0300}, Journal = {ACM Comput. Surv.}, Keywords = {dsllit}, Number = {4}, Pages = {316--344}, Publisher = {ACM}, Title = {When and how to develop domain-specific languages}, Volume = {37}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1118890.1118892} } @inproceedings{Merr87a, Author = {Thomas Merrow and Jane Laursen}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {103--110}, Title = {A Pragmatic System for Shared Persistent Objects}, Volume = {22}, Year = {1987} } @inproceedings{Merr98a, Author = {Massimo Merro and Davide Sangiorgi}, Booktitle = {25th Colloquium on Automata, Languages and Programming ({ICALP}) (Aalborg, Denmark)}, Editor = {Kim G. Larsen and Sven Skyum and Glynn Winskel}, Month = jul, Pages = {856--867}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On Asynchrony in Name-Passing Calculi}, Volume = {1443}, Year = {1998} } @phdthesis{Merr00a, Author = {Massimo Merro}, Keywords = {PiSem}, Month = oct, School = {Ecole de Mines de Paris}, Title = {Locality in the $\pi$-calculus and applications to distributed object}, Year = {2000} } @inproceedings{Merr00b, Author = {Massimo Merro and Josva Kleist and Uwe Nestmann}, Booktitle = {Proceedings of TCS 2000}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Local $\pi$-Calculus at Work: Mobile Objects as Mobile Processes}, Year = {2000} } @techreport{Mese90a, Author = {Jos\'e Meseguer}, Institution = {SRI International}, Keywords = {concurrency semantics binder (shelf)}, Month = jun, Title = {Rewriting as a Unified Model of Concurrency}, Type = {SRI-CSL-90-02R}, Year = {1990} } @inproceedings{Mese90b, Author = {Jos\'e Meseguer}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-obcl maude semantics oopsla90 ecoop90proc}, Month = oct, Pages = {101--115}, Title = {A Logical Theory of Concurrent Objects}, Volume = {25}, Year = {1990} } @techreport{Mese92a, Author = {Jos\'e Meseguer}, Institution = {SRI International}, Keywords = {olit-obcl maude semantics binder (shelf)}, Month = jul, Title = {A Logical Theory of Concurrent Objects and its Realization in the Maude Language}, Type = {SRI-CSL-92-08}, Year = {1992} } @inproceedings{Mese93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Jos\'e Meseguer}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {220--246}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @mastersthesis{Mesn05a, Annote = {master}, Author = {C{\'e}dric Mesnage}, Month = sep, School = {University of Caen and University of Lugano}, Title = {Interactive and Cooperative Visual Data Mining of Evolving Software}, Type = {Master {Thesis}}, Year = {2005} } @article{Mesn05b, Address = {Los Alamitos, CA, USA}, Author = {C{\'e}dric Mesnage and Michele Lanza}, Doi = {10.1109/VISSOF.2005.1684302}, Isbn = {0-7803-9540-9}, Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {40--45}, Publisher = {IEEE Computer Society}, Title = {{White Coats}: Web-Visualization of Evolving Software in {3D}}, Volume = {0}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684302} } @inproceedings{Mesz03a, Author = {G. Meszaros and S.M. Smith and J. Andrea}, Booktitle = {Proceedings of the Third XP and Second Agile Universe Conference}, Editors = {F. Maurer and D. Wells}, Location = {New Orleans, LA, USA}, Month = aug, Pages = {73--81}, Title = {The Test Automation Manifesto}, Year = {2003} } @book{Mesz07a, Author = {Gerard Meszaros}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:27:08 +0100}, Month = jun, Publisher = {Addison Wesley}, Title = {XUnit Test Patterns -- Refactoring Test Code}, Year = {2007} } @inproceedings{Meta96a, Author = {Daniel Le M{\'e}tayer}, 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}, Title = {Software architecture styles as graph grammars}, Year = {1996} } @article{Meta98a, Author = {Daniel Le M{\'e}tayer}, Journal = {IEEE Transactions on Software Engineering}, Month = jul, Number = {7}, Pages = {521--533}, Title = {Describing Software Architecture Styles Using Graph Grammars}, Volume = {24}, Year = {1998} } @article{Metc76a, Author = {R.M. Metcalfe and D.R. Boggs}, Journal = {CACM}, Keywords = {misc ethernet networks}, Month = jul, Number = {7}, Pages = {395--404}, Title = {Ethernet: Distributed Packet Switching for Local Computer Networks}, Volume = {19}, Year = {1976} } @inproceedings{Mett92a, Author = {LTC Erik Mettala and Marc H. Graham}, Booktitle = {Proceedings of the DARPA Software Technology Conference}, Keywords = {architecture binder}, Month = apr, Title = {The Domain Specific Software Architecture Program}, Url = {ftp://ftp.sei.cmu.edu/pub/documents/92.reports/ps/sr09.92.ps}, Year = {1992}, Bdsk-Url-1 = {ftp://ftp.sei.cmu.edu/pub/documents/92.reports/ps/sr09.92.ps} } @inproceedings{Metz91a, Address = {Georgenthal}, Author = {Igor Metz and Hanspeter Bieri}, Booktitle = {Proceedings of the 5th Workshop on Geometrical Problems of Image Processing}, Misc = {March 11-15}, Month = mar, Title = {A Bintree Representation of Generalized Binary Images}, Year = {1991} } @article{Metz91b, 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.}, Author = {Igor Metz and Hanspeter Bieri}, Journal = {Technical Report IAM-91-001}, Publisher = {Institut f{\"u}r Informatik und agewandte Mathematik, Universit{\"a}t Bern}, Title = {Algorithms for generalizes Digital Images Represented by Bintrees}, Year = {1991} } @article{Metz93a, 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.}, Author = {Igor Metz and Hermann H{\"u}ni and Raphael Bischof}, Journal = {Output Spezial}, Keywords = {olit}, Misc = {22 November}, Month = nov, Title = {Umstellung auf objektorientierte Technologie: Die erste Klippe Schulung}, Year = {1993} } @article{Metz93b, 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.}, Author = {Igor Metz and Hermann H{\"u}ni}, Journal = {ACM OOPS Messenger}, Keywords = {olit}, Month = apr, Number = {2}, Pages = {261--267}, Title = {Teaching Object-Oriented Software Architecture by Example: The Games Factory}, Volume = {4}, Year = {1993} } @article{Metz93c, 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.}, Author = {Igor Metz and Hermann H{\"u}ni}, Journal = {Computer Science Education,}, Keywords = {olit}, Pages = {111--121}, Title = {Teaching Object-Oriented Software Engineering by Example: The Games Factory}, Volume = {4}, Year = {1993} } @inproceedings{Metz94a, 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.}, Address = {Grenoble}, Author = {Igor Metz}, Booktitle = {Proceedings of the Fourth Conference on Discrete Geometry for Computer Imagery}, Keywords = {snf-none olit toBeChecked jb94}, Month = sep, Title = {Finding Neighbours in d-dimensional Binary Digital Images Represented by Bintrees}, Year = {1994} } @phdthesis{Metz95a, Author = {Igor Metz}, Keywords = {skip-pdf skip-doi skip-abstract olit scglib jb-none toBeChecked scg-phd}, Month = oct, School = {University of Bern}, Title = {Bintree Lab: Ein Framework von Datenstrukturen und Algorithmen f\"ur Bintrees}, Type = {{Ph.D}. Thesis}, Year = {1995} } @inproceedings{Meul87a, Author = {Pieter S. van der Meulen}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {366--376}, Title = {{INSIST}: Interactive Simulation in {Smalltalk}}, Volume = {22}, Year = {1987} } @techreport{Mey90a, Author = {Vicki de Mey}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca vista scripting}, Month = dec, Number = {CUI.90.E.4.#1}, Title = {Vista Implementation}, Type = {ITHACA report}, Year = {1990} } @techreport{Mey90b, Author = {Vicki de Mey}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca vista scripting}, Month = dec, Number = {CUI.90.E.4.#2}, Title = {Vista User's Guide}, Type = {ITHACA report}, Year = {1990} } @techreport{Mey91a, 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.}, Author = {Vicki de Mey}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, 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.}, Pages = {145--155}, Title = {Flexible Graphic Design Systems}, Type = {Object Composition}, Year = {1991} } @techreport{Mey91b, 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.}, Author = {Vicki de Mey and Betty Junod and Serge Renfer and Marc Stadelmann and Ino Simitsek}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg vista oc91}, Month = jun, Pages = {31--56}, Title = {The Implementation of Vista --- {A} Visual Scripting Tool}, Type = {Object Composition}, Year = {1991} } @techreport{Mey92a, 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.}, Author = {Vicki de Mey and Betty Junod and Serge Renfer}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg vista}, Month = dec, Title = {Vista Implementation}, Type = {ITHACA.CUI.92.Vista.#1}, Year = {1992} } @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}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {skip-abstract skip-pdf skip-doi olit-ithaca osg vista}, Month = dec, Title = {{RECAST}/Vista/{SIB} Integration}, Type = {ITHACA.CUI-POLIMI-FORTH.92.Vista.Recast.SIB.#1}, Year = {1992} } @article{Mey92c, Author = {Vicki de Mey and Simon Gibbs}, Journal = {OUTPUT, special issue on Informatik-Szene Schweiz 1993}, Keywords = {olit-ithaca osg}, Misc = {Dec. 11}, Month = dec, Pages = {54--56}, Title = {Working with Multimedia}, Year = {1992} } @techreport{Mey92d, Author = {Vicki de Mey}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg vista}, Month = nov, Title = {Experience with Vista}, Type = {ITHACA.CUI.92.Vista.#3}, Year = {1992} } @inproceedings{Mey92e, Author = {Vicki de Mey and Christian Breiteneder and Laurent Dami and Simon Gibbs and Dennis Tsichritzis}, Booktitle = {Proceedings of Eurographics 1992, Computer Graphics Forum}, Keywords = {olit-ithaca osg of92 vista}, Pages = {9--22}, Publisher = {Blackwell Publishers}, Title = {Visual Composition and Multimedia}, Volume = {11}, Year = {1992} } @techreport{Mey92f, Author = {Vicki de Mey}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg of92}, Month = jul, Pages = {221--241}, Title = {Experimenting with Component-Oriented Software Development}, Type = {Object Frameworks}, Year = {1992} } @techreport{Mey92g, Author = {Vicki de Mey and Betty Junod and Serge Renfer}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg vista}, Month = dec, Title = {Vista User's Guide}, Type = {ITHACA.CUI.92.Vista.#2}, Year = {1992} } @inproceedings{Mey93a, 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.}, Address = {Annaheim, CA}, Author = {Vicki de Mey and Simon Gibbs}, Booktitle = {Proceedings ACM Multimedia '93}, Keywords = {olit osg vo93}, Misc = {Aug 4-6}, Month = aug, Note = {To appear}, Title = {A Multimedia Component Kit}, Year = {1993} } @techreport{Mey93b, 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.}, Author = {Vicki de Mey and Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca skip-doi osg-ftp vo93 ithaca-final vista}, Month = jul, Pages = {267--280}, Title = {The {ITHACA} Application Development Environment}, Type = {Visual Objects}, Url = {http://scg.unibe.ch/archive/osg/Mey93bIthacaADE.pdf}, Year = {1993}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Mey93bIthacaADE.pdf} } @phdthesis{Mey94a, Author = {Vicki de Mey}, Keywords = {olit-ithaca osg-ftp vista book scglib}, Number = {no. 2660)}, School = {Dept. of Computer Science, University of Geneva}, Title = {Visual Composition of Software Applications}, Type = {{Ph.D}. Thesis}, Year = {1994} } @incollection{Mey95a, 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.}, Author = {Vicki de Mey}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC10 vista}, Pages = {275--303}, Publisher = {Prentice-Hall}, Title = {Visual Composition of Software Applications}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @article{Meye85a, Author = {J.-J.Ch. Meyer}, Journal = {Theoretical Computer Science}, Keywords = {pcalc regular processes}, Pages = {193--260}, Publisher = {North-Holland}, Title = {Merging Regular Processes by Means of Fixed Point Theory}, Volume = {45}, Year = {1985} } @inproceedings{Meye86a, Author = {Bertrand Meyer}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {types olit inheritance eiffel polymorphism oopsla86 oobib(inh)}, Month = nov, Pages = {391--405}, Title = {Genericity versus Inheritance}, Volume = {21}, Year = {1986} } @techreport{Meye88a, Address = {Goleta, CA}, Author = {Bertrand Meyer}, Institution = {Interactive Software Engineering}, Keywords = {olit eiffel exceptions binder}, Title = {Disciplined Exceptions}, Type = {TR-EI-22/EX}, Year = {1988} } @book{Meye88b, Author = {Bertrand Meyer}, Keywords = {olit-oopl eiffel oobib(oopl) scglib}, Publisher = {Prentice-Hall}, Title = {Object-oriented Software Construction}, Year = {1988} } @book{Meye88c, Author = {Bertrand Meyer}, Isbn = {3-446-15773-5}, Keywords = {olit-oopl oobib(oopl) book scglib}, Publisher = {Prentice-Hall}, Title = {Objektorientierte Softwareentwicklung}, Year = {1988} } @inproceedings{Meye89a, Author = {Bertrand Meyer}, Booktitle = {Proceedings TOOLS '89}, Keywords = {olit tools89}, Month = nov, Pages = {13--23}, Title = {The New Culture of Software Development: Reflections on the Practice of Object-Oriented Design}, Year = {1989} } @article{Meye91a, Address = {Los Alamitos, CA, USA}, Author = {Scott Meyers}, Doi = {10.1109/52.62932}, Issn = {0740-7459}, Journal = {IEEE Softw.}, Number = {1}, Pages = {49--57}, Publisher = {IEEE Computer Society Press}, Title = {Difficulties in Integrating Multiview Development Systems}, Volume = {8}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/52.62932} } @inproceedings{Meye91b, Address = {Los Alamitos, CA, USA}, Author = {Scott Meyers and Steven P. Reiss}, Booktitle = {IWSSD '91: Proceedings of the 6th international workshop on Software specification and design}, Isbn = {0-8186-2320-9 (PAPER)}, Location = {Como, Italy}, Pages = {202--209}, Publisher = {IEEE Computer Society Press}, Title = {A system for multiparadigm development of software systems}, Year = {1991} } @book{Meye92a, Author = {Bertrand Meyer}, Keywords = {olit-oopl eiffel oobib(oopl) book}, Publisher = {Prentice-Hall}, Title = {Eiffel: The Language}, Year = {1992} } @article{Meye92b, Author = {Bertrand Meyer}, Doi = {10.1109/2.161279}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee}, Month = oct, Number = {10}, Pages = {40--52}, Title = {Applying Design by Contract}, Url = {http://se.ethz.ch/~meyer/publications/computer/contract.pdf}, Volume = {25}, Year = {1992}, Bdsk-Url-1 = {http://se.ethz.ch/~meyer/publications/computer/contract.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/2.161279} } @book{Meye92c, Author = {Scott Meyers}, Isbn = {0-201-56364-9}, Keywords = {olit-oopl book}, Publisher = {Addison Wesley}, Title = {Effective {C}++}, Year = {1992} } @inproceedings{Meye92d, Address = {New York, NY, USA}, Author = {Scott Meyers and Steven P. Reiss}, Booktitle = {SDE 5: Proceedings of the fifth ACM SIGSOFT symposium on Software development environments}, Doi = {10.1145/142868.142913}, Isbn = {0-89791-554-2}, Location = {Tyson's Corner, Virginia, United States}, Pages = {47--57}, Publisher = {ACM Press}, Title = {An empirical study of multiple-view software development}, Year = {1992}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/142868.142913} } @techreport{Meye93a, Author = {Bertrand Meyer}, Institution = {ISE}, Keywords = {olit-obc eiffel binder (shelf)}, Month = jan, Number = {TR-EI-37/SC}, Title = {Systematic Concurrent Object-Oriented Programming}, Type = {ISE}, Year = {1993} } @misc{Meye93b, Author = {Bertrand Meyer and Jean-Marc Nerson}, Isbn = {13-013789-7}, Keywords = {olit-appl book scglib}, Title = {Object-Oriented Applications}, Year = {1993} } @article{Meye93c, Author = {Bertrand Meyer}, Journal = {Communications of the ACM}, Keywords = {olit oobib concurrency eiffel}, Month = sep, Number = {9}, Pages = {56--80}, Title = {Systematic Concurrent Object-Oriented Programming}, Url = {ftp://ftp.eiffel.com/pub/doc/concurrency/concurrency.ps.Z}, Volume = {36}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.eiffel.com/pub/doc/concurrency/concurrency.ps.Z} } @techreport{Meye93d, Address = {Box 1910, Providence, RI 02912}, Author = {Scott Meyers and Carolyn K. Duby and Steven P. Reiss}, Institution = {Department of Computer Science, Brown University}, Month = apr, Number = {CS-93-12}, Title = {Constraining the Structure and Style of Object-Oriented Programs}, Year = {1993} } @book{Meye94a, Author = {Bertrand Meyer}, Isbn = {0-13-245499-8}, Keywords = {olit-reuse book scglib}, Publisher = {Prentice-Hall}, Title = {Reusable Software: The Base Object-Oriented Components Libraries}, Year = {1994} } @book{Meye95a, Author = {Bertrand Meyer}, Isbn = {0-13-192833-3}, Keywords = {oobib(gen) book scglib}, Publisher = {Prentice-Hall}, Title = {Object Success}, Year = {1995} } @book{Meye96a, Author = {Scott Meyers}, Isbn = {0-201-63371-X}, Keywords = {olit-oopl scglib oorp}, Publisher = {Addison Wesley}, Title = {More Effective {C}++}, Year = {1996} } @book{Meye97a, Author = {Bertrand Meyer}, Edition = {Second}, Keywords = {olit-oopl eiffel oobib(oopl) sclit}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Software Construction}, Year = {1997} } @book{Meye98a, Author = {Scott Meyers}, Edition = {second}, Isbn = {0-201-92488-9}, Keywords = {olit-oopl book scglib oorp}, Publisher = {Addison Wesley}, Title = {Effective {C}++}, Year = {1998} } @techreport{Meye05a, 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.}, Author = {Michael Meyer}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb06}, Month = dec, Title = {Merlin: A Continuous Integration Tool for {VisualWorks}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Meye05aMerlin.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Meye05aMerlin.pdf} } @inproceedings{Meye06a, 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.}, Address = {New York, NY, USA}, Annote = {internationalconference}, Author = {Michael Meyer and Tudor G\^irba and Mircea Lungu}, Booktitle = {ACM Symposium on Software Visualization (SoftVis'06)}, Doi = {10.1145/1148493.1148513}, Keywords = {hasler07 scg-pub girba visualization jb07 fb06 mooseCincom norex06 moose-pub}, Medium = {2}, Pages = {135--144}, Peerreview = {yes}, Publisher = {ACM Press}, Title = {Mondrian: An Agile Visualization Framework}, Url = {http://scg.unibe.ch/archive/papers/Meye06aMondrian.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Meye06aMondrian.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1148493.1148513} } @mastersthesis{Meye06b, 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.}, Author = {Michael Meyer}, Keywords = {scg-msc scg-pub skip-doi jb07 fb06 snf07 moose-pub}, Month = nov, School = {University of Bern}, Title = {Scripting Interactive Visualizations}, Url = {http://scg.unibe.ch/archive/masters/Meye06b.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Meye06b.pdf} } @misc{Meye06c, Abstract = {Visualization is representing data into pictures for supporting reasoning. For the interpretation to be as easy as possible, we need to be as close as possible to the original data. The primary focus of our approach is to offer the programmer the possibility of visualizing his data model while using his preferred environment and tools. That is why, we have built Mondrian, an engine that puts all the emphasis on providing the needed basic pieces and that places the control in the hand of the programmer.}, Annote = {tooldemo}, Author = {Michael Meyer and Tudor G\^irba}, Howpublished = {European Smalltalk User Group 2006 Technology Innovation Awards}, Keywords = {esug scg-misc jb-none snf-none girba}, Month = aug, Note = {It received the 2nd prize}, Title = {Mondrian: Scripting Visualizations}, Url = {http://scg.unibe.ch/archive/reports/Meye06cMondrian.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Meye06cMondrian.pdf} } @article{Meye09a, Address = {New York, NY, USA}, Author = {Bertrand Meyer and Christine Choppy and J\orgen Staunstrup and Jan van Leeuwen}, Doi = {10.1145/1498765.1498780}, url = {http://doi.acm.org/10.1145/1498765.1498780 http://www.informatics-europe.org/docs/research-eval.php}, Issn = {0001-0782}, Journal = {Commun. ACM}, keywords = {cacm}, Number = {4}, Pages = {31--34}, Publisher = {ACM}, Title = {Viewpoint Research evaluation for computer science}, Volume = {52}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1498765.1498780} } @book{Meyer90a, Author = {Bertrand Meyer}, Publisher = {Intereditions}, Title = {Conception et Programmation par Objets}, Year = {1990} } @article{Meyer90b, Author = {B. Meyer}, Journal = {Communications of the ACM}, Month = sep, Number = {9}, Pages = {68--88}, Title = {Tools for a new culture: Lessons from the design of Eiffel libraries}, Volume = {33}, Year = {1990} } @article{Meyr82a, Author = {Norman Meyrowitz and Andy van Dam}, Journal = {ACM Computing Surveys}, Keywords = {uilit editing}, Month = sep, Number = {3}, Pages = {321--415}, Title = {Interactive Editing Systems (Parts {I} and {II})}, Volume = {14}, Year = {1982} } @proceedings{Meyr86a, Address = {Portland, Oregon}, Editor = {Norman Meyrowitz}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla86 oobib(gen)}, Month = nov, Title = {Proceedings {OOPSLA} '86}, Volume = {21}, Year = {1986} } @inproceedings{Meyr86b, Author = {Norman Meyrowitz}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl intermedia hypertext oopsla86 oobib(sys)}, Month = nov, Pages = {186--201}, Title = {Intermedia: The Architecture and Construction of an Object-Oriented Hypermedia System and Applications Framework}, Volume = {21}, Year = {1986} } @proceedings{Meyr87a, Address = {Orlando, Florida}, Editor = {Norman Meyrowitz}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla87 oobib(gen)}, Month = dec, Title = {Proceedings {OOPSLA} '87}, Volume = {22}, Year = {1987} } @proceedings{Meyr88a, Address = {San Diego, California}, Editor = {Norman Meyrowitz}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla88 oobib(gen)}, Month = nov, Title = {Proceedings {OOPSLA} '88}, Volume = {23}, Year = {1988} } @proceedings{Meyr89a, Address = {New Orleans, Louisiana}, Editor = {Norman Meyrowitz}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla89 oobib(gen)}, Month = oct, Title = {Proceedings {OOPSLA} '89}, Volume = {24}, Year = {1989} } @proceedings{Meyr90a, Address = {Ottawa, Canada}, Editor = {Norman Meyrowitz}, Isbn = {0-201-52430-X}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla90 ecoop90proc oobib(gen) scglib}, Month = oct, Title = {Proceedings {OOPSLA}/{ECOOP}'90}, Volume = {25}, Year = {1990} } @inproceedings{Mezi97a, Author = {Mira Mezini}, Booktitle = {Proceedings ECOOP '97}, Doi = {10.1007/BFb0053371}, Month = jun, Pages = {190--219}, Publisher = {Springer-Verlag}, Title = {Dynamic Object Evolution without Name Collisions}, Url = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1241/12410190.pdf}, Year = {1997}, Bdsk-Url-1 = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1241/12410190.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/BFb0053371} } @inproceedings{Mezi98a, Author = {Mira Mezini and Karl Lieberherr}, Booktitle = {Proceedings OOPSLA '98 ACM SIGPLAN Notices}, Keywords = {olit oopsla98}, Month = oct, Pages = {97--116}, Title = {Adaptive Plug-and-Play Components for Evolutionary Software Development}, Year = {1998} } @inproceedings{Mezi02a, Author = {Mira Mezini and Klaus Ostermann}, Booktitle = {Proceedings OOPSLA 2002}, Keywords = {olit oopsla02}, Month = nov, Pages = {52--67}, Title = {Integrating Independent Components with On-Demand Remodularization}, Year = {2002} } @inproceedings{Mezi03a, Author = {Mira Mezini and Klaus Ostermann}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {10.1145/643603.643613}, Isbn = {1-58113-660-9}, Location = {Boston, Massachusetts}, Pages = {90--99}, Publisher = {ACM Press}, Title = {Conquering aspects with {Caesar}}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643613} } @inproceedings{Mezi03b, Author = {Mira Mezini and Klaus Ostermann}, Booktitle = {8th International Conference on Reliable Software Technologies (Ada-Europe '03)}, Location = {Toulouse}, Month = jun, Publisher = {svlncs}, Title = {Modules for Crosscutting Models}, Year = {2003} } @inproceedings{Mice99a, Author = {Thierry Miceli and Houari A. Sahraoui and Robert Godin}, Booktitle = {Proceedings IEEE Automated Software Engineering Conference (ASE)}, Keywords = {olit}, Title = {A Metric Based Technique For Design Flaws Detection And Correction}, Year = {1999} } @inproceedings{Mich94a, Author = {L. Mich and R. Garigliano}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {371--390}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Linguistic Approach to the Development of Object-Oriented Systems Using the {NL} System {LOLITA}}, Volume = {858}, Year = {1994} } @inproceedings{Mich99a, Author = {Amir Michail and David Notkin}, Booktitle = {International Conference on Software Engineering}, Pages = {463--472}, Title = {Assessing Software Libraries by Browsing Similar Classes, Functions and Relationships}, Url = {citeseer.ist.psu.edu/article/michail99assessing.html}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/michail99assessing.html} } @book{Mich01a, Author = {Alain Michard}, Keywords = {scglib xml}, Publisher = {Eyrolles}, Title = {XML --- langage et applications}, Year = {2001} } @inproceedings{Mich01b, Author = {J. Michaud and M-A. Storey and H. Muller}, Booktitle = {Proceedings of IEEE International Conference on Software Maintenance (ICSM'01)}, Keywords = {fca}, Month = nov, Organization = {IEEE}, Pages = {250--259}, Title = {Integrating Information Sources for Visualizing {Java} Programs}, Year = {2001} } @misc{Mich03a, Author = {Linda G. DeMichiel}, Keywords = {JavaBeans}, Month = nov, Organization = {Sun Microsystems}, Title = {Enterprise {JavaBeans} specification, Version 2.1}, Year = {2003} } @misc{Mich06a, Author = {Linda DeMichiel, Michael Keith}, Keywords = {JavaBeans}, Month = may, Organization = {Sun Microsystems}, Title = {{JSR 220}: Enterprise {JavaBeans} specification, Version 3.0}, Year = {2006} } @misc{Micr10a, Author = {Microsoft}, Key = {Microsoft}, Month = mar, Note = {http://www.microsoft.com/VisualStudio}, Title = {Microsoft Visual Studio}, Year = {2010} } @article{Midd10a, author={Peter Middleton and David Joyce}, journal={Engineering Management, IEEE Transactions on}, title={Lean Software Management: {BBC} Worldwide Case Study}, year={2011}, volume={PP}, number={99}, pages={1-13}, keywords={kanban}, doi={10.1109/TEM.2010.2081675}, ISSN={0018-9391}, url = {http://leanandkanban.files.wordpress.com/2011/04/lean-software-management-bbc-worldwide-case-study-feb-2011.pdf} } @mastersthesis{Miha03a, Author = {Petru Mihancea}, School = {University of Timisoara}, Title = {Optimizarea detectiei automate a carentelor de proiectare in sistemele software orientate pe obiecte}, Type = {Diploma thesis}, Year = {2003} } @inproceedings{Miha05a, Author = {Petru Mihancea and Radu Marinescu}, Booktitle = {Proceedings of European Conference on Software Maintenance (CSMR 2005)}, Pages = {92--101}, Title = {Towards the Optimization of Automatic Detection of Design Flaws in Object-Oriented Software Systems}, Year = {2005} } @inproceedings{Miha06a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Petru Florin Mihancea}, Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2006)}, Doi = {10.1109/ICPC.2006.48}, Keywords = {norex06}, Pages = {285--294}, Publisher = {IEEE Computer Society Press}, Title = {Towards a Client Driven Characterization of Class Hierarchies}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.48} } @inproceedings{Mikh98a, Author = {Leonid Mikhajlov and Emil Sekerinski}, Booktitle = {Proceedings of ECOOP'98 (European Conference on Object-Oriented Programming)}, Number = {1445}, Pages = {355--383}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A {Study} of the {Fragile} {Base} {Class} {Problem}}, Year = {1998} } @inproceedings{Mila02a, Address = {New York, NY, USA}, Author = {Ana Milanova and Atanas Rountev and Barbara G. Ryder}, Booktitle = {ISSTA '02: Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis}, Doi = {10.1145/566172.566174}, Isbn = {1-58113-562-9}, Location = {Roma, Italy}, Pages = {1--11}, Publisher = {ACM Press}, Title = {Parameterized object sensitivity for points-to and side-effect analyses for {Java}}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/566172.566174} } @book{Mili02a, Author = {Hafedh Mili and Ali Mili and Sherif Yacoub and Edward Andy}, Keywords = {scglib new}, Publisher = {John Wiley and Sons}, Title = {Reuse-Based Software Engineering}, Year = {2002} } @article{Mili02b, Author = {Hafedh Mili and Hamid Mcheick and Salah Sadou}, Journal = {Journal of Object Technology}, Month = aug, Number = {3}, Pages = {207--229}, Title = {CorbaViews -- Distributing Objects that Support Several Functional Aspects}, Url = {http://www.jot.fm/issues/issue_2002_08/article12}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2002_08/article12} } @article{Mill56a, Author = {Joan C. Miller and Clifford J. Maloney}, Bibsource = {http://www.interaction-design.org/references}, Journal = {Psychological Review}, Pages = {81--97}, Title = {The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information}, Volume = {63}, Year = {1956} } @article{Mill63a, Author = {Joan C. Miller and Clifford J. Maloney}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1145/366246.366248}, Journal = {Commun. ACM}, Number = {2}, Pages = {58--63}, Title = {Systematic mistake analysis of digital computer programs.}, Volume = {6}, Year = {1963} } @techreport{Mill77a, Address = {N.Y.}, Author = {R. Miller and C.K. Yap}, Institution = {Yorktown Heights}, Keywords = {concurrency other}, Number = {#28917}, Title = {Formal Specification and Analysis of Loosely Connected Processes}, Type = {IBM Research Report}, Year = {1977} } @inproceedings{Mill86a, Author = {Michael S. Miller and Howard Cunningham and Chan Lee and Steven R. Vegdahl}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl aais smalltalk oopsla86}, Month = nov, Pages = {294--302}, Title = {The Application Accelerator Illustration System}, Volume = {21}, Year = {1986} } @article{Mill91a, Address = {Hingham, MA, USA}, Author = {James S. Miller and Guillermo J. Rozas}, Doi = {10.1007/BF01813016}, Issn = {0892-4635}, Journal = {Lisp Symb. Comput.}, Keywords = {cop-lit}, Number = {2}, Pages = {107--141}, Publisher = {Kluwer Academic Publishers}, Title = {Free variables and first-class environments}, Volume = {4}, Year = {1991}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF01813016} } @inproceedings{Mill99a, 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.}, Address = {Lisbon, Portugal}, Author = {Todd Millstein and Craig Chambers}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {279--303}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modular Statically Typed Multimethods}, Volume = 1628, Year = {1999} } @inproceedings{Mill01a, Author = {Mark Samuel Miller and Chip Morningstar and Bill Frantz}, Booktitle = {FC '00: Proceedings of the 4th International Conference on Financial Cryptography}, Isbn = {3-540-42700-7}, Journal = {Lecture Notes in Computer Science}, Pages = {349--378}, Publisher = {Springer-Verlag}, Title = {Capability-based Financial Instruments}, Volume = {1962}, Year = {2001} } @inproceedings{Mill01b, Address = {Berkeley, CA, USA}, Author = {Miller, Robert C. and Myers, Brad A.}, Booktitle = {Proceedings of the General Track: 2002 USENIX Annual Technical Conference}, Citeulike-Article-Id= {6710465}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=715910}, Isbn = {1-880446-09-X}, Keywords = {clones, snf}, Pages = {161--174}, Posted-At = {2010-02-22 09:04:55}, Priority = {2}, Publisher = {USENIX Association}, Title = {Interactive Simultaneous Editing of Multiple Text Regions}, Url = {http://portal.acm.org/citation.cfm?id=715910}, Year = {2001}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=715910} } @inproceedings{Mill03a, Author = {Todd Millstein and Mark Reay and Craig Chambers}, Booktitle = {Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications}, Doi = {10.1145/949305.949325}, Isbn = {1-58113-712-5}, Keywords = {oopsla multijava}, Location = {Anaheim, California, USA}, Pages = {224--240}, Publisher = {ACM Press}, Title = {Relaxed MultiJava: balancing extensibility and modular typechecking}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949305.949325} } @inproceedings{Mill03b, Author = {Mark S. Miller and Jonathan S. Shapiro}, Booktitle = {Proceedings of the Eigth Asian Computing Science Conference}, Pages = {224--242}, Title = {Paradigm Regained: Abstraction Mechanisms for Access Control}, Year = {2003} } @phdthesis{Mill06a, Address = {Baltimore, Maryland, USA}, Author = {Mark Samuel Miller}, Month = may, School = {Johns Hopkins University}, Title = {Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control}, Year = {2006} } @incollection{Miln75a, Address = {Amsterdam}, Author = {Robin Milner}, Booktitle = {Logic Colloquium, Bristol 1973}, Pages = {157--174}, Publisher = {North Holland}, Title = {Processes, a mathematical model of computing agents}, Year = {1975} } @article{Miln78a, Author = {Robin Milner}, Journal = {Journal of Computer and System Sciences}, Keywords = {types fp polymorphism binder}, Pages = {348--375}, Title = {A Theory of Type Polymorphism in Programming}, Volume = {17}, Year = {1978} } @article{Miln79a, Author = {G. Milne and Robin Milner}, Journal = {Journal of the ACM}, Keywords = {pcalc semantics domains}, Month = apr, Number = {2}, Pages = {302--321}, Title = {Concurrent Processes and Their Syntax}, Volume = {26}, Year = {1979} } @book{Miln80a, Author = {Robin Milner}, Keywords = {pcalc equivalence ccs}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Calculus of Communicating Systems}, Volume = {92}, Year = {1980} } @inproceedings{Miln81a, Address = {Genoa}, Author = {Robin Milner}, Booktitle = {Proceedings CAAP '81}, Editor = {E. Astesiano and C. B{\"o}hm}, Keywords = {pcalc equivalence ccs caap81 binder(ccs)}, Month = mar, Pages = {25--34}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Modal Characterization of Observable Machine-Behaviour}, Volume = {112}, Year = {1981} } @article{Miln83a, Author = {Robin Milner}, Journal = {Theoretical Computer Science}, Keywords = {pcalc equivalence ccs binder(ccs)}, Pages = {267--310}, Publisher = {North-Holland}, Title = {Calculi for Synchrony and Asynchrony}, Volume = {25}, Year = {1983} } @article{Miln84a, Author = {Robin Milner}, Journal = {Journal of Computer and System Sciences}, Keywords = {pcalc regular processes binder}, Pages = {439--466}, Publisher = {Academic Press}, Title = {A Complete Inference System for a Class of Regular Behaviours}, Volume = {28}, Year = {1984} } @book{Miln89a, Author = {Robin Milner}, Isbn = {0-13-115007-3}, Keywords = {pcalc equivalence ccs book scglib}, Publisher = {Prentice-Hall}, Title = {Communication and Concurrency}, Year = {1989} } @techreport{Miln89b, Author = {Robin Milner and Joachim Parrow and David Walker}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc mobility ccs binder (shelf)}, Month = mar, Number = {-86}, Title = {A Calculus of Mobile Processes, Parts {I} and {II}}, Type = {Reports ECS-LFCS-89-85 and}, Year = {1989} } @book{Miln89c, Author = {Robin Milner}, Keywords = {pcalc mobility ccs binder(ccs)}, Month = jun, Note = {Working paper}, Publisher = {University of Edinburgh}, Title = {Functions as Processes}, Year = {1989} } @book{Miln90a, Address = {Cambridge}, Author = {Robin Milner and M. Tofte and R. Harper}, Isbn = {0-262-63132-6}, Keywords = {fpl ml semantics book scglib}, Publisher = {MIT Press}, Title = {The definition of standard {ML}.}, Year = {1990} } @techreport{Miln90b, Author = {Robin Milner}, Institution = {INRIA Sofia-Antipolis}, Keywords = {pcalc mobility (uwe)}, Number = {1154}, Title = {Functions as Processes}, Type = {Rapport de Recherche}, Year = {1990} } @inproceedings{Miln90c, Address = {Warwick U.}, Author = {Robin Milner}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {pcalc mobility ccs icalp90 binder(ccs)}, Month = jul, Pages = {167--180}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Functions as Processes}, Volume = {443}, Year = {1990} } @techreport{Miln90d, Author = {Robin Milner}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc mobility ccs icalp90 binder(ccs)}, Month = dec, Number = {(RM15)}, Title = {Sorts and Types in the $pi$ Calculus}, Type = {manuscript}, Year = {1990} } @book{Miln91a, Address = {Cambridge}, Author = {Robin Milner and M. Tofte}, Isbn = {0-262-63137-7}, Keywords = {fpl ml semantics book scglib}, Publisher = {MIT Press}, Title = {Commentary on standard {ML}.}, Year = {1991} } @misc{Miln91b, Author = {Robin Milner}, Keywords = {pcalc mobility (uwe)}, Note = {Workshop at Goslar}, Title = {Concurrency and Compositionality}, Year = {1991} } @techreport{Miln91c, Author = {Robin Milner}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc mobility binder}, Month = oct, Title = {The Polyadic $\pi$ Calculus: a tutorial}, Type = {{ECS-LFCS-91-180}}, Url = {ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z}, Year = {1991}, Bdsk-Url-1 = {ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z} } @inproceedings{Miln91d, Address = {Amsterdam}, Author = {Robin Milner and Joachim Parrow and David Walker}, Booktitle = {Proceedings of CONCUR '91}, Editor = {J.C.M. Baeten and J.F. Groote}, Keywords = {pcalc mobility equivalence concur91 binder}, Month = aug, Pages = {45--60}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modal Logics for Mobile Processes}, Volume = {527}, Year = {1991} } @techreport{Miln92a, Author = {Robin Milner}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc}, Month = dec, Title = {Action Structures}, Type = {ECS-LFCS-92-249}, 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}, Bdsk-Url-1 = {ftp://ftp.doc.ic.ac.uk/ic.doc/theory/CONFER/papers/Milner/as.ps.gz%20ftp://ftp.cl.cam.ac.uk/users/rm135/as.ps.Z} } @article{Miln92b, Author = {Robin Milner and Joachim Parrow and David Walker}, Journal = {Information and Computation}, Keywords = {pcalc mobility (uwe)}, Pages = {1--77}, Title = {A Calculus of Mobile Processes, Part {I}/{II}}, Volume = {100}, Year = {1992} } @article{Miln92c, Author = {Robin Milner}, Journal = {Mathematical Structures in Computer Science}, Keywords = {pcalc mobility (uwe)}, Number = {2}, Pages = {119--141}, Title = {Functions as Processes}, Volume = {2}, Year = {1992} } @inproceedings{Miln92d, Address = {Vienna}, Author = {Robin Milner and Davide Sangiorgi}, Booktitle = {Proceedings ICALP '92}, Keywords = {pcalc mobility equivalence ccs icalp92 binder pisem}, Month = jul, Pages = {685--695}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Barbed Bisimulation}, Url = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html}, Volume = 623, Year = {1992}, Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html} } @inproceedings{Miln93a, Author = {Robin Milner}, Booktitle = {Proc. FCT '93}, Keywords = {pcalc}, Pages = {87--105}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Action Structures for the Synchronous $pi$-calculus}, Url = {ftp://ftp.cl.cam.ac.uk/users/rm135/spas.ps.Z}, Volume = {710}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.cl.cam.ac.uk/users/rm135/spas.ps.Z} } @inproceedings{Miln93b, Address = {Marktoberdorf}, Author = {Robin Milner}, Booktitle = {Proceedings of the NATO Summer School on Logic and Computation}, Keywords = {pcalc}, Month = nov, Publisher = {Computer Science Dept., University of Edinburgh}, Title = {Action Calculi and the $pi$-calculus}, Url = {ftp://ftp.cl.cam.ac.uk/users/rm135/ap.ps.Z}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.cl.cam.ac.uk/users/rm135/ap.ps.Z} } @book{Miln94b, Address = {Proceedings ESOP '94}, Author = {Robin Milner}, Keywords = {pcalc binder}, Pages = {26--42}, Publisher = {Springer-Verlag}, Title = {Pi-nets: a graphical form of Pi-calculus}, Volume = {LNCS 788}, Year = {1994} } @book{Miln99a, Author = {Robin Milner}, Keywords = {pcalc scglib}, Publisher = {Cambridge University Press}, Title = {Communicating and Mobile Systems: The $\pi$-calculus}, Year = {1999} } @proceedings{Milo971a, Editor = {Zoran Milosevic}, Isbn = {0-8186-8031-8}, Keywords = {olit scglib edoc97 new-entry}, Publisher = {IEEE}, Title = {EDOC '97 Proceedings}, Year = {1997} } @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}, Booktitle = {Proceedings of Mobile Agents '98}, Keywords = {olit agents}, Title = {{MASIF}, The {OMG} Mobile Agent System Interoperability Facility}, Year = {1998} } @mastersthesis{Minj04a, 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.}, Author = {Florian Minjat}, Keywords = {scg-msc traits classboxes jb05 snf04}, Month = sep, School = {Ecole des mines de Nantes}, Title = {Vers une mod\'elisation transverse et modulaire des collaborations par couplage des traits et des classboxes}, Type = {{DEA}}, Url = {http://scg.unibe.ch/archive/masters/Minj04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Minj04a.pdf} } @inproceedings{Minj05a, 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.}, Address = {Bern, Switzerland}, Aeres = {ACL}, Annote = {nationalconference}, Author = {Florian Minjat and Alexandre Bergel and Pierre Cointe and St\'ephane Ducasse}, Booktitle = {Actes de Langages et Mod\`eles \`a Objets (LMO'05)}, Inria = {hors}, Keywords = {traits classbox scg-pub skip-doi scg stefPub jb05 alexPub alexandrePub noWorkshop snf05}, Pages = {33--46}, Selectif = {non}, Title = {Mise en symbiose des traits et des classboxes: Application \`a l'expression des collaborations}, Url = {http://scg.unibe.ch/archive/papers/Minj05a-TraitClassbox.pdf}, Volume = {11}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Minj05a-TraitClassbox.pdf} } @inproceedings{Mino93a, Author = {Toshimi Minoura and Shirish S. Pargaonkar and Kurt Rehfuss}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {338--355}, Title = {Structural Active Object Systems for Simulation}, Volume = {28}, Year = {1993} } @book{Mins67a, Author = {M. Minsky}, Keywords = {misc computability}, Publisher = {Prentice-Hall}, Title = {Computation: Finite and Infinite Machines}, Year = {1967} } @techreport{Mins74a, Author = {Marvin Minsky}, 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}, Title = {A Framework for Representing Knowledge}, Year = {1974} } @inproceedings{Mins87a, Author = {Naftaly H. Minsky and David Rozenshtein}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-oopl darwin oopsla87}, Month = dec, Pages = {482--493}, Title = {A Law-Based Approach to Object-Oriented Programming}, Volume = {22}, Year = {1987} } @inproceedings{Mins89a, Author = {Naftaly H. Minsky and David Rozenshtein}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {371--380}, Title = {Controllable Delegation: An Exercise in Law-Governed Systems}, Volume = {24}, Year = {1989} } @article{Mins91a, Author = {Naftaly Minsky}, Journal = {IEEE Transactions on Software Engineering}, Month = feb, Number = {2}, Pages = {183--195}, Title = {The Imposition of Protocols Over Open Distributed Systems}, Volume = {17}, Year = {1991} } @incollection{Mins95a, 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.}, Author = {Naftaly Minsky and Jerrold Leichter}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-08}, Pages = {125--146}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Law-Governed Linda as a Coordination Model}, Url = {http://www.cs.rutgers.edu/~minsky/public-papers/linda-paper.ps}, Volume = 924, Year = {1995}, Bdsk-Url-1 = {http://www.cs.rutgers.edu/~minsky/public-papers/linda-paper.ps} } @book{Mins95b, Author = {Naftaly Minsky}, Keywords = {olit}, Month = mar, Publisher = {Rutgers University, NJ}, Title = {Law-Governed Regularities in Object Systems; Part 1: An Abstract Model}, Url = {http://www.cs.rutgers.edu/~minsky/public-papers/LGA-paper.ps}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.rutgers.edu/~minsky/public-papers/LGA-paper.ps} } @techreport{Mins95c, Author = {Naftaly Minsky}, Institution = {Rutgers University, NJ}, Keywords = {olit}, Month = mar, Title = {Coordination and Trust in Open Distributed Systems}, Type = {Technical Report}, Url = {http://www.cs.rutgers.edu/~minsky/public-papers/trust-paper.ps}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.rutgers.edu/~minsky/public-papers/trust-paper.ps} } @inproceedings{Mins96a, Address = {Linz, Austria}, Author = {Naftaly Minsky}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {189--209}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards Alias-Free Pointers}, Volume = {1098}, Year = {1996} } @inproceedings{Mins97a, Address = {Berlin, Germany}, Author = {Naftaly Minsky and Victoria Ungureanu}, Booktitle = {Proceedings COORDINATION '97}, Editor = {David Garlan and Daniel Le M{\`e}tayer}, Keywords = {olit coordination97}, Month = sep, Pages = {81--97}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Regulated Coordination in Open Distributed Systems}, Volume = 1282, Year = {1997} } @inproceedings{Mins00a, Author = {Naftaly H. Minsky and Yaron M. Minksy and Victoria Ungureanu}, Booktitle = {Proceedings of SAC '2000}, Pages = {218--226}, Title = {Making Tuple Space Safe for Heterogeneous Distributed Systems}, Year = {2000} } @inproceedings{Mint07a, Address = {Washington, DC, USA}, Author = {Minto, Shawn and Murphy, Gail C.}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.27}, Isbn = {0-7695-2950-X}, Pages = {5}, Publisher = {IEEE Computer Society}, Title = {Recommending Emergent Teams}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.27} } @techreport{Miod04a, Author = {Paul Miodonski and Thomas Forster and Jens Knodel and Mikael Lindvall and Dirk Muthig}, Institution = {Fraunhofer IESE}, Month = {nov}, Title = {Evaluation of Software Architectures with Eclipse}, Year = {2004} } @inproceedings{Mira87a, Author = {Eliot Miranda}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {354--365}, Title = {BrouHaHa --- {A} Portable {Smalltalk} Interpreter}, Volume = {22}, Year = {1987} } @unpublished{Mira02, Author = {Eliot Miranda}, Note = {unpublished}, Title = {A {Sketch} for an {Adaptive} {Optimizer} for {Smalltalk} written in {Smalltalk}}, Year = {2002} } @article{Mira05a, 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}, Author = {Eliot Miranda and David Leibs and Roel Wuyts}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {roelPub}, Misc = {SCI impact factor 0.467}, Month = may, Number = {3-4}, Pages = {165--182}, Publisher = {Elsevier}, Title = {Parcels: a Fast and Feature-Rich Binary Deployment Technology}, Url = {http://scg.unibe.ch/archive/papers/Mira05aParcels.pdf}, Volume = {31}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mira05aParcels.pdf} } @misc{Mira08a, Author = {Eliot Miranda}, Title = {Cog Blog. Speeding Up Croquet and Squeak with a new open-source VM from Qwaq}, Url = {http://www.mirandabanda.org/cogblog/}, Year = {2008}, Bdsk-Url-1 = {http://www.mirandabanda.org/cogblog/} } @inproceedings{Mish04a, Author = {Gilad Mishne and Maarten de Rijke}, Booktitle = {Proceedings RIAO 2004}, Keywords = {information retrieval}, Pages = {539--554}, Title = {Source Code Retrieval using Conceptual Similarity}, Url = {http://remote.science.uva.nl/~mdr/Publications/}, Year = {2004}, Bdsk-Url-1 = {http://remote.science.uva.nl/~mdr/Publications/} } @inproceedings{Misi98a, Author = {Vojislav B. Mi\v{s}i\'{c} and Simon Moser}, Booktitle = {Proc. Technology of Object-Oriented Languages and Systems ({T}{O}{O}{L}{S}-24)}, Publisher = {IEEE Computer Society Press}, Title = {From Formal Metamodels to Metrics: An Object-Oriented Approach}, Year = {1998} } @inproceedings{Misi01a, Author = {Vojislav B. Mi\v{s}i\'{c}}, Booktitle = {Proceedings of the Seventh International Software Metrics Symposium ({METRICS}-01)}, Publisher = {IEEE}, Title = {Cohesion is Structural, Coherence is Functional: Different Views, Different Measures}, Year = {2001} } @article{Misr88a, Author = {S.K. Misra and P.J. Jalic}, Journal = {IEEE Software}, Keywords = {olit 4gl}, Month = jul, Number = {4}, Pages = {8--14}, Title = {Third-Generation versus Fourth-Generation Software Development}, Volume = {5}, Year = {1988} } @inproceedings{Miss89a, Author = {Michele Missikoff and Michel Scholl}, Booktitle = {Proceedings of FODO '89 (3rd International Conference on Foundations of Data Organization and Algorithms}, Keywords = {fca}, Location = {Paris, France}, Month = jun, Pages = {64--82}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {An Algorithm for Insertion into a Lattice: Application to Type Classification}, Volume = {367}, Year = {1989} } @techreport{Mitc79a, Author = {J.G. Mitchell and W. Maybury and R. Sweet}, Institution = {Xerox Palo Alto Research Centre}, Keywords = {olit-oopl mesa monitors}, Month = apr, Title = {Mesa Language Manual, version 5.0}, Type = {CSL-79-3}, Year = {1979} } @inproceedings{Mitc85a, Address = {New Orleans}, Author = {John C. Mitchell and Gordon D. Plotkin}, Booktitle = {Proceedings POPL '85}, Keywords = {types fpl sol popl85}, Misc = {Jan. 14-16}, Month = jan, Pages = {37--51}, Title = {Abstract Types Have Existential Type}, Year = {1985} } @article{Mitc88a, Author = {John C. Mitchell and Gordon D. Plotkin}, Journal = {ACM TOPLAS}, Keywords = {types fpl sol binder}, Month = jul, Number = {3}, Pages = {470--502}, Title = {Abstract Types Have Existential Type}, Volume = {10}, Year = {1988} } @incollection{Mitc90a, Author = {John C. Mitchell}, Booktitle = {Handbook of Theoretical Computer Science}, Editor = {J. van Leeuwen}, Keywords = {types binder}, Pages = {367--458}, Publisher = {Elsevier}, Title = {Type Systems for Programming Languages}, Year = {1990} } @techreport{Mitc94a, Author = {Kevin Mitchell}, Institution = {University of Edinburgh}, Month = dec, Title = {{Concurrency in a Natural Semantics}}, Type = {{ECS-LFCS-94-311}}, Year = {1994} } @book{Mitc96a, Author = {John C. Mitchell}, Isbn = {0-262-13321-0}, Keywords = {scglib new-entry}, Publisher = {MIT Press}, Title = {Foundations of Programming Languages}, Year = {1996} } @inproceedings{Mitc01a, Author = {Brian S. Mitchell and Spiros Mancoridis}, Booktitle = {Proceedings of ICSM '01 (International Conference on Software Maintenance)}, Keywords = {clustering}, Location = {Florence, Italy}, Month = nov, Publisher = {IEEE Computer Society Press}, Title = {Comparing the {Decompositions} {Produced} by {Software} {Clustering} {Algorithms} using {Similarity} {Measurements}}, Year = {2001} } @inproceedings{Mitc02a, Author = {Brian S. Mitchell and Spiros Mancoridis and Martin Traverso}, Booktitle = {Proceedings of the 14th international conference on Software engineering and knowledge engineering}, Doi = {10.1145/568760.568835}, Isbn = {1-58113-556-4}, Keywords = {design-recovery}, Location = {Ischia, Italy}, Pages = {431--438}, Publisher = {ACM Press}, Title = {Search based reverse engineering}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/568760.568835} } @book{Mitc03a, Author = {John C. Mitchell}, Isbn = {0-521-78098-5}, Keywords = {scglib}, Publisher = {Cambridge University Press}, Title = {Concepts in Programming Languages}, Year = {2003} } @inproceedings{Mitc04a, Address = {Seattle, Washington}, Author = {Brian S. Mitchell and Spiros Mancoridis and Martin Traverso}, Booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference}, Keywords = {design-recovery}, Title = {Using Interconnection Style Rules to Infer Software Architecture Relations}, Year = {2004} } @article{Mitc06a, Author = {Brian S. Mitchell and Spiros Mancoridis}, Journal = {IEEE Transactions on Software Engineering}, Number = {3}, Pages = {193--208}, Title = {On the Automatic Modularization of Software Systems Using the Bunch Tool}, Volume = {32}, Year = {2006} } @inproceedings{Mitc06b, Author = {Nick Mitchell}, Booktitle = {Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP'06)}, Isbn = {3-540-35726-2}, Pages = {74--98}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {The Runtime Structure of Object Ownership}, Volume = {4067}, Year = {2006} } @inproceedings{Mitc06c, Author = {Nick Mitchell and Gary Sevitsky and Harini Srinivasan}, Booktitle = {ECOOP}, Doi = {10.1007/11785477_25}, Pages = {429--451}, Title = {Modeling Runtime Behavior in Framework-Based Applications}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11785477_25} } @inproceedings{Mitc09a, author = {Mitchell, Nick and Schonberg, Edith and Sevitsky, Gary}, title = {Making Sense of Large Heaps}, booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming}, series = {Genoa}, year = {2009}, isbn = {978-3-642-03012-3}, location = {Italy}, pages = {77--97}, numpages = {21}, url = {http://dx.doi.org/10.1007/978-3-642-03013-0_5}, doi = {10.1007/978-3-642-03013-0_5}, acmid = {1615192}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @incollection{Mits93a, 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.}, Author = {Kin\'ichi Mitsui and Hiroaki Nakamura and Theodore C. Law and Shahram Javey}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {95--109}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Design of an Integrated and Extensible {C}++ Programming Environment,}, Volume = {742}, Year = {1993} } @inproceedings{Mitt86a, Author = {Sanja Mittal and Daniel G. Bobrow and Kenneth M. Kahn}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl loops oopsla86}, Month = nov, Pages = {159--166}, Title = {Virtual Copies --- At the Boundary Between Classes and Instances}, Volume = {21}, Year = {1986} } @book{Mitt04a, Author = {Frank Mittelbach and Michael Goossens}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The Latex Companion Second Edition}, Year = {2004} } @article{Moad90a, Author = {J. Moad and S. Kerr}, Coden = {DTMNAT}, Issn = {0011-6963}, Journal = {j-DATAMATION}, Month = jan, Number = {1}, Pages = {20--24}, Pubcountry = {USA}, Title = {How customers help the new {IBM}}, Volume = {36}, Year = {1990} } @techreport{Mock99a, Author = {Audris Mockus and Stephen Eick and Todd Graves and Alan Karr}, Institution = {National Institute of Statistical Sciences}, Keywords = {evolution measurements}, Title = {On Measurements and Analysis of Software Changes}, Type = {Technical Report}, Year = {1999} } @inproceedings{Mock00a, Author = {Audris Mockus and Lawrence Votta}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM 2000)}, Keywords = {evolution}, Location = {Los Alamitos CA}, Mon = oct, Pages = {120--130}, Publisher = {IEEE Computer Society Press}, Title = {Identifying reasons for software change using historic databases}, Year = {2000} } @article{Mock00b, Author = {Audris Mockus and David Weiss}, Journal = {Bell Labs Technical Journal}, Keywords = {evolution}, Month = apr, Number = {2}, Title = {Predicting risk of software changes}, Volume = {5}, Year = {2000} } @article{Mock02a, Address = {New York, NY, USA}, Author = {Audris Mockus and Roy T Fielding and James D Herbsleb}, Issn = {1049-331X}, Journal = {ACM Trans. Softw. Eng. Methodol.}, Number = {3}, Pages = {309--346}, Publisher = {ACM Press}, Title = {Two case studies of open source software development: Apache and Mozilla}, Volume = {11}, Year = {2002} } @inproceedings{Mock02b, Address = {New York, NY, USA}, Author = {Mockus, Audris and Herbsleb, James D.}, Booktitle = {ICSE '02: Proceedings of the 24th International Conference on Software Engineering}, Doi = {10.1145/581339.581401}, Isbn = {1-58113-472-X}, Location = {Orlando, Florida}, Pages = {503--512}, Publisher = {ACM}, Title = {Expertise browser: a quantitative approach to identifying expertise}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581401} } @inproceedings{Mock03a, Address = {Portland, Oregon}, Author = {Mockus, Audris and Weiss, David M. and Zhang, Ping}, Booktitle = {International Conference on Software Engineering (ICSE 2003)}, Keywords = {evolution}, Month = may, Pages = {274--284}, Publisher = {ACM Press}, Title = {Understanding and Predicting Effort in Software Projects}, Year = {2003} } @inproceedings{Mock09a, author = {Mockus, Audris and Nagappan, Nachiappan and Dinh-Trong, Trung T.}, title = {Test coverage and post-verification defects: A multiple case study}, booktitle = {Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement}, series = {ESEM '09}, year = {2009}, isbn = {978-1-4244-4842-5}, pages = {291--301}, numpages = {11}, url = {http://dx.doi.org/10.1109/ESEM.2009.5315981}, doi = {10.1109/ESEM.2009.5315981}, acmid = {1671276}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @inproceedings{Moer92a, Author = {Guido Moerkotte and Andreas Zachmann}, Booktitle = {Proceedings EDBT '92}, Keywords = {olit-db binder}, Title = {Multiple Substitutability Without Affecting the Taxonomy}, Year = {1992} } @article{Moer93a, Author = {Guido Moerkotte and Andreas Zachmann}, Journal = {IEEE Data Engineering}, Keywords = {olit-db binder}, Note = {To appear}, Title = {Towards More Flexible Schema Management in Object Bases}, Year = {1993} } @incollection{Mogg89a, Address = {Washington, DC}, Author = {Eugenio Moggi}, Booktitle = {Proceedings 4th Annual IEEE Symp.\ on Logic in Computer Science, LICS '89}, Month = jun, Pages = {14--23}, Publisher = {IEEE Computer Society Press}, Title = {Computational Lambda-Calculus and Monads}, Year = {1989} } @inproceedings{Moha06a, Author = {Naouel Moha and Duc-loc Huynh and Yann-Gael Gueheneuc}, Booktitle = {Langages et Mod\`eles \`a Objets}, Pages = {201--216}, Title = {Une taxonomie et un m\'etamod\`ele pour la d\'etection des d\'efauts de conception}, Year = {2006} } @incollection{Mohn02a, Address = {Dublin, Ireland}, Author = {Markus Mohnen}, Booktitle = {Conference on the Principles and Practice of Programming in {Java}}, Month = {jun}, Pages = {35--40}, Publisher = {ACM Press}, Title = {Interfaces with default implementations in {Java}}, Year = {2002} } @inproceedings{Mohn02b, author = {Mohnen, Markus}, title = {A Graph-Free Approach to Data-Flow Analysis}, booktitle = {Proceedings of the 11th International Conference on Compiler Construction}, series = {CC '02}, year = {2002}, isbn = {3-540-43369-4}, pages = {46--61}, numpages = {16}, url = {http://portal.acm.org/citation.cfm?id=647478.727795}, acmid = {727795}, publisher = {Springer-Verlag}, address = {London, UK} } @incollection{Moin91a, Author = {Th. Moineau}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {{ROSE}-{ADA}: An Instance of the {ESF}-{ROSE} System to Reuse Ada code.}, Year = {1991} } @incollection{Moll91a, Author = {Birger Moller-Pedersen}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Object Orientation and Reuse: The Scandinavian Way}, Year = {1991} } @book{Moll93a, Author = {K.H. Moller and D.J. Paulish}, Isbn = {0-7803-0444-6}, Keywords = {book scglib}, Publisher = {IEEE Press + Champman \& Hall}, Title = {Software Metrics}, Year = {1993} } @inproceedings{Mond02a, Address = {Ottawa, Canada}, Author = {Akito Monden and Daikai Nakae and Toshihiro Kamiya and Shin-ichi Sato and Ken-ichi. Matsumoto}, Booktitle = {Proc. of the 8th IEEE Symposium on Software Metrics (METRICS2002)}, Keywords = {clones dotplot}, Month = jun, Pages = {87--94}, Title = {Software quality analysis by code clones in industrial legacy software}, Year = {2002} } @book{Mong93a, 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.}, Author = {Josep Mongui\'o}, Keywords = {olit-ithaca ithaca-final}, Publisher = {TAO S.A.}, Title = {{COP} overview}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/cop.pdf}, Year = {1993}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ITHACA/cop.pdf} } @inproceedings{Monk92a, Address = {Aberdeen}, Author = {Simon R. Monk and Ian Sommerville}, Booktitle = {10th British National Conference on Databases}, Editor = {P.M.D. Gray and R.J. Lucas}, Keywords = {olit-oodb versions schema evolution (smc)}, Pages = {42--58}, Publisher = {Springer-Verlag}, Title = {A Model for Versioning of Classes in Object-oriented Databases}, Year = {1992} } @book{Monn93a, Author = {Frieder Monninger}, Isbn = {3-88229-028-5}, Keywords = {eiffel olit-oopl oobib(oopl) book}, Publisher = {HEISE}, Title = {Eiffel: Objektorientiertes Programmieren in der Praxis}, Year = {1993} } @article{Monr97a, Author = {Robert T. Monroe and Andrew Kompanek and Ralph Melton and David Garlan}, Journal = {IEEE Software}, Keywords = {architecture sa patterns styles olit}, Month = jan, Pages = {43--52}, Title = {Architectural Styles, Design Patterns, and Objects}, Url = {http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/ObjPatternsArch-ieee.html}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/ObjPatternsArch-ieee.html} } @book{Mons99a, Author = {Richard Monson-Haefel}, Keywords = {olit scglib}, Publisher = {O'Reilly}, Title = {Enterprise {Java}Beans}, Year = {1999} } @book{Mons00a, Author = {Richard Monson-Haefel}, Edition = {2nd}, Keywords = {olit scglib java}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Enterprise {Java}Beans}, Year = {2000} } @inproceedings{Mont94a, Author = {D. Montesi and R. Torlone}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {171--188}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Rewriting Technique for Implementing Active Object Systems}, Volume = {858}, Year = {1994} } @book{Mont96a, Address = {Pisa-Italy}, Editor = {Ugo Montarini and Vladimiro Sassone}, Isbn = {3-540-616047}, Keywords = {olit concur96 scglib}, Month = aug, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CONCUR}'96}, Volume = {1119}, Year = {1996} } @inproceedings{Mont98a, Author = {Montes de Oca, C and D.L. Carver}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {231--240}, Publisher = {IEEE Computer Society}, Title = {A Visual Representation Model for Software Subsystem Decomposition}, Year = {1998} } @book{Mont99a, Author = {Terry Montlick}, Isbn = {0-521-64552-2}, Keywords = {olit smalltalk scglib new-entry}, Publisher = {Sigs}, Title = {The Distributed {Smalltalk} Survival Guide}, Year = {1999} } @misc{Monticello, Author = {Avi Bryant and Colin Putney}, Key = {Monticello}, Note = {http://www.wiresong.ca/Monticello}, Title = {Monticello}, Url = {http://www.wiresong.ca/Monticello}, Bdsk-Url-1 = {http://www.wiresong.ca/Monticello} } @article{Mood09a, author = {Daniel L. Moody}, title = {The "Physics" of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering}, journal ={IEEE Transactions on Software Engineering}, volume = {35}, issn = {0098-5589}, year = {2009}, pages = {756-779}, doi = {10.1109/TSE.2009.67}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @conference{Mooe65a, Title={{TRAC}, a text handling language}, Author={Calvin Mooers and Peter Deutsch}, Booktitle={Proceedings of the 1965 20th national conference}, Year = {1965}, Pages = {229--246}, Location = {Cleveland, Ohio, United States}, Doi = {10.1145/800197.806048}, Publisher = {ACM}, Address = {New York, NY, USA} } @book{Moon83a, Author = {David Moon and Richard M. Stallman and Daniel Weinreb}, Month = jan, Publisher = {MIT AI Lab}, Title = {Lisp Machine Manual (fifth edition)}, Year = {1983} } @mastersthesis{Moon84a, Author = {John Mooney}, Keywords = {olit-oopl oz ois}, School = {Department of Computer Science, University of Toronto}, Title = {Oz: An Object-based System for Implementing Office Information Systems}, Type = {M.Sc. thesis}, Year = {1984} } @inproceedings{Moon86a, Author = {David A. Moon}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl flavors lisp oopsla86 oobib(oopl)}, Month = nov, Pages = {1--8}, Title = {Object-Oriented Programming with {Flavors}}, Volume = {21}, Year = {1986} } @incollection{Moon89a, Address = {Reading, Mass.}, Author = {David A. Moon}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit tfc oocda89}, Pages = {49--78}, Publisher = {ACM Press and Addison Wesley}, Title = {The Common Lisp Object-Oriented Programming Language Standard}, Year = {1989} } @phdthesis{Moon90a, 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.}, Author = {Carol Elizabeth Moon}, School = {University of Michigan}, Title = {The Roles of Instructions and Examples in learning a Second Language from an Instructional Text: A Computational Model}, Type = {{Ph.D}. Thesis}, Year = {1990} } @inproceedings{Moon01a, Author = {Leon Moonen}, Booktitle = {Proceedings Eight Working Conference on Reverse Engineering (WCRE 2001)}, Editor = {Elizabeth Burd and Peter Aiken and Rainer Koschke}, Keywords = {parsing}, Month = oct, Pages = {13--22}, Publisher = {IEEE Computer Society}, Title = {Generating Robust Parsers using Island Grammars}, Url = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=957806}, Year = {2001}, Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=957806} } @inproceedings{Moon03a, Author = {Leon Moonen}, Booktitle = {Proceedings International Conference on Software Maintenance (ICSM 2003)}, Pages = {276--280}, Publisher = {IEEE Computer Society}, Title = {Exploring software systems}, Year = {2003} } @inproceedings{Moor96a, Author = {Ivan Moore}, Booktitle = {Proceedings of OOPSLA '96 (11th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications)}, Keywords = {refactoring Guru ooreeng reengtool famoos}, Location = {San Jose, California, USA}, Pages = {235--250}, Publisher = {ACM Press}, Title = {Automatic {Inheritance} {Hierarchy} {Restructuring} and {Method} {Refactoring}}, Year = {1996} } @book{Moor99a, Author = {Geoffrey A. Moore}, Keywords = {scglib}, Publisher = {HarperBusiness}, Title = {Crossing The Chasm}, Year = {1999} } @inproceedings{Moor01a, Author = {I. Moore}, Booktitle = {Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes (XP2001)}, Editor = {M. Marchesi}, Keywords = {testing}, Publisher = {University of Cagliari}, Title = {Jester --- a {JUnit} test tester}, Year = {2001} } @incollection{Moor06a, Author = {Kevin E. Moore and Jayaram Bobba and Michelle J. Moravan and Mark D. Hill and David A. Wood}, Booktitle = {Proceedings of the 12th International Symposium on High-Performance Computer Architecture}, Month = feb, Pages = {254--265}, Pdf = {http://www.cs.wisc.edu/multifacet/papers/hpca06_logtm.pdf}, Publisher = {IEEE Computer Society}, Title = {{LogTM}: Log-based Transactional Memory}, Year = {2006} } @inproceedings{Moor08a, Address = {New York, NY, USA}, Author = {Adriaan Moors and Frank Piessens and Martin Odersky}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449798}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {423--438}, Publisher = {ACM}, Title = {Generics of a higher kind}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449798} } @techreport{Moor08b, Author = {Adriaan Moors and Frank Piessens and Martin Odersky}, Title = {Parser combinators in {Scala}}, Year = {2008}, Month = feb, Keywords = {parsing}, Institution = {Department of Computer Science, K.U. Leuven}, Pdf = {http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW491.pdf} } @techreport{Moos07a, 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.}, Author = {Marc Mooser}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb07 moose-pub}, Month = feb, Title = {Parsing the {Ada} Programming Language}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Moos07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Moos07a.pdf} } @incollection{Mora99a, Author = {A. K. Moran and D. Sands and M. Carlsson}, Booktitle = {Coordination '99}, Month = apr, Publisher = {Springer-Verlag}, Series = {{LNCS}}, Title = {Erratic {Fudgets}: {A} semantic theory for an embedded coordination language}, Volume = 1594, Year = {1999} } @article{More79a, Author = {E. Morel and C. Renvoise}, Journal = {CACM}, Month = feb, Number = {2}, Pages = {96--103}, Title = {Global Optimization by Suppression of Partial Redundancies}, Volume = {22}, Year = {1979} } @inproceedings{More94a, Address = {Bologna, Italy}, Author = {Ana M.D. Moreira and Robert G. Clark}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {344--364}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Combining Object-Oriented Analysis and Formal Description Techniques}, Volume = {821}, Year = {1994} } @inproceedings{More94b, Author = {A. Moreira and R. Clark}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {65--78}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Rigorous Object-Oriented Analysis}, Volume = {858}, Year = {1994} } @book{More99a, Address = {Kaiserslautern, Germany}, Editor = {Ana Moreira and Serge Demeyer}, Keywords = {olit ecoop99wr scg-pub skip-abstract skip-doi skip-pdf toBeChecked scglib snf99 jb99 sergedem-volume jb99}, Month = dec, Number = 1743, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Technology ({ECOOP}'99 Workshop Reader)}, Year = {1999} } @book{More99b, Author = {L. Moreau and C. Queinnec and D. Ribbens and M. Serrano}, Isbn = {3-540-66043-7}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Title = {Recueil de petits Problemes en Scheme}, Year = {1999} } @inproceedings{More05a, Address = {Paris, France}, Author = {A. Moreira and A. Rashid and J. Ara\'{u}jo}, Booktitle = {Proceedings of the 13th IEEE International Requirements Engineering Conference (RE 2005)}, Month = aug, Publisher = {IEEE Computer Society}, Title = {Multi-Dimensional Separation of Conserns in Requirements Engineering}, Year = {2005} } @inproceedings{More06a, Address = {Luxembourg}, Author = {A. Moreira and J. Ara\'{u}jo and J. Whittle}, Booktitle = {Proceedings of the 18th Conference on Advanced Information Systems Engineering (CAiSE 2006)}, Month = jun, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modeling Volatile Concerns as Aspects}, Year = {2006} } @article{Mori86a, Author = {M. Moriconi and D. Hare}, Journal = {ACM TOPLAS}, Keywords = {misc selit pegasys}, Month = oct, Number = {4}, Pages = {419--490}, Title = {The PegaSys System: Pictures as Formal Documentation of Large Programs}, Volume = {8}, Year = {1986} } @article{Mori90a, Author = {R. Mori and M. Kawahara}, Journal = {Transactions of the IEICE}, Keywords = {olit}, Month = jul, Number = {7}, Pages = {1133--1146}, Title = {Superdistribution: The Concept and the Architecture}, Volume = {E 73}, Year = {1990} } @inproceedings{Mori94a, 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.}, Address = {New Orleans, Louisiana}, Author = {Mark Moriconi and Xiaolei Qian}, Booktitle = {Proceedings of ACM SIGSOFT '94: Symposium on Foundations of Software Engineering}, Keywords = {olit architecture}, Month = dec, Pages = {164-174.}, Title = {Correctness and Composition of Software Architectures}, Url = {http://www.csl.sri.com/~moriconi/fswe94.ps.gz}, Year = {1994}, Bdsk-Url-1 = {http://www.csl.sri.com/~moriconi/fswe94.ps.gz} } @article{Mori95a, Doi = {10.1109/32.385972}, Author = {Mark Moriconi and Xiaolei Qian and R. A. Riemenschneider}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit architecture design-patterns damiencbib communication-integrity}, Number = {4}, pages = {356--372}, Title = {Correct Architecture Refinement}, Volume = {21}, Year = {1995} } @techreport{Mori97a, author = {Moriconi, Mark and Riemenschneider, Robert A.}, title = {Introduction to {SADL} 1.0: A Language for Specifying Software Architecture Hierarchies}, keywords = {damiencbib architecture adl}, institution = {SRI International}, year = {1997}, type = {SRI-CSL-97-01} } @phdthesis{Mori99a, Author = {Jean-Henry Morin}, School = {University of Geneva}, Title = {Commercial Electronic Publishing over Open Networks: {A} Global Approach Based on Mobile Objects (Agents)}, Type = {{Ph.D}. Thesis}, Year = {1999} } @article{Morl04a, Doi = {10.1109/MPRV.2004.1321028}, author = {Morla, Ricardo and Davies, Nigel}, title = {Evaluating a Location-Based Application: A Hybrid Test and Simulation Environment}, journal = {IEEE Pervasive Computing}, year = {2004}, keywords = {damiencbib}, volume = {3}, number = {3}, pages = {48--56}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @article{Morr74a, Author = {Michael F. Morris}, Journal = {ACM SIGMetrics Performance Evaluation review}, Number = {3}, Pages = {2-8}, Title = {Kiviat graphs: conventions and "figure of merit"}, Volume = {3}, Year = {1974} } @mastersthesis{Morr89a, Author = {Kenneth Morris}, School = {Sloan School of Management. MIT}, Title = {Metrics for Object-Oriented Software Development Environments}, Year = {1989} } @book{Morr97a, Author = {Michael Morrison}, Isbn = {1-57521-286-0}, Keywords = {beans java scglib new-enty}, Publisher = {Sams net}, Title = {Presenting {Java} Beans}, Year = {1997} } @article{Morr03a, Author = {Steven Morris and Benyam Asnake and Gary Yen}, Issn = {1473-8716}, Journal = {Information Visualization}, Keywords = {clustering}, Number = {2}, Pages = {95--104}, Publisher = {Palgrave Macmillan}, Title = {Dendrogram seriation using simulated annealing}, Volume = {2}, Year = {2003} } @proceedings{Morv98a, Address = {Paris, France}, Booktitle = {STACS '98}, Editor = {Michel Morvan and Cristoph Meine and Daniel Krob}, Isbn = {3-540-64230-7}, Keywords = {stacs98 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Theoretical aspects of Computer Science}, Volume = {1373}, Year = {1998} } @inproceedings{Morz91a, Address = {Geneva, Switzerland}, Author = {Angelo Morzenti and Pierluigi San Pietro}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {39--58}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object-Oriented Logic Language for Modular System Specification}, Volume = 512, Year = {1991} } @incollection{Mose93a, Author = {Simon Moser and Robert Siegenthaler}, Booktitle = {OUTPUT Sonderausgabe "Objektorientierte Systeme"}, Keywords = {olit}, Month = nov, Publisher = {?}, Title = {Sind phasenstrukturierte Projekte notwendig?}, Year = {1993} } @inbook{Mose94a, Author = {Simon Moser}, Booktitle = {INFORMATIK, SVI/FSI, Zuerich}, Keywords = {snf-none olit toBeChecked jb94missing}, Month = dec, Pages = {?}, Publisher = {SI}, Title = {Ein {QS}-System fuer objektorientierte Software-Entwicklung}, Year = {1994} } @incollection{Mose95a, Author = {Simon Moser}, Booktitle = {Software --- Concepts and Tools}, Issn = {0945-8115}, Keywords = {skip-pdf skip-abstract skip-doi snf-none olit scg-pub toBeChecked jb95}, Month = jul, Pages = {63--80}, Publisher = {Springer Intl.}, Title = {Metamodels for {Object}-{Oriented} {Systems}}, Volume = {16}, Year = {1995} } @article{Mose96a, 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}, Author = {Simon Moser and Oscar Nierstrasz}, Doi = {10.1109/2.536783}, Journal = {IEEE Computer}, Keywords = {olit scg-pub snf96 jb96 onhindex(84)}, Month = sep, Pages = {45--51}, Title = {The Effect of Object-Oriented Frameworks on Developer Productivity}, Url = {http://scg.unibe.ch/archive/papers/Mose96aOOMetrics.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Mose96aOOMetrics.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/2.536783} } @phdthesis{Mose96b, Author = {Simon Moser}, Keywords = {snf-none olit scg-pub skip-abstract skip-doi jb96 scg-phd}, Month = dec, School = {University of Bern}, Title = {Measurement and Estimation of Software and Software Processes}, Type = {{Ph.D}. Thesis}, Url = {http://scg.unibe.ch/archive/phd/moser-phd.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/moser-phd.pdf} } @phdthesis{Moss81a, Author = {J. Eliot B. Moss}, Keywords = {olit transactions reliability binder (shelf)}, Month = apr, Number = {MIT/LCS/TR-260}, School = {MIT Dept EE and CS}, Title = {Nested Transactions: An Approach to Reliable Distributed Computing}, Type = {{Ph.D}. Thesis}, Year = {1981} } @inproceedings{Moss82a, Address = {Pittsburgh, PA}, Author = {J. Eliot B. Moss}, Booktitle = {Proceedings 2nd Symposium on Reliability in Distributed Software and Database Systems}, Keywords = {dblit transactions reliability}, Month = jul, Pages = {33--39}, Title = {Nested Transactions and Reliable Distributed Computing}, Year = {1982} } @inproceedings{Moss83a, Author = {J. Eliot B. Moss}, Booktitle = {Proceedings 3rd Symposium on Reliability in Distributed Software and Database Systems}, Keywords = {dblit transactions reliability}, Title = {Checkpoint and Restart in Distributed Transaction Systems}, Year = {1983} } @inproceedings{Moss87a, Address = {Paris, France}, Author = {J. Eliot B. Moss and Walter H. Kohler}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit-obcl trellis owl ecoop87proc oobib(obcp)}, Misc = {June 15-17}, Month = jun, Pages = {171--180}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency Features for the Trellis/Owl Language}, Volume = {276}, Year = {1987} } @inproceedings{Moss89a, Address = {Paderborn}, Author = {Peter D. Mosses}, Booktitle = {Proceedings of the 6th Annual Symposium on Theoretical Aspects of Computer Science, STACS '89}, Keywords = {pl-semantics}, Month = feb, Pages = {17--35}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Unified Algebras and Action Semantics}, Volume = {349}, Year = {1989} } @article{Moss92a, Author = {J. Eliot B. Moss}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit}, Month = aug, Number = {8}, Pages = {657--673}, Title = {Working with Persistent Objects: To Swizzle or Not to Swizzle}, Volume = {SE-18}, Year = {1992} } @book{Moss93a, Author = {Hanspeter M{\"o}ssenb{\"o}ck}, Isbn = {3-540-56411-X}, Keywords = {olit-oopl oobib(oopl) book}, Publisher = {Springer-Verlag}, Title = {Object-Oriented Programming in Oberon-2}, Year = {1993} } @techreport{Moss95a, Author = {Hanspeter M{\"o}ssenb{\"o}ck}, Institution = {Institut f{\"u}r Informatik, Johannes Kepler Universit{\"a}t Linz}, Keywords = {olit binder}, Month = aug, Number = {3}, Title = {Active Text for Structuring and Understanding Source Code}, Type = {Report}, Year = {1995} } @techreport{Moss95b, Author = {Hanspeter M{\"o}ssenb{\"o}ck}, Institution = {Institut f{\"u}r Informatik, Johannes Kepler Universit{\"a}t Linz}, Keywords = {olit binder}, Month = aug, Number = {4}, Title = {Scenario-Based Browsing of Object-Oriented Systems with Scene}, Type = {Report}, Year = {1995} } @book{Moss95c, Address = {Aarhus, Denmark}, Editor = {Peter D. Moses and Mogens Nielsen}, Isbn = {3-540-59293-8}, Keywords = {olit tapsoft96 scglib}, Month = may, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {TAPSOFT}'95}, Volume = {915}, Year = {1995} } @inproceedings{Most07a, Author = {Stijn Mostinckx and Tom Van Cutsem and Stijn Timbermont and Eric Tanter}, Booktitle = {Proceedings the ACM Dynamic Languages Symposium (DLS 2007)}, Location = {Montreal, Canada}, Month = oct, Title = {Mirages: Behavioral Intercession in a Mirror-based Architecture}, Year = {2007} } @inproceedings{Most09a, author = {Mostafa, Nagy and Krintz, Chandra}, title = {Tracking performance across software revisions}, booktitle = {PPPJ '09: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java}, year = {2009}, isbn = {978-1-60558-598-7}, pages = {162--171}, location = {Calgary, Alberta, Canada}, doi = {10.1145/1596655.1596682}, publisher = {ACM}, address = {New York, NY, USA} } @misc{Mote, Key = {Mote}, Note = {http://www.xbow.com/Products/Wireless\_Sensor\_Networks.htm}, Title = {Processor Radio boards: Mote}, Url = {http://www.xbow.com/Products/Wireless_Sensor_Networks.htm}, Bdsk-Url-1 = {http://www.xbow.com/Products/Wireless_Sensor_Networks.htm} } @inproceedings{Mott06, Address = {Bilbao, Spain}, Author = {Jean-Marie Mottu and Benoit Baudry and Yves Le Traon}, Booktitle = {ECMDA-FA}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:36:47 +0100}, Doi = {10.1007/11787044_28}, Month = {jul}, Organization = {IRISA, Campus Universitaire de Beaulieu}, Pages = {376--390}, Title = {Mutation Analysis Testing for Model Transformations}, Volume = {4066/2006}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11787044_28} } @inproceedings{Moug03a, 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}, Author = {Philippe Mougin and St\'ephane Ducasse}, Booktitle = {Proceedings of 17th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'03)}, Doi = {10.1145/949305.949312}, Keywords = {snf04 scg-pub jb04 stefPub}, Misc = {acceptance rate: 26/142 = 18\%}, AcceptTotal = {142}, AcceptNum = {26}, Month = oct, Pages = {65--77}, Title = {{OOPAL}: Integrating Array Programming in Object-Oriented Programming}, Url = {http://scg.unibe.ch/archive/papers/Moug03aOOPALOOPSLA.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Moug03aOOPALOOPSLA.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/949305.949312} } @phdthesis{Mour03a, Author = {Paolo Moura}, School = {Universidade da Beira Interior}, Title = {Logtalk}, Year = {2003} } @book{Mowb97a, Author = {Thomas J. Mowbray and Raphael C. Malveau}, Isbn = {0-471-15882-8}, Keywords = {olit-obcl corba scglib}, Publisher = {Wiley Computer Publishing}, Title = {Corba Design Patterns}, Year = {1997} } @inproceedings{Muel88a, Author = {H. A. M{\"u}ller and K. Klashinsky}, Booktitle = {ICSE '88: Proceedings of the 10th international conference on Software engineering}, Isbn = {0-89791-258-6}, Keywords = {design-recovery}, Location = {Singapore}, Pages = {80--86}, Publisher = {IEEE Computer Society Press}, Title = {Rigi --- A system for programming-in-the-large}, Url = {http://portal.acm.org/citation.cfm?id=55832}, Year = {1988}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=55832} } @inproceedings{Muel89a, Address = {Nottingham}, Author = {Gerhard M{\"u}ller and Anna-Kristin Pr{\"o}frock}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl ase binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {271--282}, Publisher = {Cambridge University Press}, Title = {Four Steps and a Rest in Putting an Object-Oriented Programming Environment to Practical Use}, Year = {1989} } @inproceedings{Muel99a, Author = {M{\"u}ller, P. and Poetzsch-Heffter, A.}, Booktitle = {Programming Languages and Fundamentals of Programming}, Editor = {Poetzsch-Heffter, A. and Meyer, J.}, Organization = {Fernuniversit\"at Hagen}, Title = {Universes: A Type System for Controlling Representation Exposure}, Year = {1999} } @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}, Booktitle = {Proceedings of the conference on The future of Software engineering}, Doi = {10.1145/336512.336526}, Isbn = {1-58113-253-0}, Keywords = {parseError design-recovery}, Location = {Limerick, Ireland}, Pages = {47--60}, Publisher = {ACM Press}, Title = {Reverse engineering: a roadmap}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/336512.336526} } @techreport{Muel01a, Author = {Peter M{\"u}ller and Arnd Poetzsch-Heffter}, Institution = {Fernuniversit\"at Hagen}, Key = {M{\"u}ller \& Poetzsch-Heffter}, Number = {279}, Title = {Universes: A Type System for Alias and Dependency Control}, Url = {www.informatik.fernuni-hagen.de/pi5/publications.html}, Year = {2001}, Bdsk-Url-1 = {www.informatik.fernuni-hagen.de/pi5/publications.html} } @inproceedings{Mugr91a, Address = {Geneva, Switzerland}, Author = {Warwick B. Mugridge and John Hamer and John G. Hosking}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {types olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {307--324}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Multi-Methods in a Statically-Typed Programming Language}, Volume = 512, Year = {1991} } @book{Mugr05a, Address = {Upper Saddle River, NJ, USA}, Author = {Rick Mugridge and Ward Cunningham}, Isbn = {0321269349}, Keywords = {tests examples scglib}, Publisher = {Prentice Hall PTR}, Title = {Fit for Developing Software: Framework for Integrated Tests (Robert C. Martin)}, Year = {2005} } @inproceedings{Mugr05b, Author = {Rick Mugridge and Ward Cunningham}, Booktitle = {Extreme Programming and Agile Processes in Software Engineering, 6th International Conference, XP 2005}, Editor = {Hubert Baumeister and Michele Marchesi and Mike Holcombe}, Isbn = {3-540-26277-6}, Pages = {137--144}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Agile Test Composition}, Volume = {3556}, Year = {2005} } @book{Muhl96a, Address = {Linz, Austria}, Editor = {Max M{\"u}hlh{\"a}user}, Isbn = {3-920993-67-51}, Keywords = {ecoop96wr workshops olit}, Month = jul, Publisher = {dpunkt.verlag}, Title = {Special Issues in Object-Oriented Programming ({ECOOP}'96 Workshop Reader)}, Year = {1996} } @book{Mukh95a, Author = {Manibrata Mukherji and Dennis Kafura}, Keywords = {coordination oobib(pcal) agents binder}, Misc = {February 28}, Month = feb, Publisher = {Virgina Tech}, Title = {Specification of Multi-Object Coordination Schemes Using Coordinating Environments {R} Draft}, Url = {ftp://actor.cs.vt.edu/pub/kafura/ce.ps}, Year = {1995}, Bdsk-Url-1 = {ftp://actor.cs.vt.edu/pub/kafura/ce.ps} } @incollection{Mule93a, 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.}, Author = {Philippe Mulet and Pierre Cointe}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {128--144}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Definition of a Reflective Kernel for a Prototype-Based Language}, Volume = {742}, Year = {1993} } @inproceedings{Mule93b, Address = {La grande motte}, Author = {Philippe Mulet and Pierre Cointe}, Booktitle = {Repr\'esentation par objets}, Month = jun, Organization = {Ec2}, Pages = {101--115}, Title = {D\'efinition d'un noyau r\'eflexif pour un langage \`a prototypes}, Year = {1993} } @inproceedings{Mule94a, Address = {Grenoble}, Author = {Philippe Mulet and Marco Jacques}, Booktitle = {Langages et {Mod}\`ele \`a {Objets}}, Month = oct, Pages = {167--181}, Title = {De la parent\'e entre les environnements de {MIT} {Scheme} et les prototypes de {Self}}, Year = {1994} } @phdthesis{Mule95a, Author = {P. Mulet}, School = {\'Ecole des Mines de Nantes}, Title = {R\'eflexion et langage \`a prototypes}, Year = {1995} } @inproceedings{Mule95b, Author = {Mulet, Philippe and Malenfant, Jacques and Cointe, Pierre}, Title = {Towards a methodology for explicit composition of metaobjects}, Booktitle = {Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications}, Series = {OOPSLA '95}, Year = {1995}, Isbn = {0-89791-703-0}, Location = {Austin, Texas, United States}, Pages = {316--330}, Numpages = {15}, Url = {http://doi.acm.org/10.1145/217838.217870}, Doi = {10.1145/217838.217870}, Acmid = {217870}, Publisher = {ACM}, Address = {New York, NY, USA}, keywords = {aggregation, composition, incrementality, metaobject protocol, methodology, reflection, specialization} } @inproceedings{Mule94b, Address = {Austin}, Author = {Philippe Mulet and Jacques Malenfant and Pierre Cointe}, Booktitle = {Proceedings of OOPSLA '95}, Month = oct, Pages = {316--330}, Title = {Towards a Methodology for Explicit Composition of MetaObjects}, Year = {1995} } @phdthesis{Mull86a, Author = {Hausi A. M{\"u}ller}, School = {Rice University}, Title = {Rigi --- A Model for Software System Construction, Integration, and Evaluation based on Module Interface Specifications}, Year = {1986} } @inproceedings{Mull90a, Author = {Hausi A. M{\"u}ller and James S. Uhl}, Booktitle = {Proceedings of ICSM '90 (International Conference on Software Maintenance)}, Keywords = {clustering}, Month = nov, Pages = {12--19}, Publisher = {IEEE Computer Society Press}, Title = {Composing {Subsystem} {Structures} using (k,2)-partite graphs}, Year = {1990} } @article{Mull92a, Author = {R. Muller}, Journal = {ACM Transactions on Programming Languages and Systems}, Month = oct, Number = {4}, Pages = {589--616}, Title = {M-LISP: A representation-independent dialect of LISP with reduction semantics}, Volume = {14}, Year = {1992} } @inproceedings{Mull93a, Author = {Hausi A. M{\"u}ller}, Booktitle = {Proceedings of National Workshop on Software Engineering Education}, Keywords = {software engineering education binder}, Location = {Toronto, Canada}, Month = may, Note = {University of Victoria (Canada)}, Pages = {102--104}, Title = {Software {Engineering} {Education} should concentrate on {Software} {Evolution}}, Year = {1993} } @book{Mull93b, Author = {Sape Mullender}, Edition = {Second}, Keywords = {distributed systems}, Publisher = {Addison Wesley}, Title = {Distributed Systems:}, Year = {1993} } @article{Mull93c, Author = {Hausi A. M\"uller and M. A. Orgun and S. R. Tilley and J. S. Uhl}, Journal = {International Journal of Software Engineering and Knowledge Engineering}, Keywords = {clustering}, Month = dec, Number = {4}, Pages = {181--204}, Title = {A reverse engineering approach to subsystem structure identification}, Volume = {5}, Year = {1993} } @unpublished{Mull95a, Author = {Hausi M{\"u}ller and Kenny Wong and Scott R. Tilley}, Keywords = {software architecture binder}, Note = {University of Victoria \& Carnegie Mellon University}, Title = {Dimensions of Software Architecture for Program Understanding}, Type = {Draft}, Year = {1995} } @incollection{Mull95b, Author = {Hausi A. M\"{u}ller and Kenny Wong and Scott R. Tilley}, Booktitle = {Object-Oriented Technology for Database and Software Systems}, Editor = {V.S. Alagar and R. Missaoui}, Keywords = {oorp}, Pages = {240--252}, Publisher = {World Scientific}, Title = {Understanding Software Systems Using Reverse Engineering Technology}, Year = {1995} } @book{Mull95c, Author = {Kevin Mullet and Darrell Sano}, Keywords = {hci scglib}, Publisher = {Prentice Hall}, Title = {Designing Visual Interfaces}, Year = {1995} } @unpublished{Mull97a, Author = {Martin M{\"u}ller and Joachim Niehren and Gert Smolka}, Keywords = {oobib(types) binder}, Note = {Programming Systems Lab, Universit{\"a}t des Saarlandes and DFKI}, Title = {Typed Concurrent Programming with Logic Variables}, Type = {Draft}, Year = {1997} } @book{Mull97b, Author = {Pierre-Alain Muller}, Isbn = {2-212-08966-X}, Keywords = {uml scglib}, Publisher = {Eyrolles}, Title = {Modelisation Object avec UML}, Year = {1997} } @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}, Booktitle = {The Future of Software Engineering 2000}, Editor = {A. Finkelstein}, Keywords = {oorp}, Publisher = {ACM Press}, Title = {Reverse Engineering: A Roadmap}, Year = {2000} } @inproceedings{Mull05a, 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.}, Address = {Montego Bay, Jamaica}, Author = {Muller, Pierre-Alain and Fleurey, Franck and J\'ez\'equel, Jean-Marc}, Booktitle = {Proceedings of {MODELS/UML}'2005}, Editor = {L. Briand, S. Kent}, Month = oct, Pages = {264--278}, Publisher = {Springer}, Series = {LNCS}, Title = {Weaving Executability into Object-Oriented Meta-Languages}, Url = {http://www.irisa.fr/triskell/publis/2005/Muller05a.pdf}, Volume = {3713}, Year = {2005}, Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2005/Muller05a.pdf} } @article{Mull05b, Author = {Muller, Pierre-Alain and Studer, Philippe and Fondement, Fr\'ed\'erick and B\'ezivin, Jean}, Journal = {Software and System Modeling}, Month = nov, Number = {4}, Pages = {424--442}, Title = {Independent Web Application Modeling and Development with Netsilon}, Volume = {4}, Year = {2005} } @misc{Mull05c, Address = {Montego Bay, Jamaica}, Annote = {internationalworkshop}, 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}, Howpublished = {Model Transformations In Practice Workshop}, Month = {oct}, Title = {On Executable Meta-Languages applied to Model Transformations}, Year = {2005} } @article{Muns94a, Author = {Jonathan P. Munson and Prasun Dewan}, Journal = {Proceedings of the 1994 ACM conference on Computer supported cooperative work}, Pages = {231--242}, Title = {A Flexible Object Merging Framework}, Year = {1994} } @inproceedings{Muns98a, Author = {J.C. Munson and S.G. Elbaum}, Booktitle = {ICSM'98}, Pages = {24-34}, Title = {Code Churn: A Measure for Estimating the Impact of Code Change}, Year = {1998} } @techreport{Mura87a, Author = {M. Murata and K. Kusumoto}, Institution = {Fuji Xerox}, Title = {Daemon: A Mediator that Keeps Wholes Consistent with their parts}, Year = {1987} } @article{Mura89a, Author = {Makoto Murata and Koji Kusumoto}, Journal = {JOOP}, Month = jul, Number = {2}, Pages = {8--12}, Title = {Daemon: {Another} {Way} of {Invoking} {Methods}}, Volume = {2}, Year = {1989} } @article{Mura91a, Author = {Hisashi Natatsuyama and Makoto Murata and Koji Kusumoto}, Journal = {S.I.G.C.H.I}, Month = jan, Number = {1}, Pages = {88--92}, Title = {A new framework for separating user interfaces from application programs}, Volume = {23}, Year = {1991} } @incollection{Murp90a, Author = {D. Murphy}, Booktitle = {Semantics for Concurrency}, Editor = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas}, Keywords = {pcalc ccs real-time}, Pages = {294--310}, Publisher = {Springer-Verlag}, Series = {Workshops in Computing}, Title = {Approaching a Real-Timed Concurrency Theory}, Year = {1990} } @inproceedings{Murp95a, Author = {Gail Murphy and David Notkin and Kevin Sullivan}, Booktitle = {Proceedings of SIGSOFT '95, Third ACM SIGSOFT Symposium on the Foundations of Software Engineering}, Pages = {18--28}, Publisher = {ACM Press}, Title = {Software Reflexion Models: Bridging the gap between Source and High-Level Models}, Year = {1995} } @phdthesis{Murp96a, Author = {Gail C. Murphy}, School = {University of Washington}, Title = {Lightweight Structural Summarization as an Aid to Software Evolution}, Year = {1996} } @inproceedings{Murp96b, Author = {Gail C. Murphy and David Notkin and Erica S.-C. Lan}, Booktitle = {Proceedings of the ICSE-18}, Month = mar, Organization = {IEEE Computer Society Press}, Pages = {90--99}, Title = {An Emperical Study of Static Call Graph Extractors}, Year = {1996} } @article{Murp96c, Author = {Gail C. Murphy and David Notkin}, Journal = {ACM Transactions on Software Engineering and Methodology}, Month = jul, Number = {3}, Pages = {262--292}, Title = {Lightweight Lexical Source Model Extraction}, Volume = {5}, Year = {1996} } @article{Murp97a, Author = {Gail C. Murphy and David Notkin}, Journal = {IEEE Computer}, Keywords = {oorp}, Pages = {29--36}, Title = {Reengineering with Reflexion Models: {A} Case Study}, Url = {http://www.cs.ubc.ca/spider/murphy/}, Volume = {8}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.ubc.ca/spider/murphy/} } @article{Murp98a, Author = {Gail C. Murphy and David Notkin and William G. Griswold and Erica S. Lan}, Journal = {ACM Transactions on Software Engineering and Methodology}, Month = apr, Number = {2}, Pages = {158--191}, Title = {An Emperical Study of Static Call Graph Extractors}, Volume = {7}, Year = {1998} } @article{Murp01a, Address = {New York, NY, USA}, Author = {Gail C. Murphy and Robert J. Walker and Elisa L. A. Baniassad and Martin P. Robillard and Albert Lai and Mik A. Kersten}, Doi = {10.1145/383845.383862}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {10}, Pages = {75--77}, Publisher = {ACM}, Title = {Does aspect-oriented programming work?}, Volume = {44}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/383845.383862} } @article{Murp06a, Author = {Gail C. Murphy and Mik Kersten and Leah Findlater}, Journal = {IEEE Software}, Month = {jul}, Title = {How are {Java} software developers using the {Eclipse} {IDE}?}, Year = {2006} } @inproceedings{Musc08a, Address = {New York, NY, USA}, Author = {Radu Muschevici and Alex Potanin and Ewan Tempero and James Noble}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449808}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {563--582}, Publisher = {ACM}, Title = {Multiple dispatch in practice}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449808} } @techreport{Musi10a, Abstract = {Empirical experiments play an important role in the evaluation of a software system. To verify or reject whether a software system has a desired effect, empirical experiments have to be performed. This document helps us to understand the steps we need to take to test out our hypothesis about a software system and contains advice for people who want to conduct an empirical experiment.}, Author = {Michal Musial}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb10}, Month = dec, Title = {Introduction to Empirical Experiments in Software Engineering}, Type = {Bachelor's thesis, supplementary documentation}, Url = {http://scg.unibe.ch/archive/projects/Musi10a.pdf}, Year = {2010} } @techreport{Musi10b, Abstract = {This project aims at integrating a task manager called TaskManager (TM) directly into the Visual Studio 2008 IDE. When developing a large software system, a developer typically spends a lot of time navigating through thousands of code artifacts to find the subset of information needed to complete the current task. The main goal is to associate code artifacts with the specification of programming features that are going to be implemented by developers, to increase the efficiency of their work. TM shows a ToDo list, but deeply related with the software system for which these tasks have to be performed (for example fixing a defect in that system or implementing a completely new feature). We can associate with every task software artifacts (classes, methods, etc.) we have to change, check, implement or remove from the system to achieve the task. For every task we also want to define tests that have to be added or adapted to fulfill the task. The task manager interacts with the rest of the IDE, for example to quickly navigate with the IDE to artifacts associated with the tasks, to add artifacts from within the IDE to the task. TM automatically changes the completion progress of a task when a developer works in the IDE on artifacts defined in the task. The empirical evaluation shows that TM meets the requirements of developers and it is seen as an useful tool which helps them during programming.}, Author = {Michal Musial}, Institution = {University of Bern}, Keywords = {snf-none scg-bp jb10}, Month = dec, Title = {Integrating a Task Manager into an {IDE}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Musi10b.pdf}, Year = {2010} } @book{Muss96a, Author = {David R. Musser and Atul Saini}, Isbn = {0-201-6339-8-1}, Keywords = {olit-oopl}, Publisher = {Addison Wesley}, Title = {{STL} Tutorial and Reference Guide}, Year = {1996} } @techreport{Muth95a, Author = {Jeyakumar Muthukumarasamy and John T. Stasko}, Institution = {Georgia Institute of Technology}, Number = {GIT-GVU-95-02}, Title = {Visualizing Program Executions on Large Data Sets Using Semantic Zooming}, Year = {1995} } @book{Myer75a, Address = {New York}, Author = {G. J. Myers}, Publisher = {Petrocelli/Charter}, Title = {Reliable Software Through Composite Design}, Year = {1975} } @book{Myer78a, Author = {G. J. Myers}, Publisher = {Van Nostrand Reinhold}, Title = {Composite/Structured Design}, Year = {1978} } @article{Myer92b, Address = {Los Alamitos, CA, USA}, Author = {Brad A. Myers}, Doi = {10.1109/2.153286}, Issn = {0018-9162}, Journal = {IEEE Computer}, Keywords = {examples visual interfaces}, Number = {8}, Pages = {61--73}, Publisher = {IEEE Computer Society}, Title = {Demonstrational Interfaces: A Step Beyond Direct Manipulation}, Volume = {25}, Year = {1982}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.153286} } @article{Myer86a, Address = {New York, NY, USA}, Author = {Brad A. Myers}, Doi = {10.1145/22339.22349}, Issn = {0736-6906}, Journal = {SIGCHI Bull.}, Keywords = {visprog pl-lit}, Number = {4}, Pages = {59--66}, Publisher = {ACM}, Title = {Visual programming, programming by example, and program visualization: a taxonomy}, Volume = {17}, Year = {1986}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/22339.22349} } @phdthesis{Myer87a, Author = {Brad Myers}, Keywords = {uilit}, Month = may, Number = {CSRI Technical Report #196}, School = {Department of Computer Science, University of Toronto}, Title = {Creating User Interfaces by Demonstration}, Type = {{Ph.D}. Thesis}, Year = {1987} } @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}, Journal = {IEEE Computer}, Number = {11}, Pages = {71--85}, Title = {Garnet: Comprehensive Support for Graphical Highly-Interactive User Interfaces}, Volume = {23}, Year = {1990} } @inproceedings{Myer92a, Author = {Brad A. Myers and Dario A. Giuse and Brad Vander Zanden}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {184--200}, Title = {Declarative Programming in a Prototype-Instance System: Object-Oriented Programming Without Writing Methods}, Volume = {27}, Year = {1992} } @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}, Journal = {IEEE Transactions on Software Engineering}, Month = jun, Number = {6}, Pages = {347--365}, Title = {The Amulet Environment: New Models for Effective User Interface Software Development}, Volume = {23}, Year = {1997} } @article{Myer04a, Address = {New York, NY, USA}, Author = {Brad A. Myers and John F. Pane and Andy Ko}, Doi = {10.1145/1015864.1015888}, Journal = {Commun. ACM}, Number = {9}, Pages = {47--52}, Publisher = {ACM Press}, Title = {Natural Programming Languages and Environments}, Volume = {47}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1015864.1015888} } @inproceedings{Myer06a, Address = {New York, NY, USA}, Author = {Brad A. Myers and David A. Weitzman and Andrew J. Ko and Duen H. Chau}, Booktitle = {CHI '06: Proceedings of the SIGCHI conference on Human Factors in computing systems}, Doi = {10.1145/1124772.1124832}, Pages = {397--406}, Publisher = {ACM Press}, Title = {Answering why and why not questions in user interfaces}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1124772.1124832} } @article{Mylo80a, Author = {John Mylopoulos and Philip A. Bernstein and H.K.T. Wong}, Journal = {ACM TODS}, Keywords = {olit-oopl taxis}, Month = jun, Number = {2}, Pages = {185--207}, Title = {{TAXIS}: {A} Language Facility for Designing Database-Intensive Applications}, Volume = {5}, Year = {1980} } @incollection{Mylo83a, Address = {New York}, Author = {John Mylopoulos and H. Levesque}, Booktitle = {On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases and Programming Languages}, Editor = {M. Brodie and J. Mylopoulos}, Keywords = {misc ai}, Pages = {3--17}, Publisher = {Springer-Verlag}, Title = {An Overview of Knowledge Representation}, Year = {1983} } @inproceedings{Mytk09a, author = {Mytkowicz, Todd and Diwan, Amer and Hauswirth, Matthias and Sweeney, Peter F.}, title = {Producing wrong data without doing anything obviously wrong!}, booktitle = {Proceeding of the 14th international conference on Architectural support for programming languages and operating systems}, series = {ASPLOS '09}, year = {2009}, isbn = {978-1-60558-406-5}, location = {Washington, DC, USA}, pages = {265--276}, numpages = {12}, doi = {10.1145/1508244.1508275}, acmid = {1508275}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {bias, measurement, performance} } @inproceedings{Mytk10a, author = {Mytkowicz, Todd and Diwan, Amer and Hauswirth, Matthias and Sweeney, Peter F.}, title = {Evaluating the accuracy of Java profilers}, booktitle = {Proceedings of the 31st conference on Programming language design and implementation}, series = {PLDI '10}, year = {2010}, isbn = {978-1-4503-0019-3}, location = {Toronto, Ontario, Canada}, pages = {187--197}, numpages = {11}, url = {http://doi.acm.org/10.1145/1806596.1806618}, doi = {10.1145/1806596.1806618}, acmid = {1806618}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {bias, observer effect, profiling} } @misc{NET, Key = {NET}, Note = {http://www.microsoft.com/net/}, Title = {{ASP.NET}} } @mastersthesis{Naab05a, Author = {Matthias Naab}, School = {Fraunhofer IESE}, Title = {Evaluation of Graphical Elements and their Adequacy for the Visualization of Software Architectures}, Year = {2005} } @mastersthesis{Nabe03a, Author = {Daniel Naber}, School = {University of Bielefeld}, Title = {A Rule-Based Style and Grammar Checker}, Url = {http://danielnaber.de/languagetool/download/style_and_grammar_checker.pdf}, Year = {2003} } @book{Naeg98a, Author = {Hans-Heinrich N\"ageli}, Keywords = {scglib}, Publisher = {Presses Polytechniques et universitaires romandes}, Title = {Math\'ematiques discr\`etes}, Year = {1998} } @inproceedings{Naff81a, Author = {Najah Naffah}, Booktitle = {Proceedings of the International Workshop on Office Information Systems}, Keywords = {oislit multitype documents}, Month = oct, Title = {Editing Multitype Documents}, Year = {1981} } @inproceedings{Naga07a, author={Nagarajan, V. and Gupta, R. and Xiangyu Zhang and Madou, M. and De Sutter, B.}, booktitle={Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM'07)}, title={Matching Control Flow of Program Versions}, year={2007}, month=oct, volume={}, number={}, pages={84 -93}, doi={10.1109/ICSM.2007.4362621}, ISSN={1063-6773} } @inproceedings{Nagk06a, Author = {Priya Nagpurkar and Chandra Krintz}, Booktitle = {Elsevier Science of Computer Programming, Special issue on Princples of programming in Java}, Keywords = {dynamic analysis}, Month = jan, Pages = {131--164}, Title = {Phase-Based Visualization and Analysis of Java Programs}, Volume = {59,Number 1-2}, Year = {2006} } @inproceedings{Nagy05a, Address = {Erfurt, Germany}, Author = {Istvan Nagy and Lodewijk Bergmans and Mehmet Aksit}, Booktitle = {Proceedings of International Conference NetObjectDays, NODe2005}, Editor = {Robert Hirschfeld, Ryszard Kowalczyk, Andreas Polze and Mathias Weske}, Month = sep, Organization = {Gesellschaft f{\"u}r Informatik (GI)}, Series = {Lecture Notes in Informatics}, Title = {Composing Aspects at Shared Join Points}, Url = {http://trese.cs.utwente.nl/publications/files/0365NagyBerAks2005.pdf}, Volume = {P-69}, Year = {2005}, Bdsk-Url-1 = {http://trese.cs.utwente.nl/publications/files/0365NagyBerAks2005.pdf} } @inproceedings{Najm91a, Author = {Elle Najm and Jean-Bernard Stefani}, Booktitle = {Proceedings TAPSOFT '91}, Editor = {S. Abramsky and T. Maibaum}, Keywords = {pcalc-obc tapsoft91 binder}, Pages = {359--380}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Based Concurrency: {A} Process Calculus Analysis}, Volume = {493}, Year = {1991} } @book{Najm97a, Editor = {Elie Najim and Jean-Bernard Stefani}, Keywords = {scglib}, Publisher = {Chapman and Hall}, Title = {Formal Methods for Open Object-based Distributed Systems}, Year = {1997} } @inproceedings{Naka01a, author = {Nakajima, Shin and Tamai, Tetsuo}, title = {Behavioural analysis of the enterprise JavaBeans component architecture}, booktitle = {Proceedings of the 8th international SPIN workshop on Model checking of software}, series = {SPIN '01}, year = {2001}, isbn = {3-540-42124-6}, location = {Toronto, Ontario, Canada}, pages = {163--182}, numpages = {20}, url = {http://portal.acm.org/citation.cfm?id=380921.380936}, acmid = {380936}, publisher = {Springer-Verlag New York, Inc.}, address = {New York, NY, USA} } @inproceedings{Nako01a, Address = {London, UK}, Author = {Preslav Nakov}, Booktitle = {Proceedings of the International Conference, 7th Fuzzy Days on Computational Intelligence, Theory and Applications}, Isbn = {3-540-42732-5}, Pages = {834--841}, Publisher = {Springer-Verlag}, Title = {Latent Semantic Analysis for German Literature Investigation}, Year = {2001} } @article{Nako01b, Author = {P. Nakov and A. Popova and P. Mateev}, Journal = {Proceedings of the EuroConference Recent Advances in Natural Language Processing (RANLP 2001)}, Pages = {187--193}, Title = {Weight functions impact on LSA performance}, Year = {2001} } @book{Nanc92a, Author = {D. Nanci and B. Espinasse and B. Cohen and H. Heckenroth}, Publisher = {Sybex}, Title = {Ingenierie des systemes d'information avec Merise}, Year = {1992} } @article{Nand99a, Author = {J. Nandigam and A. Lakhotia and C. Cech}, Journal = {Journal of Software Maintenance: Research and Practice}, Title = {Experimental evaluation of agreement between programmers in applying the rules of cohesion}, Year = {1999} } @proceedings{Napo95a, Address = {France}, Booktitle = {Actes LMO '95}, Editor = {Inria}, Keywords = {lmo95 scglib}, Misc = {12-13 Octobre}, Month = oct, Title = {Languages et Mod\`eles \`a Objets}, Year = {1995} } @inproceedings{Nara02a, Address = {New York, NY, USA}, Author = {Srini Narayanan and Sheila A. McIlraith}, Booktitle = {WWW '02: Proceedings of the 11th international conference on World Wide Web}, Doi = {10.1145/511446.511457}, Isbn = {1-58113-449-5}, Location = {Honolulu, Hawaii, USA}, Pages = {77--88}, Publisher = {ACM Press}, Title = {Simulation, verification and automated composition of web services}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/511446.511457} } @article{Nass73a, Author = {I. Nassi and B. Shneiderman}, Journal = {SIGPLAN Notices}, Month = aug, Number = {8}, Title = {Flowchart Techniques for Structured Programming}, Volume = {8}, Year = {1973} } @inproceedings{Nass05a, Address = {New York, NY, USA}, Author = {Nidal Nasser}, Booktitle = {Q2SWinet '05: Proceedings of the 1st ACM international workshop on Quality of service \& security in wireless and mobile networks}, Doi = {10.1145/1089761.1089785}, Isbn = {1-59593-241-0}, Location = {Montreal, Quebec, Canada}, Pages = {144--149}, Publisher = {ACM Press}, Title = {Real-time service adaptability in multimedia wireless networks}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1089761.1089785} } @misc{NaturalSmalltalk, Key = {Natural Smalltalk}, Note = {A toolkit for analyzing Smalltalk and English text in the way of Natural Language Processing. http://map.squeak.org/package/624ed871-4e89-4343-8652-af38a873d0b4} } @inproceedings{Nava00a, Author = {Gonzalo Navarro and Erkki Sutinen and Jani Tanninen and Jorma Tarhio}, Booktitle = {Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching}, Number = {1848}, Pages = {350--363}, Publisher = {Springer Verlag, London}, Series = {LNCS}, Title = {Indexing Text with Approximate q-Grams}, Year = {2000} } @article{Nava01a, Author = {Gonzalo Navarro}, Journal = {ACM Computing Surveys}, Number = {1}, Pages = {31--88}, Title = {A guided tour to approximate string matching}, Url = {citeseer.ist.psu.edu/navarro99guided.html}, Volume = {33}, Year = {2001}, Bdsk-Url-1 = {citeseer.ist.psu.edu/navarro99guided.html} } @inproceedings{Naye94a, Address = {Bologna, Italy}, Author = {Farshad Nayeri and Ben Hurwitz and Frank Manola}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {450--473}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Generalizing Dispatching in a Distributed Object System}, Volume = {821}, Year = {1994} } @techreport{Ndja93a, Author = {Gilbert Ndjatou}, Institution = {The City University of new York}, Keywords = {olit-obc binder (shelf)}, Title = {Modelling Objects, Knowledge and Learning in Distributed Object-Based Systems}, Type = {TR-93-04-02}, Year = {1993} } @inproceedings{Neam06a, author = {Neamtiu, Iulian and Hicks, Michael and Stoyle, Gareth and Oriol, Manuel}, title = {Practical Dynamic Software Updating for {C}}, booktitle = {Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation}, series = {PLDI '06}, year = {2006}, isbn = {1-59593-320-4}, location = {Ottawa, Ontario, Canada}, pages = {72--83}, numpages = {12}, url = {http://doi.acm.org/10.1145/1133981.1133991}, doi = {10.1145/1133981.1133991}, acmid = {1133991}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {dynamic software updating, function indirection, loop extraction, type wrapping} } @article{Neam08a, Address = {New York, NY, USA}, Author = {Neamtiu, Iulian and Hicks, Michael and Foster, Jeffrey S. and Pratikakis, Polyvios}, Date-Added = {2010-01-28 15:18:56 +0100}, Date-Modified= {2010-01-28 15:19:15 +0100}, Doi = {10.1145/1328897.1328447}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Keywords = {DSU; type-system}, Number = {1}, Pages = {37--49}, Publisher = {ACM}, Rating = {4}, Title = {Contextual effects for version-consistent dynamic software updating and safe concurrent programming}, Volume = {43}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1328897.1328447} } @inproceedings{Neam09a, author = {Neamtiu, Iulian and Hicks, Michael}, title = {Safe and timely updates to multi-threaded programs}, booktitle = {Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation}, series = {PLDI '09}, year = {2009}, isbn = {978-1-60558-392-1}, location = {Dublin, Ireland}, pages = {13--24}, numpages = {12}, acmid = {1542479}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {dynamic software updating, multi-threading, update safety, update timeliness}, doi = {10.1145/1543135.1542479} } @unpublished{Nebb97a, Author = {R. Nebbe and T.D. Meijler and S. Demeyer and S. Ducasse and T. Richner}, Month = feb, Note = {Esprit IV \#21975 FAMOOS Achievement A2.2.1}, Publisher = {University of Bern}, Title = {Formal Model for Basic Object-Oriented Software Structures}, Year = {1997} } @inproceedings{Nebb98m, Author = {Robb Nebbe}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr scg-pub skip-abstract skip-doi toBeChecked snf98 jb98}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Semantic Structure: a Basis for Software Architecture}, Url = {http://scg.unibe.ch/archive/famoos/Nebb98m/nebbe_oosa.pdf}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/Nebb98m/nebbe_oosa.pdf} } @inproceedings{Nebb98n, 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.}, Author = {Robb Nebbe}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr scg-pub skip-doi toBeChecked snf98 jb98}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Composition and Coordination: the Two Paradigms Underlying {AOP}?}, Url = {http://scg.unibe.ch/archive/famoos/Nebb98n/nebbe_aop.pdf}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/Nebb98n/nebbe_aop.pdf} } @techreport{Nebb99z, 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.}, Author = {Robb Nebbe}, Institution = {University of Bern}, Keywords = {scg-pub skip-doi jb-none olit famoos-techrep snf99 moose-pub}, Month = aug, Title = {{FAMIX} {Ada} language plug-in 2.2}, Url = {http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/AdaPlugin2.2.html http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/AdaPlugin2.2.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/AdaPlugin2.2.html%20http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/AdaPlugin2.2.pdf} } @article{Need70a, Author = {Saul B. Needleman and Christian D. Wunsch}, Journal = {J. Mol. Biol.}, Keywords = {dynamic programming}, Pages = {443--453}, Title = {A General Method Applicable to the Search for Similarity in the Amino Acid Sequences of Two Proteins}, Volume = {48}, Year = {1970} } @inproceedings{Neha00a, Author = {Chrystopher L. Nehaniv}, Booktitle = {Artificial Life 7 Workshop Proceedings}, Editor = {Carlo C. Maley and Eilis Boudreau}, Page = {17--21}, Title = {Evolvability in Biology, Artifacts, and Software Systems}, Url = {http://homepages.feis.herts.ac.uk/~nehaniv/pubs.html}, Year = {2000}, Bdsk-Url-1 = {http://homepages.feis.herts.ac.uk/~nehaniv/pubs.html} } @inproceedings{Neig96a, Author = {James M. Neighbors}, Booktitle = {Proceedings of WCRE '96 (3rd Working Conference on Reverse Engineering)}, Keywords = {clustering}, Month = nov, Pages = {2--10}, Publisher = {IEEE Computer Society Press}, Title = {Finding {Reusable} {Software} {Components} in {Large} {Systems}}, Year = {1996} } @inproceedings{Nels85a, Author = {G. Nelson}, Booktitle = {Proceedings of SIGGRAPH '85}, Pages = {235--243}, Title = {A constraint-based graphics system}, Year = {1985} } @book{Nels91a, Author = {Greg Nelson}, Publisher = {Prentice Hall Series in Innovative Technology}, Title = {Systems Programming With Modula-3}, Year = {1991} } @book{Nels99a, Author = {Jeff Nelson}, Isbn = {0-471-25406-1}, Keywords = {olit java mobile scglib new-entry}, Publisher = {Wiley}, Title = {Programming Mobile Object with {Java}}, Year = {1999} } @inproceedings{Nels08a, Author = {Stephen Nelson and David J. Pearce and James Noble}, Booktitle = {Proceedings of the 6th International Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL 2008)}, Title = {First Class Relationships for {OO} Languages}, Url = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html http://homepages.fh-regensburg.de/~mpool/mpool08/submissions/Noble.pdf}, Year = {2008}, Bdsk-Url-1 = {http://homepages.fh-regensburg.de/~mpool/mpool08/programme.html%20http://homepages.fh-regensburg.de/~mpool/mpool08/submissions/Noble.pdf} } @techreport{Neme00a, Author = {Bernhard Nemec}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = jan, Title = {Evolution 200}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Neme00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Neme00a.pdf} } @misc{NesC, Author = {Eric Brewer and David Culler and David Gay and Phil Levis and Rob von Behren and Matt Welsh}, Note = {http://nescc.sourceforge.net}, Title = {{nesC}: A Programming Language for Deeply Networked Systems} } @article{Nesi98a, Author = {Paolo Nesi}, Journal = {IEEE Software}, Keywords = {oorp}, Month = jul, Title = {Managing {OO} Project Better}, Year = {1988} } @techreport{Nest92a, Author = {Uwe Nestmann and L\'aszl\'o Teleki}, Institution = {Univ. Erlangen-N{\"u}rnberg}, Keywords = {pcalc binder (shelf)}, Month = dec, Note = {submitted for publication}, Title = {A Chemical Abstract Machine for a Calculus of Communicating Functions}, Type = {IMMD7-14/92}, Year = {1992} } @techreport{Nest92b, Author = {Uwe Nestmann and L\'aszl\'o Teleki}, Institution = {Univ. Erlangen-N{\"u}rnberg}, Keywords = {pcalc binder (shelf)}, Month = dec, Note = {submitted for publication}, Title = {Towards a Calculus of Communicating Functions}, Type = {IMMD7-13/92}, Year = {1992} } @inproceedings{Nest96a, Address = {Pisa, Italy}, Author = {Uwe Nestmann and Benjamin C. Pierce}, Booktitle = {CONCUR~'96: Concurrency Theory, 7th International Conference}, Editor = {Ugo Montanari and Vladimiro Sassone}, Month = aug, Pages = {179--194}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Decoding Choice Encodings}, Volume = 1119, Year = {1996} } @misc{NetBeans, Author = {NetBeans}, Key = {NetBeans}, Howpublished = {http://www.netbeans.org, archived at http://www.webcitation.org/5p1qB6hNt}, Url = {http://www.netbeans.org}, Title = {NetBeans IDE}, Year = {2010} } @inproceedings{Neth07a, author = {Nethercote, Nicholas and Seward, Julian}, title = {Valgrind: a framework for heavyweight dynamic binary instrumentation}, booktitle = {Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, series = {PLDI '07}, year = {2007}, isbn = {978-1-59593-633-2}, location = {San Diego, California, USA}, pages = {89--100}, numpages = {12}, url = {http://doi.acm.org/10.1145/1250734.1250746}, doi = {10.1145/1250734.1250746}, acmid = {1250746}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Memcheck, Valgrind, dynamic binary analysis, dynamic binary instrumentation, shadow values} } @book{Neum58a, Address = {New Haven}, Author = {John von Neumann}, Publisher = {Yale University Press}, Title = {The Computer and the Brain}, Year = {1958} } @book{Neum66a, Address = {Urbana, Illinois}, Author = {John von Neumann}, Note = {Edited and completed by Arthur W. Burks.}, Publisher = {University of Illinois Press}, Title = {Theory of Self-Reproducing Automata}, Year = {1966} } @inproceedings{Neus91a, Address = {Geneva, Switzerland}, Author = {Christian Neusius}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {118--132}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Synchronizing Actions}, Volume = 512, Year = {1991} } @inproceedings{Newc95a, Author = {Philipp Newcomb and Paul Martens}, Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)}, Pages = {32--39}, Publisher = {IEEE CS}, Title = {Reengineering procedural into data flow program}, Year = {1995} } @inproceedings{Newc95b, Author = {Philipp Newcomb and Gordon Kotik}, Booktitle = {Proceedings of WCRE (Working Conference on Reverse Engineering)}, Pages = {237--250}, Publisher = {IEEE CS}, Title = {Reengineering procedural into object-oriented systems}, Year = {1995} } @book{Newm79a, Author = {W.M. Newman and R.F. Sproull}, Edition = {Second}, Keywords = {misc graphics}, Publisher = {McGraw-Hill}, Series = {Computer Science Series}, Title = {Principles of Interactive Computer Graphics}, Year = {1979} } @book{Ng93a, Editor = {K.W. Ng and P. Raghavan and N.V. Balasubramanian and F.Y.L. Chin}, Isbn = {3-540-57568-5}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceeding of {ISAAC} '93 4th International Symposium on Algorithms and Computation}, Volume = {762}, Year = {1993} } @article{Nguy86a, Author = {V. Nguyen and Brent Hailpern}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obc concepts messages oopws86}, Month = oct, Number = {10}, Pages = {78--87}, Title = {A Generalized Object Model}, Volume = {21}, Year = {1986} } @inproceedings{Nguy89a, Address = {San Francisco, CA}, Author = {G.A. Nguyen and D. Rieu}, Booktitle = {IFIP 11th World Computer Conference}, Editor = {G.X. Ritter}, Keywords = {olit-oodb schema evolution (smc)}, Pages = {815--820}, Publisher = {North-Holland}, Title = {Schema Change Propagation in Object-oriented Databases}, Year = {1989} } @incollection{Nguy89b, Author = {G.T Nguyen and D. Rieu}, Booktitle = {Data and Knowledge Engineering}, Keywords = {olit-oodb schema evolution (smc)}, Pages = {43--67}, Publisher = {?}, Title = {Schema Evolution in Object-oriented Database Systems}, Volume = {4}, Year = {1989} } @inproceedings{Nguy92a, Address = {Utrecht, the Netherlands}, Author = {G.T. Nguyen and D. Rieu and J. Escamilla}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {233--251}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Object Model for Engineering Design}, Volume = {615}, Year = {1992} } @inproceedings{Nguy05a, Author = {Tien Nguyen and Ethan Munson and John Boyland}, Booktitle = {Internationl Conference on Software Engineering (ICSE 2005)}, Keywords = {evolution}, Pages = {215--224}, Publisher = {ACM Press}, Title = {An Infrastructure for Development of Object-Oriented, Multi-level Configuration Management Services}, Year = {2005} } @article{Ni05a, Address = {New York, NY, USA}, Author = {Yang Ni and Ulrich Kremer and Adrian Stere and Liviu Iftode}, Doi = {10.1145/1064978.1065040}, Issn = {0362-1340}, Journal = {SIGPLAN Notice}, Number = {6}, Pages = {249--260}, Publisher = {ACM Press}, Title = {Programming ad-hoc networks of mobile and resource-constrained devices}, Volume = {40}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1064978.1065040} } @article{Nico84a, Author = {Rocco de Nicola and Matthew Hennessy}, Journal = {Theoretical Computer Science}, Keywords = {pcalc equivalence ccs binder(ccs)}, Pages = {83--133}, Publisher = {North-Holland}, Title = {Testing Equivalences for Processes}, Volume = {34}, Year = {1984} } @article{Nico85a, Author = {Rocco de Nicola}, Journal = {Information and Control}, Keywords = {pcalc equivalence csp ccs binder(csp)}, Pages = {136--172}, Title = {Two Complete Axiom Systems for a Theory of Communicating Sequential Processes}, Volume = {64}, Year = {1985} } @article{Nico87a, Author = {Rocco De Nicola}, Journal = {Acta Informatica}, Keywords = {pcalc equivalence binder}, Pages = {211--237}, Title = {Extensional Equivalences for Transition Systems}, Volume = {24}, Year = {1987} } @inproceedings{Nico87b, Author = {Rocco de Nicola and Matthew Hennessy}, Booktitle = {Proceedings TAPSOFT '87}, Editor = {Ehrig and Kowalski and Levi and Montanari}, Keywords = {pcalc equivalence tapsoft87 tccs binder(ccs)}, Pages = {138--152}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{CCS} Without {\tau}s}, Volume = {249}, Year = {1987} } @article{Nico98a, Author = {Rocco de Nicola and Gian Luigi Ferrari and R. Pugliese}, Editor = {Catalin Roman and Ghezzi}, Journal = {IEEE Transactions on Software Engineering (Special Issue on Mobility and Network Aware Computing)}, Keywords = {concurrency agents mobility}, Title = {Klaim: a Kernel Language for Agents Interaction and Mobility}, Year = {1998} } @book{Nico02a, Author = {Jill Nicola and Mark Mayfield and Mike Abney}, Keywords = {scglib newentry}, Publisher = {Prentice Hall}, Title = {Streamlined Object Modeling}, Year = {2002} } @inproceedings{Niel89a, Address = {Eindhoven}, Author = {Flemming Nielson}, Booktitle = {Proceedings PARLE '89, Vol II}, Editor = {E. Odijk and J-C. Syre}, Keywords = {pcalc binder(conc)}, Month = jun, Pages = {357--373}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Typed Lambda-Calculus with First-Class Processes}, Volume = {366}, Year = {1989} } @article{Niel89b, Author = {Jakob Nielsen and John T. Richards}, Journal = {IEEE Software}, Number = {3}, Pages = {73--77}, Publisher = {IEEE Computer Society Press}, Title = {The {Experience} of {Learning} and {Using} {Smalltalk}}, Volume = {6}, Year = {1989} } @book{Niel03a, Author = {Nielsen, Jakob}, Citeulike-Article-Id= {634897}, Day = {23}, Edition = {1st}, Howpublished = {Paperback}, Isbn = {0125184069}, Keywords = {userstudy}, Month = sep, Posted-At = {2010-02-01 09:15:47}, Priority = {0}, Publisher = {Morgan Kaufmann}, Title = {Usability Engineering}, Url = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0125184069}, Year = {1993}, Bdsk-Url-1 = {http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0125184069} } @inproceedings{Niel93a, Author = {Flemming Nielson and Hanne Riis Nielsen}, Booktitle = {Proceedings of CONCUR '93}, Editor = {E. Best}, Keywords = {pcalc binder}, Pages = {493--508}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {From {CML} to Process Algebra}, Volume = {715}, Year = {1993} } @book{Niel96a, Address = {Linkoping, Sweden}, Editor = {Hanne Riis Nielson}, Isbn = {3-540-61055-3}, Keywords = {olit esop96 scglib}, Month = apr, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESOP}'96}, Volume = {1058}, Year = {1996} } @book{Niel93b, Author = {Jakob Nielsen}, Keywords = {oorp scglib}, Publisher = {Morgan Kaufmann}, Title = {Usability Engineering}, Year = {1999} } @book{Niel00a, Author = {Jakob Nielsen}, Keywords = {oorp scglib}, Publisher = {New Riders}, Title = {Designing Web Usability}, Year = {2000} } @book{Niel02a, Author = {Jacob Nielsen and Marie Tahir}, Keywords = {scglib}, Month = sep, Publisher = {New Riders}, Title = {Homepage Usability 50 Websites Deconstructed}, Year = {2002} } @book{Niel05a, Address = {Berlin, Germany}, Author = {Flemming Nielson and Hanne Riis Nielson and Chris Hankin}, Edition = {Second Edition}, Isbn = {3-540-65410-0}, Keywords = {scglib}, Publisher = {Springer-Verlag}, Title = {Principles of Program Analysis}, Year = {2005} } @mastersthesis{Nier81a, 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.}, Author = {Oscar Nierstrasz}, Keywords = {skip-doi oislit forms tla}, School = {Department of Computer Science, University of Toronto}, Title = {Automatic Coordination and Processing of Electronic Forms in {TLA}}, Type = {M.Sc. thesis}, Url = {http://scg.unibe.ch/archive/uoft/Nier81aMSc.pdf}, Year = {1981}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier81aMSc.pdf} } @techreport{Nier82a, 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.}, Author = {Oscar Nierstrasz and Dennis Tsichritzis}, Institution = {Computer Systems Research Group, University of Toronto}, Keywords = {oislit skip-doi mail modeling}, Number = {143}, Pages = {78--95}, Title = {Message Flow Modeling}, Type = {Alpha Beta, Technical Report}, Url = {http://scg.unibe.ch/archive/uoft/Nier82aMessageFlowModeling.pdf}, Year = {1982}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier82aMessageFlowModeling.pdf} } @techreport{Nier83a, 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.}, Author = {Oscar Nierstrasz and Dennis Tsichritzis}, Institution = {Computer Systems Research Group, University of Toronto}, Keywords = {oislit skip-doi mail modeling}, Number = {150}, Title = {Office Object Flow}, Type = {Beta Gamma, Technical Report}, Url = {http://scg.unibe.ch/archive/uoft/Nier83aOfficeObjectFlow.pdf}, Year = {1983}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier83aOfficeObjectFlow.pdf} } @inproceedings{Nier83b, 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.}, Address = {Ottawa}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and John Mooney and Kenneth J. Twaites}, Booktitle = {Proceedings of the Canadian Information Processing Society Conference}, Keywords = {olit-oopl skip-doi oz ois}, Month = may, Pages = {65--73}, Title = {Using Objects to Implement Office Procedures}, Url = {http://scg.unibe.ch/archive/uoft/Nier83bOz.pdf}, Year = {1983}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier83bOz.pdf} } @phdthesis{Nier84a, 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.}, Author = {Oscar Nierstrasz}, Keywords = {oislit skip-doi mail modeling}, Number = {CSRI Technical Report #165}, School = {Department of Computer Science, University of Toronto}, Title = {Message Flow Analysis}, Type = {{Ph.D}. Thesis}, Url = {http://scg.unibe.ch/archive/uoft/Nier84aPhD.pdf}, Year = {1984}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier84aPhD.pdf} } @incollection{Nier85a, 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.}, Address = {Heidelberg}, Author = {Oscar Nierstrasz}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {oislit skip-doi mail modeling (crete) oact85}, Pages = {283--314}, Publisher = {Springer-Verlag}, Title = {Message Flow Analysis}, Url = {http://scg.unibe.ch/archive/uoft/Nier85aMessageFlowAnalysis.pdf}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier85aMessageFlowAnalysis.pdf} } @article{Nier85b, 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}, Author = {Oscar Nierstrasz}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl skip-doi hybrid}, Month = dec, Number = {4}, Pages = {49--57}, Title = {Hybrid: {A} Unified Object-Oriented System}, Url = {http://scg.unibe.ch/archive/osg/Nier85bHybridUnified.pdf}, Volume = {8}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier85bHybridUnified.pdf} } @inproceedings{Nier85c, 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.}, Address = {Stockholm}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and Dennis Tsichritzis}, Booktitle = {Proceedings, Conference on Very Large Data Bases}, Keywords = {olit-oopl skip-doi hybrid oz ois knos vldb}, Month = aug, Pages = {335--345}, Title = {An Object-Oriented Environment for {OIS} Applications}, Url = {http://scg.unibe.ch/archive/osg/Nier85cOOEforOIS.pdf}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier85cOOEforOIS.pdf} } @incollection{Nier85d, 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.}, Address = {Heidelberg}, Author = {Oscar Nierstrasz}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {olit-oopl skip-doi oz (crete) oact85}, Pages = {167--190}, Publisher = {Springer-Verlag}, Title = {An Object-Oriented System}, Url = {http://scg.unibe.ch/archive/uoft/Nier85dOz.pdf}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Nier85dOz.pdf} } @inproceedings{Nier86a, 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.}, Address = {Renesse, the Netherlands}, Annote = {invited}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings of the CERN School of Computing}, Keywords = {olit skip-doi survey osg oat87}, Month = sep, Pages = {43--53}, Title = {What is the `Object' in Object-oriented Programming?}, Url = {http://scg.unibe.ch/archive/osg/Nier86aWhatIsTheObject.pdf}, Volume = {CERN 87-04}, Year = {1986}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier86aWhatIsTheObject.pdf} } @techreport{Nier87a, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit skip-doi survey osg oat87}, Month = mar, Pages = {183--206}, Title = {Object-oriented Issues: {A} Literature Review}, Type = {Objects and Things}, Url = {http://scg.unibe.ch/archive/osg/Nier87aOOIssuesLitReview.pdf}, Year = {1987}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier87aOOIssuesLitReview.pdf} } @techreport{Nier87b, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc skip-doi hybrid triggers deadlock osg oat87}, Month = mar, Pages = {43--78}, Title = {Triggering Active Objects}, Type = {Objects and Things}, Url = {http://scg.unibe.ch/archive/osg/Nier87bTriggeringObjects.pdf}, Year = {1987}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier87bTriggeringObjects.pdf} } @inproceedings{Nier87c, 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}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Doi = {10.1145/38765.38829}, Keywords = {olit-obcl hybrid triggers osg-ftp oopsla87 onhindex(168) oobib(obcp)}, Month = dec, Pages = {243--253}, Title = {Active Objects in Hybrid}, Url = {http://scg.unibe.ch/archive/osg/Nier87cActiveObjects.pdf}, Volume = {22}, Year = {1987}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier87cActiveObjects.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/38765.38829} } @techreport{Nier87d, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obcl skip-doi hybrid types osg oat87}, Month = mar, Pages = {15--42}, Title = {Hybrid --- {A} Language for Programming with Active Objects}, Type = {Objects and Things}, Url = {http://scg.unibe.ch/archive/osg/Nier87dHybrid.pdf}, Year = {1987}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier87dHybrid.pdf} } @techreport{Nier88a, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc skip-doi abacus osg aoe88}, Month = jun, Pages = {106--113}, Title = {Mapping Object Descriptions to Behaviours}, Type = {Active Object Environments}, Url = {http://scg.unibe.ch/archive/osg/Nier88aMappingObjects.pdf}, Year = {1988}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier88aMappingObjects.pdf} } @incollection{Nier89a, 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.}, Address = {Reading, Mass.}, Author = {Oscar Nierstrasz}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit survey skip-doi osg-ftp aoe88 oocda89 onhindex(150) oobib(gen)}, Pages = {3--21}, Publisher = {ACM Press and Addison Wesley}, Title = {A Survey of Object-Oriented Concepts}, Url = {http://scg.unibe.ch/archive/osg/Nier89aSurveyOfOOConcepts.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier89aSurveyOfOOConcepts.pdf} } @incollection{Nier89b, 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.}, Address = {Reading, Mass.}, Author = {Oscar Nierstrasz and Dennis Tsichritzis}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit-appl skip-doi survey osg-ftp aoe88 oocda89}, Pages = {199--215}, Publisher = {ACM Press and Addison Wesley}, Title = {Integrated Office Systems}, Url = {http://scg.unibe.ch/archive/osg/Nier89bIntegOfficeSystems.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier89bIntegOfficeSystems.pdf} } @inproceedings{Nier89c, 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}, Author = {Oscar Nierstrasz}, Booktitle = {ACM SIGPLAN Notices, Proceedings Workshop on Object-Based Concurrent Programming (San Diego, Sept 26-27, 1988)}, Doi = {10.1145/67386.67436}, Keywords = {olit-obc abacus obcp89}, Month = apr, Pages = {174--176}, Title = {Two Models of Concurrent Objects}, Url = {http://scg.unibe.ch/archive/osg/Nier89cTwoModels.pdf}, Volume = {24}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier89cTwoModels.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/67386.67436} } @incollection{Nier89d, 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.}, Author = {Oscar Nierstrasz}, Booktitle = {Les Mardis Objets du CRIN, CRIN 89-R-072}, Editor = {G. Masini and A. Napoli and D. Colnet and D. L\'eonard and K. Tombre}, Keywords = {olit-obcl skip-doi hybrid tour osg}, Pages = {237--248}, Publisher = {Centre de Recherche en Informatique de Nancy, Vandoeuvre-l\`es-Nancy}, Title = {A Tour of Hybrid}, Url = {http://scg.unibe.ch/archive/osg/Nier89dCRINTourOfHybrid.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier89dCRINTourOfHybrid.pdf} } @techreport{Nier89e, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {pcalc-obc skip-doi semantics abacus osg ood89}, Month = jul, Pages = {247--275}, Title = {Abacus: a Notation for Describing Concurrent Computations}, Type = {Object Oriented Development}, Url = {http://scg.unibe.ch/archive/osg/Nier89eAbacusNotation.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier89eAbacusNotation.pdf} } @techreport{Nier90a, 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.}, Author = {Oscar Nierstrasz and Laurent Dami and Vicki de Mey and Marc Stadelmann and Dennis Tsichritzis and Jan Vitek}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca skip-doi scripting vst vista osg-ftp om90}, Month = jul, Pages = {315--331}, Title = {Visual Scripting --- Towards Interactive Construction of Object-Oriented Applications}, Type = {Object Management}, Url = {http://scg.unibe.ch/archive/osg/Nier90aVisualScripting.pdf}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier90aVisualScripting.pdf} } @inproceedings{Nier90b, 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}, Author = {Oscar Nierstrasz and Michael Papathomas}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Doi = {10.1145/97945.97952}, Keywords = {olit-obc semantics abacus oopsla90 ecoop90proc onhindex(70) osg-ftp om90}, Month = oct, Pages = {38--43}, Title = {Viewing Objects as Patterns of Communicating Agents}, Url = {http://scg.unibe.ch/archive/osg/Nier90bObjectsAsPatterns.pdf}, Volume = {25}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier90bObjectsAsPatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/97945.97952} } @techreport{Nier90c, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {pcalc-obc skip-doi semantics abacus osg om90}, Month = jul, Pages = {267--293}, Title = {A Guide to Specifying Concurrent Behaviour with Abacus}, Type = {Object Management}, Url = {http://scg.unibe.ch/archive/osg/Nier90cAbacusGuide.pdf}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier90cAbacusGuide.pdf} } @techreport{Nier91a, 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.}, Author = {Oscar Nierstrasz}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca skip-doi osg vista}, Month = dec, Title = {The {ADL} Scripting Model and Component Set}, Type = {ITHACA.-CUI.-91.-Vista.#6.1}, Url = {http://scg.unibe.ch/archive/osg/Nier91aADLscripting.pdf}, Year = {1991}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier91aADLscripting.pdf} } @inproceedings{Nier91b, 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.}, Address = {Dordrecht, NL}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and Dennis Tsichritzis and Vicki de Mey and Marc Stadelmann}, Booktitle = {Proceedings, Esprit 1991 Conference}, Keywords = {olit-ithaca skip-doi vista scripting osg-ftp oc91 onhindex(56) ithaca-final}, Pages = {534--552}, Publisher = {Kluwer Academic Publishers}, Title = {Objects + Scripts = Applications}, Url = {http://scg.unibe.ch/archive/osg/Nier91bObjectsPlusScripts.pdf}, Year = {1991}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier91bObjectsPlusScripts.pdf} } @techreport{Nier91c, 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.}, Author = {Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc skip-doi hybrid abacus scol osg oc91}, Month = jun, Pages = {165--187}, Title = {The Next 700 Concurrent Object-Oriented Languages --- Reflections on the Future of Object-Based Concurrency}, Type = {Object Composition}, Url = {http://scg.unibe.ch/archive/osg/Nier93eCompActiveObjects.pdf}, Year = {1991}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier93eCompActiveObjects.pdf} } @inproceedings{Nier91d, 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}, Author = {Oscar Nierstrasz and Michael Papathomas}, Booktitle = {ACM OOPS Messenger, Proceedings OOPSLA/ECOOP 90 Workshop on Object-Based Concurrent Systems}, Doi = {10.1145/127056.127092}, Keywords = {olit-obc pcalc equivalence semantics abacus osg-ftp om90 obc90}, Month = apr, Pages = {89--93}, Title = {Towards a Type Theory for Active Objects}, Url = {http://scg.unibe.ch/archive/osg/Nier91dTypedActiveObjects.pdf}, Volume = {2}, Year = {1991}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier91dTypedActiveObjects.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/127056.127092} } @inproceedings{Nier92a, 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}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Doi = {10.1007/3-540-55613-3_1}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Isbn = {3-540-55613-3}, Keywords = {pcalc-obc mobility oc obc91 of92 osg-ftp-book onhindex(88)}, Pages = {1--20}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards an Object Calculus}, Url = {http://scg.unibe.ch/archive/osg/Nier92aAnObjectCalculus.pdf}, Volume = 612, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier92aAnObjectCalculus.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-55613-3_1} } @article{Nier92b, 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}, Author = {Oscar Nierstrasz and Simon Gibbs and Dennis Tsichritzis}, Doi = {10.1145/130994.131005}, Journal = {Communications of the ACM}, Keywords = {olit-ithaca osg-ftp of92 ithaca-final onhindex(180)}, Month = sep, Number = {9}, Pages = {160--165}, Title = {Component-Oriented Software Development}, Url = {http://scg.unibe.ch/archive/osg/Nier92bCOSD.pdf}, Volume = {35}, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier92bCOSD.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/130994.131005} } @incollection{Nier92c, 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.}, Author = {Oscar Nierstrasz}, Booktitle = {Advances in Object-Oriented Software Engineering}, Editor = {D. Mandrioli and B. Meyer}, Keywords = {olit-obcl skip-doi hybrid tour osg-ftp}, Pages = {167--182}, Publisher = {Prentice-Hall}, Title = {A Tour of Hybrid --- {A} Language for Programming with Active Objects}, Url = {http://scg.unibe.ch/archive/osg/Nier92cTourOfHybrid.pdf}, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier92cTourOfHybrid.pdf} } @inproceedings{Nier93a, 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).}, Address = {Versailles}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and Dimitri Konstantas and Klaus Dittrich and Dirk Jonscher}, Booktitle = {Proceedings, AFCET '93 --- Vers des Syst\`emes d'Information Flexibles}, Keywords = {olit skip-doi chassis osg afcet93}, Misc = {June 8-10}, Month = jun, Note = {In French}, Pages = {153--161}, Title = {{CHASSIS} --- Une Plate-forme pour la Construction de Syst\`emes d'Information Ouverts}, Url = {http://scg.unibe.ch/archive/osg/Nier93aChassis.pdf}, Year = {1993}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier93aChassis.pdf} } @techreport{Nier93b, 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).}, Author = {Oscar Nierstrasz and Dimitri Konstantas and Klaus Dittrich and Dirk Jonscher}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit skip-doi chassis osg-ftp afcet93 vo93}, Month = jul, Note = {English version of "CHASSIS --- Une Plate-forme pour la Construction de Syst\`emes d'Information Ouverts"}, Pages = {237--247}, Title = {{CHASSIS} --- {A} Platform for Constructing Open Information Systems}, Type = {Visual Objects}, Url = {http://scg.unibe.ch/archive/osg/Nier93bChassis.pdf}, Year = {1993}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier93bChassis.pdf} } @book{Nier93c, Address = {Kaiserslautern, Germany}, Editor = {Oscar Nierstrasz}, Isbn = {3-540-57120-5}, Keywords = {olit ecoop93proc scglib}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ECOOP}'93}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Nier93d, 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}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Doi = {10.1145/165854.167976}, Keywords = {olit-obc pcalc equivalence types osg-ftp oopsla93 vo93 rtao onhindex(399)}, Month = oct, Pages = {1--15}, Title = {Regular Types for Active Objects}, Url = {http://scg.unibe.ch/archive/osg/Nier95dRegularTypes.pdf}, Volume = {28}, Year = {1993}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier95dRegularTypes.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/165854.167976} } @incollection{Nier93e, 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.}, Author = {Oscar Nierstrasz}, Booktitle = {Research Directions in Concurrent Object-Oriented Programming}, Editor = {G. Agha and P. Wegner and A. Yonezawa}, Keywords = {olit-obc skip-doi pcalc hybrid oc scol osg-ftp onhindex(64) omnrep}, Pages = {151--171}, Publisher = {MIT Press}, Title = {Composing Active Objects --- The Next 700 Concurrent Object-Oriented Languages}, Url = {http://scg.unibe.ch/archive/osg/Nier93eCompActiveObjects.pdf}, Year = {1993}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Nier93eCompActiveObjects.pdf} } @incollection{Nier95a, 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.}, Author = {Oscar Nierstrasz and Theo Dirk Meijler}, Booktitle = {Object-Based Models and Langages for Concurrent Systems}, Doi = {10.1007/3-540-59450-7_9}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Isbn = {978-3-540-59450-5}, Keywords = {olit scg-pub snf95 racl OBM94-09 jb94 scg-coord-old onhindex(117)}, Pages = {147--161}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Requirements for a Composition Language}, Url = {http://scg.unibe.ch/archive/papers/Nier95aReqtsForaCompLang.pdf}, Volume = 924, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier95aReqtsForaCompLang.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-59450-7_9} } @book{Nier95b, 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.}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Isbn = {0-13-220674-9}, Keywords = {olit-obc osg skip-doi scg-pub toBeChecked snf95 book scglib jb94 jb95 onhindex(211)}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Software Composition}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @incollection{Nier95c, 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.}, Author = {Oscar Nierstrasz and Laurent Dami}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC01 scg-pub skip-doi toBeChecked snf95 onhindex(149) jb94 sclit omnrep}, Pages = {3--28}, Publisher = {Prentice-Hall}, Title = {Component-Oriented Software Technology}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @incollection{Nier95d, 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.}, Author = {Oscar Nierstrasz}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit-obc osg OOSC04 scg-pub skip-doi toBeChecked snf95 rtao jb94 omnrep}, Pages = {99--121}, Publisher = {Prentice-Hall}, Title = {Regular Types for Active Objects}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @article{Nier95e, 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}, Author = {Oscar Nierstrasz and Theo Dirk Meijler}, Doi = {10.1145/210376.210389}, Journal = {ACM Computing Surveys}, Keywords = {olit scg-pub toBeChecked snf95 jb95 scg-coord-old onhindex(132)}, Month = jun, Number = {2}, Pages = {262--264}, Title = {Research Directions in Software Composition}, Url = {http://scg.unibe.ch/archive/papers/Nier95eResearchDirections.pdf}, Volume = {27}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier95eResearchDirections.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/210376.210389} } @inproceedings{Nier95f, 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.}, Address = {Nancy}, Annote = {internationalconference}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings, Langages et Mod\`eles \`a Objets}, Keywords = {olit scg-pub skip-doi toBeChecked snf95 jb95 scg-coord-old}, Month = oct, Pages = {193--204}, Title = {Research Topics in Software Composition}, Url = {http://scg.unibe.ch/archive/papers/Nier95fResearchTopics.pdf}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier95fResearchTopics.pdf} } @inproceedings{Nier96a, 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}, Author = {Oscar Nierstrasz and Jean-Guy Schneider and Markus Lumpe}, Booktitle = {Proceedings 1st IFIP Workshop on Formal Methods for Open Object-based Distributed Systems FMOODS '96}, Keywords = {olit scg-pub skip-doi snf96 jb96 scg-coord-old fmoods96}, Pages = {271--282}, Publisher = {Chapmann \& Hall}, Title = {Formalizing Composable Software Systems --- {A} Research Agenda}, Url = {http://scg.unibe.ch/archive/papers/Nier96aCompositionResearch.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier96aCompositionResearch.pdf} } @article{Nier97a, 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}, Author = {Oscar Nierstrasz and Markus Lumpe}, Journal = {HMD --- Theorie und Praxis der Wirtschaftsinformatik}, Keywords = {scg-pub skip-doi olit snf97 jb97}, Month = sep, Pages = {8--23}, Title = {Komponenten, Komponentenframeworks und Gluing}, Url = {http://scg.unibe.ch/archive/papers/Nier97aKomponentenUndGluing.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier97aKomponentenUndGluing.pdf} } @techreport{Nier98a, 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.}, Author = {Oscar Nierstrasz}, Institution = {Washington University}, Keywords = {snf-none olit scg-pub skip-doi jb98}, Number = {\#WUCS-98-25}, Title = {Identify the Champion}, Type = {Proceedings of PLoP 98, TR}, Url = {http://scg.unibe.ch/download/champion/champion.pdf http://scg.unibe.ch/download/champion/index.html}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/download/champion/champion.pdf%20http://scg.unibe.ch/download/champion/index.html} } @inproceedings{Nier98b, 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}, Author = {Oscar Nierstrasz and Sander Tichelaar and Serge Demeyer}, Booktitle = {OOPSLA '98 Workshop on Model Engineering, Methods and Tools Integration with CDIF}, Keywords = {olit famoos-papunr scg-pub skip-doi sergedem-papunr tich-papunr snf98 jb98 moose-pub}, Month = oct, Title = {{CDIF} as the Interchange Format between Reengineering Tools}, Url = {http://scg.unibe.ch/archive/papers/Nier98bCDIFasReengFormat.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier98bCDIFasReengFormat.pdf} } @book{Nier99b, Address = {Toulouse, France}, Editor = {Oscar Nierstrasz and Michel Lemoine}, Isbn = {3-540-66538-2}, Keywords = {olit esec99 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESEC}/{FSE}'99}, Url = {http://link.springer.de/link/service/series/0558/tocs/t1687.htm}, Volume = {1687}, Year = {1999}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t1687.htm} } @inproceedings{Nier00a, 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}, Author = {Oscar Nierstrasz}, Booktitle = {Pattern Languages of Program Design}, Editor = {N. Harrison and B. Foote and H. Rohnert}, Keywords = {olit scg-pub skip-doi jb98 snf99 jb00}, Pages = {539--556}, Publisher = {Addison Wesley}, Title = {Identify the Champion}, Url = {http://scg.unibe.ch/download/champion/champion.pdf http://scg.unibe.ch/archive/papers/Nier00aIdentifyTheChampion.pdf http://scg.unibe.ch/download/champion/index.html}, Volume = {4}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/download/champion/champion.pdf%20http://scg.unibe.ch/archive/papers/Nier00aIdentifyTheChampion.pdf%20http://scg.unibe.ch/download/champion/index.html} } @inproceedings{Nier00b, 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.}, Address = {Kanazawa, Japan}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and Franz Achermann}, Booktitle = {Proceedings International Symposium on Principles of Software Evolution (ISPSE 2000)}, Doi = {10.1109/ISPSE.2000.913216}, Keywords = {snf01 scg-pub piccola mixin-layers jb00 scg-coord-00}, Misc = {Nov 1-2}, Month = nov, Pages = {11--19}, Publisher = {IEEE}, Title = {{Supporting Compositional Styles for Software Evolution}}, Url = {http://scg.unibe.ch/archive/papers/Nier00bSCS.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier00bSCS.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ISPSE.2000.913216} } @inproceedings{Nier00c, 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}, Author = {Oscar Nierstrasz and Jean-Guy Schneider and Franz Achermann}, Booktitle = {ECOOP 2000 Workshop on Component-Oriented Programming}, Keywords = {oobib(gen) piccola scg-pub skip-doi snf00 jb00 scg-coord-00}, Title = {Agents Everywhere, All the Time}, Url = {http://scg.unibe.ch/archive/papers/Nier00cAgentsEverywhere.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier00cAgentsEverywhere.pdf} } @inproceedings{Nier00d, 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}, Author = {Oscar Nierstrasz and Franz Achermann}, Booktitle = {ECOOP 2000 Workshop on Aspects \& Dimensions of Concerns}, Keywords = {oobib(gen) piccola scg-pub skip-doi snf00 jb00 scg-coord-00}, Title = {Separation of Concerns through Unification of Concepts}, Url = {http://scg.unibe.ch/archive/papers/Nier00dSeparationOfConcerns.pdf http://trese.cs.utwente.nl/Workshops/adc2000/}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier00dSeparationOfConcerns.pdf%20http://trese.cs.utwente.nl/Workshops/adc2000/} } @techreport{Nier01a, Author = {J\"org Niere and J\"org P. Wadsack and Lothar Wendehals}, Institution = {Software Engineering Group, Department of Mathematics and Computer Science, University of Paderborn, Paderborn, Germany}, Title = {Design pattern recovery based on source code analysis with fuzzy logic}, Type = {tr-ri-01-222}, Year = {2001} } @inproceedings{Nier02a, 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.}, Address = {Berlin, Germany}, Annote = {internationalconference}, 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}, Booktitle = {Proceedings First International IFIP/ACM Working Conference on Component Deployment}, Keywords = {scg-pub skip-doi jb02 pecos stefPub arevalo onhindex(82)}, Month = jun, Pages = {200--209}, Publisher = {ACM}, Title = {A Component Model for Field Devices}, Url = {http://scg.unibe.ch/archive/papers/Nier02aPecosModel.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier02aPecosModel.pdf} } @inproceedings{Nier02b, 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.}, Address = {Venice, Italy}, Annote = {invited}, Author = {Oscar Nierstrasz}, Booktitle = {Proceedings Radical Innovations of Software and Systems Engineering in the Future}, Keywords = {scg-pub skip-doi jb02 snf02 rissef}, Month = oct, Note = {preprint}, Title = {Software Evolution as the Key to Productivity}, Url = {http://scg.unibe.ch/archive/papers/Nier02bEvolution.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier02bEvolution.pdf} } @inproceedings{Nier02c, Author = {J{\"{o}}rg Niere and Wilhelm Sch{\"{a}}fer and J\"urg P. Wadsack and Lothar Wendehals and Jim Welsh}, Booktitle = {Proceedings of ICSE '02 (24th International Conference on Software Engineering)}, Doi = {10.1145/581339.581382}, Isbn = {1-58113-472-X}, Keywords = {parseError design-recovery}, Location = {Orlando, Florida}, Pages = {338--348}, Publisher = {ACM Press}, Title = {Towards pattern-based design recovery}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581382} } @techreport{Nier03a, 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.}, Address = {Universit\"at Bern, Switzerland}, Author = {Oscar Nierstrasz and Franz Achermann and Stefan Kneub\"uhl}, Cvs = {jpiccola/PiccolaGuide}, Institution = {Institut f\"ur Informatik}, Keywords = {snf03 scg-pub skip-doi jb03 piccola}, Month = jun, Number = {IAM-03-003}, Title = {A Guide to {JP}iccola}, Type = {Technical Report}, Url = {http://scg.unibe.ch/research/piccola http://scg.unibe.ch/archive/papers/Nier03aJPiccolaGuide.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/research/piccola%20http://scg.unibe.ch/archive/papers/Nier03aJPiccolaGuide.pdf} } @techreport{Nier03b, 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.}, Address = {University of Bern, Switzerland}, Author = {Oscar Nierstrasz}, Institution = {Institute of Computer Science}, Keywords = {snf03 scg-pub skip-doi piccola jb03}, Number = {IAM-03-004}, Title = {Contractual Types}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Nier03bcontractualTypes.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier03bcontractualTypes.pdf} } @inproceedings{Nier03c, 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}, Author = {Oscar Nierstrasz and Franz Achermann}, Booktitle = {FMCO 2002 Proceedings}, Cvs = {PiccolaFMCO}, Doi = {10.1007/b14033}, Editor = {F. S. De Boer, M. M. Bonsangue, S. Graf and W-P. de Roever}, Isbn = {978-3-540-20303-2}, Keywords = {snf04 scg-pub piccola jb04}, Pages = {339--360}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Calculus for Modeling Software Components}, Url = {http://scg.unibe.ch/archive/papers/Nier03cPiccolaCalculus.pdf}, Volume = {2852}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier03cPiccolaCalculus.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b14033} } @inproceedings{Nier04a, 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}, Author = {Oscar Nierstrasz}, Booktitle = {Radical Innovations of Software and Systems Engineering in the Future}, Cvs = {RadicalInnovation}, Doi = {10.1007/b96009}, Editor = {M. Wirsing, A. Knapp and S. Balsamo}, Isbn = {978-3-540-21179-2}, Keywords = {scg-pub jb04 snf04 rissef}, Pages = {274--282}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Software Evolution as the Key to Productivity}, Url = {http://scg.unibe.ch/archive/papers/Nier04aEvolution.pdf}, Volume = {2941}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier04aEvolution.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b96009} } @inproceedings{Nier04b, 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}, Author = {Oscar Nierstrasz}, Booktitle = {International Symposium on Component-Based Software Engineering (CBSE) 2004}, Cvs = {SCG-CBSE7Abstract}, Doi = {10.1007/b97813}, Editor = {I. Crnkovic and J.A. Stafford and H.W. Schmidt and K. Wallnau}, Isbn = {978-3-540-21998-9}, Keywords = {scg-pub jb04 snf04 cbse7}, Note = {Extended abstract of an invited talk}, Pages = {1--4}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Putting Change at the Center of the Software Process}, Url = {http://scg.unibe.ch/archive/papers/Nier04bChange.pdf}, Volume = {3054}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier04bChange.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b97813} } @article{Nier04c, 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}, Author = {Oscar Nierstrasz and St\'ephane Ducasse}, Cvs = {ERCIM_ASE}, Journal = {European Research Consortium for Informatics and Mathematics (ERCIM) News}, Keywords = {scg-pub skip-doi jb04 stefPub recast04 moose-pub}, Month = jul, Pages = {24--25}, Title = {Moose--a Language-Independent Reengineering Environment}, Url = {http://www.ercim.org/publication/Ercim_News/enw58/nierstrasz.html}, Volume = {58}, Year = {2004}, Bdsk-Url-1 = {http://www.ercim.org/publication/Ercim_News/enw58/nierstrasz.html} } @inproceedings{Nier04d, 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}, Author = {Oscar Nierstrasz and Marcus Denker}, Booktitle = {OOPSLA Workshop on Revival of Dynamic Languages}, Cvs = {RDLchange}, Keywords = {snf05 scg-pub skip-doi jb05}, Month = oct, Title = {Supporting Software Change in the Programming Language}, Url = {http://scg.unibe.ch/archive/papers/Nier04dRDLchange.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier04dRDLchange.pdf} } @incollection{Nier05a, 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.}, Author = {Oscar Nierstrasz and Franz Achermann}, Booktitle = {Aspect-Oriented Software Development}, Cvs = {PiccolaAOSDbook}, Editor = {Robert E. Filman and Tzilla Elrad and Siobh\'an Clarke and Mehmet Aksit}, Isbn = {0-321-21976-7}, Keywords = {snf04 scg-pub skip-doi jb05}, Pages = {243--259}, Publisher = {Addison-Wesley}, Title = {Separating Concerns with First-Class Namespaces}, Url = {http://scg.unibe.ch/archive/papers/Nier05aNamespaces.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05aNamespaces.pdf} } @inproceedings{Nier05b, 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.}, Aeres = {INV}, Annote = {invited}, Author = {Oscar Nierstrasz and Alexandre Bergel and Marcus Denker and St\'ephane Ducasse and Markus Gaelli and Roel Wuyts}, Booktitle = {Proceedings of Software Composition 2005}, Cvs = {SC05Revival}, Doi = {10.1007/11550679_1}, Editor = {Thomas Gschwind and Uwe A{\ss}mann}, Inria = {hors}, Isbn = {3-540-28748-5}, Keywords = {snf05 snf-actsc scg-pub jb06 gaelli}, Misc = {gaelli}, Note = {Invited paper}, Pages = {1--13}, Publisher = {LNCS 3628}, Title = {On the Revival of Dynamic Languages}, Url = {http://scg.unibe.ch/archive/papers/Nier05bRevival.pdf}, Volume = {3628}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05bRevival.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11550679_1} } @inproceedings{Nier05c, 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.}, Address = {New York NY}, Aeres = {INV}, Aeresstatus = {aeres08}, Annote = {invited}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Tudor G\^irba}, Booktitle = {Proceedings of the European Software Engineering Conference (ESEC/FSE'05)}, Cvs = {MOOSE-ESEC05}, Doi = {10.1145/1095430.1081707}, Inria = {hors}, Isbn = {1-59593-014-0}, Keywords = {hasler07 girba stefPub recast06 scg-pub jb06 onhindex(81) mooseCincom moose-pub snf-actsc snf-bmcc norex06}, Note = {Invited paper}, Pages = {1--10}, Publisher = {ACM Press}, Title = {The Story of {Moose}: an Agile Reengineering Environment}, Url = {http://scg.unibe.ch/archive/papers/Nier05cStoryOfMoose.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05cStoryOfMoose.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1095430.1081707} } @inproceedings{Nier05d, 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.}, Aeres = {INV}, Aeresstatus = {aeres08}, Annote = {invited}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Serge Demeyer}, Booktitle = {Proceedings of Generative Programming and Component Engineering (GPCE 2005)}, Cvs = {GPCE05ReengPatterns}, Doi = {10.1007/11561347_1}, Editor = {Robert Gl\"uck, Michael Lowry}, Inria = {hors}, Isbn = {3-540-29138-5}, Keywords = {stefPub recast06 scg-pub jb06}, Note = {Invited paper}, Pages = {1--9}, Publisher = {LNCS 3676}, Title = {Object-oriented Reengineering Patterns --- an Overview}, Url = {http://scg.unibe.ch/archive/papers/Nier05dReengineeringPatterns.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05dReengineeringPatterns.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11561347_1} } @techreport{Nier05e, 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}.}, Address = {Universit\"at Bern, Switzerland}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Nathanael Sch\"arli}, Cvs = {TraitFlatteningTR}, Institution = {Institut f\"ur Informatik}, Keywords = {scg-pub skip-doi scg-rotor traits jb06 snf05 jot stefPub}, Month = apr, Number = {IAM-05-005}, Title = {Flattening {Traits}}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Nier05eFlatteningTraitsTR.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05eFlatteningTraitsTR.pdf} } @article{Nier05f, 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.}, Aeres = {INV}, Aeresstatus = {aeres08}, Annote = {invited}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Serge Demeyer}, Inria = {hors}, Journal = {ObjektSpektrum}, Keywords = {stefPub recast06 scg-pub skip-doi jb06}, Note = {German translation of ``Object-oriented Reengineering Patterns --- an Overview'' (GPCE 05)}, Number = {6}, Pages = {46--51}, Title = {Objektorientierte Re-Engineering-Muster: ein \"{U}berblick}, 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://scg.unibe.ch/archive/papers/Nier05fOORM.pdf}, Volume = {2005}, Year = {2005}, Bdsk-Url-1 = {http://www.sigs-datacom.de/sd/publications/pub_article_show.htm?&AID=1713&TABLE=sd_article%20http://www.sigs.de/publications/os/2005/06/demeyer_nierstrasz_OS_06_05.pdf%20http://scg.unibe.ch/archive/papers/Nier05fOORM.pdf} } @techreport{Nier05g, 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++.}, Address = {Universit\"at Bern, Switzerland}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Stefan Reichhart and Nathanael Sch\"arli}, Cvs = {TraitsCSharp}, Institution = {Institut f\"ur Informatik}, Keywords = {scg-pub skip-doi scg-rotor traits jb06 snf05 stefPub}, Month = dec, Number = {IAM-05-006}, Title = {Adding {Traits} to (Statically Typed) Languages}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Nier05gTraitsCSharp.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier05gTraitsCSharp.pdf} } @article{Nier06a, 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}.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Oscar Nierstrasz and St\'ephane Ducasse and Nathanael Sch\"arli}, Cached = {http://scg.unibe.ch/archive/papers/Nier06aFlatteningTraits.pdf}, Cvs = {TraitFlatteningJOT}, Inria = {hors}, Journal = {Journal of Object Technology}, Keywords = {scg-pub skip-doi scg-rotor traits jb06 fb06 snf05 snf06 jot stefPub}, Medium = {2}, Misc = {May-June}, Month = may, Number = {4}, Pages = {129--148}, Peerreview = {yes}, Selectif = {non}, Title = {Flattening {Traits}}, Doi = {10.5381/jot.2006.5.4.a4}, Url = {http://www.jot.fm/contents/issue_2006_05/article4.html http://www.jot.fm/issues/issue_2006_05/article4.pdf}, Volume = {5}, Year = {2006}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2006_05/article4%20http://www.jot.fm/issues/issue_2006_05/article4.pdf} } @inproceedings{Nier06b, 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}, Author = {Oscar Nierstrasz and Marcus Denker and Tudor G{\^\i}rba and Adrian Lienhard}, Booktitle = {Proceedings of the Workshop on Revival of Dynamic Languages (co-located with ECOOP'06)}, Cvs = {RDL06ACTSC}, Keywords = {girba snf06 scg-pub skip-doi jb06 fb06}, Medium = {2}, Month = jul, Peerreview = {yes}, Title = {Analyzing, Capturing and Taming Software Change}, Url = {http://scg.unibe.ch/archive/papers/Nier06bRDL06ACTSC.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier06bRDL06ACTSC.pdf} } @book{Nier06c, Address = {Genoa, Italy}, Doi = {10.1007/11880240}, Editor = {Oscar Nierstrasz and Jon Whittle and David Harel and Gianna Reggio}, Isbn = {0302-9743}, Keywords = {olit models skip-abstract scg-pub snf-none jb07 fb06}, Month = oct, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {MoDELS} 2006}, Url = {http://www.springeronline.com/3-540-45772-0 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=4199&issue=preprint}, Volume = {4199}, Year = {2006}, Bdsk-Url-1 = {http://www.springeronline.com/3-540-45772-0%20http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=4199&issue=preprint}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11880240} } @inproceedings{Nier07a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Oscar Nierstrasz and Markus Kobel and Tudor G\^irba and Michele Lanza and Horst Bunke}, Booktitle = {Proceedings of Conference on Software Maintenance and Reengineering (CSMR 2007)}, Doi = {10.1109/CSMR.2007.23}, Keywords = {scg07 hasler07 scg-pub jb07 snf07 norex07 girba moose-pub}, Medium = {2}, Misc = {acceptance rate: 33/62 = 52\%}, AcceptTotal = {62}, AcceptNum = {33}, Pages = {275--286}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Example-Driven Reconstruction of Software Models}, Url = {http://scg.unibe.ch/archive/papers/Nier07aExampleDrivenMR.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier07aExampleDrivenMR.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/CSMR.2007.23} } @inproceedings{Nier07b, Abstract = {Software systems must change to remain useful. Current programming languages and support environments, however, treat software systems as though they were static, unchanging, and globally consistent. We argue in favour of a more dynamic approach in which complex software systems can seen as a set of overlapping and constantly changing contexts. We report on some initial research activities pointing in this direction, and we lay out our vision for modeling and managing change as a first-class entity.}, Address = {Washington, DC, USA}, Annote = {talk abstract}, Author = {Oscar Nierstrasz}, Booktitle = {ASWEC '07: Proceedings of the 2007 Australian Software Engineering Conference}, Doi = {10.1109/ASWEC.2007.32}, Isbn = {0-7695-2778-7}, Keywords = {scg-misc jb-none}, Note = {abstract of invited talk}, Pages = {3}, Publisher = {IEEE Computer Society}, Title = {Modeling Change as a First-Class Entity}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASWEC.2007.32} } @techreport{Nier08a, Abstract = {Few real software systems are built completely from scratch nowadays. Instead, systems are built iteratively and incrementally, while integrating and interacting with components from many other systems. These systems also last longer than their developers might imagine --- they are, in effect, eternal. Nevertheless the platforms, tools and environments we use to develop software are still largely based on an outmoded model that presupposes that software systems are closed and will not significantly evolve after deployment. We claim that in order to enable effective and graceful evolution of eternal systems, we must make them self-aware. A self-aware eternal system supports evolution by: (i) providing explicit, first-class models of software artifacts, change and history at the level of the platform, (ii) continuously analysing static and dynamic evolution to track emergent properties, and (iii) closing the gap between the domain model and the developers' view of the evolving system. We outline our vision of self-aware eternal systems and identify the research challenges to realizing this vision.}, Annote = {report notrefereed}, Author = {Oscar Nierstrasz and Marcus Denker and Tudor G\^irba and Adrian Kuhn and Adrian Lienhard and David R{\"o}thlisberger}, Institution = {University of Bern, Institute of Applied Mathematics and Computer Sciences}, Keywords = {scg-pub jb08 snf08 skip-doi girba roethlisberger akuhn}, Number = {IAM-08-001}, Title = {Self-aware, Evolving Eternal Systems}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Nier08aSelfAwareEternal.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier08aSelfAwareEternal.pdf} } @incollection{Nier08b, Abstract = {Few real software systems are built completely from scratch nowadays. Instead, systems are built iteratively and incrementally, while integrating and interacting with components from many other systems. Adaptation, reconfiguration and evolution are normal, ongoing processes throughout the lifecycle of a software system. Nevertheless the platforms, tools and environments we use to develop software are still largely based on an outmoded model that presupposes that software systems are closed and will not significantly evolve after deployment. We claim that in order to enable effective and graceful evolution of modern software systems, we must make these systems more amenable to change by (i) providing explicit, first-class models of software artifacts, change, and history at the level of the platform, (ii) continuously analysing static and dynamic evolution to track emergent properties, and (iii) closing the gap between the domain model and the developers' view of the evolving system. We outline our vision of dynamic, evolving software systems and identify the research challenges to realizing this vision.}, Author = {Oscar Nierstrasz and Marcus Denker and Tudor G\^irba and Adrian Lienhard and David R\"othlisberger}, Booktitle = {Challenges for Software-Intensive Systems and New Computing Paradigms}, Doi = {10.1007/978-3-540-89437-7_3}, Editor = {Martin Wirsing and Jean-Pierre Ban\^atre and Matthias H\"olzl}, Isbn = {978-3-540-89436-0}, Keywords = {scg08 scg-pub snf09 jb09 hasler09 girba cop-lit roethlisberger}, Medium = {2}, Pages = {64-79}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Change-Enabled Software Systems}, Url = {http://scg.unibe.ch/archive/papers/Nier08bChangeEnabledSoftware.pdf}, Volume = {5380}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier08bChangeEnabledSoftware.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-89437-7_3} } @incollection{Nier09a, Abstract = {Software must be constantly adapted to changing requirements. The time scale, abstraction level and granularity of adaptations may vary from short-term, fine-grained adaptation to long-term, coarse-grained evolution. Fine-grained, dynamic and context-dependent adaptations can be particularly difficult to realize in long-lived, large-scale software systems. We argue that, in order to effectively and efficiently deploy such changes, adaptive applications must be built on an infrastructure that is not just model-driven, but is both model-centric and context-aware. Specifically, this means that high-level, causally-connected models of the application and the software infrastructure itself should be available at run-time, and that changes may need to be scoped to the run-time execution context. We first review the dimensions of software adaptation and evolution, and then we show how model-centric design can address the adaptation needs of a variety of applications that span these dimensions. We demonstrate through concrete examples how model-centric and context-aware designs work at the level of application interface, programming language and runtime. We then propose a research agenda for a model-centric development environment that supports dynamic software adaptation and evolution.}, Author = {Oscar Nierstrasz and Marcus Denker and Lukas Renggli}, Booktitle = {Software Engineering for Self-Adaptive Systems}, Doi = {10.1007/978-3-642-02161-9_7}, Editor = {Betty H.C. Cheng and Rogerio de Lemos and Holger Giese and Paola Inverardi and Jeff Magee}, Keywords = {scg09 scg-pub diesel helvetia reflectivity snf09 jb09}, Medium = {2}, Pages = {128-145}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Model-Centric, Context-Aware Software Adaptation}, Url = {http://scg.unibe.ch/archive/papers/Nier09aModelCentric.pdf}, Volume = {5525}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier09aModelCentric.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-02161-9_7} } @proceedings{Nier09b, Address = {New York, NY, USA}, Editor = {Oscar Nierstrasz}, Isbn = {978-1-60558-707-3}, Keywords = {scg09 scg-pub snf09 jb10 skip-doi skip-abstract}, Location = {Amsterdam, The Netherlands}, Medium = {1}, Order_No = {594094}, Peerreview = {yes}, Publisher = {ACM}, Title = {{CASTA} '09: Proceedings of the first international workshop on {Context}-{Aware} {Software} {Technology} and {Applications}}, Url = {http://portal.acm.org/toc.cfm?id=1595768 http://casta.unibe.ch}, Year = {2009}, Bdsk-Url-1 = {http://portal.acm.org/toc.cfm?id=1595768%20http://casta.unibe.ch} } @inproceedings{Nier10a, Abstract = {The biggest challenge facing software developers today is how to gracefully evolve complex software systems in the face of changing requirements. We clearly need software systems to be more dynamic, compositional and model-centric, but instead we continue to build systems that are static, baroque and inflexible. How can we better build change-enabled systems in the future? To answer this question, we propose to look back to one of the most successful systems to support change, namely Smalltalk. We briefly introduce Smalltalk with a few simple examples, and draw some lessons for software evolution. Smalltalk's simplicity, its reflective design, and its highly dynamic nature all go a long way towards enabling change in Smalltalk applications. We then illustrate how these lessons work in practice by reviewing a number of research projects that support software evolution by exploiting Smalltalk's design. We conclude by summarizing open issues and challenges for change-enabled systems of the future.}, Annote = {invited}, Author = {Oscar Nierstrasz and Tudor G\^irba}, Booktitle = {SOFSEM 2010}, Doi = {10.1007/978-3-642-11266-9_7}, Editor = {J. van Leeuwen et al.}, Keywords = {scg-pub scg10 snf10 jb10 girba}, Medium = {2}, Peerreview = {yes}, Annote = {internationalconference}, Pages = {77--95}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Lessons in Software Evolution Learned by Listening to {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Nier10aSmalltalkLessons.pdf}, Volume = {5901}, Year = {2010}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Nier10aSmalltalkLessons.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-11266-9_7} } @article{Nier10b, author = {Oscar Nierstrasz}, title = {Ten Things {I} Hate About Object-Oriented Programming}, note = {(editorial --- transcript of ECOOP 2010 banquet speech)}, journal = {Journal of Object Technology}, volume = {9}, number = {5}, issn = {1660-1769}, year = {2010}, month = sep, Keywords = {scg-pub scg10 jb11 skip-abstract}, Medium = {1}, Peerreview = {no}, doi = {10.5381/jot.2010.9.5.e1}, url = {http://www.jot.fm/contents/issue_2010_09/editorial.html} } @article{Niev06a, Author = {J\"urg Nievergelt}, Journal = {Informatik Spektrum}, Number = {4}, Pages = {281--286}, Title = {Die {Aussagekraft} von {Beispielen}}, Volume = {29}, Year = {2006} } @inproceedings{Niga91a, Author = {L. Nigay and J. Coutaz}, Booktitle = {Esprit '91 Conference Proceedings}, Editor = {ACM}, Title = {Building user interfaces: organizing software agents}, Year = {1991} } @inproceedings{Nika98a, Address = {San Antonio, Texas}, Author = {Pekka Nikander and Arto Karila}, Booktitle = {Proceedings of the 7th Usenix Security Symposium}, Keywords = {conduits+}, Misc = {January 26-29}, Month = jan, Title = {A {Java} Beans Component Architecture for Cryptographic Protocols}, Url = {http://www.tcm.hut.fi/~pnr/jacob/}, Year = {1998}, Bdsk-Url-1 = {http://www.tcm.hut.fi/~pnr/jacob/} } @inproceedings{Nikh89a, Author = {R. S. Nikhil and Arvind}, Booktitle = {Proc. 16th IEEE Symp. on Comput. Arch. (ISCA)}, Keywords = {misc}, Pages = {262--272}, Title = {Can Dataflow Subsume von Neumann Computing?}, Year = {1989} } @book{Nilg04a, Address = {New York, United States}, Author = {Edward G. Nilges}, Isbn = {1-59059-134-8}, Keywords = {binder(shelf) book scglib}, Publisher = {Springer-Verlag}, Title = {Build Your Own .NET Language and Compiler}, Year = {2004} } @book{Nish93a, Editor = {Shojiro Nishio and Akiro Yonezawa}, Isbn = {3-540-57342-9}, Keywords = {olit isotas93 scglib proceedings}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Technologies for Advanced Software}, Volume = {742}, Year = {1993} } @inproceedings{Nish00a, Author = {Nishizaki, Shin{-}ya}, Booktitle = {Proceedings ISPSE 2000}, Doi = {10.1109/ISPSE.2000.913242}, Keywords = {pisem contract-types context-calculus}, Publisher = {IEEE Computer Society Press}, Title = {Programmable Environment Calculus as Theory of Dynamic Software Evolution}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ISPSE.2000.913242} } @article{Nish00b, Author = {Nishizaki, Shin{-}ya}, Doi = {10.1023/A:1010010314528}, Journal = {Higher-Order and Symbolic Computation}, Keywords = {contract-types context-calculus}, Number = {3}, Pages = {241--280}, Title = {A Polymorphic Environment Calculus and its Type-Inference Algorithm}, Volume = {13}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1010010314528} } @inproceedings{Nixo87a, Address = {New York, NY, USA}, Author = {Brian Nixon and Lawrence Chung and John Mylopoulos and David Lauzon and Alex Borgida and M. Stanley}, Booktitle = {SIGMOD '87: Proceedings of the 1987 ACM SIGMOD international conference on Management of data}, Doi = {10.1145/38713.38731}, Isbn = {0-89791-236-5}, Location = {San Francisco, California, United States}, Pages = {118--131}, Publisher = {ACM}, Title = {Implementation of a compiler for a semantic data model: Experiences with taxis}, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/38713.38731} } @inproceedings{Noac05a, Address = {New York, NY, USA}, Author = {Andreas Noack and Claus Lewerentz}, Booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization}, Doi = {10.1145/1056018.1056040}, Isbn = {1-59593-073-6}, Location = {St. Louis, Missouri}, Pages = {155--164}, Publisher = {ACM}, Title = {A space of layout styles for hierarchical graph models of software systems}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1056018.1056040} } @inproceedings{Nobl98a, Address = {Brussels, Belgium}, Author = {James Noble and John Potter and Jan Vitek}, Booktitle = {Proceedings of the 12th European Conference on Object-Oriented Programming (ECOOP'98)}, Editor = {Eric Jul}, Isbn = {3-540-64737-6}, Keywords = {ecoop98proc}, Month = jul, Pages = {158--185}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Flexible alias protection}, Volume = 1445, Year = {1998} } @book{Nobl99a, Author = {James Noble and Antero Taivalsaari and Ivan Moore}, Keywords = {scglib}, Publisher = {Springer}, Title = {Prototype-Based Programming}, Year = {1999} } @inproceedings{Nobl99b, Author = {James Noble and David Clarke and John Potter}, Booktitle = {Proceedings TOOLS '99}, Month = nov, Title = {Object Ownership for Dynamic Alias Protection}, Year = {1999} } @inproceedings{Nobl00a, Author = {James Noble}, Booktitle = {Proceedings of TOOLS '00}, Month = jun, Pages = {431ff}, Title = {Iterators and Encapsulation}, Year = {2000} } @inproceedings{Noik94a, Address = {Banff, Alberta, Canada}, Author = {Emanuel G. Noik}, Booktitle = {Proceedings of Graphics Interface '94}, Month = may, Pages = {225--234}, Title = {A Space of Presentation Emphasis Techniques for Visualizing Graphs}, Url = {http://citeseer.nj.nec.com/noik94space.html}, Year = {1994}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/noik94space.html} } @techreport{Nolt92a, Address = {Sankt Augustin}, Author = {J{\"o}rg Nolte}, Institution = {GMD}, Keywords = {olit distribution binder (shelf)}, Month = may, Number = {654}, Title = {Language-Level Support for Remote Object Invocations}, Type = {Working Paper}, Year = {1992} } @book{Nona95a, Author = {Ikujiro Nonaka and Hirotaka Takeuchi}, Keywords = {scglib}, Publisher = {Oxford University Press}, Title = {The Knowledge-Creating Company}, Year = {1995} } @article{Nora06a, Author = {Bounour Nora and Ghoul Said and Atil Fadila}, Issn = {1549-3636}, Journal = {Journal of Computer Science}, Number = {2}, Pages = {322--325}, Publisher = {2005 Science Publications}, Title = {A Comparative Classification of Aspect Mining Approaches}, Volume = {4}, Year = {2006} } @book{Nord90a, Address = {Oxford}, Author = {B. Nordstr{\"o}m and K. Petersson and J. M. Smith}, Keywords = {types dependent}, Publisher = {Clarendon Press}, Title = {Programming in Martin-L{\"o}fs Type Theory, An Introduction}, Year = {1990} } @misc{Nord95a, Author = {Else K. Nordhagen}, Keywords = {olit oc binder}, Note = {Working Draft}, Title = {An Object-Oriented Calculus}, Year = {1995} } @misc{Nord95b, Author = {Else K. Nordhagen}, Keywords = {olit oc binder 114}, Note = {Working Draft}, Title = {Equal observable behaviour in Object-oriented Systems}, Year = {1995} } @misc{Nord95c, Author = {Else K. Nordhagen}, Keywords = {olit oc binder 114}, Note = {Working Draft}, Title = {Reliable refinements of composable objects}, Year = {1995} } @inproceedings{Nord96a, Address = {Paris, France}, Author = {Else K. Nordhagen}, Booktitle = {Proceedings FMOODS '96}, Editor = {IFIP WG 6.1}, Keywords = {olit FMOODS '96}, Month = mar, Title = {Omicron, An Object-Oriented Calculus}, Url = {http://www.ifi.uio.no/~lc/FMOODS.ps}, Year = {1996}, Bdsk-Url-1 = {http://www.ifi.uio.no/~lc/FMOODS.ps} } @phdthesis{Nord99a, Author = {Johan Nordlander}, Month = may, School = {Chalmers University of Technology, G\"{o}tebord, Sweden}, Title = {Reactive Objects and Functional Programming}, Year = {1999} } @inproceedings{Nord02a, Address = {Crystal City, Virginia, USA}, Author = {Johan Nordlander and Mark P. Jones and Magnus Carlsson and Richard B. Kieburtz and Andrew Black}, Booktitle = {In Proceedings of the 5th IEEE International Symposium on Object-oriented Real-time distributed computing}, Month = apr, Title = {Reactive Objects}, Year = {2002} } @incollection{Nori81a, Author = {K.V. Nori and U. Ammann and K. Jensen and H.H. Nageli and Ch. Jacobi}, Booktitle = {Pascal --- The Language and its Implementation}, Editor = {D.W. Barron}, Keywords = {plang pascal p-code}, Pages = {125--170}, Publisher = {John Wiley \& Sons, Ltd.}, Title = {Pascal-{P} Implementation Notes}, Year = {1981} } @book{Norm86a, Author = {D.A. Norman and S.W. Draper}, Publisher = {Lawrence Erlbaum Ass. Publisher}, Title = {User Centered System Design}, Year = {1986} } @book{Norm88a, Author = {Donald A. Norman}, Keywords = {scglib hci}, Publisher = {The MIT Press}, Title = {The Design of Everyday Things}, Year = {1988} } @techreport{Norm90a, Address = {Aalborg, Denmark}, Author = {Kurt Normark}, Institution = {Aalborg University}, Keywords = {olit-oopl scheme (smc)}, Month = jan, Number = {90-01}, Title = {Simulation of Object-Oriented Concepts and Mechanisms in Scheme}, Type = {Institute for Electronic Systems Technical Report}, Year = {1990} } @inproceedings{Norm92a, Address = {Utrecht, the Netherlands}, Author = {Veronique Normand and Jo\"elle Coutaz}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {153--169}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Unifying the Design and Implementation of User Interfaces through the Object Paradigm}, Volume = {615}, Year = {1992} } @book{Norm93a, Author = {Donald A. Norman}, Isbn = {0-201-62695-0}, Keywords = {scglib}, Publisher = {Perseus Books}, Title = {Things that Make Us Smart}, Year = {1993} } @techreport{Nort06a, Author = {L. Northrop and P. Feiler and R. P. Gabriel and J. Goodenough and R. Linger and T. Longstaff and R. Kazman and M. Klein and D. Schmidt and K. Sullivan and K. Wallnau}, Editor = {W. Pollak}, Institution = {Software Engineering Institute, Carnegie Mellon}, Month = {jun}, Title = {{Ultra-Large-Scale Systems - The Software Challenge of the Future}}, Url = {http://www.sei.cmu.edu/uls/downloads.html}, Year = {2006}, Bdsk-Url-1 = {http://www.sei.cmu.edu/uls/downloads.html} } @article{Nose90a, Author = {J. T. Nosek and P. Palvia}, Journal = {Software Maintenance: Research and Practice}, Number = {3}, Pages = {157--174}, Title = {Software Maintenance Management: changes in the last decade}, Volume = {2}, Year = {1990} } @inproceedings{Notk93a, 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.}, Author = {David Notkin and David Garlan and William G. Griswold and Kevin Sullivan}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {489--510}, Series = {Lecture Notes in Computer Science}, Title = {Adding Implicit Invocation to Languages: Three Approaches}, Volume = {742}, Year = {1993} } @article{Nour99a, Author = {Lhouari Nourine and Olivier Raynaud}, Journal = {Information Processing Letters}, Number = {5-6}, Pages = {199--204}, Publisher = {Elsevier North-Holland, Inc.}, Title = {A fast algorithm for building lattices}, Volume = {71}, Year = {1999} } @article{Nour02a, Author = {Lhouari Nourine and Olivier Raynaud}, Journal = {Journal of Experimental and Theoretical Artificial Intelligence}, Number = {2-3}, Pages = {217--227}, Title = {A fast incremental algorithm for building lattices.}, Volume = {14}, Year = {2002} } @article{Nyga86a, Author = {Kristen Nygaard}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey oopws86}, Month = oct, Number = {10}, Pages = {128--132}, Title = {Basic Concepts in Object Oriented Programming}, Volume = {21}, Year = {1986} } @incollection{Nyst03a, Author = {Nathaniel Nystrom and Michael R. Clarkson and Andrew C. Myers}, Booktitle = {Compiler Construction}, Doi = {10.1007/3-540-36579-6_11}, Isbn = {978-3-540-00904-7}, Keywords = {dsllit}, Pages = {138--152}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Polyglot: An Extensible Compiler Framework for {Java}}, Volume = {2622}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-36579-6_11} } @inproceedings{Nyst04a, Author = {Nathaniel Nystrom and Stephen Chong and Andrew C. Myers}, Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/1028976.1028986}, Isbn = {1-58113-831-9}, Location = {Vancouver, BC, Canada}, Pages = {99--115}, Publisher = {ACM Press}, Title = {Scalable extensibility via nested inheritance}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028976.1028986} } @inproceedings{Nyst06a, Address = {New York, NY, USA}, Author = {Nathaniel Nystrom and Xin Qi and Andrew C. Myers}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1167473.1167476}, Isbn = {1-59593-348-4}, Location = {Portland, Oregon, USA}, Pages = {21--36}, Publisher = {ACM}, Title = {J\&: nested intersection for scalable software composition}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167476} } @inproceedings{Nyst08a, Address = {New York, NY, USA}, Author = {Nathaniel Nystrom and Vijay Saraswat and Jens Palsberg and Christian Grothoff}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449800}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {457--474}, Publisher = {ACM}, Title = {Constrained types for object-oriented languages}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449800} } @inproceedings{OBri87a, Author = {Patrick D. O'Brien and Daniel C. Halbert and Michael F. Kilian}, Booktitle = {Proceedings Object-Oriented Programming Systems, Languages and Applications, (OOPSLA'87), ACM SIGPLAN Notices}, Doi = {10.1145/38765.38815}, Isbn = {0-89791-247-0}, Keywords = {olit-oopl trellis owl oopsla87 grass catcher}, Location = {Orlando, Florida, USA}, Month = oct, Pages = {91--102}, Publisher = {ACM Press}, Title = {The {Trellis} Programming Environment}, Volume = 22, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/38765.38815} } @inproceedings{OBri05a, Author = {Michael O'Brien and Jim Buckley and Chris Exton}, Booktitle = {Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005)}, Publisher = {IEEE Computer Society Press}, Title = {Empirically Studying Software Practitioners - Bridging the Gap between Theory and Practice}, Year = {2005} } @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}, Keywords = {olit UML OCL}, Month = sep, Publisher = {Rational Software Corporation}, Title = {{Object} {Constraint} {Language} Specification (version 1.1)}, Year = {1997} } @misc{OCL20, Key = {OCL 2.0}, Note = {http://www.omg.org/docs/ptc/03-10-14.pdf}, Title = {UML 2.0 Object Constraint Language (OCL) Specification}, Url = {http://www.omg.org/docs/ptc/03-10-14.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.omg.org/docs/ptc/03-10-14.pdf} } @misc{OCL2, Author = {OCL}, Key = {OCL 2.0}, Note = {http://www.omg.org/cgi-bin/apps/doc?formal/06-05-01.pdf}, Title = {Object Constraint Language Specification, Version 2.0}, Url = {http://www.omg.org/cgi-bin/apps/doc?formal/06-05-01.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.omg.org/cgi-bin/apps/doc?formal/06-05-01.pdf} } @inproceedings{OCal97a, Address = {New York, NY, USA}, Author = {O'Callahan, Robert and Jackson, Daniel}, Booktitle = {ICSE '97: Proceedings of the 19th international conference on Software engineering}, Doi = {10.1145/253228.253351}, Isbn = {0-89791-914-9}, Location = {Boston, Massachusetts, United States}, Pages = {338--348}, Publisher = {ACM}, Title = {Lackwit: a program understanding tool based on type inference}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/253228.253351} } @misc{OCaml, Key = {OCaml}, Note = {http://caml.inria.fr/}, Title = {OCaml} } @inproceedings{OCin99a, Author = {\'O Cinn\'eide, Mel and Paddy Nixon}, Booktitle = {Proceedings ICSM '99}, Keywords = {refactoring}, Month = aug, Publisher = {IEEE Computer Society Press}, Title = {A Methodology for the Automated Introduction of Design Patterns}, Year = {1999} } @techreport{OMG95a, title = {The Common Object Request Broker: Architecture and Specification}, keywords = {damiencbib corba}, author = {OMG}, institution = {Object Management Group}, number = {2.0}, year = {1995} } @book{OMG96a, Editor = {?}, Keywords = {corba iiop}, Month = jul, Publisher = {Object Management Group}, Title = {The Common Object Request Broker: Architecture and Specification}, Url = {http://www.omg.org/corba/c2indx.htm}, Year = {1996}, Bdsk-Url-1 = {http://www.omg.org/corba/c2indx.htm} } @misc{OMGRTC, Key = {OMG RTC}, Title = {OMG RTC: Robotic Technology Component Specification 1.0}, keywords = {robotics}, Url = {http://www.omg.org/spec/RTC}, Year = {2008} } @inproceedings{ONeil05a, Doi = {10.1109/TRIDNT.2005.7}, author = {O'Neill, Eleanor and Klepal, Martin and Lewis, David and O'Donnell, Tony and O'Sullivan, Declan and Pesch, Dirk}, booktitle = {TRIDENTCOM'05: Proceedings of the 1st International Conference on Testbeds and Research Infrastructures for the DEvelopment of NeTworks and COMmunities}, title = {A Testbed for Evaluating Human Interaction with Ubiquitous Computing Environments}, keywords = {tatus damiencbib}, year = {2005}, pages = {60--69}, address = {Washington, DC, USA}, publisher = {IEEE Computer Society} } @misc{OSGi, Key = {OSGi}, url = {http://www.osgi.org}, year = {2000}, keywords = {damiencbib}, Title = {OSGi Alliance} } @misc{OTI98, Key = {OTI98}, Note = {Object Technology International Inc.}, Title = {{E}{N}{V}{Y}/{Manager} {User} {Manual} 4.0}, Year = {1998} } @book{Oaks97a, Author = {Scott Oaks and Henry Wong}, Isbn = {1-56592-216-6}, Keywords = {java oolit-oopl oobib(concurrency) scglib}, Publisher = {O'Reilly}, Title = {Java Threads}, Year = {1997} } @book{Oaks01a, Author = {Scott Oaks}, Isbn = {0-59600-157-6}, Publisher = {O'Reilly}, Title = {Java Security}, Year = {2001} } @misc{ObjectiveC, Key = {objectivec}, Keywords = {objectivec class extension}, Note = {http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html}, Title = {The {Objective}-{C} Programming Language} } @techreport{Obri02a, Author = {Liam O'Brien and Christoph Stoermer and Chris Verhoef}, Institution = {Carnegie Mellon University}, Month = aug, Number = {CMU/SEI-2002-TR-024}, Title = {Software Architecture Reconstruction: Practice Needs and Current Approaches}, Year = {2002} } @techreport{Obri03a, Author = {Liam O'Brien and Christoph Stoermer}, Institution = {Carnegie Mellon University, SEI}, Number = {CMU/SEI-2003-TN-008}, Title = {Architecture Reconstruction Case Study}, Year = {2003} } @inproceedings{Obri05b, Abstract = {There are many good reasons why organizations should perform software architecture reconstructions. However, few organizations are willing to pay for the effort. Software architecture reconstruction must be viewed not as an effort on its own but as a contribution in a broader technical context, such as the streamlining of products into a product line or the modernization of systems that hit their architectural borders, that is require major restructuring. In this paper we propose the use of architecture reconstruction to support System Modernization through the identification and reuse of legacy components as services in a Service- Oriented Architecture (SOA). A case study showing how architecture reconstruction was used on a system to support an organization's decision-making process is presented.}, Address = {Washington, DC, USA}, Author = {O'Brien, Liam and Smith, Dennis and Lewis, Grace}, Booktitle = {{STEP'05}: Proceedings of the 13th {IEEE} International Workshop on Software Technology and Engineering Practice}, Doi = {10.1109/STEP.2005.29}, Isbn = {076952639X}, Pages = {81--91}, Publisher = {IEEE Computer Society}, Title = {Supporting Migration to Services using Software Architecture Reconstruction}, Url = {http://portal.acm.org/citation.cfm?id=1158338.1158738}, Year = {2005}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1158338.1158738}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/STEP.2005.29} } @inproceedings{Ocal99a, Author = {Alan O'Callaghan and Ping Dai and Ray Farmer}, Booktitle = {Proceedings of EuroPLoP 1999}, Keywords = {olit oorp}, Title = {Patterns for Change --- Sample Patterns from the ADAPTOR Pattern Language}, Url = {http://www.argo.be/europlop/writers.htm}, Year = {1999}, Bdsk-Url-1 = {http://www.argo.be/europlop/writers.htm} } @inproceedings{Ocal00a, Author = {Alan O'Callaghan}, Booktitle = {Proceedings of EuroPLoP 2000}, Keywords = {olit oorp}, Title = {Patterns for Architectural Praxis}, Url = {http://www.coldewey.com/europlop2000/papers.html}, Year = {2000}, Bdsk-Url-1 = {http://www.coldewey.com/europlop2000/papers.html} } @inproceedings{Odeh93a, Author = {Mohammed H. Odeh and Julian A. Padget}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {178--190}, Title = {Object-Oriented Execution of OPS5 Production Systems}, Volume = {28}, Year = {1993} } @article{Odel94a, Annote = {not in joop apparently}, Author = {James Odell}, Journal = {JOOP}, Title = {Six Different Kinds of Aggregation}, Year = {1994} } @book{Odel98a, Author = {James J. Odell}, Keywords = {scglib book}, Publisher = {Cambridge University Press}, Title = {Advanced Object-Oriented Analysis \& Design Using {UML}}, Year = {1998} } @inproceedings{Oden97a, Author = {Georg Odenthal and Klaus Quibeldey-Cirkel}, Booktitle = {Proceedings of ECOOP '97}, Month = jun, Pages = {511--529}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Patterns for Design and Documentation}, Volume = 1241, Year = {1997} } @inproceedings{Oder95a, Author = {Martin Odersky}, Booktitle = {Proc. 2nd {ACM} {SIGPLAN} Workshop on State in Programming Languages}, Month = jan, Title = {Applying $\pi$: Towards a Basis for Concurrent Imperative Programming}, Year = {1995} } @inproceedings{Oder97a, Address = {Paris}, Author = {Martin Odersky and Philip Wadler}, Booktitle = {Proceedings POPL '97}, Keywords = {olit java pizza binder}, Month = jan, Title = {Pizza into {Java}: Translating theory into practice}, Url = {http://www.dcs.gla.ac.uk/~wadler/topics/pizza.html}, Year = {1997}, Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~wadler/topics/pizza.html} } @inproceedings{Oder98a, Address = {Baltimore}, Author = {Martion Odersky}, Booktitle = {Proc. International Conference on Functional Programming}, Month = sep, Title = {Programming with Variable Functions}, Year = {1998} } @inproceedings{Oder00a, Author = {Martin Odersky}, Booktitle = {Proc. European Symposium on Programming}, Keywords = {join calculus pisem}, Month = mar, Pages = {1--25}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Functional Nets}, Url = {http://lampwww.epfl.ch/fn/}, Volume = 1782, Year = {2000}, Bdsk-Url-1 = {http://lampwww.epfl.ch/fn/} } @techreport{Oder04a, Address = {1015 Lausanne, Switzerland}, 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}, Institution = {\'Ecole Polytechnique F\'ed\'erale de Lausanne}, Number = {64}, Title = {An Overview of the {Scala} Programming Language}, Type = {Technical Report}, Year = {2004} } @inproceedings{Oder05a, Author = {Martin Odersky and Matthias Zenger}, Booktitle = {Proc. FOOL 12}, Keywords = {expression-problem}, Month = jan, Title = {Independently Extensible Solutions to the Expression Problem}, Url = {http://lamp.epfl.ch/~odersky/papers/ExpressionProblem.html http://homepages.inf.ed.ac.uk/wadler/fool/program/final/10/10_Paper.pdf}, Year = {2005}, Bdsk-Url-1 = {http://lamp.epfl.ch/~odersky/papers/ExpressionProblem.html%20http://homepages.inf.ed.ac.uk/wadler/fool/program/final/10/10_Paper.pdf} } @techreport{Oder07a, Address = {1015 Lausanne, Switzerland}, Author = {Martin Odersky}, Institution = {\'Ecole Polytechnique F\'ed\'erale de Lausanne}, Month = mar, Title = {Scala Language Secification v. 2.4}, Year = {2007} } @book{Oder08a, Author = {Martin Odersky and Lex Spoon and Bill Venners}, Isbn = {978-0981531601}, Publisher = {Artima Inc}, Title = {Programming in Scala}, Year = {2008} } @misc{Odif90a, Author = {Piergiorgio Odifreddi}, Keywords = {types intersection (bcp)}, Number = {31}, Publisher = {Academic Press}, Series = {APIC Studies in Data Processing}, Title = {Logic and Computer Science}, Year = {1990} } @article{Ogde94a, Author = {William F. Ogden and Murali Sitaraman and Bruce W. Weide and Stuart H. Zweben}, Doi = {10.1145/190679.190681}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {4}, Pages = {23--28}, Publisher = {ACM Press}, Title = {Part I: the {RESOLVE} framework and discipline: a research synopsis}, Volume = {19}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.190681} } @inproceedings{Ohor89a, Author = {Atsushi Ohori and Peter Buneman}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {types olit oopsla89}, Month = oct, Pages = {445--456}, Title = {Static Type Inference for Parametric Classes}, Volume = {24}, Year = {1989} } @incollection{Okam93a, 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.}, Author = {Hideaki Okamura and Yutaka Ishikawa and Mario Tokoro}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {110--127}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Metalevel Decomposition in {AL}-1/{D}}, Volume = {742}, Year = {1993} } @inproceedings{Okam94a, Address = {Bologna, Italy}, Author = {Hideaki Okamura and Yutaka Ishikawa}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {299--319}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Location Control Using Meta-level Programming}, Volume = {821}, Year = {1994} } @mastersthesis{Oki83a, Author = {B.M. Oki}, Keywords = {olit reliability transactions}, Month = may, Number = {MIT/LCS/TR-308}, School = {MIT Dept EE and CS}, Title = {Reliable Object Storage to Support Atomic Actions}, Type = {M.Sc. thesis,}, Year = {1983} } @inproceedings{Oki93a, Doi = {10.1145/168619.168624}, author = {Oki, Brian and Pfluegl, Manfred and Siegel, Alex and Skeen, Dale}, title = {The Information Bus: An architecture for extensible distributed systems}, booktitle = {SOSP'93: Proceedings of the 14th Symposium on Operating systems principles}, year = {1993}, keywords = {damiencbib publish-subscribe}, pages = {58--68}, address = {Asheville, NC, USA}, publisher = {ACM Press} } @incollection{Olde85a, Author = {Ernst-R{\"u}diger Olderog}, Booktitle = {Current Trends in Concurrency}, Editor = {J.W. de Bakker and W-P. de Roever and G. Rozenberg}, Keywords = {pcalc binder(csp)}, Pages = {442--509}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Process Theory: Semantics, Specification and Verification}, Volume = {224}, Year = {1985} } @article{Olde86a, Author = {Ernst-R{\"u}diger Olderog and C.A.R. Hoare}, Journal = {Acta Informatica}, Keywords = {pcalc safety binder(csp)}, Number = {1}, Pages = {9--66}, Title = {Specification-Oriented Semantics for Communicating Processes}, Volume = {23}, Year = {1986} } @inproceedings{Olde93a, Author = {E.-R. Olderog and S. R{\"o}ssig}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {90--104}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Case Study in Transformational Design of Concurrent Systems}, Volume = {668}, Year = {1993} } @inproceedings{Oliv99a, Address = {San Diego, California, USA}, Author = {Alexandre Oliva and Luiz Eduardo Buzato}, Booktitle = {Proceedings of the 5th USENIX Conference on Object-Oriented Technologies and Systems (COOTS'99)}, Month = may, Pages = {203--216}, Title = {The Design and Implementation of {Guarana}}, Year = {1999} } @inproceedings{Oliv09a, Annote = {internationalworkshop}, Author = {Fernando Olivero and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of IWST 2009 (1st International Workshop on Smalltalk Technologies)}, Pages = {20-28}, Keywords = {moose-pub pub-iene }, Title = {Lumi\'ere: A Novel Framework for Rendering 3D Graphics in Smalltalk}, Publisher = {ACM Press}, Year = {2009}} @inproceedings{Oliv09b, Annote = {internationalworkshop}, Author = {Fernando Olivero and Michele Lanza and Romain Robbes}, Title = {Lumi\'ere : An Infrastructure for Producing 3D Applications in Smalltalk}, Keywords = {moose-pub pub-iene }, Booktitle = {Proceedings of FAMOOSr 2009 (3rd International Workshop on FAMIX and Moose in Reengineering)}, Year = {2009}} @inproceedings{Oliv10a, Annote = {internationalworkshop}, Author = {Fernando Olivero and Michele Lanza and Mircea Lungu}, Title = {Gaucho: From Integrated Development Environments to Direct Manipulation Environments}, Keywords = {moose-pub pub-iene proj-gsync}, Booktitle = {Proceedings of FlexiTools 2010 (1st International Workshop on Flexible Modeling Tools)}, Year = {2010}} @inproceedings{Olse91a, Doi = {10.1109/RELDIS.1991.145411}, title = {A model for interface groups}, booktitle = {Proceedings of the 10th Symposium on Reliable Distributed Systems}, author = {M.H. Olsen and E. Oskiewicz and J.P. Warne}, year = {1991}, keywords = {ANSA computational model asynchronous calls communication package communication protocol computer communications software interface groups model protocols replication transparency single server synchronous RPCs damiencbib transparency uniform model}, publisher = {IEEE Computer Society}, pages = {98--107}, address = {Pisa, Italy} } @inproceedings{Olth86a, Author = {Walter G. Olthoff}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl modpascal oopsla86}, Month = nov, Pages = {429--443}, Title = {Augmentation of Object-Oriented Programming by Concepts of Abstract Data Type Theory: The ModPascal Experience}, Volume = {21}, Year = {1986} } @article{Olth89a, Author = {Walther Olthoff and James Kempf}, Journal = {Lisp and Symbolic Computation}, Month = jun, Number = {2}, Pages = {115--152}, Title = {An Algebraic Specification of Method Combination for the Common Lisp Object System}, Volume = {2}, Year = {1989} } @book{Olth95a, Editor = {Walter Olthoff}, Isbn = {3-540-55613-3}, Keywords = {ecoop95proc book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of the {ECOOP}'95 European Conference on Object-Oriented Programming}, Volume = {952}, Year = {1995} } @misc{Ometa, Key = {ometa}, Note = {http://www.cs.ucla.edu/~awarth/ometa/}, Title = {{OMeta}: an Object-Oriented Language for Pattern Matching}, Url = {http://www.cs.ucla.edu/~awarth/ometa/}, Bdsk-Url-1 = {http://www.cs.ucla.edu/~awarth/ometa/} } @inproceedings{Omic94a, Address = {Bologna, Italy}, Author = {Andrea Omicini and Antonio Natali}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {194--212}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Computations in Logic Programming}, Volume = {821}, Year = {1994} } @misc{OmniBrowser, Author = {Colin Putney}, Key = {OmniBrowser}, Keywords = {smalltalk squeak browser}, Note = {http://www.wiresong.ca/OmniBrowser}, Title = {{OmniBrowser}, an extensible browser framework for {Smalltalk}}, Url = {http://www.wiresong.ca/OmniBrowser}, Bdsk-Url-1 = {http://www.wiresong.ca/OmniBrowser} } @inproceedings{Omor08a, Address = {New York, NY, USA}, Author = {Omori, Takayuki and Maruyama, Katsuhisa}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370758}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {31--34}, Publisher = {ACM}, Title = {A change-aware development environment by recording editing operations of source code}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370758} } @phdthesis{Opdy92b, Author = {William F. Opdyke}, Keywords = {olit refactoring ooreeng famoos oorp}, School = {University of Illinois}, Title = {Refactoring Object-Oriented Frameworks}, Type = {{Ph.D}. Thesis}, Url = {ftp://st.cs.uiuc.edu/pub/papers/refactoring/ http://www.laputan.org/pub/papers/opdyke-thesis.pdf}, Year = {1992}, Bdsk-Url-1 = {ftp://st.cs.uiuc.edu/pub/papers/refactoring/%20http://www.laputan.org/pub/papers/opdyke-thesis.pdf} } @inproceedings{Opdy93a, Author = {William F. Opdyke and Ralph E. Johnson}, Booktitle = {Proceedings of the 1993 ACM Conference on Computer Science}, Keywords = {refactoring ooreeng famoos}, Pages = {66--73}, Publisher = {ACM Press}, Title = {Creating Abstract Superclasses by Refactoring}, Year = {1993} } @article{Oppe80a, Author = {Derek C. Oppen}, Journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)}, Month = oct, Number = {4}, Pages = {465--483}, Title = {Prettyprinting}, Volume = {2}, Year = {1980} } @article{Oppe83a, Author = {D.C. Oppen and Y.K. Dalal}, Journal = {ACM TOOIS}, Keywords = {security olit ois}, Month = jul, Number = {3}, Pages = {230--253}, Title = {The Clearinghouse: {A} Decentralized Agent for Locating Named Objects in a Distributed Environment}, Volume = {1}, Year = {1983} } @incollection{Orav90a, Author = {Fredrik Orava and Joachim Parrow}, Booktitle = {Protocol Specification, Testing and Verfication, X}, Keywords = {pcalc mobility (uwe)}, Pages = {275--291}, Publisher = {IFIP, North-Holland}, Title = {Algebraic Descriptions of Mobile Networks: An Example}, Year = {1990} } @article{Orav92a, Author = {Fredrik Orava and Joachim Parrow}, Journal = {Formal Aspects of Computing}, Keywords = {pcalc mobility (uwe)}, Number = {6}, Pages = {497--543}, Title = {An Algebraic Verification of a Mobile Network}, Volume = {4}, Year = {1992} } @inproceedings{Orei05a, Address = {St. Louis, Missouri, USA}, Author = {Ciaran O'Reilly and David Bustard and Philip Morrow}, Booktitle = {Proceedings of 2005 ACM Symposium on Software Visualization (Softviz 2005)}, Keywords = {visualization}, Month = may, Pages = {57--65}, Title = {The War Room Command Console --- Shared Visualizations for Inclusive Team Coordination}, Year = {2005} } @book{Orfa96a, Author = {Robert Orfali and Dan Harkey and Jeri Edwards}, Isbn = {0471-12993-3}, Keywords = {olit ole opendoc corba scglib}, Publisher = {John Wiley \& Sons}, Title = {The Essential Distributed Objects Survival Guide}, Year = {1996} } @book{Orfa97a, Author = {Robert Orfali and Dan Harkey}, Isbn = {0-471-16351-1}, Keywords = {corba java jdbc scglib}, Publisher = {Wiley}, Title = {Client/Server Programming with {Java} and Corba}, Url = {http://www.wiley.com/compbooks/catalog/16351-1.htm}, Year = {1997}, Bdsk-Url-1 = {http://www.wiley.com/compbooks/catalog/16351-1.htm} } @book{Orfa97b, Author = {Robert Orfali and Dan Harkey and Jeri Edwards}, Isbn = {0-471-18333-4}, Keywords = {corba scglib}, Publisher = {Wiley}, Title = {Instant Corba}, Year = {1997} } @phdthesis{Orio04a, Author = {Manuel Oriol}, Month = apr, Number = {no. 556)}, School = {Centre Universitaire d'Informatique, University of Geneva}, Title = {An Approach to the Dynamic Evolution of Software Systems}, Type = {{Ph.D}. Thesis}, Url = {http://se.ethz.ch/~moriol/www/Research/PhD/index.html http://se.ethz.ch/~moriol/www/Research/PhD/OriolPhD.pdf}, Year = {2004}, Bdsk-Url-1 = {http://se.ethz.ch/~moriol/www/Research/PhD/index.html%20http://se.ethz.ch/~moriol/www/Research/PhD/OriolPhD.pdf} } @article{Orso02a, abstract = {{During maintenance, systems are updated to correct faults, improve functionality, and adapt the software to changes in its execution environment. The typical software update process consists of stopping the system to be updated, performing the update of the code, and restarting the system. For systems such as banking and telecommunication software, however, the cost of downtime can be prohibitive. The situation is even worse for systems such as air-traffic controllers and life-support software, for which a shut-down is in general not an option. In those cases, the use of some form of on-the-fly program modification is required. In this paper, we present a new technique for dynamic updating of Java software. Our technique is based on the use of proxy classes and requires no support from the runtime system. The technique allows for updating a running Java program by substituting, adding, and deleting classes. We also present DUSC (Dynamic Updating through Swapping of Classes), a tool that we developed and that implements our technique. Finally, we describe an empirical study that we performed to validate the technique on a real Java subject. The results of the study show that our technique can be effectively applied to Java software with only little overhead in both execution time and program size.}}, address = {Los Alamitos, CA, USA}, author = {Orso, A. and Rao, A. and Harrold, M.}, citeulike-article-id= {5875779}, citeulike-linkout-0= {http://doi.ieeecomputersociety.org/10.1109/ICSM.2002.1167829}, citeulike-linkout-1= {http://dx.doi.org/10.1109/ICSM.2002.1167829}, doi = {10.1109/ICSM.2002.1167829}, isbn = {0-7695-1819-2}, journal = {Software Maintenance, IEEE International Conference on}, keywords = {dynamic, evolution, update}, pages = {0649+}, posted-at = {2009-10-02 11:25:02}, priority = {2}, publisher = {IEEE Computer Society}, title = {{A Technique for Dynamic Updating of Java Software}}, url = {http://dx.doi.org/10.1109/ICSM.2002.1167829}, volume = {0}, year = {2002} } @inproceedings{Osbo89a, Author = {S.L. Osborn}, Booktitle = {IEEE Transactions on Knowledge and Data Engineering}, Keywords = {olit-oodb schema evolution (smc)}, Pages = {310--317}, Title = {The Role of Polymorphism in Schema Evolution in an Object-oriented Database}, Volume = {1}, Year = {1989} } @inproceedings{Oshi05a, Author = {Yoshiki Ohshima}, Booktitle = {IEEE C5: The Third International Conference on Creating, Connecting and Collaborating through Computing}, Keywords = {starlogo squeak etoys agents visprog}, Pages = {93--100}, Title = {The {Early} {Examples} of {Kedama}, {A} {Massively} {Parallel} {System} in Squeak}, Volume = {3}, Year = {2005} } @article{Ossh86a, Author = {Harold Ossher}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit concepts oopws86}, Month = oct, Number = {10}, Pages = {143--152}, Title = {A Mechanism for Specifying the Structure of Large, Layered, Object-Oriented Programs}, Volume = {21}, Year = {1986} } @inproceedings{Ossh92a, Author = {Harold Ossher and William Harrison}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {25--40}, Title = {Combination of Inheritance Hierarchies}, Volume = {27}, Year = {1992} } @inproceedings{Ossh95a, Author = {H. Ossher and M. Kaplan and W. Harrison and A. Katz and V. Kruskal}, Booktitle = {Proceedings of OOPSLA '95}, Pages = {235--250}, Title = {Subject-Oriented Composition Rules}, Year = {1995} } @inproceedings{Ossh00a, Author = {Harold Ossher and Peri Tarr}, Booktitle = {Proceedings of the 22nd international conference on Software engineering}, Doi = {10.1145/337180.337618}, Isbn = {1-58113-206-9}, Keywords = {hyperj hyper class extension}, Location = {Limerick, Ireland}, Pages = {734--737}, Publisher = {ACM Press}, Title = {Hyper/{J}: multi-dimensional separation of concerns for {Java}}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/337180.337618} } @inproceedings{Ossh07a, Address = {New York, NY, USA}, Author = {Harold Ossher}, Booktitle = {VMIL '07: Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms}, Doi = {10.1145/1230136.1230141}, Isbn = {978-1-59593-661-5}, Location = {Vancouver, British Columbia, Canada}, Pages = {5}, Publisher = {ACM}, Title = {A direction for research on virtual machine support for concern composition}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1230136.1230141} } @article{Ossh09a, Abstract = {The open source movement has made vast quantities of source code available online for free, providing an extremely large dataset for empirical study and potential resuse. A major difficulty in exploiting this potential fully is that the data are currently scattered between competing source code repositories, none of which are structured for empirical analysis and cross-project comparison. As a result, software researchers and developers are left to compile their own datasets, resulting in duplicated effort and limited results. To address this challenge, we built SourcererDB, an aggregated repository of statically analyzed and cross-linked open source Java projects. SourcererDB contains local snapshots of 2,852 Java projects taken from Sourceforge, Apache and Java.net. These projects are statically analyzed to extract rich structural information, which is then stored in a relational database. References to entities in the 16,058 external jars are resolved and grouped, allowing for cross-project usage information to be accessed easily. This paper describes: (a) the mechanism for resolving and grouping these cross-project references, (b) the structure of and the metamodel for the SourcererDB repository, and (d) end-user dataset access mechanisms. Our goal in building SourcererDB is to provide a rich dataset of source code to facilitate the sharing of extracted data and to encourage reuse and repeatability of experiments.}, Address = {Los Alamitos, CA, USA}, Author = {Ossher, Joel and Bajracharya, Sushil and Linstead, Erik and Baldi, Pierre and Lopes, Cristina}, Citeulike-Article-Id= {5727470}, Citeulike-Linkout-0= {http://doi.ieeecomputersociety.org/10.1109/MSR.2009.5069501}, Citeulike-Linkout-1= {http://dx.doi.org/10.1109/MSR.2009.5069501}, Doi = {10.1109/MSR.2009.5069501}, Isbn = {978-1-4244-3493-0}, Journal = {Mining Software Repositories, International Workshop on}, Keywords = {codesearch, sourcerer}, Pages = {183--186}, Posted-At = {2009-09-06 09:59:26}, Priority = {5}, Publisher = {IEEE Computer Society}, Title = {{SourcererDB}: An aggregated repository of statically analyzed and cross-linked open source {Java} projects}, Url = {http://dx.doi.org/10.1109/MSR.2009.5069501}, Volume = {0}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2009.5069501} } @inproceedings{Oste00a, Author = {Klaus Ostermann and G\"{u}nter Kniesel}, Booktitle = {Proceedings of Aspects and Dimensions of Concern Workshop}, Location = {Cannes, France}, Title = {Independent Extensibility --- an open challenge for AspectJ and Hyper/J}, Year = {2000} } @inproceedings{Oste01a, Author = {Klaus Ostermann and Mira Mezini}, Booktitle = {Proceedings of OOPSLA '01, ACM SIGPLAN Notices}, Doi = {10.1145/504282.504303}, Isbn = {1-58113-441-X}, Location = {Tampa Bay, FL, USA}, Pages = {283--299}, Publisher = {ACM Press}, Title = {Object-oriented composition untangled}, Volume = {36}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/504282.504303} } @inproceedings{Oste05a, Author = {Klaus Ostermann and Mira Mezini and Christophe Bockisch}, Booktitle = {Proceedings of ECOOP 2005}, Title = {Expressive Pointcuts for Increased Modularity}, Year = {2005} } @book{Oste10a, Author = {Alexander Osterwalder and Yves Pigneur}, Isbn = {978-0470876411}, Publisher = {Wiley}, Year = {2010}, Title = {Business Model Generation} } @techreport{Oswa03a, Author = {Baltisar Oswald and Silvan Auer}, Institution = {University of Bern}, Keywords = {snf-none scg-ip skip-abstract jb04}, Month = aug, Title = {{CASYMS}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Oswa03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Oswa03a.pdf} } @article{Otis91a, Author = {Allen Otis and Paul Butterworth and Jacob Stein}, Journal = {Communications of the ACM}, Keywords = {olit-oodb gemstone (smc)}, Month = oct, Number = {10}, Pages = {64--77}, Title = {The {GemStone} Object Database Management Systems}, Volume = {34}, Year = {1991} } @article{Otte77a, Author = {Karl J. Ottenstein}, Journal = {SIGCSE Bulletin}, Number = {4}, Pages = {30--41}, Title = {An Algorithmic Approach to the Detection and Prevention of Plagiarism}, Volume = {8}, Year = {1977} } @book{Oust94a, Author = {John K. Ousterhout}, Isbn = {0-201-63337-X}, Keywords = {tcl tk tcltk scripting}, Publisher = {Addison Wesley}, Title = {Tcl and the Tk Toolkit}, Url = {http://cseng.aw.com/bookdetail.qry?ISBN=0-201-63337-X\&ptype=0}, Year = {1994}, Bdsk-Url-1 = {http://cseng.aw.com/bookdetail.qry?ISBN=0-201-63337-X%5C&ptype=0} } @article{Oust98a, Author = {John K. Ousterhout}, Doi = {10.1109/2.660187}, Journal = {IEEE Computer}, Keywords = {tcl tcltk scripting}, Month = mar, Number = {3}, Pages = {23--30}, Title = {Scripting: Higher Level Programming for the 21st Century}, Url = {http://www.cs.indiana.edu/classes/c102/read/Ousterhout.pdf}, Volume = {31}, Year = {1998}, Bdsk-Url-1 = {http://www.cs.indiana.edu/classes/c102/read/Ousterhout.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/2.660187} } @techreport{Ovli02a, Address = {Boston, MA}, Author = {Johan Ovlinger and Karl Lieberherr and David Lorenz}, Institution = {College of Computer Science, Northeastern University}, Month = mar, Note = {http://www.ccs.neu.edu/research/demeter/papers/ac-aspectj-hyperj}, Number = {NU-CCS-02-03}, Title = {Aspects and Modules Combined}, Year = {2002} } @techreport{Owe88a, Author = {Olaf Owe}, Institution = {University of Oslo, Dept. Informatics}, Keywords = {olit-obc obc concurrency lift binder}, Month = apr, Number = {96}, Title = {The Response Function method for Specifying Concurrent Systems}, Type = {Research Report No.}, Year = {1988} } @inproceedings{Oxho92a, Address = {Utrecht, the Netherlands}, Author = {Nicholas Oxh\oj and Jens Palsberg and Michael I. Schwartzbach}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {types olit ecoop92proc}, Month = jun, Pages = {329--349}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Making Type Inference Practical}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {615}, Year = {1992}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @misc{PHP, Key = {PHP}, Note = {http://www.php.net/}, Title = {{PHP}: Hypertext Preprocessor} } @misc{PLHistory, Key = {PLHistory}, Keywords = {ei-lit}, Note = {http://en.wikipedia.org/wiki/History_of_programming_languages}, Title = {History of programming languages}, Url = {http://en.wikipedia.org/wiki/History_of_programming_languages}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/History_of_programming_languages} } @misc{PROMOL, Key = {PROMOL}, Keywords = {script scripting}, Note = {http://www.elen.ktu.lt/~damarobe/promol/index.html}, Title = {Open PROMOL Language} } @inproceedings{Pach93a, Author = {Francois Pachet and Francis Wolinski and Sylvain Giroux}, Booktitle = {Proceedings of TOOLS EUROPE '93}, Pages = {109--118}, Title = {{Spying as an Object-Oriented Programming Paradigm}}, Year = {1993} } @inproceedings{Pach94a, Address = {Paris}, Author = {F. Pachet and F. Wolinski and S. Giroux}, Booktitle = {Calisce '94 (Computer Aided Learning in Science and Engineering}, Month = aug, Pages = {167--174}, Title = {{Plugglable Advisors as Epiphyte Systems}}, Year = {1994} } @inproceedings{Paci03a, Author = {Michael Pacione and Marc Roper and Murray Wood}, Booktitle = {Proceedings of WCRE '03}, Month = nov, Pages = {80--89}, Publisher = {IEEE Computer Society}, Title = {{A Comparative Evaluation of Dynamic Visualization Tools}}, Year = {2003} } @inproceedings{Paci04a, Author = {Michael Pacione and Marc Roper and Murray Wood}, Booktitle = {Proceedings of the 11th Working Conference on Reverse Engineering}, Doi = {10.1109/WCRE.2004.7}, Month = nov, Pages = {70--79}, Publisher = {IEEE Computer Society}, Title = {A Novel Software visualisation Model to Support Software Comprehension}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2004.7} } @phdthesis{Paci05a, Author = {Michael Pacione}, Month = nov, School = {Univ. Strathclyde}, Title = {A Novel Software Visualisation Model to Support Object-Oriented Program Comprehension}, Year = {2005} } @inproceedings{Padio08a, author = {Padioleau, Yoann and Lawall, Julia and Hansen, Ren\'{e} Rydhof and Muller, Gilles}, title = {Documenting and automating collateral evolutions in linux device drivers}, booktitle = {EuroSys'08: Proceedings of the 3rd European Conference on Computer Systems}, series = {Eurosys '08}, year = {2008}, isbn = {978-1-60558-013-5}, address = {Glasgow, UK}, pages = {247--260}, numpages = {14}, doi = {10.1145/1352592.1352618}, publisher = {ACM}, keywords = {collateral evolutions device drivers domain-specific language linux program transformation software evolution damiencbib coccinelle} } @inproceedings{Paep88a, Address = {Oslo}, Author = {Andreas Paepcke}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {374--389}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{PCLOS}: {A} Flexible Implementation of {CLOS} Persistence}, Volume = {322}, Year = {1988} } @inproceedings{Paep89a, Author = {Andreas Paepcke}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {221--254}, Title = {{PCLOS}: {A} Critical Review}, Volume = {24}, Year = {1989} } @inproceedings{Paep90a, Author = {Andreas Paepcke}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {194--211}, Title = {{PCLOS}: Stress Testing {CLOS} Experiencing the Metaobject protocol}, Volume = {25}, Year = {1990} } @book{Paep91a, Editor = {Andreas Paepcke}, Isbn = {0-201-554178}, Keywords = {olit survey special issue oopsla91 oobib(gen) book scglib}, Month = nov, Publisher = {ACM SIGPLAN Notices}, Title = {Proceedings {OOPSLA} '91}, Year = {1991} } @proceedings{Paep92a, Address = {Vancouver, British Columbia}, Editor = {Andreas Paepcke}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit survey special issue oopsla92 oobib(gen)}, Month = oct, Title = {Proceedings {OOPSLA} '92}, Volume = {27}, Year = {1992} } @proceedings{Paep93a, Editor = {Andreas Paepcke}, Isbn = {0-201-58895-1}, Keywords = {olit survey special issue oopsla93 oobib(gen) book scglib}, Publisher = {ACM SIGPLAN Notices}, Title = {Proceedings of {OOPSLA} '93}, Year = {1993} } @incollection{Paep93b, Author = {Andreas Paepcke}, Booktitle = {Object-Oriented Programming: the CLOS perspective}, Pages = {66--99}, Publisher = {MIT Press}, Title = {User-Level Language Crafting}, Year = {1993} } @inproceedings{Page89a, Author = {Page, Jr., Thomas W. and Steven Berson and William Cheng and Richard R. Muntz}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {287--296}, Title = {An Object-Oriented Modeling Environment}, Volume = {24}, Year = {1989} } @article{Pagh03a, Address = {New York, NY, USA}, Author = {Ulrik Pagh Schultz and Kim Burgaard and Flemming Gram Christensen and J\&\#248;rgen Lindskov Knudsen}, Doi = {10.1145/780731.780739}, Issn = {0362-1340}, Journal = {SIGPLAN Notice}, Number = {7}, Pages = {42--50}, Publisher = {ACM Press}, Title = {Compiling {J}ava for low-end embedded systems}, Volume = {38}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/780731.780739} } @inproceedings{Pahl01a, Author = {Claus Pahl}, Booktitle = {Workshop on Specification and Verification of Component-Based Systems (OOPSLA 2001)}, Title = {A Pi-Calculus based Framework for the Composition and Replacement of Components}, Url = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.iastate.edu/~leavens/SAVCBS/2001/papers-2001/} } @inproceedings{Pala97a, Address = {Paris, France}, Author = {Catuscia Palamidessi}, Booktitle = {Conference Record of {POPL}~'97}, Month = jan, Pages = {256--265}, Title = {Comparing the Expressive Power of the Synchronous and the Asynchronous {$\pi$}-calculus}, Year = {1997} } @inproceedings{Pals90a, Author = {Jens Palsberg and Michael I. Schwartzbach}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {types olit oopsla90 ecoop90proc}, Month = oct, Pages = {151--160}, Title = {Type Substitution for Object-Oriented Programming}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {25}, Year = {1990}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @inproceedings{Pals91a, Address = {Geneva, Switzerland}, Author = {Jens Palsberg and Michael I. Schwartzbach}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {types olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {325--341}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {What is Type-Safe Code Reuse?}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = 512, Year = {1991}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @inproceedings{Pals91b, Author = {Jens Palsberg and Michael I. Schwartzbach}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {types olit oopsla91}, Month = nov, Pages = {146--161}, Title = {Object-Oriented Type Inference}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {26}, Year = {1991}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @article{Pals92a, Author = {Jens Palsberg and Michael I. Schwartzbach}, Journal = {ACM OOPS Messenger}, Keywords = {types olit}, Number = {2}, Pages = {31--38}, Title = {Three Discussions on Object-oriented Typing}, Url = {http://www.cs.purdue.edu/homes/palsberg/publications.html}, Volume = {3}, Year = {1992}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/palsberg/publications.html} } @book{Pals93a, Author = {Jens Palsberg and Michael I. Schwartzbach}, Keywords = {types olit binder (shelf)}, Publisher = {Wiley}, Title = {Object-Oriented Type Systems}, Year = {1993} } @inproceedings{Palt94a, Author = {M. Paltrinieri}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {248--265}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Integrating Objects with Constraint-Programming Languages}, Volume = {858}, Year = {1994} } @inproceedings{Palt97a, Author = {S. Palthepu and J.E. Greer and G.I. McCalla}, Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Pages = {94--103}, Publisher = {IEEE Computer Society}, Title = {{Clich}\'e {Recognition} in {Legacy} {Software}: {A} {Scalable}, {Knowlegde}-{Based} {Approach}}, Year = {1997} } @inproceedings{Pana03a, Author = {Thomas Panas and Welf L{\"o}we and Uwe A{\ss}mann}, Booktitle = {International Conference on Software Engineering Research and Practice (SERP'03)}, Pages = {854--860}, Publisher = {CSREA Press}, Title = {Towards the Unified Recovery Architecture for Reverse Engineering}, Year = {2003} } @inproceedings{Pana05a, Author = {Thomas Panas and R\"udiger Lincke and Welf L\"owe}, Booktitle = {Proceedings of ACM Symposium on Software Visualization (SOFTVIS 2005)}, Pages = {173--182}, Title = {Online-configuration of software visualization with {Vizz3D}}, Year = {2005} } @phdthesis{Pana05b, Author = {Thomas Panas}, School = {Vajjo University, Sweden}, Title = {A Framework for Reverse Engineering}, Year = {2005} } @inproceedings{Panc09a, Abstract = {Searching is an important activity in software maintenance. Dedicated data structures have been used to support either textual or structural queries over source code. The goal of this ongoing research is to elaborate a hybrid data storage that enables simultaneous textual and structural search. The naive adjacency list method has been combined with the inverted index approach. The data model has been enhanced with the use of data compression approaches for column-oriented databases to allow no-loss albeit compact storage of fine-grained structural data. The graph indexing has enabled the proposed data model to expeditiously answer fine-grained structural queries. This paper describes the basics of the proposed approach and estimates its feasibility.}, Author = {Panchenko, O.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403383}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070019}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070019}, Doi = {10.1109/SUITE.2009.5070019}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, suite2009}, Pages = {37--40}, Posted-At = {2009-08-10 11:12:03}, Priority = {0}, Title = {Hybrid storage for enabling fully-featured text search and fine-grained structural search over source code}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070019}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070019} } @inproceedings{Pand99a, 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.}, Address = {Lisbon, Portugal}, Author = {Raju Pandey and Brant Hashii}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {449--473}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Providing Fine-Grained Access Control for {Java} Programs}, Volume = 1628, Year = {1999} } @inproceedings{Pang99a, 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.}, Address = {Lisbon, Portugal}, Author = {Candy Pang and Wade Holst and Yuri Leontiev and Duane Szafron}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {304--328}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Multi-Method Dispatch Using Multiple Row Displacement}, Volume = 1628, Year = {1999} } @inproceedings{Pank96a, Address = {Washington, DC, USA}, Author = {Raymond R. Panko and Richard P. Halverson Jr}, Booktitle = {HICSS '96: Proceedings of the 29th Hawaii International Conference on System Sciences (HICSS) Volume 2: Decision Support and Knowledge-Based Systems}, Isbn = {0-8186-7327-3}, Keywords = {testing}, Pages = {326}, Publisher = {IEEE Computer Society}, Title = {Spreadsheets on Trial: A Survey of Research on Spreadsheet Risks}, Year = {1996} } @book{Papa82a, Author = {C.H. Papadimitriou and K. Steiglitz}, Keywords = {misc combinatorics book}, Publisher = {Prentice-Hall}, Title = {Combinatorial Optimization}, Year = {1982} } @techreport{Papa89a, 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.}, Author = {Michael Papathomas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc osg-ftp ood89}, Month = jul, Pages = {207--245}, Title = {Concurrency Issues in Object-Oriented Programming Languages}, Type = {Object Oriented Development}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concurrency.pdf}, Year = {1989}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concurrency.pdf} } @techreport{Papa90a, 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.}, Author = {Michael Papathomas and Dimitri Konstantas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc hybrid osg-ftp om90}, Month = jul, Pages = {229--244}, Title = {Integrating Concurrency and Object-Oriented Programming --- An Evaluation of Hybrid}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridEvaluation.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/Dimitri/hybridEvaluation.pdf} } @techreport{Papa91a, 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.}, Author = {Michael Papathomas and Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc skip-doi osg-ftp oc91}, Month = jun, Pages = {189--204}, Title = {Supporting Software Reuse in Concurrent Object-Oriented Languages: Exploring the Language Design Space}, Type = {Object Composition}, Url = {http://scg.unibe.ch/archive/osg/Papa91aSWReuseinCOOLs.pdf}, Year = {1991}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Papa91aSWReuseinCOOLs.pdf} } @techreport{Papa91b, 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.}, Author = {Michael Papathomas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-obc pcalc osg-ftp oc91}, Month = jun, Note = {Working paper}, Pages = {205--224}, Title = {A Unifying Framework for Process Calculus Semantics of Concurrent Object-Based Languages and Features}, Type = {Object Composition}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concSemanticFrame.pdf}, Year = {1991}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/concSemanticFrame.pdf} } @techreport{Papa92a, 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.}, Author = {Michael Papathomas}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit pcalc osg-ftp of92}, Month = jul, Pages = {31--40}, Title = {Behaviour Compatibility and Specification for Active Objects}, Type = {Object Frameworks}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/behaviourCompatibility.pdf}, Year = {1992}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/behaviourCompatibility.pdf} } @inproceedings{Papa92b, Author = {Michael Papathomas}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc pcalc osg obc91}, Pages = {53--79}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Unifying Framework for Process Calculus Semantics of Concurrent Object-Oriented Languages}, Volume = 612, Year = {1992} } @phdthesis{Papa92c, Author = {Michael Papathomas}, Keywords = {olit-obc pcalc osg-phd osg-ftp}, Number = {No. 2522}, School = {Dept. of Computer Science, University of Geneva}, Title = {Language Design Rationale and Semantic Framework for Concurrent Object-Oriented Programming}, Type = {{Ph.D}. Thesis}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/papathomasThesis.pdf}, Year = {1992}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/papathomasThesis.pdf} } @incollection{Papa93a, 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.}, Author = {Michael Papathomas and Christian Breiteneder and Simon Gibbs and Vicki de Mey}, Booktitle = {Virtual Worlds and Multimedia}, Editor = {N. Thalmann and D. Thalmann}, Keywords = {olit osg vo93}, Note = {To appear}, Publisher = {Wiley}, Title = {Synchronization in Virtual Worlds}, Year = {1993} } @inproceedings{Papa94a, Author = {M. P. Papa and G. Ragucci and G. Corrente and M. Ferrise and S. Giurleo and D. Vitale}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {278--297}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Development of an Object-Oriented Multimedia Information System}, Volume = {858}, Year = {1994} } @incollection{Papa95a, 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.}, Author = {Michael Papathomas}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit-obc osg OOSC02 sclit}, Pages = {31--68}, Publisher = {Prentice-Hall}, Title = {Concurrency in Object-Oriented Programming Languages}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @incollection{Papa95b, 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.}, Author = {Michael Papathomas and Gordon S. Blair and Geoff Coulson}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-21}, Pages = {162--175}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Model for Active Object Coordination and its Use for Distributed Multimedia Applications}, Volume = 924, Year = {1995} } @techreport{Papa96a, Author = {Michael Papathomas}, Institution = {Grenoble-France}, Keywords = {concurrency atom}, Month = nov, Title = {{ATOM}: An Active object model for enhancing reuse in the development of concurrent software}, Type = {RR 963-I-LSR-2, IMAG-LSR}, Year = {1996} } @inproceedings{Papa97a, Address = {Roscoff, France}, Author = {Michael Papathomas and Juan Hernandez and Juan Manual Murillo and Fernando Sanchez}, Booktitle = {Proceedings of Langages et Mod\`eles \`a Objets '97}, Editor = {Roland Ducournau and Serge Garlatti}, Isbn = {2-86601-650-5}, Keywords = {olit-conc atom lmo97}, Month = oct, Pages = {45--60}, Publisher = {Hermes}, Title = {Inheritance and Expressive power in Concurrent Object-Oriented Programming}, Year = {1997} } @proceedings{Papa98a, Address = {Amsterdam}, Editor = {Michael Papazoglou and Makoto Takizawa and Bernd Kramer and Samuel Chanson}, Isbn = {0-8186-8292-0}, Keywords = {distributed scglib}, Month = may, Note = {Proceedings of the 18th International Conference on Distributed Computing Systems}, Publisher = {IEEE}, Title = {Distributed Computing Systems}, Year = {1998} } @incollection{Papa98b, Author = {Papadopoulos, George A. and Arbab, Farhad}, Booktitle = {The Engineering of Large Systems}, Keywords = {coordination linda manifold survey}, Month = aug, Publisher = {Academic Press}, Series = {Advances in Computers}, Title = {{Coordination Models and Languages}}, Url = {http://www.cwi.nl/ftp/manifold/AICbook.ps.Z}, Volume = {46}, Year = {1998}, Bdsk-Url-1 = {http://www.cwi.nl/ftp/manifold/AICbook.ps.Z} } @book{Papu95a, Author = {David M. Papurt}, Isbn = {1-884842-05-4}, Keywords = {olit-oopl obib(oopl) scglib book}, Publisher = {SIGS Books}, Title = {Inside the Object Model}, Year = {1995} } @misc{ParcPlace89, Key = {ParcPlace89}, Note = {ParcPlace Systems}, Title = {ParcPlace Systems, Objectworks Reference Guide, Smalltalk-80, Version 2.5, Chapter 36}, Year = {1989} } @misc{ParcPlace95, Key = {ParcPlace95}, Note = {ParcPlace-Digitalk}, Title = {Visual {Smalltalk} Enterprise User's Guide}, Year = {1995} } @misc{ParcPlace98, Key = {ParcPlace98}, Note = {ParcPlace Division}, Title = {VisualWorks 3.0 Application Developer's Guide}, Year = {1998} } @inproceedings{Pari94a, Author = {F. Parisi-Presicce and A. Pierantonio}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {329--345}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reusing Object Oriented Design: An Algebraic Approach}, Volume = {858}, Year = {1994} } @incollection{Park81a, Address = {Karlsruhe}, Author = {David Park}, Booktitle = {Theoretical Computer Science, 5th GI-Conf.}, Keywords = {pcalc equivalence bisimulation binder}, Month = mar, Pages = {167--183}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency and Automata on Infinite Sequences}, Volume = {104}, Year = {1981} } @article{Park89a, Author = {Alan Parker and James O. Hamblen}, Journal = {IEEE Transactions on Education}, Month = may, Number = {2}, Pages = {94--99}, Title = {Computer Algorithms for Plagiarism Detection}, Volume = {32}, Year = {1989} } @article{Parn72a, Author = {David L. Parnas}, Doi = {10.1145/361598.361623}, Journal = {CACM}, Keywords = {olit specification data abstraction}, Month = may, Number = {5}, Pages = {330--336}, Title = {A Technique for Software Module Specification with Examples}, Volume = {15}, Year = {1972}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/361598.361623} } @article{Parn72b, Author = {David L. Parnas}, Doi = {10.1145/361598.361623}, Journal = {CACM}, Keywords = {modularity}, Month = dec, Number = {12}, Pages = {1053--1058}, Title = {On the Criteria To Be Used in Decomposing Systems into Modules}, Url = {http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf}, Volume = {15}, Year = {1972}, Bdsk-Url-1 = {http://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/361598.361623} } @article{Parn76a, Author = {D. L. Parnas}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {product-line architecture}, Month = mar, Number = {1}, Pages = {1--9}, Title = {On the Design and Development of Program Families}, Volume = {2}, Year = {1976} } @article{Parn86a, Author = {David L. Parnas and P.C. Clements}, Journal = {IEEE Transactions on Software Engineering,}, Keywords = {olit patterns}, Month = feb, Title = {A Rational Design Process: How and Why to Fake It}, Volume = {SE-12:2}, Year = {1986} } @inproceedings{Parn94a, Address = {Los Alamitos CA}, Author = {Parnas, David Lorge}, Booktitle = {Proceedings 16th International Conference on Software Engineering (ICSE '94)}, Location = {Sorrento, Italy}, Pages = {279--287}, Publisher = {IEEE Computer Society}, Title = {Software Aging}, Year = {1994} } @article{Parn98a, Author = {David Lodge Parnas}, Journal = {ACM Software Engineering Notes}, Month = may, Number = {3}, Pages = {64--68}, Title = {Successful Software Engineering Research}, Volume = {23}, Year = {1998} } @inproceedings{Parn06a, Address = {Los Alamitos CA}, Author = {Chris Parnin and Carsten G{\"o}rg}, Booktitle = {Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC'06)}, Pages = {13--22}, Publisher = {IEEE Computer Society}, Title = {Building Usage Contexts During Program Comprehension}, Volume = {0}, Year = {2006} } @article{Parn07a, Address = {New York, NY, USA}, Author = {David Lorge Parnas}, Doi = {10.1145/1297797.1297815}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {11}, Pages = {19--21}, Publisher = {ACM}, Title = {Stop the numbers game}, Volume = {50}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297797.1297815} } @inproceedings{Parr88a, Address = {Oslo}, Author = {Graham D. Parrington and Santosh K. Shrivastava}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-obc ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {233--249}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Implementing Concurrency Control in Reliable Object-Oriented Systems}, Volume = {322}, Year = {1988} } @unpublished{Parr93a, Author = {Joachim Parrow and Davide Sangiorgi}, Keywords = {pcalc mobility (uwe)}, Note = {In preparation}, Title = {Axiomatisations for $pi$-calculus}, Type = {draft}, Year = {1993} } @inproceedings{Parr94a, Address = {London, UK}, Author = {Terence J. Parr and Russell W. Quong}, Booktitle = {CC '94: Proceedings of the 5th International Conference on Compiler Construction}, Doi = {10.1007/3-540-57877-3_18}, Isbn = {3-540-57877-3}, Keywords = {cclit}, Pages = {263--277}, Publisher = {Springer-Verlag}, Title = {Adding Semantic and Syntactic Predicates To {LL(k)}: {pred-LL(k)}}, Url = {ftp://ftp.botik.ru/pub/lang/tools/PCCTS/1.20/predicates.ps.Z}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.botik.ru/pub/lang/tools/PCCTS/1.20/predicates.ps.Z}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-57877-3_18} } @article{Parr95a, Author = {Terence J. Parr and Russell W. Quong}, Doi = {10.1002/spe.4380250705}, Journal = {Software Practice and Experience}, Keywords = {cclit}, Pages = {789--810}, Title = {{ANTLR}: A predicated-{LL(k)} parser generator}, Url = {http://www.antlr.org/article/1055550346383/antlr.pdf}, Volume = {25}, Year = {1995}, Bdsk-Url-1 = {http://www.antlr.org/article/1055550346383/antlr.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/spe.4380250705} } @inproceedings{Parr97a, Address = {Sydney, Australia}, Author = {Joachim Parrow and Bj{\"o}rn Victor}, Booktitle = {Algebraic Methodology and Software Technology (Proceedings of {AMAST} '97)}, Editor = {Michael Johnson}, Month = dec, Pages = {409--423}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Update Calculus}, Url = {http://www.docs.uu.se/~victor/tr/upd.html}, Volume = {1349}, Year = {1997}, Bdsk-Url-1 = {http://www.docs.uu.se/~victor/tr/upd.html} } @incollection{Parr01a, Author = {Joachim Parrow}, Booktitle = {Handbook of Process Algebra}, Editor = {Bergstra and Ponse and Smolka}, Pages = {479--543}, Publisher = {Elsevier}, Title = {An Introduction to the $\pi$-Calculus}, Year = {2001} } @incollection{Parr02a, Author = {Allen Parrish and Joel Jones and Brandon Dixon}, Booktitle = {Extreme Programming Perspectives}, Editor = {Michele Marchesi and Giancarlo Succi and Don Wells and Laurie Williams}, Keywords = {Test, Ordering Test Cases, XP, extreme programming}, Pages = {123--140}, Publisher = {Addison-Wesley}, Title = {Extreme Unit Testing: Ordering Test Cases To Maximize Early Testing}, Year = {2002} } @book{Parr07a, Author = {Terence Parr}, Isbn = {978-0-9787392-5-6}, Keywords = {dsllit}, Month = may, Publisher = {Pragmatic Programmers}, Title = {The Definitive {ANTLR} Reference: Building Domain-Specific Languages}, Year = {2007} } @inproceedings{Pasc86a, Author = {Geoffrey A. Pascoe}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk oopsla86}, Month = nov, Pages = {341--346}, Title = {Encapsulators: {A} New Software Paradigm in {Smalltalk}-80}, Volume = {21}, Year = {1986} } @inproceedings{Pash04a, Author = {Ilian Pashov and Matthias Riebisch}, Booktitle = {Proceedings of the 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS'04)}, Keywords = {features architecture}, Month = aug, Title = {Using Feature Modelling for Program Comprehension and Software Architecture Recovery}, Year = {2004} } @inproceedings{Pasq88a, Address = {Oslo}, Author = {Jacques Pasquier-Boltuck and Ed Grossman and G\'erald Collaud}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {177--190}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Prototyping an Interactive Electronic Book System Using an Object-Oriented Approach}, Volume = {322}, Year = {1988} } @inproceedings{Pate92a, Author = {S. Patel, W. Chu, R. Baxter}, Booktitle = {Proceedings of the 14th International Conference on Software Engineering}, Keywords = {metrics cohesion}, Pages = {38--48}, Title = {A measure for composite module cohesion}, Year = {1992} } @inproceedings{Pate99a, Author = {Jean-Francois Patenaude and Ettore Merlo and Michel Dagenais and Bruno Lagu{\"e}}, Booktitle = {Proceedings Seventh International Workshop on Program Comprehension}, Month = may, Pages = {49}, Title = {Extending Software Quality Assessment Techniques to {Java} Systems}, Year = {1999} } @inproceedings{Pate06a, Author = {Sandipkumar Patel and Yogesh Dandawate and John Kuriakose}, Booktitle = {2nd Workshop on Empirical Studies in Reverse Engineering}, Note = {http://softeng.polito.it/events/WESRE2006/}, Publisher = {Politecnico di Torino}, Title = {Architecture Recovery as first step in System Appreciation}, Url = {http://softeng.polito.it/events/WESRE2006/03Dandawate.pdf}, Year = {2006}, Bdsk-Url-1 = {http://softeng.polito.it/events/WESRE2006/03Dandawate.pdf} } @inproceedings{Patt83a, Address = {Berkeley}, Author = {David A. Patterson}, Booktitle = {Proceedings of CS292R, Univ. of California}, Keywords = {olit architecture soar risc smalltalk casais}, Month = apr, Title = {{Smalltalk} on {RISC}: Architectural Investigations}, Year = {1983} } @inproceedings{Patt08a, Address = {New York, NY, USA}, Author = {Pattison, David S. and Bird, Christian A. and Devanbu, Premkumar T.}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370776}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {113--116}, Publisher = {ACM}, Title = {Talk and work: a preliminary report}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370776} } @book{Paul91a, Author = {Lawrence Paulson}, Isbn = {0-521-42225-6}, Keywords = {book scglib}, Publisher = {Cambridge University Press}, Title = {{ML} for the Working Programmer}, Year = {1991} } @article{Paul94a, Author = {Santanu Paul and Atul Prakash}, Journal = {IEEE Transactions on Software Engineering}, Month = jun, Number = {6}, Pages = {463--475}, Title = {A Framework for Source Code Search Using Program Patterns}, Volume = {20}, Year = {1994} } @book{Paul94b, Editor = {Mark C. Paulk and Charles V. Weber and Bill Curtis and Mary Beth Chrissis}, Keywords = {scglib cmm}, Publisher = {Addison Wesley}, Title = {The Capability Maturity Model: Guidelines for Improving the Software Process}, Year = {1994} } @inproceedings{Paul03a, author = {Clements, Paul and Garlan, David and Little, Reed and Nord, Robert and Stafford, Judith}, title = {Documenting software architectures: views and beyond}, booktitle = {ICSE '03: Proceedings of the 25th International Conference on Sotware Engineering}, year = {2003}, isbn = {0-7695-1877-X}, pages = {740--741}, location = {Portland, Oregon}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @article{Paul07a, Address = {Los Alamitos, CA, USA}, Author = {Linda Dailey Paulson}, Doi = {10.1109/MC.2007.53}, Issn = {0018-9162}, Journal = {Computer}, Number = {2}, Pages = {12--15}, Publisher = {IEEE Computer Society}, Title = {Developers Shift to Dynamic Programming Languages}, Volume = {40}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MC.2007.53} } @inproceedings{Pauw93a, Author = {De Pauw, Wim and Richard Helm and Doug Kimelman and John Vlissides}, Booktitle = {Proceedings of International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'93)}, Doi = {10.1145/165854.165919}, Keywords = {olit oopsla93}, Month = oct, Pages = {326--337}, Title = {Visualizing the Behavior of Object-Oriented Systems}, Year = {1993}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/165854.165919} } @inproceedings{Pauw94a, Address = {Bologna, Italy}, Author = {De Pauw, Wim and Doug Kimelman and John Vlissides}, Booktitle = {Proceedings of the European Conference on Object-Oriented Programming (ECOOP'94)}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {163--182}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modeling Object-Oriented Program Execution}, Volume = {821}, Year = {1994} } @inproceedings{Pauw98a, Author = {De Pauw, Wim and David Lorenz and John Vlissides and Mark Wegman}, Booktitle = {Proceedings of Conference on Object-Oriented Technologies and Systems (COOTS'98)}, Pages = {219--234}, Publisher = {USENIX}, Title = {Execution Patterns in Object-Oriented Visualization}, Year = {1998} } @inproceedings{Pauw98b, author = {Pauw, Wim De and Vlissides, John M.}, title = {Visualizing Object-Oriented Programs with Jinsight}, booktitle = {Workshop on Object-Oriented Technology}, series = {ECOOP '98}, year = {1998}, isbn = {3-540-65460-7}, pages = {541--542}, numpages = {2}, url = {http://portal.acm.org/citation.cfm?id=646778.704665}, acmid = {704665}, publisher = {Springer-Verlag}, address = {London, UK} } @inproceedings{Pauw99a, Address = {Lisbon, Portugal}, Author = {De Pauw, Wim and Gary Sevitsky}, Booktitle = {Proceedings of the European Conference on Object-Oriented Programming (ECOOP'99)}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {116--134}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Visualizing Reference Patterns for Solving Memory Leaks in {Java}}, Volume = 1628, Year = {1999} } @article{Pauw00a, Author = {De Pauw, Wim and Gary Sevitsky}, Journal = {Concurrency: Practice and Experience}, Number = {14}, Pages = {1431--1454}, Title = {Visualizing reference patterns for solving memory leaks in {Java}}, Volume = {12}, Year = {2000} } @inproceedings{Pauw02a, Address = {London, UK}, Author = {De Pauw, Wim and Erik Jensen and Nick Mitchell and Gary Sevitsky and John M. Vlissides and Jeaha Yang}, Booktitle = {Revised Lectures on Software Visualization, International Seminar}, Isbn = {3-540-43323-6}, Pages = {151--162}, Publisher = {Springer-Verlag}, Title = {Visualizing the Execution of Java Programs}, Year = {2002} } @inproceedings{Pauw06a, Address = {New York NY}, Author = {De Pauw, Wim and Sophia Krasikov and John Morar}, Booktitle = {Proceedings ACM International Conference on Software Visualization (SoftVis'06)}, Keywords = {olit feature}, Month = sep, Publisher = {ACM Press}, Title = {Execution Patterns for Visualizing Web Services}, Year = {2006} } @book{Pavl77a, Author = {T. Pavlidis}, Keywords = {misc image book}, Publisher = {Springer-Verlag}, Title = {Structural Pattern Recognition}, Year = {1977} } @inproceedings{Pawl01a, Author = {Renaud Pawlak and Lionel Seinturier and Laurence Duchien and Gerard Florin}, Booktitle = {MetaLevel Architectures and Separation of Crosscutting Concerns}, Editor = {Yonezawa, A. and Matsuoka, S.}, Pages = {1--24}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {{JAC}: {A} Flexible Solution for Aspect-Oriented Programming in {Java}}, Volume = {2192}, Year = {2001} } @inproceedings{Pawl05a, Address = {New York, NY, USA}, Author = {Renaud Pawlak}, Booktitle = {AOMD '05: Proceedings of the 1st workshop on Aspect oriented middleware development}, Doi = {10.1145/1101560.1101566}, Location = {Grenoble, France}, Publisher = {ACM Press}, Title = {Spoon: annotation-driven program transformation --- the AOP case}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1101560.1101566} } @book{Paws02a, Author = {Richard Pawson and Robert Matthews}, Isbn = {0-470-84420-5}, Keywords = {scglib olit}, Publisher = {Wiley and Sons}, Title = {Naked Objects}, Year = {2002} } @phdthesis{Paws04a, Author = {Richard Pawson}, Keywords = {olit}, School = {Trinity College, Dublin}, Title = {Naked Objects}, Type = {{Ph.D}. Thesis}, Url = {http://www.nakedobjects.org/downloads/Pawson%20thesis.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.nakedobjects.org/downloads/Pawson%20thesis.pdf} } @inproceedings{Paxs93a, Author = {Vern Paxson and Chris Saltmarsh}, Booktitle = {Proceedings USENIX '93}, Keywords = {glish scripting usenix93}, Month = jan, Title = {Glish: {A} User-Level Software Bus for Loosely-Coupled Distributed Systems}, Url = {ftp://ftp.ee.lbl.gov/glish/USENIX-93.ps.Z}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.ee.lbl.gov/glish/USENIX-93.ps.Z} } @article{Pear88a, Author = {William R. Pearson and David J. Lippman}, Journal = {Proc. Natl. Acad. Sci. USA}, Month = apr, Pages = {2444--2448}, Title = {Improved tools for biological sequence comparison}, Volume = {85}, Year = {1988} } @incollection{Pear91a, Address = {Cambridge, MASS}, Author = {Barak A. Pearlmutter and Kevin J. Lang}, Booktitle = {Topics in Advanced Language Implementation}, Editor = {Peter Lee}, Keywords = {olit-oopl oaklisp lisp (smc)}, Publisher = {The MIT Press}, Title = {The Implementation of Oaklisp}, Year = {1991} } @inproceedings{Pede89a, Author = {Claus H. Pedersen}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit-inheritance oopsla89}, Month = oct, Pages = {407--418}, Title = {Extending Ordinary Inheritance Schemes to Include Generalization}, Volume = {24}, Year = {1989} } @inproceedings{Pede91a, Author = {Jan Pedersen and Doug Cutting and John Tukey}, Booktitle = {Proceedings of the 1991 Joint Statistical Meetings}, Institution = {Xerox PARC}, Keywords = {text retrieval, human in the loop}, Note = {Also available as Xerox PARC Technical Report SSL-91-08}, Publisher = {American Statistical Association}, Title = {Snippet Search: A Single Phrase Approach to Text Access}, Year = {1991} } @techreport{Pedr07a, Author = {Samuele Pedroni, Armin Rigo}, Institution = {PyPy Consortium}, Keywords = {pypy}, Note = {http://codespeak.net/pypy/dist/pypy/doc/index-report.html}, Title = {{JIT} Compiler Architecture}, Url = {http://codespeak.net/svn/pypy/extradoc/eu-report/D08.2_JIT_Compiler_Architecture-2007-05-01.pdf}, Year = {2007}, Bdsk-Url-1 = {http://codespeak.net/svn/pypy/extradoc/eu-report/D08.2_JIT_Compiler_Architecture-2007-05-01.pdf} } @book{Pedri98a, Author = {Doug Pedrick and Jonathan Weedon and Jon Golberg and Erik Bleifield}, Isbn = {0-471-23901-1}, Keywords = {olit corba visibroker}, Publisher = {Wiley}, Title = {Programming with VisiBroker}, Year = {1998} } @inproceedings{Pele90a, Address = {Warwick U.}, Author = {Doron Peled and Amir Pnueli}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {pcalc ccs icalp90 binder(conc)}, Month = jul, Pages = {553--571}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proving Partial Order Liveness Properties}, Volume = {443}, Year = {1990} } @book{Pelr01a, Author = {Joseph Pelrine and Alan Knight}, Keywords = {smalltalk scglib oorp}, Publisher = {Cambridge University Press}, Title = {Mastering ENVY/Developer}, Year = {2001} } @inproceedings{Pelt94a, Address = {Bologna, Italy}, Author = {Hannu Peltonen and Tomi M{\"a}nnist{\"o} and Kari Alho and Reijo Sulonen}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {513--534}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Product Configurations --- An Application for Prototype Object Approach}, Volume = {821}, Year = {1994} } @inproceedings{Pena11a, Author = {Vanessa Pe\~na Araya and Alexandre Bergel}, Booktitle = {Proceedings of the 5th Workshop on Dynamic Languages and Applications}, Title = {Test Coverage With Hapao}, Year = {2011}, Url = {http://scg.unibe.ch/wiki/events/dyla2011} } @inproceedings{Penn87a, Author = {D. Jason Penney and Jacob Stein}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {111--117}, Title = {Class Modification in the GemStone Object-Oriented {DBMS}}, Volume = {22}, Year = {1987} } @inproceedings{Pente98a, Author = {R. Penteado and P.C. Masiero and A.F. do Prado and R.T.V. Braga}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {144--155}, Publisher = {IEEE Computer Society}, Title = {Reengineering of Legacy Systems Based on Transformation Using the Object-Oriented Paradigm}, Year = {1998} } @book{Pepp03a, Author = {K. Pepple and B. Down and D. Levy}, Edition = {First}, Isbn = {0-13-150263-8}, Keywords = {book scglib}, Publisher = {Prentice Hall}, Title = {Migrating to the Solaris Operating System}, Year = {2003} } @inproceedings{Peri09a, Abstract = {Enterprise Applications are complex software systems that manipulate much persistent data and interact with the user through a vast and complex user interface. In particular applications written for the Java 2 Platform, Enterprise Edition (J2EE) are composed using various technologies such as Enterprise Java Beans (EJB) or Java Server Pages (JSP) that in turn rely on languages other than Java, such as XML or SQL. In this heterogeneous context applying existing reverse engineering and quality assurance techniques developed for object-oriented systems is not enough. Because those techniques have been created to measure quality or provide information about one aspect of J2EE applications, they cannot properly measure the quality of the entire system. We intend to devise techniques and metrics to measure quality in J2EE applications considering all their aspects and to aid their evolution. Using software visualization we also intend to inspect to structure of J2EE applications and all other aspects that can be investigate through this technique. In order to do that we also need to create a unified meta-model including all elements composing a J2EE application.}, Annote = {internationalworkshop}, Author = {Fabrizio Perin}, Booktitle = {Proceedings of the PhD Symposium at the Working Conference on Reverse Engineering (WCRE 2009)}, Keywords = {scg09 scg-pub jb10 hasler09 moose-pub}, Location = {Lille, France}, Medium = {2}, Month = oct, Pages = {291-294}, Doi = {10.1109/WCRE.2009.45}, Peerreview = {yes}, Publisher = {IEEE Computer Society Press}, Title = {Enabling the evolution of {J2EE} applications through reverse engineering and quality assurance}, Url = {http://scg.unibe.ch/archive/papers/Peri09aEnablingevolutionOfJEAs.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri09aEnablingevolutionOfJEAs.pdf} } @inproceedings{Peri09b, Abstract = {Java Enterprise Applications (JEAs) are complex systems composed using various technologies that in turn rely on languages other than Java, such as XML or SQL. Given the complexity of these applications, the need to reverse engineer them in order to support further development becomes critical. In this paper we show how it is possible to split a system into layers and how is possible to interpret the distance between application elements in order to support the refactoring of JEAs. The purpose of this paper is to explore ways to provide suggestions about the refactoring operations to perform on the code by evaluating the distance between layers and elements belonging those layers. We split JEAs into layers by considering the kinds and the purposes of the elements composing the application. We measure distance between elements by using the notion of the shortest path in a graph. Also we present how to enrich the interpretation of the distance value with enterprise pattern detection in order to refine the suggestion about modifications to perform on the code.}, Annote = {internationalworkshop}, Author = {Fabrizio Perin}, Booktitle = {Proceedings of FAMOOSr at the Working Conference on Reverse Engineering (WCRE 2009)}, Keywords = {scg09 scg-pub jb10 hasler09 moose-pub skip-doi}, Location = {Lille, France}, Medium = {2}, Month = oct, Pages = {20-24}, Peerreview = {yes}, Title = {Driving the refactoring of {Java Enterprise} applications by evaluating the distance between application elements}, Url = {http://scg.unibe.ch/archive/papers/Peri09bDistancesBetweenElements.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Peri09bDistancesBetweenElements.pdf} } @inproceedings{Peri10a, Abstract = {Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. Transactions in JEAs simplify the development of code that deals with failure recovery and multi-user coordination by guaranteeing atomicity of sets of operations. The heterogeneous nature of JEAs, however, can obfuscate conceptual errors in the application code, and in particular can hide incorrect declarations of transaction scope. In this paper we present a technique to expose and analyze the application transaction scope in JEAs by merging and analyzing information from multiple sources. We also present several novel visualizations that aid in the analysis of transaction scope by highlighting anomalies in the specification of transactions and violations of architectural constraints. We have validated our approach on two versions of a large commercial case study.}, Annote = {internationalconference}, Author = {Fabrizio Perin and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings of International Conference on Software Maintenance 2010}, Keywords = {scg-pub scg10 jb11 hasler10 moose-pub girba}, Peerreview = {yes}, medium = {2}, Location = {Timi\c{s}oara, Romania}, Month = sep, Title = {Recovery and Analysis of Transaction Scope from Scattered Information in {Java} Enterprise Applications}, Url = {http://scg.unibe.ch/archive/papers/Peri10aTransactionRecovery.pdf}, Doi = {10.1109/ICSM.2010.5609572}, Year = {2010} } @inproceedings{Peri10b, Annote = {internationalworkshop}, Author = {Fabrizio Perin and Lukas Renggli and Jorge Ressia}, Booktitle = {4th Workshop on FAMIX and Moose in Reengineering (FAMOOSr 2010)}, Keywords = {scg-pub scg10 jb11 snf10 hasler10 moose-pub skip-doi}, Title = {Ranking Software Artifacts}, Abstract = {Reengineering and integrated development plat- forms typically do not list search results in a particularly useful order. PageRank is the algorithm prominently used by the Google internet search engine to rank the relative importance of elements in a set of hyperlinked documents. To determine the relevance of objects, classes, attributes, and methods we propose to apply PageRank to software artifacts and their relationship (reference, inheritance, access, and invocation). This paper presents various experiments that demonstrate the usefulness of the ranking algorithm in software (re)engineering.}, Peerreview = {yes}, medium = {1}, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Peri10bRankingSoftware.pdf} } @inproceedings{Peri10c, Annote = {internationalworkshop}, Author = {Fabrizio Perin}, Booktitle = {Proceedings of the 26th International Conference on Software Maintenance (ICSM 2010) (Tool Demonstration)}, Keywords = {scg-pub scg10 jb11 hasler10 moose-pub}, Title = {{MooseJEE}: A {Moose} Extension to Enable the assessment of {JEAs}}, Abstract = {Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. With the purpose to support the analysis of JEAs we have developed MooseJEE an extension of the \emph{Moose} environment capable to model the typical elements of JEAs.}, Peerreview = {yes}, medium = {2}, Location = {Timi\c{s}oara, Romania}, Month = sep, Year = {2010}, Doi = {10.1109/ICSM.2010.5609569}, Url = {http://scg.unibe.ch/archive/papers/Peri10cMooseExtension.pdf} } @inproceedings{Peri10d, Annote = {internationalworkshop}, Author = {Fabrizio Perin and Tudor G\^irba}, Booktitle = {4th Workshop on FAMIX and Moose in Reengineering (FAMOOSr 2010)}, Keywords = {scg-pub scg10 jb11 hasler10 moose-pub skip-doi girba}, Title = {Evaluating Code Duplication to Identify Rich Business Objects from Data Transfer Objects}, Abstract = {Java Enterprise Applications (JEAs) are complex software systems written using multiple technologies. Moreover they are usually distributed systems and use a database to deal with persistence. A particular problem that appears in the design of these systems is the lack of a rich business model. In this paper we propose a technique to support the recovery of such rich business objects starting from anemic Data Transfer Objects (DTOs). Exposing the code duplications in the application's elements using the DTOs we suggest which business logic can be moved into the DTOs from the other classes.}, Peerreview = {yes}, medium = {1}, Location = {Timi\c{s}oara, Romania}, Month = sep, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Peri10dDTOs.pdf} } @inproceedings{Peri10e, Abstract = {Written text is an important component in the process of knowledge acquisition and communication. Poorly written text fails to deliver clear ideas to the reader no matter how revolutionary and ground-breaking these ideas are. Providing text with good writing style is essential to transfer ideas smoothly. While we have sophisticated tools to check for stylistic problems in program code, we do not apply the same techniques for written text. In this paper we present TextLint, a rule-based tool to check for common style errors in natural language. TextLint provides a structural model of written text and an extensible rule-based checking mechanism.}, Annote = {internationalworkshop}, Booktitle = {Smalltalks 2010}, Author = {Fabrizio Perin and Lukas Renggli and Jorge Ressia}, Keywords = {scg11 scg-pub jb11 snf11 textlint petitparser missing-doi}, Location = {Concepcion del Uruguay, Entre Rios, Argentina}, Medium = {2}, Peerreview = {yes}, Title = {Natural Language Checking with Program Checking Tools}, Year = {2010}, Url = {http://scg.unibe.ch/archive/papers/Peri10eNaturalLanguageChecking.pdf} } @inproceedings{Perk05a, Address = {New York, NY, USA}, Author = {Perkins, Jeff H.}, Booktitle = {PASTE '05: Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering}, Doi = {10.1145/1108792.1108818}, Isbn = {1-59593-239-9}, Location = {Lisbon, Portugal}, Pages = {111--114}, Publisher = {ACM}, Title = {Automatically generating refactorings to support API evolution}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1108792.1108818} } @article{Perl82a, Author = {Alan J. Perlis}, Journal = {ACM SIGPLAN Notices}, Keywords = {misc}, Month = sep, Pages = {7--13}, Title = {Epigrams on Programming}, Year = {1982} } @proceedings{Perl84a, Editor = {T.J. Biggerstaff and Alan J. Perlis}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-reuse}, Month = sep, Title = {Special Issue on Reusability}, Volume = 10, Year = {1984} } @techreport{Pern89a, Author = {Barbara Pernici}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg ood89}, Month = jul, Pages = {75--100}, Title = {Objects with Roles}, Type = {Object Oriented Development}, Year = {1989} } @techreport{Pern90a, 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.}, Author = {Barbara Pernici}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg om90}, Month = jul, Pages = {117--131}, Title = {Class Design and Meta-Design}, Type = {Object Management}, Year = {1990} } @inproceedings{Pern90b, Address = {Boston}, Author = {Barbara Pernici}, Booktitle = {Proceedings ACM-IEEE Conference of Office Information Systems (COIS)}, Doi = {10.1145/91474.91542}, Keywords = {olit osg ood89 ithaca recast orm}, Month = apr, Title = {Objects with Roles}, Year = {1990}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/91474.91542} } @inproceedings{Perr87a, Address = {Monterrey CA, USA}, Author = {Dewayne E. Perry}, Booktitle = {Proceedings of 9th ICSE '87}, Keywords = {olit(reuse) binder}, Month = mar, Pages = {61--69}, Title = {Software Interconnection Models}, Year = {1987} } @book{Perr88a, Address = {Reading, Mass. Wokingham}, Author = {Ronald H. Perrott}, Keywords = {concurrency}, Publisher = {Addison Wesley}, Series = {International computer science series}, Title = {Parallel Programming}, Year = {1988} } @inproceedings{Perr89a, Author = {Dewayne E. Perry}, Booktitle = {In Proceedings of the 11th ICSE}, Keywords = {olit interconnection binder}, Pages = {2--12}, Title = {The Inscape Environment}, Year = {1989} } @phdthesis{Perr91a, Address = {London}, Author = {Nigel Perry}, Keywords = {fpl hope binder (shelf)}, School = {Imperial College}, Title = {The Implementation of Practical Functional Programming Languages}, Type = {{Ph.D}. Thesis}, Year = {1991} } @unpublished{Perr91b, Author = {Nigel Perry}, Keywords = {pcalc ccs binder}, Note = {Massey University, Ngz}, Title = {Non-Strict Fpm --- {A} High Performance Lazy Abstract Machine}, Type = {Draft}, Year = {1991} } @unpublished{Perr91c, Author = {Nigel Perry}, Keywords = {pcalc-obc ccs binder}, Note = {Massey University, Ngz}, Title = {Towards a Concurrent Object/Process Oriented Functional Language}, Type = {Draft}, Year = {1991} } @article{Perr92a, Author = {Dewayne E. Perry and Alexander L. Wolf}, Journal = {ACM SIGSOFT Software Engineering Notes}, Keywords = {architecture composition binder}, Month = oct, Number = {4}, Pages = {40--52}, Title = {Foundations for the Study of Software Architecture}, Url = {http://www.bell-labs.com/user/dep/work/papers/swa-sen.ps}, Volume = {17}, Year = {1992}, Bdsk-Url-1 = {http://www.bell-labs.com/user/dep/work/papers/swa-sen.ps} } @book{Pers08a, Annote = {book}, Author = {Michael Perscheid and David Tibbe and Martin beck and Stefan Berger and Peter Osburg and Jeff Eastman and Michael Haupt and Robert Hirschfeld}, Isbn = {978-3-00-023645-7}, Keywords = {seaside book}, Publisher = {Hasso Plattner Institut}, Title = {An Introduction to {Seaside} --- Developing Web applications with {Squeak} and {Seaside}}, Url = {http://www.hpi.uni-potsdam.de/hirschfeld/misc/seaside/index.html}, Year = {2008}, Bdsk-Url-1 = {http://www.hpi.uni-potsdam.de/hirschfeld/misc/seaside/index.html} } @article{Pete77a, Author = {James L. Peterson}, Doi = {10.1145/356698.356702}, Journal = {ACM Computing Surveys}, Keywords = {concurrency other nets binder(conc)}, Month = sep, Number = {3}, Pages = {223--252}, Title = {Petri Nets}, Volume = {9}, Year = {1977}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/356698.356702} } @book{Pete83a, Author = {James L. Peterson}, Keywords = {misc nets book}, Publisher = {Prentice-Hall}, Title = {Petri Nets Theory and the Modeling of Systems}, Year = {1983} } @inproceedings{Pete89a, Address = {New York, NY, USA}, Author = {L. Peterson and N. Hutchinson and S. O'Malley and M. Abbott}, Booktitle = {SOSP '89: Proceedings of the twelfth ACM symposium on Operating systems principles}, Doi = {10.1145/74850.74860}, Isbn = {0-89791-338-8}, Pages = {91--101}, Publisher = {ACM Press}, Title = {RPC in the x-Kernel: evaluating new design techniques}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/74850.74860} } @article{Pete89b, Address = {New York, NY, USA}, Author = {Larry L. Peterson and Nick C. Buchholz and Richard D. Schlichting}, Doi = {10.1145/65000.65001}, Issn = {0734-2071}, Journal = {ACM Trans. Comput. Syst.}, Number = {3}, Pages = {217--246}, Publisher = {ACM Press}, Title = {Preserving and using context information in interprocess communication}, Volume = {7}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/65000.65001} } @article{Pete90a, Address = {Los Alamitos, CA, USA}, Author = {Larry Peterson and N. Hutchinson and Sean O'Malley and Herman Rao}, Doi = {10.1109/2.53352}, Issn = {0018-9162}, Journal = {Computer}, Number = {5}, Pages = {23--33}, Publisher = {IEEE Computer Society Press}, Title = {The x-kernel: A Platform for Accessing Internet Resources}, Volume = {23}, Year = {1990}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.53352} } @misc{PetitPetri, Abstract = {Petri nets are a well-known mathematical formalism for modeling and reasoning about concurrency. This web page provides an overview of a Squeak Etoys implementation of a Petri net interpreter. First download and install Etoys and download Petit Petri. If you unzip the Petit Petri download you will find several Etoys project files containing examples that you can run. Simply start Etoys and drag and drop any of these files onto the running Etoys images.}, Annote = {misc}, Author = {Oscar Nierstrasz and Markus Gaelli}, Keywords = {scg-misc skip-doi petri nets etoys jb-none gaelli}, Month = sep, Note = {http://scg.unibe.ch/download/petitpetri}, Title = {Petit{Petri} --- A {Petri} Net Editor built with {Etoys}}, Url = {http://scg.unibe.ch/download/petitpetri}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/download/petitpetri} } @article{Petr95a, Author = {Marian Petre}, Journal = {Communications of the ACM}, Month = jun, Number = {6}, Pages = {33--44}, Title = {Why looking isn't always seeing: Readership skills and graphical programming}, Volume = {38}, Year = {1995} } @book{Pfaf85a, Address = {New York}, Editor = {G. Pfaff}, Keywords = {uilit}, Note = {Proceedings of the IFIP/EG Workshop on User Interface Management Systems, Seeheim, FRG, Oct. 1983}, Publisher = {Springer-Verlag}, Title = {User Interface Management Systems}, Year = {1985} } @inproceedings{Phan05a, author = {Doantam Phan and Ling Xiao and Ron B. Yeh and Pat Hanrahan and Terry Winograd}, title = {Flow Map Layout}, booktitle = {INFOVIS}, year = {2005}, pages = {29}, Doi = {10.1109/INFOVIS.2005.13}, Url = {http://graphics.stanford.edu/papers/flow_map_layout/flow_map_layout.pdf}, bibsource = {DBLP, http://dblp.uni-trier.de} } @inproceedings{Phen06a, Address = {Washington, DC, USA}, Author = {Sokhom Pheng and Clark Verbrugge}, Booktitle = {Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC'06)}, Doi = {10.1109/ICPC.2006.20}, Isbn = {0-7695-2601-2}, Pages = {191--201}, Publisher = {IEEE Computer Society}, Title = {Dynamic Data Structure Analysis for Java Programs}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2006.20} } @article{Phil87a, Author = {Iain Phillips}, Journal = {Theoretical Computer Science}, Keywords = {pcalc equivalence ccs binder(ccs)}, Pages = {241--284}, Publisher = {North-Holland}, Title = {Refusal Testing}, Volume = {50}, Year = {1987} } @inproceedings{Phil03a, Annote = {was erroneously Phil04a}, Author = {Ilka Philippow and Detlef Streitferdt and Matthias Riebisch}, Booktitle = {ECOOP workshop--Modeling Variability for Object-Oriented Product Lines}, Pages = {42-57}, Publisher = {BoD GmbH}, Title = {Design Pattern Recovery in Architectures for Supporting Product Line Development and Application}, Year = {2003} } @inproceedings{Picc01a, Address = {Washington, DC, USA}, Author = {Giacomo Piccinelli and Leonid Mokrushin}, Booktitle = {ICDCSW '01: Proceedings of the 21st International Conference on Distributed Computing Systems}, Isbn = {0-7695-1080-9}, Pages = {88}, Publisher = {IEEE Computer Society}, Title = {Dynamic e-Service Composition in DySCo}, Year = {2001} } @inproceedings{Picc09a, author = {Marco Piccioni and Manuel Oriol and Bertrand Meyer and Teseo Schneider}, title = {An IDE-based, Integrated Solution to Schema Evolution of Object-Oriented Software}, booktitle = {ASE}, year = {2009}, pages = {650-654}, ee = {http://doi.ieeecomputersociety.org/10.1109/ASE.2009.100} } @inproceedings{Picek08a, author = {Picek, Ruben and Strahonja, Vjeran}, title = {{Model Driven Development} - Future or Failure of Software Development?}, booktitle = {IIS'07: Proceedings of the 18th International Conference on Information and Intelligent Systems}, isbn = {978-953-6071-30-2}, pages = {407--413}, address = {Varazdin, Croatia}, publisher = {Aurer, Boris}, month = sep, keywords = {damiencbib mda mdd mde case tools}, year = {2007} } @inproceedings{Pier86a, Author = {Kurt W. Piersol}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl asp smalltalk oopsla86}, Month = nov, Pages = {385--390}, Title = {Object Oriented Spreadsheets: The Analytic Spreadsheet Package}, Volume = {21}, Year = {1986} } @techreport{Pier89a, Author = {Benjamin C. Pierce and Scott Dietzen and Spiro Michaylov}, Institution = {Carnegie Mellon University}, Keywords = {types lambda binder}, Month = mar, Title = {Programming in Higher-Order Typed Lambda-Calculi}, Type = {{CMU-CS-89-111}}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/leap.ps.gz}, Year = {1989}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/leap.ps.gz} } @book{Pier91a, Address = {Cambridge, Mass.}, Author = {Benjamin C. Pierce}, Isbn = {0-521-42225-6}, Keywords = {misc category theory book scglib}, Publisher = {MIT Press}, Title = {Basic Category Theory for Computer Scientists}, Year = {1991} } @techreport{Pier92a, Author = {Benjamin C. Pierce}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {types f-omega binder}, Month = oct, Title = {F-Omega-Sub User's Manual Version 1.0}, Type = {Documentation}, Year = {1992} } @unpublished{Pier92d, Author = {Benjamin C. Pierce and David N. Turner}, Keywords = {types olit binder}, Month = oct, Note = {Computer Science Dept., University of Edinburgh}, Title = {Statically Typed Multi-Methods via Partially Abstract Types}, Type = {Draft manuscript}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/friendly.ps.gz}, Year = {1992}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/friendly.ps.gz} } @techreport{Pier92e, Author = {Benjamin C. Pierce}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {types olit binder}, Month = mar, Title = {Intersection Types and Bounded Polymorphism}, Type = {ECS-LFCS-92-200}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz}, Year = {1992}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz} } @techreport{Pier92f, Author = {Benjamin C. Pierce}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {types olit f-omega binder}, Month = oct, Title = {OOrientierungstage Exercises and Solutions}, Type = {Course Notes}, Year = {1992} } @inproceedings{Pier93b, Address = {Montreal, Canada}, Author = {Benjamin C. Pierce and Davide Sangiorgi}, Booktitle = {Proceedings 8th {IEEE} Logics in Computer Science}, Keywords = {pcalc mobility lics93 binder}, Month = jun, Pages = {376--385}, Title = {Typing and Subtyping for Mobile Processes}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pi.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pi.ps.gz} } @inproceedings{Pier93c, Author = {Benjamin C. Pierce}, Booktitle = {Conference on Typed Lambda Calculi and Applications}, Keywords = {types olit}, Month = mar, Note = {To appear in MSCS}, Pages = {346--360}, Title = {Intersection Types and Bounded Polymorphism}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/fmeet-tlca.ps.gz} } @incollection{Pier93d, Author = {Benjamin C. Pierce}, Booktitle = {Working draft}, Keywords = {types olit}, Misc = {May 29}, Month = may, Publisher = {University of Edinburgh}, Title = {Mutable Objects}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/mutable.ps.gz}, Year = {1993}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/mutable.ps.gz} } @techreport{Pier94a, Author = {Benjamin C. Pierce}, Institution = {University of Edinburgh}, Keywords = {olit pcalc semantics}, Month = mar, Title = {{PICT}: An Experiment in Concurrent Language Design}, Type = {PICT Version 3.6 tutorial}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pict}, Year = {1994}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/pict} } @article{Pier94b, Author = {Benjamin C. Pierce and David N. Turner}, Journal = {Journal of Functional Programming}, Keywords = {types olit binder}, Month = apr, Number = {2}, Pages = {207--247}, Title = {Simple Type-Theoretic Foundations for Object-Oriented Programming}, Url = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/oop.ps.Z}, Volume = {4}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/oop.ps.Z} } @inproceedings{Pier95a, Address = {Sendai, Japan}, Author = {Benjamin C. Pierce and David N. Turner}, Booktitle = {Proceedings Theory and Practice of Parallel Programming (TPPP 94)}, Editor = {Takayasu Ito and Akinori Yonezawa}, Keywords = {olit-obc pcalc pict semantics binder}, Pages = {187--215}, Publisher = {Springer LNCS 907}, Title = {Concurrent Objects in a Process Calculus}, Url = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/copc.ps.gz}, Year = {1995}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/bcp1000/ftp/copc.ps.gz} } @book{Pier95b, Author = {Benjamin Pierce}, Keywords = {olit-pcal pict book scglib}, Publisher = {University of Glasgow}, Title = {{PICT} User Manual Pict 3.6a}, Year = {1995} } @book{Pier95c, Author = {Benjamin Pierce}, Keywords = {olit-pcal pict book scglib}, Month = may, Publisher = {University of Glasgow}, Title = {Programming in the {PI}-Calculus, Tutorial Notes for PiCT Version 3.6a}, Year = {1995} } @techreport{Pier95d, Author = {Benjamin C. Pierce}, Institution = {Computer Laboratory, University of Cambridge, UK}, Keywords = {olit-pcal pict book scglib}, Month = may, Note = {Tutorial Notes for Pict Version 3.6a}, Title = {Programming in the Pi-Calculus: An Experiment in Concurrent Language Design}, Type = {Technical Report}, Url = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/pict}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.cl.cam.ac.uk/users/bcp1000/pict} } @article{Pier96a, Author = {Benjamin Pierce and Davide Sangiorgi}, Journal = {Mathematical Structures in Computer Science}, Month = oct, Note = {An extended abstract in {\em Proc.\ LICS 93}, {IEEE} Computer Society Press.}, Number = {5}, Pages = {409--454}, Title = {Typing and subtyping for mobile processes}, Volume = {6}, Year = {1996} } @techreport{Pier97a, Author = {Benjamin C. Pierce and David N. Turner}, Institution = {Computer Science Department, Indiana University}, Keywords = {pict pi design concurrency}, Month = mar, Number = {CSCI 476}, Title = {Pict: {A} Programming Language based on the Pi-Calculus}, Type = {Technical Report}, Url = {http://www.cs.indiana.edu/hyplan/pierce/pierce/ftp/pict-design.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.indiana.edu/hyplan/pierce/pierce/ftp/pict-design.ps.gz} } @inproceedings{Pier00a, Author = {Benjamin C. Pierce and David N. Turner}, Booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner}, Editor = {G. Plotkin and C. Stirling and M. Tofte}, Isbn = {ISBN 0-262-16188-5}, Month = may, Publisher = {{MIT} {Press}}, Title = {Pict: {A} Programming Language Based on the Pi-Calculus}, Year = {2000} } @book{Pier02a, Author = {Benjamin Pierce}, Keywords = {scglib pl ioom-types pl-lit}, Publisher = {The MIT Press}, Title = {Types and Programming Languages}, Url = {http://www.cis.upenn.edu/~bcpierce/tapl/index.html}, Year = {2002}, Bdsk-Url-1 = {http://www.cis.upenn.edu/~bcpierce/tapl/index.html} } @misc{PierUnixSecurity, Author = {Lukas Renggli}, Key = {PierUnixSecurity}, Keywords = {smalltalk pier security unix}, Note = {http://map.squeak.org/package/1ae18f4e-086a-46e3-83ff-72ab6673c382}, Title = {{Pier} {Unix} {Security}, an {Unix} file-system based security framework for {Pier}}, Url = {http://map.squeak.org/package/1ae18f4e-086a-46e3-83ff-72ab6673c382}, Year = {2006}, Bdsk-Url-1 = {http://map.squeak.org/package/1ae18f4e-086a-46e3-83ff-72ab6673c382} } @book{Pigo97a, Author = {T. Pigoski}, Keywords = {book scglib}, Publisher = {John Wiley and Sons}, Title = {Practical Software Maintenance. Best Practices Managing your Software Investment.}, Year = {1997} } @book{Pilo05a, Author = {Dan Pilone}, Keywords = {book scglib}, Publisher = {O'Reilly}, Title = {UML 2.0}, Year = {2005} } @book{Pink97a, Author = {Steven Pinker}, Keywords = {scglib}, Publisher = {W. W. Norton}, Title = {How the Mind Works}, Year = {1997} } @unpublished{Pinn92a, Author = {G. Michele Pinna and Axel Poign\'e}, Keywords = {olit binder}, Misc = {March 9}, Month = mar, Note = {Gesellschaft f{\"u}r Mathematik und Datenverarbeitung}, Title = {On the Nature of Events}, Type = {Draft}, Year = {1992} } @misc{Pinocchio, Annote = {misc}, Author = {Toon Verwaest}, Keywords = {scg-misc jb-none skip-doi skip-abstract tverwaes smalltalk vm}, Month = jun, Note = {http://scg.unibe.ch/pinocchio}, Title = {Pinocchio --- an open system for language experimentation}, Url = {http://scg.unibe.ch/pinocchio}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/pinocchio} } @book{Pins91a, Author = {Lewis J. Pinson and Richard S. Wiener}, Keywords = {objectivec}, Publisher = {Addison Wesley}, Title = {Objective-C}, Year = {1988} } @book{Pins88a, Author = {Lewis J. Pinson and Richard S. Wiener}, Keywords = {olit}, Publisher = {Addison Wesley}, Title = {An Introduction to Object-Oriented Programming and {Smalltalk}}, Year = {1988} } @techreport{Pint88a, Author = {Xavier Pintado and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit affinity browser osg aoe88}, Month = jun, Pages = {51--60}, Title = {An Affinity Browser}, Type = {Active Object Environments}, Year = {1988} } @inproceedings{Pint88b, Address = {Nice}, Author = {Xavier Pintado and Eugene Fiume}, Booktitle = {Proceedings of Eurographics 1988 (North-Holland)}, Editor = {Duce and Jancene}, Keywords = {olit-oopl grafields osg aoe88}, Month = sep, Pages = {43--54}, Publisher = {North-Holland}, Title = {Grafields: Field-Directed Dynamic Splines for Interactive Motion Control}, Year = {1988} } @techreport{Pint89a, Author = {Xavier Pintado and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg ood89}, Month = jul, Pages = {61--73}, Title = {Satellite: {A} Navigation Tool for Hypermedia}, Type = {Object Oriented Development}, Year = {1989} } @inproceedings{Pint90a, 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.}, Address = {Cambridge, Mass.}, Author = {Xavier Pintado and Dennis Tsichritzis}, Booktitle = {Proceedings of the ACM Conference on Office Information Systems (COIS), SIGOIS Bulletin}, Keywords = {olit osg}, Misc = {April 25-27}, Month = apr, Pages = {271--280}, Title = {Satellite: {A} Visualization and Navigation Tool for Hypermedia}, Volume = {11}, Year = {1990} } @techreport{Pint90b, 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.}, Author = {Xavier Pintado}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg-ftp om90}, Month = jul, Pages = {79--88}, Title = {Selection and Exploration in an Object-Oriented Environment: The Affinity Browser}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/affinityBrowsing.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/affinityBrowsing.pdf} } @techreport{Pint91a, 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.}, Author = {Xavier Pintado and Dennis Tsichritzis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Pages = {273--285}, Title = {Fuzzy Relationships and Affinity Links}, Type = {Object Composition}, Year = {1991} } @techreport{Pint91b, 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.}, Author = {Xavier Pintado}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg oc91}, Month = jun, Note = {Working paper}, Pages = {73--83}, Title = {Gluons: Connecting Software Components}, Type = {Object Composition}, Year = {1991} } @techreport{Pint92a, 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.}, Author = {Xavier Pintado and Betty Junod}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg of92}, Month = jul, Pages = {311--346}, Title = {Gluons: Support for Software Component Cooperation}, Type = {Object Frameworks}, Year = {1992} } @techreport{Pint93a, 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.}, Author = {Xavier Pintado}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg}, Note = {in preparation}, Title = {Advances in Information Visualisation Techniques}, Type = {working paper}, Year = {1993} } @techreport{Pint93b, 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.}, Author = {Xavier Pintado}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg vo93}, Month = jul, Pages = {111--128}, Title = {New Approaches for the Visualization of Financial Information}, Type = {Visual Objects}, Year = {1993} } @incollection{Pint93c, 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.}, Author = {Xavier Pintado}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {43--60}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Gluons: a Supprot for Software Component Cooperation}, Volume = {742}, Year = {1993} } @incollection{Pint95a, 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.}, Author = {Xavier Pintado}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC09}, Pages = {245--272}, Publisher = {Prentice-Hall}, Title = {The Affinity Browser}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @incollection{Pint95b, 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.}, Author = {Xavier Pintado}, Booktitle = {Object-Oriented Software Composition}, Editor = {Oscar Nierstrasz and Dennis Tsichritzis}, Keywords = {olit osg OOSC12}, Pages = {321--349}, Publisher = {Prentice-Hall}, Title = {Gluons and the Cooperation between Software Components}, Url = {http://scg.unibe.ch/archive/oosc/index.html}, Year = {1995}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/oosc/index.html} } @inproceedings{Pinz02a, Author = {Martin Pinzger and Michael Fischer and Harald Gall and Mehdi Jazayeri}, Booktitle = {Proceedings of the 9th Working Conference on Reverse Engineering (WCRE 2002)}, Doi = {10.1109/WCRE.2002.1173075}, Keywords = {design-recovery parsing}, Pages = {170--178}, Title = {Revealer: A Lexical Pattern Matcher for Architecture Recovery}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2002.1173075} } @inproceedings{Pinz02b, Author = {Martin Pinzger and Harald Gall}, Booktitle = {10th International Workshop on Program Comprehension (IWPC'02)}, Doi = {10.1109/WPC.2002.1021318}, Keywords = {design-recovery parsing}, Pages = {53--61}, Title = {Pattern-Supported Architecture Recovery}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2002.1021318} } @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}, Booktitle = {Proceedings of the 5th International Workshop on Product Family Engineering (PFE-5)}, Keywords = {design-recovery}, Pages = {332--351}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Architecture Recovery for Product Families}, Url = {http://www.infosys.tuwien.ac.at/Cafe/doc/mp-ar_for_families.pdf}, Volume = {3014}, Year = {2004}, Bdsk-Url-1 = {http://www.infosys.tuwien.ac.at/Cafe/doc/mp-ar_for_families.pdf} } @inproceedings{Pinz05a, Address = {St. Louis, Missouri, USA}, Annote = {internationalconference}, Author = {Martin Pinzger and Harald Gall and Michael Fischer and Michele Lanza}, Booktitle = {Proceedings of SoftVis 2005 (2nd ACM Symposium on Software Visualization)}, Keywords = {evolution visualization moose-pub}, Month = may, Pages = {67--75}, Title = {Visualizing Multiple Evolution Metrics}, Year = {2005} } @phdthesis{Pinz05b, Author = {Martin Pinzger}, School = {Vienna University of Technology}, Title = {ArchView --- Analyzing Evolutionary Aspects of Complex Software Systems}, Year = {2005} } @article{Pinz05c, Author = {Martin Pinzger and Harald Gall and Michael Fischer}, Journal = {Electronic Notes in Theoretical Computer Science}, Number = {3}, Pages = {183--196}, Title = {Towards an Integrated View on Architecture and its Evolution}, Volume = {127}, Year = {2005} } @inproceedings{Pinz08a, author={Pinzger, M. and Grafenhain, K. and Knab, P. and Gall, H.C.}, booktitle={Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on}, title={A Tool for Visual Understanding of Source Code Dependencies}, year={2008}, month={jun}, pages={254 -259}, abstract={Many program comprehension tools use graphs to visualize and analyze source code. The main issue is that existing approaches create graphs overloaded with too much information. Graphs contain hundreds of nodes and even more edges that cross each other. Understanding these graphs and using them for a given program comprehension task is tedious, and in the worst case developers stop using the tools. In this paper we present DA4Java, a graph-based approach for visualizing and analyzing static dependencies between Java source code entities. The main contribution of DA4Java is a set of features to incrementally compose graphs and remove irrelevant nodes and edges from graphs. This leads to graphs that contain significantly fewer nodes and edges and need less effort to understand.}, doi={10.1109/ICPC.2008.23}, ISSN={1063-6897}} @inproceedings{Pitt80a, Author = {Kent Pitman}, Booktitle = {Proceedings of the 1980 ACM Conference on LISP and Functional Programming}, Month = aug, Pages = {179--197}, Title = {Special Forms in Lisp}, Url = {http://world.std.com/~pitman/Papers/Special-Forms.html}, Year = {1980}, Bdsk-Url-1 = {http://world.std.com/~pitman/Papers/Special-Forms.html} } @article{Pitt93a, Author = {Matthew Pittman}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {43--53}, Title = {Lessons Learned in Managing Object-Oriented Development}, Volume = {10}, Year = {1993} } @techreport{Pium06a, Author = {Ian Piumarta}, Institution = {Viewpoints Research Institute}, Keywords = {pepsi cola parsing}, Note = {VPRI Research Note RN-2006-001-a}, Title = {Accessible Language-Based Environments of Recursive Theories (a white paper advocating widespread unreasonable behavior)}, Url = {http://vpri.org/pdf/rn2006001a_colaswp.pdf}, Year = {2006}, Bdsk-Url-1 = {http://vpri.org/pdf/rn2006001a_colaswp.pdf} } @techreport{Pium06b, Author = {Ian Piumarta and Alessandro Warth}, Institution = {Viewpoints Research Institute}, Keywords = {pepsi}, Note = {VPRI Research Note RN-2006-003-a}, Title = {Open Reusable Object Models}, Url = {http://vpri.org/pdf/tr2006003a_objmod.pdf}, Year = {2006}, Bdsk-Url-1 = {http://vpri.org/pdf/tr2006003a_objmod.pdf} } @inproceedings{Piwo93a, author = {Piwowarski, Paul and Ohba, Mitsuru and Caruso, Joe}, title = {Coverage measurement experience during function test}, booktitle = {Proceedings of the 15th international conference on Software Engineering}, series = {ICSE '93}, year = {1993}, isbn = {0-89791-588-7}, location = {Baltimore, Maryland, United States}, pages = {287--301}, numpages = {15}, url = {http://portal.acm.org/citation.cfm?id=257572.257635}, acmid = {257635}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA} } @article{Plai95a, Author = {Catherine Plaisant and David Carr and Ben Shneiderman}, Journal = {IEEE Software}, Month = mar, Pages = {21--32}, Title = {Image-Browser Taxonomy and Guidelines for Designers}, Year = {1995} } @article{Plai08a, Author = {John Plaice and Blanca Mancilla and Gabriel Ditu}, Doi = {10.1007/s11786-008-0043-9}, Journal = {Mathematics in Computer Science}, Keywords = {cop-lit}, Month = nov, Pages = {37-61}, Publisher = {Birkh\"auser Basel}, Title = {From Lucid to TransLucid: Iteration, Dataflow, Intensional and Cartesian Programming}, Volume = {788}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/s11786-008-0043-9} } @book{Plet96a, Author = {Jonathan Pletzke}, Isbn = {0-471-16350-3}, Keywords = {olit smalltalk scglib}, Publisher = {Wiley Computer Publishing}, Title = {Advanced {Smalltalk}}, Year = {1996} } @inproceedings{Plev94a, Author = {John Pleviak and Andrew A. Chien}, Booktitle = {Proceedings of OOPSLA '94}, Pages = {324--340}, Title = {Precise Concrete Type Inference for Object-Oriented Languages}, Year = {1994} } @inproceedings{Plos97a, Author = {R. Plosh}, Booktitle = {IEEE Proceedings of the Joint Asia Pacific Software Engineering Conference (APSEC97/ICSC97)}, Title = {Design by Contract for Python}, Year = {1997} } @techreport{Plot81a, Author = {Gordon Plotkin}, Institution = {University of Aarhus, Denmark}, Keywords = {SOS}, Title = {A Structural Approach to Operational Semantics}, Year = {1981} } @book{Plot00a, Editor = {Gordon Plotkin, Colin Stirling and Mads Tofte}, Keywords = {scglib}, Publisher = {The MIT Press}, Title = {Proof, Language and Interaction}, Year = {2000} } @inproceedings{Pluq06a, Annote = {internationalworkshop}, Author = {Fr\'ed\'eric Pluquet and Roel Wuyts}, Booktitle = {Proceedings of the ERCIM Working Group on Software Evolution (2006)}, Title = {Evolution Persistence For Objects}, Url = {http://decomp.ulb.ac.be:9090/FrepSite/Papers/Evolution%20Persistence%20For%20Objects.pdf}, Year = {2006}, Bdsk-Url-1 = {http://decomp.ulb.ac.be:9090/FrepSite/Papers/Evolution%20Persistence%20For%20Objects.pdf} } @inproceedings{Pluq08a, Annote = {internationalworkshop}, Author = {Fr\'ed\'eric Pluquet and Stefan Langerman and Antoine Marot and Roel Wuyts}, Booktitle = {Proceedings of the Workshop on Algorithm Engineering and Experiments, ALENEX 2008, San Francisco, California, USA, January 19, 2008}, Publisher = {ACM-SIAM}, Title = {Implementing Partial Persistence in Object-Oriented Languages}, Url = {http://www.siam.org/proceedings/alenex/2008/alx08_04pluquetf.pdf}, Year = {2008}, Bdsk-Url-1 = {http://www.siam.org/proceedings/alenex/2008/alx08_04pluquetf.pdf} } @inproceedings{Pluq09a, Address = {New York, NY, USA}, Author = {Pluquet, Fr\'{e}d\'{e}ric and Marot, Antoine and Wuyts, Roel}, Booktitle = {DLS '09: Proceedings of the 5th symposium on Dynamic languages}, Doi = {10.1145/1640134.1640145}, Isbn = {978-1-60558-769-1}, Location = {Orlando, Florida, USA}, Pages = {69--78}, Publisher = {ACM}, Title = {Fast type reconstruction for dynamically typed programming languages}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1640134.1640145} } @inproceedings{Pnue85a, Address = {Nafplion}, Author = {Amir Pnueli}, Booktitle = {Proceedings ICALP '85}, Editor = {W. Brauer}, Keywords = {pcalc ccs icalp85 binder(conc)}, Month = jul, Pages = {15--32}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Linear and Branching Structures in the Semantics and Logics of Reactive Systems}, Volume = {194}, Year = {1985} } @inproceedings{Podg03a, Address = {Washington, DC, USA}, Author = {Podgurski, Andy and Leon, David and Francis, Patrick and Masri, Wes and Minch, Melinda and Sun, Jiayang and Wang, Bin}, Booktitle = {ICSE '03: Proceedings of the 25th International Conference on Software Engineering}, Isbn = {0-7695-1877-X}, Location = {Portland, Oregon}, Pages = {465--475}, Publisher = {IEEE Computer Society}, Title = {Automated support for classifying software failure reports}, Year = {2003} } @book{Pohl05a, Author = {Klaus Pohl and G\"unter B\"ockle and Frank van der Linden}, Isbn = {3-540-24372-0}, Publisher = {Springer, Berlin Heidelberg New York}, Title = {Software Product Line Engineering: Foundations, Principles and Techniques}, Year = {2005} } @misc{Poll02a, Address = {Malaga}, Annote = {internationalworkshop}, Author = {Pollet, Damien and Vojtisek, Didier and J\'ez\'equel, Jean-Marc}, Howpublished = {Workshop on Integration and Transformation of UML models (WITUML~2002)}, Month = jun, Title = {OCL as a Core UML Transformation Language}, Url = {http://ctp.di.fct.unl.pt/~ja/wituml02.htm}, Year = {2002}, Bdsk-Url-1 = {http://ctp.di.fct.unl.pt/~ja/wituml02.htm} } @phdthesis{Poll05a, Annote = {phdthesis}, Author = {Pollet, Damien}, Month = jun, School = {Universit\'e de Rennes 1}, Title = {Une architecture pour les transformations de mod\`eles et la restructuration de mod\`eles UML}, Url = {http://www.irisa.fr/bibli/publi/theses/2005/pollet/pollet.html}, Year = {2005}, Bdsk-Url-1 = {http://www.irisa.fr/bibli/publi/theses/2005/pollet/pollet.html} } @inproceedings{Poll07a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Pollet, Damien and Ducasse, St\'ephane and Poyet, Lo\"{\i}c and Alloui, Ilham and C\^impan, Sorana and Verjus, Herv\'e}, Booktitle = {Proceedings of 11th European Conference on Software Maintenance and Reengineering (CSMR'07)}, Editor = {Krikhaar, Ren\'e and Verhoef, Chris and Di Lucca, Giuseppe}, Inria = {hors}, Keywords = {recast}, Location = {Amsterdam, the Netherlands}, Misc = {Acceptance rate: 38/132=29\%}, AcceptTotal = {132}, AcceptNum = {38}, Month = mar, Note = {Best Paper Award}, Publisher = {IEEE Computer Society}, Rate = {29%}, Selectif = {oui}, Title = {Towards A Process-Oriented Software Architecture Reconstruction Taxonomy}, Url = {http://scg.unibe.ch/archive/papers/Poll07a-CSMRSARTaxonomy.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Poll07a-CSMRSARTaxonomy.pdf} } @inproceedings{Pomb94a, Author = {G. Pomberger and W. Pree}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94 scglib}, Pages = {96--107}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Quantitative and Qualitative Aspects of Object-Oriented Software Development}, Volume = {858}, Year = {1994} } @inproceedings{Poni06a, 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}, Author = {Laura Ponisio and Oscar Nierstrasz}, Booktitle = {Proceedings of the 3rd Software Measurement European Forum 2006 (SMEF'06)}, Cvs = {AlchemistSimulatedAnnealingSMEF06}, Keywords = {jb06 fb06 scg-pub skip-doi oscarPub recast06}, Medium = {2}, Pages = {91--103}, Peerreview = {yes}, Title = {Using Context Information to Re-architect a System}, Url = {http://scg.unibe.ch/archive/papers/Poni06aSimulatedAnnealing.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Poni06aSimulatedAnnealing.pdf} } @techreport{Poni06b, 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}, Author = {Laura Ponisio and Oscar Nierstrasz}, Institution = {University of Bern, Institute of Applied Mathematics and Computer Sciences}, Keywords = {jb06 fb06 scg-pub skip-doi recast06 moose-pub}, Number = {IAM-06-002}, Title = {Using Contextual Information to Assess Package Cohesion}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Poni06bAlchemistPackageCohesion.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Poni06bAlchemistPackageCohesion.pdf} } @phdthesis{Poni06c, 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.}, Address = {Bern}, Author = {Mar\'ia Laura Ponisio}, Cvs = {LPonisioPhD}, Keywords = {scg-pub skip-doi scg-phd jb06 fb06 recast06 moose-pub}, Month = jun, Pages = {113}, School = {University of Bern}, Title = {Exploiting Client Usage to Manage Program Modularity}, Url = {http://scg.unibe.ch/archive/phd/ponisio-phd.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/ponisio-phd.pdf} } @incollection{Pont91a, Author = {Lars Ponten}, Booktitle = {REBOOT '91}, Keywords = {olit-reuse reboot91 binder}, Publisher = {ESPRIT}, Title = {Reuse in Software Engineering}, Year = {1991} } @book{Pool99a, Author = {Rob Pooley and Perdita Stevens}, Keywords = {scglib uml}, Publisher = {Addison Wesley}, Title = {Using UML, Software Engineering with Objects and Components}, Year = {1999} } @inproceedings{Pop05a, Address = {New York, NY, USA}, Author = {Adrian Pop and Peter Fritzson}, Booktitle = {AADEBUG'05: Proceedings of the sixth international symposium on Automated analysis-driven debugging}, Doi = {10.1145/1085130.1085140}, Isbn = {1-59593-050-7}, Location = {Monterey, California, USA}, Pages = {77--82}, Publisher = {ACM Press}, Title = {Debugging natural semantics specifications}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1085130.1085140} } @techreport{Popo01b, Address = {Zurich}, Author = {Andrei Popovici and Thomas Gross and Gustavo Alonso}, Institution = {Department of Computer Science, Federal Institute of Technology}, Month = aug, Title = {Dynamic Homogenous {AOP} with {PROSE}}, Type = {Technical Report}, Year = {2001} } @inproceedings{Popo02a, Author = {Andrei Popovici and Thomas Gross and Gustavo Alonso}, Booktitle = {Proceedings of the 1st international conference on Aspect-oriented software development}, Doi = {10.1145/508386.508404}, Isbn = {1-58113-469-X}, Location = {Enschede, The Netherlands}, Pages = {141--147}, Publisher = {ACM Press}, Title = {Dynamic weaving for aspect-oriented programming}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/508386.508404} } @inproceedings{Popo01a, Author = {Andrei Popovici and Gustavo Alonso and Thomas Gross}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Doi = {10.1145/643603.643614}, Isbn = {1-58113-660-9}, Location = {Boston, Massachusetts}, Pages = {100--109}, Publisher = {ACM Press}, Title = {Just-in-time aspects: efficient dynamic weaving for {Java}}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/643603.643614} } @article{Port80a, Author = {Martin F. Porter}, Journal = {Program}, Number = {3}, Pages = {130--137}, Title = {An algorithm for suffix stripping}, Volume = {14}, Year = {1980} } @techreport{Port96a, 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.}, Author = {Nicole Portmann}, Institution = {University of Bern}, Keywords = {scg-ip jb-none}, Month = aug, Title = {Datenbank Impfstoffnebenwirkungen}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Port96a.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Port96a.pdf} } @inproceedings{Posh06a, Author = {Denys Poshyvanyk and Andrian Marcus and Giuliano Antoniol and Vaclav Rajlich}, Booktitle = {Proceedings of the 2nd international conference on program comprehension (ICPC)}, Location = {Athens, Greece}, Publisher = {ACM Press}, Title = {Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification}, Year = {2006} } @inproceedings{Posh06b, author = {Poshyvanyk, Denys and Marcus, Andrian}, title = {The Conceptual Coupling Metrics for Object-Oriented Systems}, booktitle = {Proceedings of the 22nd IEEE International Conference on Software Maintenance}, year = {2006}, isbn = {0-7695-2354-4}, pages = {469--478}, numpages = {10}, doi = {10.1109/ICSM.2006.67}, acmid = {1173033}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1172962.1173033} } @inproceedings{Posh07a, Address = {Washington, DC, USA}, Author = {Poshyvanyk, Denys and Marcus, Andrian}, Booktitle = {ICPC '07: Proceedings of the 15th IEEE International Conference on Program Comprehension}, Citeulike-Article-Id= {6609657}, Doi = {10.1109/ICPC.2007.13}, Isbn = {0-7695-2860-0}, Pages = {37--48}, Posted-At = {2010-02-01 02:27:22}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code}, Url = {http://dx.doi.org/10.1109/ICPC.2007.13}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2007.13} } @article{Posh09a, Author = {Poshyvanyk, Denys and Marcus, Andrian and Ferenc, Rudolf and Gyim\'{o}thy, Tibor}, Journal = {Empirical Software Engineering}, Month = feb, Number = 1, Pages = {5--32}, Title = {Using Information Retrieval based Coupling Measures for Impact Analysis}, Volume = 14, Year = {2009} } @inproceedings{Pota04a, Address = {Washington, DC, USA}, Author = {Alex Potanin and James Noble and Robert Biddle}, Booktitle = {Proceedings of the 2004 Australian Software Engineering Conference (ASWEC'04)}, Isbn = {0-7695-2089-8}, Pages = {251}, Publisher = {IEEE Computer Society}, Title = {Snapshot Query-Based Debugging}, Year = {2004} } @article{Pota05a, Author = {Alex Potanin and James Noble and Marcus Frean and Robert Biddle}, Doi = {10.1145/1060710.1060716}, Issn_Isbn = {ISSN 0001-0782}, Journal = {Communications of the ACM}, Month = may, Number = {5}, Pages = {99--103}, Publisher = {ACM Press}, Title = {Scale-free Geometry in {OO} Programs}, Volume = {48}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1060710.1060716} } @article{Poth07a, Address = {New York, NY, USA}, Author = {Guillaume Pothier and \'Eric Tanter and Jos\'e Piquer}, Doi = {10.1145/1297105.1297067}, Issn = {0362-1340}, Journal = {Proceedings of the 22nd Annual SCM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'07)}, Number = {10}, Pages = {535--552}, Publisher = {ACM Press}, Title = {Scalable Omniscient Debugging}, Volume = {42}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297105.1297067} } @inproceedings{Poth08a, Address = {Fortaleza, Cear{\'a}, Brazil}, Author = {Guillaume Pothier and {\'E}ric Tanter}, Booktitle = {Proceedings of the 23rd {ACM} Symposium on Applied Computing (SAC'08)}, Doi = {10.1145/1363686.1363753}, Month = mar, Pages = {266--270}, Software = {tod}, Title = {Extending Omniscient Debugging to Support Aspect-Oriented Programming}, Url = {http://pleiad.dcc.uchile.cl/papers/2008/pothierTanter-sac2008.pdf}, Volume = 1, Year = {2008}, Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2008/pothierTanter-sac2008.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1363686.1363753} } @article{Poth09a, Address = {Los Alamitos, CA, USA}, Author = {Guillaume Pothier and {\'E}ric Tanter}, Doi = {10.1109/MS.2009.169}, Issn = {0740-7459}, Journal = {IEEE Software}, Number = {6}, Pages = {78-85}, Publisher = {IEEE Computer Society}, Title = {Back to the Future: Omniscient Debugging}, Volume = {26}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.169} } @article{Pott96a, Author = {Colin Potts}, Journal = {IEEE Software}, Month = sep, Number = {9}, Pages = {19--28}, Publisher = {IEEE Computer Society}, Title = {{Software}-{Engineering} {Research} {Revisited}}, Year = {1993} } @inproceedings{Pott98a, Address = {Washington, DC, USA}, Author = {J. Potter and J. Noble and D. Clarke}, Booktitle = {Proceedings of the Australian Software Engineering Conference (ASWEC'98)}, Isbn = {0-8186-9187-5}, Pages = {80}, Publisher = {IEEE Computer Society}, Title = {The Ins and Outs of Objects}, Year = {1998} } @book{Powe99a, Author = {Bruce Powel Douglass}, Edition = {Second}, Keywords = {olit scglib}, Publisher = {Addison Wesley}, Title = {Real-Time {UML}}, Year = {1999} } @misc{PowerfullIdeas, Aeres = {OV}, Annote = {notrefereed}, Author = {St\'ephane Ducasse and Alexandre Bergel and Fran\c{c}ois Schnell and Noury Bouraqadi and Serge Stinckwich}, Inria = {hors}, Keywords = {squeak etoy book powerfull ideas stefPub jb-none}, Note = {French translation of Powerful Ideas in the Classroom by B.J. Allen-Conn and Kim Rose}, Selectif = {non}, 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)} } @inproceedings{Pras90a, Address = {Warwick U.}, Author = {Sanjiv Prasad and Alessandro Giacalone and Prateek Mishra}, Booktitle = {Proceedings ICALP '90}, Editor = {M.S. Paterson}, Keywords = {concurrency facile icalp90 binder}, Month = jul, Pages = {765--780}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Operational and Algebraic Semantics for Facile: {A} Symmetric Integration of Concurrent and Functional Programming}, Volume = {443}, Year = {1990} } @inproceedings{Pras91a, Author = {K.V.S. Prasad}, Booktitle = {Proceedings TAPSOFT '91}, Editor = {S. Abramsky and T. Maibaum}, Keywords = {pcalc ccs tapsoft91 binder(ccs)}, Pages = {338--358}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Calculus of Broadcasting Systems}, Volume = {493}, Year = {1991} } @inproceedings{Prat04a, Address = {New York, NY, USA}, Author = {Polyvios Pratikakis and Jaime Spacco and Michael Hicks}, Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/1028976.1028994}, Isbn = {1-58113-831-9}, Keywords = {nonstandard types}, Location = {Vancouver, BC, Canada}, Pages = {206--223}, Publisher = {ACM Press}, Title = {Transparent Proxies for Java Futures}, Url = {https://drum.umd.edu/dspace/bitstream/1903/1347/1/CS-TR-4574.pdf}, Year = {2004}, Bdsk-Url-1 = {https://drum.umd.edu/dspace/bitstream/1903/1347/1/CS-TR-4574.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1028976.1028994} } @article{Prec98a, Annote = {pattern}, Author = {Lutz Prechelt and Christian Kr{\"a}mer}, Journal = {Journal of Universal Computer Science}, Month = dec, Number = {12}, Pages = {866--882}, Title = {Functionality versus Practicality: Employing Existing Tools for Recovering Structural Design Patterns}, Volume = {4}, Year = {1998} } @techreport{Prec00a, Author = {Lutz Prechelt and Guido Malpohl and Michael Philippsen}, Institution = {Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r Informatik}, Keywords = {plagiarism}, Month = mar, Number = {2000-1}, Title = {{JPlag}: Finding Plagiarism Among a Set of Programs}, Url = {http://wwwipd.ira.uka.de/~prechelt/Biblio/}, Year = {2000}, Bdsk-Url-1 = {http://wwwipd.ira.uka.de/~prechelt/Biblio/} } @misc{Prec00b, Annotate = {Resubmitted to Journal of Universal Computer Science}, Author = {Lutz Prechelt and Guido Malpohl and Michael Philippsen}, Keywords = {plagiarism}, Title = {Finding plagiarisms among a set of programs with {JPlag}}, Url = {http://citeseer.ist.psu.edu/article/prechelt01finding.html}, Year = {2000}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/article/prechelt01finding.html} } @inproceedings{Pree94a, Address = {Bologna, Italy}, Author = {Wolfgang Pree}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc oorp}, Month = jul, Pages = {150--162}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Meta Patterns --- {A} Means for Capturing the Essentials of Reusable Object-Oriented Design}, Volume = {821}, Year = {1994} } @incollection{Pree95a, Author = {Wolfgang Pree}, Booktitle = {Visual Object-Oriented Programming}, Editor = {Margaret M. Burnett and Adele Goldberg and Ted G. Lewis}, Keywords = {olit-reuse visprog}, Pages = {253--268}, Publisher = {Manning Publishing Co.}, Title = {Framework Development and Reuse Support}, Year = {1995} } @book{Pree95b, Author = {Wolfgang Pree}, Isbn = {0-201-42294-8}, Keywords = {olit-reuse scglib}, Publisher = {Addison Wesley}, Title = {Design Patterns for Object-Oriented Development}, Year = {1995} } @inproceedings{Preh97a, Address = {Jyv{\"a}skyl{\"a}}, Author = {Christian Prehofer}, Booktitle = {Proceedings ECOOP '97}, Editor = {Mehmet Aksit and Satoshi Matsuoka}, Isbn = {3-540-63089-9}, Keywords = {olit feature binder ecoop97proc}, Month = jun, Pages = {419--443}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Feature-Oriented Programming: {A} Fresh Look at Objects}, Volume = 1241, Year = {1997} } @unpublished{Prei00a, Author = {Otto Preiss}, Keywords = {olit repository abb}, Month = apr, Note = {ABB internal draft, SECCOS-FS-0007}, Title = {Fictitious Requirements of a Component Repository}, Year = {2000} } @article{Prem94a, Author = {William J. Premerlani and Michael R. Blaha}, Journal = {Communications of the ACM}, Keywords = {dbreeng famoos oorp}, Month = may, Number = {5}, Pages = {42--49}, Title = {An Approach for Reverse Engineering of Relational Databases}, Volume = {37}, Year = {1994} } @book{Pres94a, Author = {Roger S. Pressman}, Isbn = {0-07-707936-1}, Keywords = {book scglib oorp}, Publisher = {McGraw-Hill}, Title = {Software Engineering: A Practitioner's Approach}, Year = {1994} } @book{Pres99a, Author = {W. Curtis Preston}, Keywords = {book scglib}, Publisher = {O'Reilly}, Title = {Unix Backup and Recovery}, Year = {1999} } @misc{Prev, Author = {Klaus Wuestefeld}, Key = {Prev}, Keywords = {java persistency prevalence}, Note = {http://www.prevayler.org}, Title = {{Prevayler}, a prevalence layer for {Java}}, Url = {http://www.prevayler.org}, Bdsk-Url-1 = {http://www.prevayler.org} } @techreport{Prev90a, 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.}, Author = {Vassili Prevelakis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg om90}, Month = jul, Pages = {89--105}, Title = {Versioning Issues for Hypertext Systems}, Type = {Object Management}, Year = {1990} } @inproceedings{Prev11a, author = {Cech Previtali, Susanne and Gross, Thomas R.}, title = {Aspect-based dynamic software updating: a model and its empirical evaluation}, booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development}, series = {AOSD '11}, year = {2011}, isbn = {978-1-4503-0605-8}, location = {Porto de Galinhas, Brazil}, pages = {105--116}, numpages = {12}, url = {http://doi.acm.org/10.1145/1960275.1960289}, doi = {10.1145/1960275.1960289}, acmid = {1960289}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {aspect-oriented programming, empirical study, software evolution} } @inproceedings{Pric90a, Author = {R.T. Price and R. Girardi}, Booktitle = {Proceedings of TOOLS '90 on Technology on O.O. Languages and Systems}, Keywords = {tools90 olit binder}, Title = {A Class Rerieval Tool for an Object-Oriented Environment}, Year = {1990} } @article{Pric93a, Author = {Blaine A. Price and Ronald M. Baecker and Ian S. Small}, Journal = {Journal of Visual Languages and Computing}, Number = {3}, Pages = {211--266}, Title = {A Principled Taxonomy of Software Visualization}, Volume = {4}, Year = {1993} } @article{Priet86a, Author = {R. Prieto-Diaz and Neighbors J.M.}, Journal = {The Journal of Systems and Software}, Keywords = {olit-reuse binder}, Month = nov, Number = {4}, Pages = {307--334}, Title = {Module Interconnection Languages}, Volume = {6}, Year = {1986} } @article{Priet90a, Author = {Prieto-Diaz, Rub{\'e}n}, Journal = {ACM SIGSoft Enginnering Notes}, Keywords = {olit-reuse}, Month = apr, Number = {2}, Pages = {47--54}, Title = {Domain Analysis: An Introduction}, Volume = {15}, Year = {1990} } @article{Priet91a, Author = {Prieto-Diaz, Rub{\'e}n}, Journal = {Communications of the ACM}, Keywords = {olit-reuse classification repository abb}, Month = may, Number = {5}, Pages = {88--97}, Title = {{Implementing Faceted Classification for Software Reuse}}, Volume = {34}, Year = {1991} } @inproceedings{Priv05a, Author = {Jean Privat and Roland Ducournau}, Booktitle = {Proceedings of LMO'05}, Pages = {17--32}, Publisher = {Hermes}, Title = {Raffinement de classes dans les languages \`a objects statiquement typ\'es}, Year = {2005} } @techreport{Proe89a, 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.}, Author = {Anna-Kristin Pr{\"o}frock and Dennis Tsichritzis and Gerhard M{\"u}ller and Martin Ader}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg-ftp ood89 ithaca-final}, Month = jul, Pages = {321--344}, Title = {{ITHACA}: An Integrated Toolkit for Highly Advanced Computer Applications}, Type = {Object Oriented Development}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ithaca.pdf}, Year = {1989}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ithaca.pdf} } @inproceedings{Proe90a, Author = {Anna-Kristin Pr{\"o}frock and Martin Ader and Gerhard M{\"u}ller and Dennis Tsichritzis}, Booktitle = {Proceedings of the Spring 1990 EUUG Conference}, Keywords = {olit-ithaca}, Pages = {99--105}, Title = {{ITHACA}: An Overview}, Year = {1990} } @inproceedings{Proe92a, Address = {London}, Author = {Anna-Kristin Pr{\"o}frock and Stephen J. McMahon}, Booktitle = {Proceedings AIS 92}, Keywords = {olit-ithaca binder}, Month = mar, Pages = {87--94}, Title = {{ITHACA} --- An Integrated Object-Based Tool Kit for the 90s}, Year = {1992} } @article{Prog89a, Address = {San Diego, (Sept 26-27, 1988)}, Author = {{Workshop on Object-Based Concurrent Programming}}, Editor = {G. Agha and P. Wegner and A. Yonezawa}, Institution = {Workshop on Object-Based Concurrent Programming}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obc obcp89 oobib(obcp)}, Month = apr, Number = {4}, Title = {Workshop Proceedings}, Volume = {24}, Year = {1989} } @misc{PrographCPX, Journal = {MACTECH}, Key = {PrographCPX}, Keywords = {visprog prograph}, Number = {11}, Title = {Prograph {CPX} --- A Tutorial}, Url = {http://www.mactech.com/articles/mactech/Vol.10/10.11/PrographCPXTutorial/}, Volume = {10}, Bdsk-Url-1 = {http://www.mactech.com/articles/mactech/Vol.10/10.11/PrographCPXTutorial/} } @misc{Prothon, Key = {Prothon}, Note = {http://www.prothon.org/}, Title = {Prothon Home Page} } @book{Puec96a, Address = {Grenoble, France}, Editor = {Claude Peuch and Rudiger Reischuk}, Isbn = {3-540-60922-9}, Keywords = {olit stacts96 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {STACS}'96}, Volume = {1046}, Year = {1996} } @inproceedings{Pulv01a, Author = {E.Pulverm{\"u}ller and A. Speck and J.O.Coplien and M. D'Hondt and W.DeMeuter}, Booktitle = {Proceedings of the European Conference on Object-Oriented Programming, ECOOP 2001}, Keywords = {feature}, Pages = {1--6}, Title = {Position Paper: Feature Interaction in Composed Systems}, Year = {2001} } @inproceedings{Pun89a, Address = {Nottingham}, Author = {Winnie W.Y. Pun and Russel L. Winder}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit design binder ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {225--240}, Publisher = {Cambridge University Press}, Title = {A Design Method for Object-Oriented Programming}, Year = {1989} } @inproceedings{Punt96a, Address = {Paris, France}, Author = {Frank Puntigam}, Booktitle = {Proceedings FMOODS '96}, Editor = {IFIP WG 6.1}, Keywords = {obib-types FMOODS '96}, Month = mar, Title = {Types for Active Objects Based on Trace Semantics}, Url = {http://www.complang.tuwien.ac.at/franz/papers/fmoods96.ps.gz}, Year = {1996}, Bdsk-Url-1 = {http://www.complang.tuwien.ac.at/franz/papers/fmoods96.ps.gz} } @unpublished{Punt96b, Author = {Frank Puntigam}, Keywords = {obib-types binder}, Note = {Submitted to Workshoop N 5: Parallel Languages and Programming}, Title = {Synchronization Expressed in Types of Communication Channels}, Type = {Draft, Technische Universitat Wien}, Year = {1996} } @unpublished{Punt96c, Author = {Frank Puntigam}, Institution = {Technische Universitat Wien}, Keywords = {obib-types binder}, Note = {Research Proposal}, Title = {Process Types for Concurrent Object-Oriented Programming}, Year = {1996} } @inproceedings{Purc90a, Author = {Jan A. Purchase and Russel L. Winder}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit-obc oopsla90 ecoop90proc obc binder}, Month = oct, Pages = {116--125}, Title = {Message Pattern Specifications: {A} New Technique for Handling Errors in Parallel Object Oriented Systems}, Volume = {25}, Year = {1990} } @article{Purd87a, Author = {Alan Purdy and B. Schuchardt and David Maier}, Journal = {ACM TOOIS}, Keywords = {olit-db gemstone opal}, Month = jan, Number = {1}, Pages = {27--47}, Title = {Integrating an Object-Server with Other Worlds}, Volume = {5}, Year = {1987} } @article{Purv83a, Author = {R. Purvy and J. Farrel and P. Klose}, Journal = {ACM TOOIS}, Keywords = {oislit star ui}, Number = {1}, Pages = {3--24}, Title = {The Design of Star's Records Processing: Data Processing for the Noncomputer Professional}, Volume = {1}, Year = {1983} } @article{Pust82a, Author = {J. Pustell and F. Kafatos}, Journal = {Nucleid Acids Research}, Keywords = {oorp dotplot}, Number = {15}, Pages = {4765--4782}, Title = {A High Speed, High Capacity Homology Matrix: Zooming through {SV40} and Polyoma}, Volume = {10}, Year = {1982} } @misc{Putn10a, Key = {Filesystem}, Author = {Colin Putney}, Title = {Filesystem}, Note = {http://www.wiresong.ca/filesystem}, Url = {http://www.wiresong.ca/filesystem} } @misc{PyPy, Key = {pypy}, Title = {{PyPy}, an implementation of {Python} in {Python}}, Url = {http://codespeak.net/pypy}, Bdsk-Url-1 = {http://codespeak.net/pypy} } @misc{Python, Key = {Python}, Note = {http://www.python.org}, Title = {Python} } @inproceedings{Qian96a, Address = {Linz, Austria}, Author = {Zhenyu Qian and Bernd Krieg-Br{\"u}ckner}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {48--72}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Typed Object-Oriented Functional Programming with Late Binding}, Volume = {1098}, Year = {1996} } @techreport{Quad08a, Abstract = {SqueakSource is a highly successful source code repository for Squeak based on the distributed source code management system Monticello. Monticello is not designed to be cross platform. Moreover SqueakSource is old and not up-to-date with web technology. SqueakSource is not extensible and it was built with an old Seaside version. It does not use Magritte and is not Web 2.0 conform. Sourcetalk is based on Monticello 2. It uses Seaside 2.8 for the view, Magritte for extensibility and Pier for the integrated wiki.}, Author = {Andrea Quadri}, Institution = {University of Bern}, Keywords = {snf-none quadri scg-bp jb09}, Month = dec, Title = {Sourcetalk, Smalltalk Code Repository}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Quad08a.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Quad08a.pdf} } @misc{Quad08b, Abstract = {This document is the end user manual of Sourcetalk, the Monticello 2 distributed Smalltalk code repository. It explains the main functionality for users. Furthermore in an advanced section we will help administrators to set up a Sourcetalk code repository and present the main administration functionality.}, Author = {Andrea Quadri}, Institution = {University of Bern}, Keywords = {snf-none quadri scg-bp jb09}, Month = dec, Title = {Sourcetalk User Manual}, Type = {Setup and User Guide}, Url = {http://scg.unibe.ch/archive/projects/Quad08b.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Quad08b.pdf} } @inproceedings{Quan06a, Author = {Jochen Quante and Rainer Koschke}, Booktitle = {Proceedings 10th European Conference on Software Maintenance and Reengineering (CSMR'06)}, Doi = {10.1109/CSMR.2006.24}, Pages = {81--90}, Publisher = {IEEE Computer Society Press}, Title = {Dynamic Object Process Graphs}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/CSMR.2006.24} } @inproceedings{Quan07a, Address = {Washington, DC, USA}, Author = {Jochen Quante and Rainer Koschke}, Booktitle = {Proceedings of the 14th Working Conference on Reverse Engineering (WCRE'07)}, Doi = {10.1109/WCRE.2007.24}, Isbn = {0-7695-3034-6}, Pages = {219--228}, Publisher = {IEEE Computer Society}, Title = {Dynamic Protocol Recovery}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2007.24} } @article{Quan08a, Address = {New York, NY, USA}, Author = {Jochen Quante and Rainer Koschke}, Doi = {10.1016/j.jss.2007.06.005}, Issn = {0164-1212}, Journal = {Journal of Systems and Software}, Number = {4}, Pages = {481--501}, Publisher = {Elsevier Science Inc.}, Title = {Dynamic object process graphs}, Volume = {81}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.jss.2007.06.005} } @inproceedings{Quan08b, Address = {Washington, DC, USA}, Author = {Jochen Quante}, Booktitle = {Proceedings of the 16th International Conference on Program Comprehension (ICPC'08)}, Doi = {10.1109/ICPC.2008.15}, Isbn = {978-0-7695-3176-2}, Pages = {73--82}, Publisher = {IEEE Computer Society}, Title = {Do Dynamic Object Process Graphs Support Program Understanding? - A Controlled Experiment}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.15} } @article{Quar85a, Author = {J.S. Quarterman and A. Silberschatz and James L. Peterson}, Journal = {ACM Computing Surveys}, Keywords = {misc unix}, Month = dec, Number = {4}, Pages = {379--418}, Title = {4.2BSD and 4.3BSD as Examples of the {UNIX} System}, Volume = {17}, Year = {1985} } @book{Quat98a, Author = {Terry Quatrani}, Keywords = {uml scglib}, Publisher = {Addison Wesley}, Title = {Visual Modeling with Rational Rose and UML}, Year = {1998} } @inproceedings{Quei00a, Author = {Christian Queinnec}, Booktitle = {ACM SIGPLAN International Conference on Functional Programming}, Pages = {23--33}, Title = {The influence of browsers on evaluators or, continuations to program Web servers}, Year = {2000} } @article{Quei03, Address = {New York, NY, USA}, Author = {Christian Queinnec}, Doi = {10.1145/772970.772977}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {2}, Pages = {57--64}, Publisher = {ACM Press}, Title = {Inverting back the inversion of control or, continuations versus page-centric programming}, Volume = {38}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/772970.772977} } @article{Quei04a, Author = {Christian Queinnec}, Journal = {Higher-Order and Symbolic Computation: an International Journal}, Pages = {1--16}, Title = {Continuations and web servers}, Volumes = {123}, Year = {2004} } @inproceedings{Quig00a, author = {Quigley, Aaron and Eades, Peter}, title = {FADE: Graph Drawing, Clustering, and Visual Abstraction}, booktitle = {Proceedings of the 8th International Symposium on Graph Drawing}, series = {GD '00}, year = {2001}, isbn = {3-540-41554-8}, pages = {197--210}, numpages = {14}, url = {http://portal.acm.org/citation.cfm?id=647552.729409}, acmid = {729409}, publisher = {Springer-Verlag}, address = {London, UK} } @inproceedings{Quit03a, Author = {Philip J. Quitslund}, Booktitle = {OOPSLA Workshop on Eclipse Technology eXchange}, Doi = {10.1145/965660.965662}, Pages = {6--9}, Title = {Beyond files: programming with multiple source views.}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/965660.965662} } @techreport{Quit04a, Address = {Beaverton, Oregon, USA}, Author = {Philip J. Quitslund}, Institution = {OGI School of Science \& Engineering}, Month = sep, Number = {CSE-04-005}, Title = {Java Traits --- Improving Opportunities for Reuse}, Type = {Technical Report}, Year = {2004} } @techreport{RDF99a, Author = {{World} {Wide} {Web} {Consortium}}, Institution = {{World} {Wide} {Web} {Consortium}}, Month = feb, Title = {{Resource} {Description} {Framework} ({RDF}) Model and Syntax Specification}, Year = {1999} } @proceedings{REBO91a, Booktitle = {REBOOT '91 Workshop on Reuse}, Editor = {ESPRIT}, Keywords = {olit-reuse scglib}, Month = sep, Publisher = {ESPRIT}, Title = {Reuse}, Year = {1991} } @misc{RIFE, Key = {RIFE}, Note = {https://rife.dev.java.net}, Title = {{RIFE}} } @misc{ROS, key = {ROS}, title = {{ROS}: {Robot Operating System}}, note = {http://www.ros.org}, keywords = {robotics}, url = {http://www.ros.org} } @misc{RUP, Key = {RUP}, url = {http://www.ibm.com/software/awdtools/rup}, Title = {IBM - Rational Unified Process (RUP)}, keywords = {damiencbib}, author = {IBM} } @article{Rabe09a, Author = {Damijan Rebernak and Marjan Mernik and Hui Wu and Jeff Gray}, Journal = {IET Software (Special Issue on Domain-Specific Aspect Languages)}, Keywords = {dsllit}, Note = {to appear}, Title = {Domain-Specific Aspect Languages for Modularizing Crosscutting Concerns in Grammars}, Year = {2009} } @inproceedings{Rabi78a, Author = {L. Rabiner and A. Rosenberg and S. Levinson}, Booktitle = {IEEE Transactions. Acoustics, Speech and Signal Processing}, Pages = {572--582}, Publisher = {IEEE}, Title = {Considerations in dynamic time warping algorithms for discrete word recognition}, Vol = {26}, Year = {1978} } @article{Racc95a, Author = {L. Raccoon}, Journal = {IEEE Computer}, Number = {3}, Pages = {37--44}, Title = {The Complexity Gap}, Volume = {20}, Year = {1995} } @inproceedings{Racz99a, Address = {Kaiserslautern, Germany}, Author = {Ferenc D\'{o}sa R\'{a}cz and Kai Koskimies}, Booktitle = {Proceedings UML '99 (The Second International Conference on The Unified Modeling Language)}, Editor = {Bernhard Rumpe}, Month = oct, Pages = {172--187}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Tool-Supported Compression of UML Class Diagrams}, Volume = {1723}, Year = {1999} } @inproceedings{Rade94a, 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.}, Author = {Matthias Radestock and Susan Eisenbach}, Booktitle = {Proceedings of Parallel Architectures and Languages Europe (PARLE '94)}, Keywords = {pi-calculus darwin semantics}, Pages = {635--647}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {What Do You Get From a Pi-calculus Semantics?}, Url = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/parle94.ps.gz}, Volume = 817, Year = {1994}, Bdsk-Url-1 = {ftp://dse.doc.ic.ac.uk/dse-papers/darwin/parle94.ps.gz} } @inproceedings{Rade99a, Author = {Ansgar Radermacher}, Booktitle = {AGTIVE}, Pages = {111--126}, Title = {Support for Design Patterns Through Graph Transformation Tools}, Url = {http://citeseer.nj.nec.com/radermacher98support.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/radermacher98support.html} } @article{Raed85a, Address = {Los Alamitos, CA, USA}, Author = {G. Raeder}, Doi = {10.1109/MC.1985.1662971}, Issn = {0018-9162}, Journal = {Computer}, Keywords = {visprog}, Number = {8}, Pages = {11--25}, Publisher = {IEEE Computer Society Press}, Title = {A Survey of Current Graphical Programming Techniques}, Volume = {18}, Year = {1985}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MC.1985.1662971} } @misc{Rain99a, Key = {RC}, Title = {RainCode}, Url = {www.raincode.com}, Bdsk-Url-1 = {www.raincode.com} } @article{Raja03a, Address = {New York, NY, USA}, Author = {Hridesh Rajan and Kevin Sullivan}, Doi = {10.1145/949952.940111}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {5}, Pages = {297--306}, Publisher = {ACM}, Title = {Eos: instance-level aspects for integrated system design}, Volume = {28}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/949952.940111} } @inproceedings{Raja05a, Author = {Hridesh Rajan and Kevin J. Sullivan}, Booktitle = {Proceedings International Conference on Software Engineering (ICSE 2005)}, Keywords = {aspect c\#}, Pages = {59--68}, Title = {Classpects: Unifying Aspects- and Object-Oriented Language Design}, Year = {2005} } @inproceedings{Raje89a, Address = {Nottingham}, Author = {Rajendra K. Raj and Henry M. Levy}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-inheritance emerald ecoop89proc binder(oop)}, Misc = {July 10-14}, Month = jul, Pages = {3--24}, Publisher = {Cambridge University Press}, Title = {A Compositional Model for Software Reuse}, Year = {1989} } @article{Rajl00a, Author = {Vaclav Rajlich and Keith Bennett}, Journal = {IEEE Computer}, Number = {7}, Pages = {66--71}, Title = {A Staged Model for the Software Life Cycle}, Volume = {33}, Year = {2000} } @inproceedings{Rajl02a, Author = {V\'{a}clav Rajlich and Prashant Gosavi}, Booktitle = {18th International Conference on Software Maintenance (ICSM 2002), Maintaining Distributed Heterogeneous Systems, 3-6 October 2002, Montreal, Quebec, Canada}, Publisher = {IEEE Computer Society}, Title = {A Case Study of Unanticipated Incremental Change}, Year = {2002} } @inproceedings{Rako94a, 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.}, Author = {Andry Rakotonirainy}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {122--138}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{DPL} to Express a Concurrency Control Using Transaction and Object Semantics}, Volume = {791}, Year = {1994} } @inproceedings{Rama06a, Author = {Roshan Ramachandran and David J. Pearce and Ian Welch}, Booktitle = {In Proceedings of the Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS)}, Title = {AspectJ for Multilevel Security}, Year = {2006} } @inproceedings{Rami01a, Address = {Los Alamitos CA}, Author = {Juan Ramil and Manny Lehman}, Booktitle = {Proceedings of the 7th International Symposium on Software Metrics (METRICS '01)}, Keywords = {evolution}, Pages = {199--209}, Publisher = {IEEE Computer Society Press}, Title = {Defining and Applying Metrics in the Context of Continuing Software Evolution}, Year = {2001} } @inproceedings{Rang02a, month = sep, Doi = {10.1145/570705.570708}, author = {Ranganathan, Anand and Campbell, Roy H.}, title = {Advertising in a pervasive computing environment}, booktitle = {WMC'02: Proceedings of the 2nd International workshop on Mobile commerce}, year = {2002}, address = {Atlanta, GA, USA}, keywords = {damiencbib}, pages = {10--14}, publisher = {ACM} } @inproceedings{Rang05a, Doi = {10.1109/PERCOM.2005.26}, author = {Ranganathan, Anand and Chetan, Shiva and Al-Muhtadi, Jalal and Campbell, Roy H. and Mickunas, M. Dennis}, keywords = {olympus damiencbib pervasive}, title = {Olympus: A High-Level Programming Model for Pervasive Computing Environments}, booktitle = {PerCom'05: Proceedings of the 3rd International Conference on Pervasive Computing and Communications}, year = {2005}, pages = {7--16}, month = mar, address = {Kauai, HI, USA}, publisher = {IEEE Computer Society} } @inproceedings{Rans98a, Author = {Jan Ransom and Ian Sommerville and Ian Warren}, Booktitle = {Proceedings of Reengineering Forum '98}, Title = {{A} {Method} for {Assessing} {Legacy} {Systems} for {Evolution}}, Url = {http://tina.lancs.ac.uk/projects/renaissance/project/Documents/Papers/AssessmentPaper.html}, Year = {1998}, Bdsk-Url-1 = {http://tina.lancs.ac.uk/projects/renaissance/project/Documents/Papers/AssessmentPaper.html} } @inproceedings{Rao91a, Address = {Geneva, Switzerland}, Author = {Ramana Rao}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {251--267}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Implementational Reflection in {Silica}}, Volume = 512, Year = {1991} } @inproceedings{Rao94a, Author = {Ramana Rao and Stuart K. Card}, Booktitle = {Proceedings CHI 94}, Institution = {Xerox Palo Alto Research Center}, Pages = {318--322}, Publisher = {ACM}, Title = {The Table Lens: Merging Graphical Representations in an Interactive Focus+Context Visualization for Tabular Information}, Year = {1994} } @book{Raou92a, Address = {Rennes, France}, Editor = {J.-C.Raoult}, Isbn = {3-540-55251-0}, Keywords = {olit caap92 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {CAAP}'92}, Volume = {581}, Year = {1992} } @misc{Rapi98a, 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}, Author = {Pascal Rapicault and Mireille Blay-Fornarino and St\'ephane Ducasse and Anne-Marie Dery}, Keywords = {scg-pub skip-doi olit famoos-papunr oobib snf98 jb98 stefPub}, Note = {Proceedings of the ECOOP '98 International Workshop Experiences in Object-Oriented Reengineering, abstract in Object-Oriented Technology (ECOOP '98 Workshop Reader forthcoming LNCS)}, Pages = {76--77}, Title = {Dynamic Type Inference to Support Object-Oriented Reengineering in Smalltalk}, Url = {http://scg.unibe.ch/archive/famoos/Rapi98a/type.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/Rapi98a/type.pdf} } @inproceedings{Rapp82a, Address = {Los Alamitos, CA, USA}, Author = {Sandra Rapps and Elaine J. Weyuker}, Booktitle = {Proceedings of the 6th international conference on Software engineering (ICSE'82)}, Location = {Tokyo, Japan}, Pages = {272--278}, Publisher = {IEEE Computer Society Press}, Title = {Data flow analysis techniques for test data selection}, Year = {1982} } @inproceedings{Rash03a, author = {Rashid, Awais and Chitchyan, Ruzanna}, title = {Persistence as an aspect}, booktitle = {AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development}, year = {2003}, isbn = {1-58113-660-9}, pages = {120--129}, location = {Boston, Massachusetts}, doi = {10.1145/643603.643616}, publisher = {ACM}, address = {New York, NY, USA} } @book{Rask00a, Author = {Jef Raskin}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {The Humane Interface}, Year = {2000} } @book{Rasm99a, Author = {Daniel W. Rasmus}, Keywords = {scglib}, Publisher = {Cambridge University Press}, Title = {Rethinking Smart Objects}, Year = {1999} } @inproceedings{Rath93, Address = {New York, NY, USA}, Author = {Elizabeth D. Rather and Donald R. Colburn and Charles H. Moore}, Booktitle = {HOPL-II: The second ACM SIGPLAN conference on History of programming languages}, Isbn = {0-89791-570-4}, Location = {Cambridge, Massachusetts, United States}, Pages = {177--199}, Publisher = {ACM Press}, Title = {The evolution of Forth}, Year = {1993} } @mastersthesis{Rati03a, Author = {Daniel Ra\c{t}iu}, Keywords = {jb04 evolution ratiu moose-pub}, Month = sep, School = {Faculty of Automatics and Computer Science, "Politehnica" University of Timi\c{s}oara}, Title = {Time-Based Detection Strategies}, Year = {2003} } @inproceedings{Rati04a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Daniel Ra\c{t}iu and St\'ephane Ducasse and Tudor G\^irba and Radu Marinescu}, Booktitle = {Proceedings of 8th European Conference on Software Maintenance and Reengineering (CSMR'04)}, Keywords = {recast04 scg-pub skip-doi stefPub jb04 moose-pub girba ratiu evolution}, Misc = {acceptance rate: 33/62 = 52\%}, AcceptTotal = {62}, AcceptNum = {33}, Pages = {223--232}, Publisher = {IEEE Computer Society}, Title = {Using History Information to Improve Design Flaws Detection}, Url = {http://scg.unibe.ch/archive/papers/Rati04aHistoryImproveFlawsDetection.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rati04aHistoryImproveFlawsDetection.pdf} } @inproceedings{Rati06a, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Daniel Ra\c{t}iu and Florian Deissenboeck}, Booktitle = {Proceedings of the 13th Working Conference on Reverse Engineering (WCRE'06)}, Publisher = {IEEE Computer Society}, Title = {How Programs Represent Reality (and how they don't)}, Year = {2006} } @inproceedings{Rati06b, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Daniel Ra\c{t}iu and Florian Deissenboeck}, Booktitle = {Proceedings of the 14th International Conference on Program Comprehension, (ICPC 2006)}, Pages = {79--83}, Publisher = {IEEE Computer Society}, Title = {Programs are Knowledge Bases}, Year = {2006} } @inproceedings{Rati07a, Annote = {internationalconference}, Author = {Daniel Ra\c{t}iu and Jan Juerjens}, Booktitle = {Proceedings of the 11th European Conference on Software Maintenance and Reengineering, (CSMR 2007)}, Pages = {307--318}, Publisher = {IEEE Computer Society}, Title = {The Reality of Libraries}, Year = {2007} } @inproceedings{Rati07b, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Daniel Ra\c{t}iu and Florian Deissenboeck}, Booktitle = {Proceedings of the 15th International Conference on Program Comprehension, (ICPC 2007)}, Pages = {91--102}, Publisher = {IEEE Computer Society}, Title = {From Reality to Programs and (Not Quite) Back Again}, Year = {2007} } @article{Rau00a, Author = {Andreas Rau}, Journal = {``Business Briefing: Global Automotive Manufacturing and Technlogy'', World Market Research Center}, Month = oct, Title = {Potential and Challenges for Model-based Development in the Automotive Industry}, Year = {2000} } @article{Raun07a, Author = {Allan Raundahl Gregersen and Bo N\o rregaard J\o rgensen}, Journal = {Journal of Object Technology}, Number = {6}, Pages = {67--89}, Title = {Extending eclipse RCP with dynamic update of active plug-ins}, Volume = {6}, Year = {2007} } @book{Raym95a, Author = {Kerry Raymond}, Keywords = {odp}, Publisher = {Center for Information Technology,University of Queesland, Australia}, Title = {Reference model of Open Distributed Processing ({RM}-{ODP}):Introduction {RM}-{ODP} Tutorial}, Url = {http://www.dstc.edu.au/papers/icodp95.ps.gz}, Year = {1995}, Bdsk-Url-1 = {http://www.dstc.edu.au/papers/icodp95.ps.gz} } @inproceedings{Rays98a, Author = {Derek Rayside and Scott Kerr and Kostas Kontogiannis}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {10--19}, Publisher = {IEEE Computer Society}, Title = {Change and Adaptive Maintenance Detection in {Java} Software Systems}, Url = {citeseer.ist.psu.edu/article/rayside98change.html}, Year = {1998}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/rayside98change.html} } @inproceedings{Rays06a, Address = {New York, NY, USA}, Author = {Derek Rayside and Lucy Mendel and Daniel Jackson}, Booktitle = {Proceedings of the 2006 international workshop on Dynamic systems analysis (WODA'06)}, Doi = {10.1145/1138912.1138924}, Isbn = {1-59593-400-6}, Location = {Shanghai, China}, Pages = {57--64}, Publisher = {ACM}, Title = {A dynamic analysis for revealing object ownership and sharing}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1138912.1138924} } @inproceedings{Rays07a, Address = {New York, NY, USA}, Author = {Derek Rayside and Lucy Mendel}, Booktitle = {Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering (ASE'07)}, Doi = {10.1145/1321631.1321661}, Isbn = {978-1-59593-882-4}, Location = {Atlanta, Georgia, USA}, Pages = {194--203}, Publisher = {ACM}, Title = {Object ownership profiling: a technique for finding and fixing memory leaks}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1321631.1321661} } @inproceedings{Raz92a, Address = {Vancouver, BC}, Author = {Yoav Raz}, Booktitle = {Proceedings of the 18th VLDB Conference}, Keywords = {olit transactions vldb92 binder}, Title = {The Principle of Commitment Ordering, or, Guaranteeing Serializability in a Heterogeneous Environment of Multiple Autonomous Resource Managers Using Atomic Commitment}, Year = {1992} } @article{Rebe06a, Author = {D. Rebernak and M. Mernik and P. R. Henriques and M. J. V. Pereira.}, Journal = {Electr. Notes Theor. Comput. Sci.}, Keywords = {dsllit}, Number = {2}, Pages = {37--53}, Title = {AspectLISA: An aspect-oriented compiler construction system based on attribute grammars}, Volume = {164}, Year = {2006} } @article{Rech07a, Author = {J\"{o}rg Rech and Waldemar Sch\"{a}fer}, Doi = {10.1145/1234741.1234766}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {2}, Pages = {1--3}, Publisher = {ACM}, Title = {Visual support of software engineers during development and maintenance}, Volume = {32}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1234741.1234766} } @inproceedings{Redd88a, Address = {New York, NY, USA}, Author = {Uday Reddy}, Booktitle = {LFP '88: Proceedings of the 1988 ACM conference on LISP and functional programming}, Doi = {10.1145/62678.62721}, Isbn = {0-89791-273-X}, Location = {Snowbird, Utah, United States}, Pages = {289--297}, Publisher = {ACM Press}, Title = {Objects as closures: abstract semantics of object-oriented languages}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/62678.62721} } @inproceedings{Redm00a, Author = {Barry Redmond and Vinny Cahill}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming, workshop on Reflection and Meta-Level Architectures}, Keywords = {iguana iguana/J iguanaj uni-refl}, Title = {{Iguana/J}: Towards a Dynamic and Efficient Reflective Architecture for {Java}}, Year = {2000} } @inproceedings{Redm02a, Author = {Barry Redmond and Vinny Cahill}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming}, Keywords = {iguana iguana/J iguanaj uni-refl}, Pages = {205--230}, Publisher = {Springer-Verlag}, Title = {Supporting Unanticipated Dynamic Adaptation of Application Behaviour}, Volume = {2374}, Year = {2002}, Doi = {10.1007/3-540-47993-7_9} } @article{Reed88a, Author = {J. Reed and R.T. Yeh}, Journal = {ACM TOPLAS}, Keywords = {concurrency liveness}, Month = jan, Number = {1}, Pages = {156--177}, Title = {Specification and Verification of Liveness Properties of Cyclic Concurrent Processes}, Volume = {10}, Year = {1988} } @inproceedings{Reen89a, Author = {Trygve Reenskaug and Anna Lise Skaar}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89 oorp}, Month = oct, Pages = {337--346}, Title = {An Environment for Literate {Smalltalk} Programming}, Volume = {24}, Year = {1989} } @book{Reen96a, Author = {Trygve Reenskaug}, Isbn = {1-884777-10-4}, Keywords = {obib(gen) scglib sclit oorp}, Publisher = {Manning Publications}, Title = {Working with Objects: The OOram Software Engineering Method}, Url = {http://heim.ifi.uio.no/~trygver/documents/index.html http://heim.ifi.uio.no/~trygver/documents/book11d.pdf}, Year = {1996}, Bdsk-Url-1 = {http://heim.ifi.uio.no/~trygver/documents/index.html%20http://heim.ifi.uio.no/~trygver/documents/book11d.pdf} } @article{Rees86a, Author = {J. Rees and W. Clinger}, Journal = {ACM Sigplan Notices}, Key = {R4RS}, Month = dec, Number = 12, Title = {R4RS. Revised Report on the Algorithmic Language Scheme}, Volume = 21, Year = {1986} } @misc{Rees94a, Author = {Jonathan A. Rees}, Month = jan, Title = {Another module system for scheme}, Year = {1994} } @techreport{Rees96a, Address = {Cambridge, MA, USA}, Author = {Jonathan A. Rees}, Institution = {Massachusetts Institute of Technology}, Publisher = {Massachusetts Institute of Technology}, Title = {A Security Kernel Based on the Lambda-Calculus}, Year = {1996} } @inproceedings{Regh91a, Address = {Geneva, Switzerland}, Author = {Stefano Crespi Reghizzi and Guido Galli de Paratesi and Stefano Genolini}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit-obc ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {148--166}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Definition of Reusable Concurrent Software Components}, Volume = 512, Year = {1991} } @article{Reic87a, Author = {J.G. Reich and W. Meiske}, Journal = {Comput. Appl. Biosci.}, Keywords = {dotplot}, Pages = {25--30}, Title = {A Simple Statistical Significance Test of Window Scores in Large Dot Matrices obtained from Protein or Nucleic Acid Sequences}, Volume = {3}, Year = {1987} } @techreport{Reic05a, 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.}, Author = {Stefan Reichhart}, Institution = {University of Bern}, Keywords = {scg-ip jb06 snf06 scg-pub skip-doi scg-rotor traits {C\#}}, Title = {A Prototype of {Traits} for {C\#}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Reic05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Reic05a.pdf} } @inproceedings{Reic07a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Stefan Reichhart and Tudor G\^irba and St\'ephane Ducasse}, Booktitle = {Journal of Object Technology, Special Issue. Proceedings of TOOLS Europe 2007}, Cached = {http://scg.unibe.ch/archive/papers/Reic07aTestQualityAssessment.pdf}, Inria = {hors}, Issn = {1660-1769}, Keywords = {scg07 scg-pub jb08 snf07 skip-doi testlint test smell refactoring girba}, Medium = {2}, Month = oct, Note = {Special Issue. Proceedings of TOOLS Europe 2007}, Pages = {231--251}, Peerreview = {yes}, Selectif = {non}, Title = {Rule-based Assessment of Test Quality}, Doi = {10.5381/jot.2007.6.9.a12}, Url = {http://www.jot.fm/contents/issue_2007_10/paper12.html http://www.jot.fm/issues/issue_2007_10/paper12.pdf}, Volume = {6/9}, Year = {2007}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2007_10/paper12/%20http://www.jot.fm/issues/issue_2007_10/paper12.pdf} } @mastersthesis{Reic07b, 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.}, Author = {Stefan Reichhart}, Keywords = {scg-msc scg-pub skip-doi jb07 snf07 christo testlint test smells code coverage}, Month = apr, School = {University Bern}, Title = {Assessing Test Quality --- {TestLint}}, Url = {http://scg.unibe.ch/archive/masters/Reic07b.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Reic07b.pdf} } @inproceedings{Reic09a, author = {Reichenbach, Christoph and Coughlin, Devin and Diwan, Amer}, title = {Program Metamorphosis}, booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming}, series = {Genoa}, year = {2009}, isbn = {978-3-642-03012-3}, location = {Italy}, pages = {394--418}, numpages = {25}, url = {http://dx.doi.org/10.1007/978-3-642-03013-0_18}, doi = {10.1007/978-3-642-03013-0_18}, acmid = {1615209}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg}, keywords = {Program Evolution, Refactoring} } @phdthesis{Reid80a, Author = {B.K. Reid}, Keywords = {misc scribe documents}, School = {Department of Computer Science, Carnegie-Mellon University}, Title = {Scribe: {A} Document Specification Language and its Compiler}, Type = {{Ph.D}. Thesis}, Year = {1980} } @book{Reid88a, Author = {Glenn C. Reid}, Isbn = {0-201-14396-8}, Keywords = {scglib}, Publisher = {Addison Wesley}, Title = {PostScript Language}, Year = {1988} } @inproceedings{Reil97a, 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.}, Author = {James Reilly and Petri Niska and Luca Deri and Dieter Gantenbein}, Booktitle = {6th International WWW Conference}, Brokenurl = {http://www.zurich.ibm.com/~lde/MobilePaper/}, Keywords = {snf-none olit skip-doi toBeChecked jb97}, Month = apr, Pages = {(To appear)}, Title = {Enabling Mobile Network Managers}, Year = {1997} } @article{Reis85a, Author = {S.P. Reiss}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {visprog ptyping}, Month = mar, Number = {3}, Pages = {276--285}, Title = {{PECAN}: Program Development Systems that Support Multiple Views}, Volume = {SE-11}, Year = {1985} } @inproceedings{Reis86a, Address = {Trondheim}, Author = {S.P. Reiss}, Booktitle = {Advanced Programming Environments, Proc of an Int Workshop}, Editor = {R. Conradi and T.M. Didriksen and D.H. Wanvik}, Keywords = {visprog}, Month = jun, Pages = {59--72}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{GARDEN} Tools: Support for Graphical Programming}, Volume = {244}, Year = {1986} } @article{Reis86b, Author = {S.P. Reiss}, Journal = {ACM SIGPLAN Notices}, Keywords = {visprog olit appl garden graphics oopws86}, Month = oct, Number = {10}, Pages = {49--57}, Title = {An Object-Oriented Framework for Graphical Programming}, Volume = {21}, Year = {1986} } @article{Reis87a, Author = {S.P. Reiss}, Journal = {IEEE Software}, Keywords = {visprog}, Number = {6}, Pages = {16--27}, Title = {Working in the {Garden} Environment for Conceptual Programming}, Volume = {4}, Year = {1987} } @incollection{Reis87b, Author = {S.P. Reiss}, Booktitle = {Research Directions in Object-Oriented Programming}, Editor = {B. Shriver and P. Wegner}, Keywords = {visprog olit}, Pages = {189--218}, Publisher = {MIT Press}, Title = {An Object-Oriented Framework for Conceptual Programming}, Year = {1987} } @article{Reis88a, Author = {A.H. Reisner and C.A. Bucholtz}, Journal = {Comput. Appl. Biosci.}, Keywords = {dotplot}, Pages = {395--402}, Title = {The Use of various Properties of Amino Acids in Color and Monochrome Dot-Matrix Analyses for Protein Homologies}, Volume = {4}, Year = {1988} } @article{Reis90a, Author = {Steven P. Reiss}, Journal = {Software --- Practice and Experience}, Pages = {89--115}, Title = {Interacting with the FIELD environment}, Volume = {20}, Year = {1990} } @book{Reis91a, Author = {Martin Reiser}, Isbn = {0-201-54422-9}, Keywords = {olit-oopl oobib(oopl) book}, Publisher = {ACM Press}, Title = {The Oberon System, User Guide and Programmer;s Manual}, Year = {1991} } @book{Reis92a, Author = {Martin Reiser}, Isbn = {0-201-56543-9}, Keywords = {olit-oopl oobib(oopl) book}, Publisher = {ACM Press}, Title = {Programming in Oberon --- Steps beyond Pascal and Modula}, Year = {1992} } @article{Reis95a, Author = {Steven P. Reiss}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Journal = {J. Vis. Lang. Comput.}, Number = {3}, Pages = {299-323}, Title = {An Engine for the {3D} Visualization of Program Information}, Volume = {6}, Year = {1995} } @proceedings{Reis97a, Address = {Lubeck, Germany}, Booktitle = {Proceedings of the 14th Annual Symposium on Theoretical Aspects of Computer Science, STACS '97}, Editor = {Rudiger Reischuck and Michel Morvan}, Isbn = {3-540-62616-6}, Keywords = {stacs97 scglib}, Month = feb, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Theoretical aspects of Computer Science}, Volume = {1200}, Year = {1997} } @inproceedings{Reis03a, Author = {Steven P. Reiss}, Booktitle = {Proceedings of SoftVis 2003 (ACM Symposium on Software Visualization)}, Pages = {57--66}, Title = {Visualizing {Java} in Action}, Year = {2003} } @article{Reis05a, Address = {Los Alamitos, CA, USA}, Author = {Steven P. Reiss}, Doi = {10.1109/VISSOF.2005.1684306}, Isbn = {0-7803-9540-9}, Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {19}, Publisher = {IEEE Computer Society}, Title = {The Paradox of Software Visualization}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684306} } @inproceedings{Reis05b, Author = {Steven P. Reiss}, Booktitle = {Proceedings of SoftVis 2005(ACM Symposium on Software Visualization)}, Pages = {115--124}, Title = {{JOVE}: {Java} as it happens}, Year = {2005} } @inproceedings{Reis05c, author = {Reiss, Steven P. and Renieris, Manos}, title = {Jove: java as it happens}, booktitle = {SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization}, year = {2005}, isbn = {1-59593-073-6}, pages = {115--124}, location = {St. Louis, Missouri}, doi = {10.1145/1056018.1056034}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Reis09a, Abstract = {In this position paper we look at the problem of letting the programmer specify what they want to search for. We discuss current approaches and their problems. We propose a semantics-based approach and describe the steps we have taken and the many open questions remaining.}, Author = {Reiss, S. P.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403387}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070020}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070020}, Doi = {10.1109/SUITE.2009.5070020}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, s6, suite2009}, Pages = {41--44}, Posted-At = {2009-08-10 11:12:24}, Priority = {0}, Title = {Specifying what to search for}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070020}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070020} } @inproceedings{Reis09b, author = {Reiss, S.P.}, booktitle = {Software Maintenance, 2009. ICSM 2009. IEEE International Conference on}, title = {Visualizing the Java heap demonstration proposal}, year = {2009}, month = sep, pages = {389 -390}, keywords = {Java;information extraction;memory visualization;memory-related problems;system heap model;Java;data visualisation;digital storage;}, doi = {10.1109/ICSM.2009.5306287}, ISSN = {1063-6773} } @inproceedings{Reis09c, author = {Reiss, S.P.}, booktitle = {Visualizing Software for Understanding and Analysis, 2009. VISSOFT 2009. 5th IEEE International Workshop on}, title = {Visualizing the Java heap to detect memory problems}, year = {2009}, month = sep, pages = {73--80}, doi = {10.1109/VISSOF.2009.5336418} } @inbook{Remy94a, Author = {Didier R{\'e}my}, Booktitle = {Theoretical Aspects Of Object-Oriented Programming. Types, Semantics and Language Design}, Chapter = 10, Keywords = {olit-types}, Month = apr, Pages = {351--372}, Publisher = {MIT Press}, Title = {Typing Record Concatenation for Free}, Url = {file://ftp.inria.fr/INRIA/Projects/cristal/Didier.Remy/taoop2.dvi.Z}, Year = {1994} } @mastersthesis{Rene01a, Author = {N'Guiamba N'Zi\'e Simon Ren\'e}, Month = dec, School = {Universit\'e du Qu\'ebec a Montreal}, Title = {R\'etro-Ing\'enierie d'un systeme agent de diagnostic pour op\'erateur de batiments}, Year = {2001} } @techreport{Reng03a, 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}, Author = {Lukas Renggli}, Cvs = {SmallWiki}, Institution = {University of Bern}, Keywords = {scg-ip jb04 snf04}, Note = {http://smallwiki.unibe.ch/smallwiki}, Title = {{SmallWiki}: Collaborative Content Management}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Reng03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Reng03a.pdf} } @mastersthesis{Reng06a, 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.}, Author = {Lukas Renggli}, Keywords = {scg-msc scg-pub skip-doi magritte pier jb06 fb06 snf06}, Month = jun, School = {University of Bern}, Title = {{Magritte} --- Meta-Described Web Application Development}, Url = {http://scg.unibe.ch/archive/masters/Reng06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Reng06a.pdf} } @inproceedings{Reng07a, Abstract = {Model-driven engineering is a powerful approach to build large-scale applications. However, an application's metamodel often remains static after the development phase and cannot be changed unless a new development effort occurs. Yet, end users often need to rapidly adapt their applications to new business needs. In many cases, the end users would know how to make the required adaptations, if only, the application would let them do so. In this paper we present how we built a runtime-dynamic meta-environment by integrating Magritte, a self-described metamodel, into Smalltalk's reflective language model. Our solution offers the best of both worlds: developers can develop their applications using the same tools they were used to, but at the same time they gain the power of meta-programming. We show in particular that our approach is adapted to support end user customization of applications: the adaptive model of Magritte enables to not only describe existing classes, but also lets end users build their own metamodels on the fly.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Lukas Renggli and St\'ephane Ducasse and Adrian Kuhn}, Booktitle = {Model Driven Engineering Languages and Systems}, Doi = {10.1007/978-3-540-75209-7_8}, Editor = {Gregor Engels and Bill Opdyke and Douglas C. Schmidt and Frank Weil}, Inria = {hors}, Isbn = {978-3-540-75208-0}, Keywords = {scg07 scg-pub jb07 snf07 snf-bmcc akuhn fame}, Medium = {2}, Month = sep, Pages = {106--120}, Peerreview = {yes}, Publisher = {Springer}, Ratex = {32%}, Series = {LNCS}, Title = {Magritte --- A Meta-Driven Approach to Empower Developers and End Users}, Url = {http://scg.unibe.ch/archive/papers/Reng07aMagritte.pdf}, Volume = {4735}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng07aMagritte.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-75209-7_8} } @inproceedings{Reng07b, Abstract = {Concurrency control in Smalltalk is based on locks and is therefore notoriously difficult to use. Even though some implementations provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics in Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. We report on a practical case study, benchmarks and further and on-going work.}, Annote = {internationalconference}, Author = {Lukas Renggli and Oscar Nierstrasz}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007)}, Doi = {10.1145/1352678.1352692}, Isbn = {978-1-60558-084-5}, Keywords = {scg07 scg-pub jb08 snf08 reflectivity}, Medium = {2}, Pages = {207--221}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Title = {Transactional Memory for {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Reng07bTransMem.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng07bTransMem.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352692} } @misc{Reng07c, Abstract = {Pier is the second generation of an industrial strength content management and application framework. Pier is written with objects from top to bottom and it is easily customized to accommodate new requirements. Pier is based on Magritte, a powerful meta-description framework. Pier has proven to be very powerful in the combination with Seaside, to enable easy composition and configuration of interactive web sites through a convenient web interface without having to write code.}, Author = {Lukas Renggli}, Howpublished = {European Smalltalk User Group Innovation Technology Award}, Keywords = {esug scg-misc snf07 jb08}, Month = aug, Note = {Won the 3rd prize}, Title = {Pier --- The Meta-Described Content Management System}, Url = {http://scg.unibe.ch/archive/reports/Reng07c.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Reng07c.pdf} } @article{Reng09a, Abstract = {Concurrency control is mostly based on locks and is therefore notoriously difficult to use. Even though some programming languages provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics into Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. The implementation does not depend on modifications to the virtual machine and therefore can be changed at the language level. We report on a practical case study, benchmarks and further and on-going work.}, Annote = {internationaljournal}, Author = {Lukas Renggli and Oscar Nierstrasz}, Doi = {10.1016/j.cl.2008.06.001}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg09 scg-pub jb09 snf09}, Medium = {2}, Misc = {was: Reng08a}, Month = apr, Number = {1}, Pages = {21--30}, Peerreview = {yes}, Publisher = {Elsevier}, Title = {Transactional Memory in a Dynamic Language}, Url = {http://scg.unibe.ch/archive/papers/Reng08aTransMemory.pdf}, Volume = {35}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng08aTransMemory.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2008.06.001} } @inproceedings{Reng09b, Abstract = {Integration of multiple languages into each other and into an existing development environment is a difficult task. As a consequence, developers often end up using only internal DSLs that strictly rely on the constraints imposed by the host language. Infrastructures do exist to mix languages, but they often do it at the price of losing the development tools of the host language. Instead of inventing a completely new infrastructure, our solution is to integrate new languages deeply into the existing host environment and reuse the infrastructure offered by it. In this paper we show why Smalltalk is the best practical choice for such a host language.}, Annote = {internationalworkshop}, Author = {Lukas Renggli and Tudor G\^irba}, Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)}, Keywords = {scg10 scg-pub jb10 snf10 helvetia girba}, Location = {Brest, France}, Medium = {2}, Peerreview = {yes}, Isbn = {978-1-60558-899-5}, Pages = {107--113}, Doi = {10.1145/1735935.1735954}, Url = {http://scg.unibe.ch/archive/papers/Reng09bLanguageShootout.pdf}, Publisher = {ACM}, Address = {New York, NY, USA}, Title = {Why {Smalltalk} Wins the Host Languages Shootout}, Year = {2009} } @inproceedings{Reng09c, Abstract = {As domain-specific modeling begins to attract widespread acceptance, pressure is increasing for the development of new domain-specific languages. Unfortunately these DSLs typically conflict with the grammar of the host language, making it difficult to compose hybrid code except at the level of strings; few mechanisms (if any) exist to control the scope of usage of multiple DSLs; and, most seriously, existing host language tools are typically unaware of the DSL extensions, thus hampering the development process. Language Boxes address these issues by offering a simple, modular mechanism to encapsulate (i) compositional changes to the host language, (ii) transformations to address various concerns such as compilation and highlighting, and (iii) scoping rules to control visibility of language extensions. We describe the design and implementation of Language Boxes, and show with the help of several examples how modular extensions can be introduced to a host language and environment.}, Annote = {internationalconference}, Author = {Lukas Renggli and Marcus Denker and Oscar Nierstrasz}, Booktitle = {Software Language Engineering: Second International Conference, SLE 2009, Denver, Colorado, October 5-6, 2009}, Doi = {10.1007/978-3-642-12107-4_20}, Isbn = {978-3-642-12106-7}, Keywords = {scg09 scg-pub snf10 jb10 helvetia}, Medium = {2}, Pages = {274--293}, Peerreview = {yes}, Publisher = {Springer}, Ratex = {29%}, Series = {LNCS}, Title = {{Language} {Boxes}: Bending the Host Language with Modular Language Changes}, Url = {http://scg.unibe.ch/archive/papers/Reng09cLanguageBoxes.pdf}, Volume = {5969}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Reng09cLanguageBoxes.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-642-12107-4_20} } @inproceedings{Reng10a, Abstract = {Domain-specific languages (DSLs) are increasingly used as embedded languages within general-purpose host languages. DSLs provide a compact, dedicated syntax for specifying parts of an application related to specialized domains. Unfortunately, such language extensions typically do not integrate well with the development tools of the host language. Editors, compilers and debuggers are either unaware of the extensions, or must be adapted at a non-trivial cost. We present a novel approach to embed DSLs into an existing host language by leveraging the underlying representation of the host language used by these tools. Helvetia is an extensible system that intercepts the compilation pipeline of the Smalltalk host language to seamlessly integrate language extensions. We validate our approach by case studies that demonstrate three fundamentally different ways to extend or adapt the host language syntax and semantics.}, Annote = {internationalconference}, Author = {Lukas Renggli and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {ECOOP'10: Proceedings of the 24th European Conference on Object-Oriented Programming}, Keywords = {scg-pub scg10 helvetia girba snf10 jb10 damiencbib}, Editor = {Theo D'Hondt}, Medium = {2}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Ratex = {23%}, Series = {LNCS}, address = {Maribor, Slovenia}, Pages = {380--404}, Isbn = {978-3-642-14106-5}, Doi = {10.1007/978-3-642-14107-2_19}, Url = {http://scg.unibe.ch/archive/papers/Reng10aEmbeddingLanguages.pdf}, Volume = {6183}, Title = {Embedding Languages Without Breaking Tools}, Year = {2010} } @inproceedings{Reng10b, Abstract = {Lint-like program checkers are popular tools that ensure code quality by verifying compliance with best practices for a particular programming language. The proliferation of internal domain-specific languages and models, however, poses new challenges for such tools. Traditional program checkers produce many false positives and fail to accurately check constraints, best practices, common errors, possible optimizations and portability issues particular to domain-specific languages. We advocate the use of dedicated rules to check domain-specific practices. We demonstrate the implementation of domain-specific rules, the automatic fixing of violations, and their application to two case-studies: (1) Seaside defines several internal DSLs through a creative use of the syntax of the host language; and (2) Magritte adds meta-descriptions to existing code by means of special methods. Our empirical validation demonstrates that domain-specific program checking significantly improves code quality when compared with general purpose program checking.}, Annote = {internationalconference}, Author = {Lukas Renggli and St\'ephane Ducasse and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS'10)}, Keywords = {scg-pub scg10 helvetia girba snf10 jb10 evol11}, Series = {LNCS}, Pages = {213--232}, Isnb = {978-3-642-13952-9}, Doi = {10.1007/978-3-642-13953-6_12}, Publisher = {Springer-Verlag}, Volume = {6141}, Editor = {Jan Vitek}, Peerreview = {yes}, Ratex = {29%}, Title = {Domain-Specific Program Checking}, Url = {http://scg.unibe.ch/archive/papers/Reng10bDomainSpecificProgramChecking.pdf}, Year = {2010} } @inproceedings{Reng10c, Abstract = {Grammars for programming languages are traditionally specified statically. They are hard to compose and reuse due to ambiguities that inevitably arise. PetitParser combines ideas from scannerless parsing, parser combinators, parsing expression grammars and packrat parsers to model grammars and parsers as objects that can be reconfigured dynamically. Through examples and benchmarks we demonstrate that dynamic grammars are not only flexible but highly practical.}, Author = {Lukas Renggli and St\'ephane Ducasse and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {4th Workshop on Dynamic Languages and Applications (DYLA 2010)}, Title = {Practical Dynamic Grammars for Dynamic Languages}, Keywords = {scg-pub scg10 helvetia petitparser girba skip-doi moose-pub snf10 jb10 hasler10 evol11}, Medium = {1}, Annote = {internationalworkshop}, Url = {http://scg.unibe.ch/archive/papers/Reng10cDynamicGrammars.pdf}, Month = jun, Address = {Malaga, Spain}, Peerreview = {yes}, Year = {2010} } @phdthesis{Reng10d, Abstract = {Domain-specific languages (DSLs) are increasingly used as embedded languages within general-purpose host languages. DSLs provide a compact, dedicated syntax for specifying parts of an application related to specialized domains. Unfortunately, such language extensions typically do not integrate well with existing development tools. Editors, compilers and debuggers are either unaware of the extensions, or must be adapted at a non-trivial cost. Furthermore, these embedded languages typically conflict with the grammar of the host language and make it difficult to write hybrid code; few mechanisms exist to control the scope and usage of multiple tightly interconnected embedded languages. In this dissertation we present Helvetia, a novel approach to embed languages into an existing host language by leveraging the underlying representation of the host language used by these tools. We introduce Language Boxes, an approach that offers a simple, modular mechanism to encapsulate (i) compositional changes to the host language, (ii) transformations to address various concerns such as compilation and syntax highlighting, and (iii) scoping rules to control visibility of fine-grained language changes. We describe the design and implementation of Helvetia and Language Boxes, discuss the required infrastructure of a host language enabling language embedding, and validate our approach by case studies that demonstrate different ways to extend or adapt the host language syntax and semantics.}, Author = {Lukas Renggli}, Keywords = {scg-phd snf10 jb11 helvetia}, Month = oct, Year = {2010}, School = {University of Bern}, Title = {Dynamic Language Embedding With Homogeneous Tool Support}, Type = {PhD thesis}, Url = {http://scg.unibe.ch/archive/phd/renggli-phd.pdf} } @inproceedings{Repe09a, Address = {New York, NY, USA}, Author = {Alexander Repenning and Andri Ioannidou}, Booktitle = {ILC '07: Proceedings of the 2007 International Lisp Conference}, Doi = {10.1145/1622123.1622149}, Isbn = {978-1-59593-618-9}, Location = {Cambridge, United Kingdom}, Pages = {1--11}, Publisher = {ACM}, Title = {{X-expressions} in {XMLisp}: {S-expressions} and extensible markup language unite}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1622123.1622149} } @inproceedings{Repp91a, Address = {Toronto}, Author = {John H. Reppy}, Booktitle = {ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, SIGPLAN Notices}, Keywords = {concurrency fpl cml binder}, Month = jun, Number = 6, Pages = {293--305}, Title = {{CML}: {A} Higher-Order Concurrent Language}, Volume = 26, Year = {1991} } @book{Repp99a, Author = {John H. Reppy}, Keywords = {ml scglib}, Publisher = {Cambridge University Press}, Title = {Concurrent Programming in ML}, Year = {1999} } @article{Repp04a, Author = {Tracy Reppert}, Journal = {Better Software}, Keywords = {testing storytest}, Month = jul, Publisher = {Software Quality Engineering}, Title = {Don\'t just break software. Make software.}, Url = {http://www.industriallogic.com/papers/storytest.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.industriallogic.com/papers/storytest.pdf} } @inproceedings{Repp06a, Author = {John Reppy and Aaron Turon}, Booktitle = {International Workshop on Foundations and Developments of Object-Oriented Languages}, Title = {A Foundation for Trait-based Metaprogramming}, Year = {2006} } @inproceedings{Repp07a, Author = {John Reppy and Aaron Turon}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'2007)}, Title = {Metaprogramming with Traits}, Year = {2007} } @inproceedings{Reps97a, Author = {Thomas Reps and Thomas Ball and Manuvir Das and James Larus}, Booktitle = {Proceedings of ESEC/FSE '97, LNCS 1301}, Keywords = {olit scglit oobib}, Pages = {432--449}, Title = {The Use of Program Profiling for Software Maintenance with Applications to the Year 2000 Problem}, Year = {1997} } @book{Resc06a, Author = {Eric Rescorla}, Isbn = {0-201-61598-3}, Keywords = {scglib}, Publisher = {Addison-Wesley}, Title = {SSL and TLS Designing and Building Secure Systems}, Year = {2006} } @book{Resn94a, Author = {Mitchel Resnick}, Keywords = {scglib}, Publisher = {MIT Press}, Title = {Turtles, Termites, and Traffic Jams}, Year = {1994} } @inproceedings{Ress09a, Abstract = {In conventional software applications, synchronization code is typically interspersed with functional code, thereby impacting understandability and maintainability of the code base. At the same time, the synchronization defined statically in the code is not capable of adapting to different runtime situations. We propose a new approach to concurrency control which strictly separates the functional code from the synchronization requirements to be used and which adapts objects to be synchronized dynamically to their environment. First-class synchronization specifications express safety requirements, and a dynamic synchronization system dynamically adapts objects to different runtime situations. We present an overview of a prototype of our approach together with several classical concurrency problems, and we discuss open issues for further research.}, Annote = {internationalworkshop}, Author = {Jorge Ressia and Oscar Nierstrasz}, Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)}, Keywords = {scg10 scg-pub jb10 snf10}, Isbn = {978-1-60558-899-5}, Pages = {101--106}, Location = {Brest, France}, Doi = {10.1145/1735935.1735952}, Url = {http://scg.unibe.ch/archive/papers/Ress09aDynamicSynchronization.pdf}, Publisher = {ACM}, Address = {New York, NY, USA}, Medium = {2}, Peerreview = {yes}, Title = {Dynamic Synchronization --- A Synchronization Model through Behavioral Reflection}, Year = {2009} } @inproceedings{Ress10a, Author = {Jorge Ressia and Lukas Renggli and Tudor G\^irba and Oscar Nierstrasz}, Booktitle = {Proceedings of the 5th Workshop on Models@run.time at the ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems (MODELS 2010)}, Annote = {internationalworkshop}, Keywords = {snf10 jb11 scg-pub skip-doi girba scg10 bifrost}, Month = oct, Title = {Run-Time Evolution through Explicit Meta-Objects}, Abstract = {Software must be constantly adapted due to evolving domain knowledge and unanticipated requirements changes. To adapt a system at run-time we need to reflect on its structure and its behavior. Object-oriented languages introduced reflection to deal with this issue, however, no reflective approach up to now has tried to provide a unified solution to both structural and behavioral reflection. This paper describes Albedo, a unified approach to structural and behavioral reflection. Albedo is a model of fined-grained unanticipated dynamic structural and behavioral adaptation. Instead of providing reflective capabilities as an external mechanism we integrate them deeply in the environment. We show how explicit meta-objects allow us to provide a range of reflective features and thereby evolve both application models and environments at run-time.}, Url = {http://scg.unibe.ch/archive/papers/Ress10a-RuntimeEvolution.pdf}, Note = {http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-641/}, Medium = {2}, PeerReview = {yes}, Pages = {37--48}, Year = {2010} } @inproceedings{Ress11a, Abstract = {Reuse in object-oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer-grained reuse of methods, such as flavors, mixins and traits. These techniques, however, only deal with reuse at the level of classes. Class-based reuse is inherently static. Increasing use of reflection and meta-programming techniques in real world applications underline the need for more dynamic approaches. New approaches have shifted to object-specific reuse. However, these techniques fail to provide a complete solution to the composition issues arising during reuse. We propose a new approach that deals with reuse at the object level and that supports behavioral composition. We introduce a new abstraction called a talent which models features that are shared between objects of different class hierarchies. Talents provide a composition mechanism that is as flexible as that of traits but which is dynamic.}, Annote = {internationalworkshop}, Author = {Jorge Ressia and Tudor G\^irba and Oscar Nierstrasz and Fabrizio Perin and Lukas Renggli}, Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2011)}, Keywords = {scg11 scg-pub jb11 snf11 missing-doi}, Url = {http://scg.unibe.ch/archive/papers/Ress11a-Talents.pdf}, Medium = {2}, Peerreview = {yes}, Title = {Talents: Dynamically Composable Units of Reuse}, Year = {2011} } @inproceedings{Rett02a, Address = {Washington, DC, USA}, Author = {A. Rettberg and W. Thronicke}, Booktitle = {DATE '02: Proceedings of the conference on Design, automation and test in Europe}, Pages = {232}, Publisher = {IEEE Computer Society}, Title = {Embedded System Design Based On Webservices}, Year = {2002} } @inproceedings{Reub93a, Author = {Howard Reubenstein and Richard Piazza and Susan Roberts}, Booktitle = {First Working Conference on Reverse Engineering (WCRE 1993)}, Keywords = {parsing}, Pages = {117--125}, Title = {Separating Parsing and Analysis in Reverse Engineering Tools}, Url = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=287773}, Year = {1993}, Bdsk-Url-1 = {http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=287773} } @inproceedings{Reyn85a, Author = {John C. Reynolds}, Booktitle = {Proceedings TAPSOFT '85}, Editor = {Ehrig and Floyd, Nivat and Thatcher}, Keywords = {types tapsoft85 caap85 binder}, Pages = {97--138}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Three Approaches to Type Structure}, Volume = {185}, Year = {1985} } @techreport{Reyn88a, Author = {John C. Reynolds}, Institution = {Carnegie Mellon University}, Keywords = {types intersection (bcp)}, Month = jun, Number = {CMU-CS-88-159}, Title = {Preliminary Design of the Programming Language Forsythe}, Year = {1988} } @inproceedings{Reyn91a, Address = {Sendai, Japan}, Author = {John C. Reynolds}, Booktitle = {Proceedings Theoretical Aspects of Computer Software (TACS '91)}, Editor = {T. Ito and A.R. Meyer}, Keywords = {types forsythe tacs91}, Month = sep, Pages = {675--700}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Coherence of Languages with Intersection Types}, Volume = {526}, Year = {1991} } @inproceedings{Reyn94a, Author = {Jeffrey C. Reynar}, Booktitle = {Proceedings of the 32. Meeting of the Association for Computational Linguistics}, Keywords = {dotplot}, Pages = {331--333}, Title = {An Automatic Method of Finding Topic Boundaries}, Url = {citeseer.ist.psu.edu/reynar94automatic.html}, Year = {1994}, Bdsk-Url-1 = {citeseer.ist.psu.edu/reynar94automatic.html} } @phdthesis{Reyn98a, Author = {Jeffrey C. Reynar}, Keywords = {dotplot}, School = {University of Pennsylvania}, Title = {Topic Segmentation: Algorithms and Applications}, Year = {1998} } @inproceedings{Reyn06a, author = {Reynolds, Vinny and Cahill, Vinny and Senart, Aline}, booktitle = {InterSense'06: Proceedings of the 1st International Conference on Integrated Internet Ad hoc and Sensor Networks}, title = {Requirements for an Ubiquitous Computing Simulation and Emulation Environment}, pages = {1--9}, year = {2006}, isbn = {1-59593-427-8}, doi = {10.1145/1142680.1142682}, acmid = {1142682}, publisher = {ACM}, keywords = {UCSE, emulation, sensor networks, simulation, ubiquitous computing damiencbib}, address = {Nice, France} } @book{Rhei85a, Author = {Howard Rheingold}, Keywords = {scglib}, Publisher = {The MIT Press}, Title = {Tools for Thought}, Year = {1985} } @inproceedings{Ricc05a, Address = {Los Alamitos CA}, Author = {Filippo Ricca and Paolo Tonella}, Booktitle = {Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR 2005)}, Keywords = {web}, Location = {Manchester, United Kingdom}, Pages = {385--394}, Publisher = {IEEE Computer Society Press}, Title = {Anomaly detection in Web applications: a review of already conducted case studies}, Year = {2005} } @article{Rice94a, Author = {M.D. Rice and S.B. Seidman}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {interconnection language binder}, Month = jan, Number = {1}, Pages = {88--100}, Title = {A Formal Model for Module Interconnection Languages}, Volume = {20}, Year = {1994} } @article{Rich71a, Author = {M. Richards}, Journal = {Software --- Practice and Experience}, Keywords = {plang bcpl o-code}, Pages = {135--146}, Title = {The Portability of the {BCPL} Compiler}, Volume = {1}, Year = {1971} } @incollection{Rich77a, Author = {M. Richards}, Booktitle = {Software Portability}, Editor = {P.J. Brown}, Keywords = {plang bcpl o-code}, Pages = {192--202}, Publisher = {Cambridge University Press}, Title = {The Implementation of {BCPL}}, Year = {1977} } @inproceedings{Rich92a, Author = {Joel Richardson and Peter Schwarz and Luis-Felipe Cabrera}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {263--275}, Title = {{CACL}: Efficient Fine-Grained Protection for Objects}, Volume = {27}, Year = {1992} } @inproceedings{Rich97a, 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.}, Author = {Tamar Richner and Robb Nebbe}, Booktitle = {Object-Oriented Technology (ECOOP '97 Workshop Reader)}, Editor = {Jan Bosch and Stuart Mitchell}, Keywords = {olit famoos-papunr scglit oobib scg-pub skip-doi toBeChecked snf97 jb97}, Month = jun, Pages = {266--267}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Analyzing Dependencies to Solve Low-Level Problems}, Url = {http://scg.unibe.ch/archive/papers/Rich97aLowLevel.pdf}, Volume = 1357, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rich97aLowLevel.pdf} } @inproceedings{Rich97b, Address = {Madrid}, Author = {Richards, D. and Compton, P.}, Booktitle = {Proceedings of Software Engineering Knowledge Engineering SEKE'97}, Keywords = {fca}, Month = jun, Publisher = {Springer-Verlag}, Title = {Combining Formal Concept Analysis and Ripple Down Rules to Support Reuse}, Year = {1997} } @inproceedings{Rich98a, 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.}, Author = {Tamar Richner}, 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}, Keywords = {olit famoos-papunr scglit oobib scg-pub skip-doi toBeChecked snf98 jb98}, Month = jul, Publisher = {University of Karlskrona}, Series = {Research Report 13/98}, Title = {Describing Framework Architectures: more than Design Patterns}, Url = {http://scg.unibe.ch/archive/papers/Rich98aFrameworkArch.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rich98aFrameworkArch.pdf} } @inproceedings{Rich98b, 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}, Author = {Tamar Richner and St\'ephane Ducasse and Roel Wuyts}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr scglit oobib scg-pub skip-doi toBeChecked snf98 jb98 stefPub}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Understanding Object-Oriented Programs with Declarative Event Analysis}, Url = {http://scg.unibe.ch/archive/papers/Rich98bEvents.pdf}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rich98bEvents.pdf} } @inproceedings{Rich99a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Tamar Richner and St\'ephane Ducasse}, Booktitle = {Proceedings of 15th IEEE International Conference on Software Maintenance (ICSM'99)}, Doi = {10.1109/ICSM.1999.792487}, Editor = {Hongji Yang and Lee White}, Keywords = {olit famoos-papref scg-pub toBeChecked snf99 jb99 oorp stefPub}, Misc = {acceptance rate: 49/100 = 49\%}, AcceptTotal = {100}, AcceptNum = {49}, Month = sep, Pages = {13--22}, Publisher = {IEEE Computer Society Press}, Title = {Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information}, Url = {http://scg.unibe.ch/archive/papers/Rich99aRecoveringViews.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rich99aRecoveringViews.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.1999.792487} } @inproceedings{Rich99b, 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?}, Author = {Tamar Richner}, Booktitle = {ECOOP '99 Workshop Reader}, Keywords = {olit famoos-papunr scglit oobib scg-pub skip-doi snf99 jb99}, Month = jun, Number = 1743, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Recovered Views to Track Architectural Evolution}, Url = {http://scg.unibe.ch/archive/famoos/Rich99b/ecoop99.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/Rich99b/ecoop99.pdf} } @inproceedings{Rich02a, 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.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Tamar Richner and St\'ephane Ducasse}, Booktitle = {Proceedings of 18th IEEE International Conference on Software Maintenance (ICSM'02)}, Doi = {10.1109/ICSM.2002.1167745}, Keywords = {scg-pub snf02 jb02 stefPub}, Misc = {acceptance rate: 61/127 = 48\%}, AcceptTotal = {127}, AcceptNum = {61}, Month = oct, Pages = {34}, Publisher = {IEEE Computer Society}, Title = {Using Dynamic Information for the Iterative Recovery of Collaborations and Roles}, Url = {http://scg.unibe.ch/archive/papers/Rich02aRolesExtractionICSM2002.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rich02aRolesExtractionICSM2002.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2002.1167745} } @phdthesis{Rich02b, 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.}, Author = {Tamar Richner}, Keywords = {scg-pub skip-doi jb02 scg-phd snf02 moose-pub}, Month = may, School = {University of Bern}, Title = {Recovering Behavioral Design Views: a Query-Based Approach}, Url = {http://scg.unibe.ch/archive/phd/richner-phd.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/richner-phd.pdf} } @inproceedings{Rich02c, Address = {Brazil}, Author = {Debbie Richards and Kathrin B{\"o}ttger}, Booktitle = {Proceedings of CSCWD '02 (7th International Conference on Computer Supported Cooperative Work in Design)}, Keywords = {fca}, Month = sep, Publisher = {IEEE Computer Society Press}, Title = {Assisting {Decision} {Making} in {Requirements} {Reconciliation}}, Year = {2002} } @inproceedings{Rich02d, Address = {Canberra, Australia}, Author = {Debbie Richards and Kathrin B{\"o}ttger}, Booktitle = {Proceedings of AI '02 (15th Australian Joint Conference on Artificial Intelligence)}, Keywords = {fca}, Number = {2557}, Pages = {579--590}, Publisher = {Springer Verlag}, Series = {LNAI}, Title = {A {Controlled} {Language} to {Assist} {Conversion} of {Use} {Case} {Descriptions} into {Concept} {Lattices}}, Year = {2002} } @inproceedings{Rich02e, Author = {Debbie Richards and Kathrin B{\"o}ttger and Anne Fure}, Booktitle = {Proceedings of AWRE '02 (7th Australian Workshop on Requirements Engineering)}, Keywords = {fca}, Title = {{RECOCASE}-tool: A {CASE} {Tool} for {RECOnciling} {Requirements} {Viewpoints}}, Year = {2002} } @inproceedings{Rich02f, Address = {Cambridge}, Author = {Debbie Richards and Kathrin B{\"o}ttger}, Booktitle = {Proceedings of the 22nd Annual International Conference of the British Computer Society's Specialist Group on Artificial Intelligence (ES2002)}, Keywords = {fca}, Month = dec, Publisher = {Springer Verlag}, Title = {Representing {Requirements} in {Natural} {Language} as {Concept} {Lattices}}, Year = {2002} } @inproceedings{Rich02g, Address = {Melbourne, Australia}, Author = {Debbie Richards and Kathrin B{\"o}ttger and Anne Fure}, Booktitle = {Proceedings of ACIS '02 (13th Australasian Conference on Information Systems)}, Keywords = {fca}, Month = dec, Title = {Using {RECOCASE} to Compare Use Cases from Multiple Viewpoints}, Year = {2002} } @book{Rich07a, Author = {Leonard Richardson and Sam Ruby}, Isbn = {0-596-52926-0}, Pages = {446}, Publisher = {O'Reilly}, Title = {RESTful Web Services}, Year = {2007} } @inbook{Rieb04a, Author = {Matthias Riebisch}, Booktitle = {Modelling Variability for Object-Oriented Product lines}, Keywords = {features architecture}, Pages = {64--76}, Publisher = {BooksOnDemand Publ. Co. Norderstedt}, Title = {Towards a More Precise Definition of Feature Models}, Year = {2003} } @inproceedings{Rieb04b, Address = {Brno, Czech Republic}, Author = {Matthias Riebisch}, Booktitle = {Proceedings of 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS'04)}, Keywords = {feature}, Month = may, Title = {Supporting Evolutionary Development by Feature Models and Traceability Links}, Year = {2004} } @article{Riec02a, Address = {Duluth, MN, USA}, Author = {Jon G. Riecke and Christopher A. Stone}, Doi = {10.1006/inco.2000.2925}, Issn = {0890-5401}, Journal = {Inf. Comput.}, Number = {1}, Pages = {2--28}, Publisher = {Academic Press, Inc.}, Title = {Privacy via subsumption}, Volume = {172}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1006/inco.2000.2925} } @mastersthesis{Rieg97a, 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.}, Author = {Matthias Rieger}, Keywords = {snf-none scg-pub skip-doi toBeChecked scg-msc jb97}, Month = jun, School = {University of Bern}, Title = {Implementing the {FACE} Object Model in {C}++}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Rieg97a.pdf http://scg.unibe.ch/archive/masters/Rieg97a.html}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Rieg97a.pdf%20http://scg.unibe.ch/archive/masters/Rieg97a.html} } @inproceedings{Rieg98a, 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}, Author = {Matthias Rieger and St\'ephane Ducasse}, Booktitle = {Proceedings ECOOP Workshop on Experiences in Object-Oriented Re-Engineering}, Editor = {St\'ephane Ducasse and Joachim Weisbrod}, Keywords = {jb98 famoos-papunr snf98 scg-pub skip-doi}, Number = {6/7/98}, Publisher = {Forschungszentrum Informatik Karlsruhe}, Series = {FZI Report}, Title = {Visual Detection of Duplicated Code}, Url = {http://scg.unibe.ch/archive/papers/Rieg98aEcoopWorkshop.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg98aEcoopWorkshop.pdf} } @inproceedings{Rieg98b, 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}, Author = {Matthias Rieger and St\'ephane Ducasse}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit famoos-papunr reveng scg-pub skip-doi jb-none stefPub}, Month = jul, Pages = {75--76}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Visual Detection of Duplicated Code}, Url = {http://scg.unibe.ch/archive/papers/Rieg98aEcoopWorkshop.pdf}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg98aEcoopWorkshop.pdf} } @inproceedings{Rieg99a, 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}, Author = {Matthias Rieger and St\'ephane Ducasse and Georges Golomingi}, Booktitle = {Object-Oriented Technology (ECOOP '99 Workshop Reader)}, Keywords = {olit scg-pub skip-doi jb-none}, Number = {1743}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Tool Support for Refactoring Duplicated OO Code}, Url = {http://scg.unibe.ch/archive/papers/Rieg99aToolSuppRefacOOCode.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg99aToolSuppRefacOOCode.pdf} } @techreport{Rieg04a, 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.}, Author = {Matthias Rieger}, Institution = {University of Bern, Institute of Applied Mathematics and Computer Science}, Keywords = {olit scg-pub skip-doi jb05 clones duploc recast05}, Number = {iam-04-002}, Title = {Experiments on Language Independent Duplication Detection}, Url = {http://scg.unibe.ch/archive/papers/Rieg04a-IAM-04-002.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg04a-IAM-04-002.pdf} } @inproceedings{Rieg04b, 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}, Author = {Matthias Rieger and St\'ephane Ducasse and Michele Lanza}, Booktitle = {Proceedings of 11th Working Conference on Reverse Engineering (WCRE'04)}, Cvs = {DuplocVizPaper}, Doi = {10.1109/WCRE.2004.25}, Keywords = {olit scg-pub jb05 recast05 stefPub clones}, Location = {Delft, The Netherlands}, Misc = {acceptance rate: 28/78 = 36\%}, AcceptTotal = {78}, AcceptNum = {28}, Month = nov, Pages = {100--109}, Publisher = {IEEE Computer Society Press}, Title = {Insights into System-Wide Code Duplication}, Url = {http://scg.unibe.ch/archive/papers/Rieg04bWCRE2004ClonesVisualization.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Rieg04bWCRE2004ClonesVisualization.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2004.25} } @phdthesis{Rieg05a, 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.}, Author = {Matthias Rieger}, Cvs = {MRiegerPhD}, Keywords = {scglib scg-pub skip-doi scg-phd evolution recast05 jb05 clones moose-pub}, Month = jun, School = {University of Bern}, Title = {Effective Clone Detection Without Language Barriers}, Url = {http://scg.unibe.ch/archive/phd/rieger-phd.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/rieger-phd.pdf} } @incollection{Rieh95, Address = {New York, NY, USA}, Author = {Dirk Riehle and Heinz Z\"{u}llighoven}, Booktitle = {Pattern languages of program design 1}, Isbn = {0-201-60734-4}, Pages = {9--42}, Publisher = {ACM Press/Addison-Wesley Publishing Co.}, Title = {A pattern language for tool construction and integration based on the tools and materials metaphor}, Year = {1995} } @inproceedings{Rieh95a, Address = {Austin}, Author = {Dirk Riehle}, Booktitle = {Proceedings of OOPSLA '95}, Month = oct, Organization = {ACM}, Pages = {251--264}, Title = {{How and Why to Encapsulate Class Tree}}, Year = {1995} } @inproceedings{Rieh98a, Author = {Dirk Riehle and Thomas Gross}, Booktitle = {Proceedings OOPSLA '98, ACM SIGPLAN Notices}, Keywords = {olit oopsla98 oorp}, Month = oct, Pages = {117--133}, Title = {Role Model Based Framework Design and Integration}, Year = {1998} } @incollection{Rieh98b, Author = {Dirk Riehle}, Booktitle = {Pattern Languages of Program Design 3}, Editor = {Robert Martin and Dirk Riehle and Frank Buschmann}, Pages = {163--185}, Publisher = {Addison Wesley}, Title = {Bureaucracy}, Year = {1998} } @phdthesis{Rieh00a, Author = {Dirk Riehle}, Key = {Diss. ETH No. 13509}, School = {Swiss Federal Institute of Technology, Zurich}, Title = {Framework Design: a Role Modelling Approach}, Year = {2000} } @inproceedings{Rieh01a, Author = {Dirk Riehle and Steven Fraleigh and Dirk Bucka-Lassen and Nosa Omorogbe}, Booktitle = {Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '01)}, Pages = {327--341}, Title = {The Architecture of a UML Virtual Machine}, Year = {2001} } @incollection{Rieh05a, Author = {Dirk Riehle and Michel Tilman and Ralph Johnson}, Booktitle = {Pattern Languages of Program Design 5}, Publisher = {Addison-Wesley}, Title = {Dynamic Object Model}, Year = {2005} } @inproceedings{Riek87a, Address = {Paris, France}, Author = {Wolf-Fritz Riekert}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {131--139}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The {ZOO} Metasystem: {A} Direct-Manipulation Interface to Object-Oriented Knowledge Bases}, Volume = {276}, Year = {1987} } @book{Riel96a, Address = {Boston MA}, Author = {Arthur Riel}, Keywords = {scglib oorp}, Pages = {400}, Publisher = {Addison Wesley}, Title = {Object-Oriented Design Heuristics}, Year = {1996} } @article{Rigg96a, Author = {Roger Riggs and Jim Waldo and Ann Wollrath and Krishna Bharat}, Journal = {Computing Systems}, Number = {4}, Pages = {291--312}, Title = {Pickling State in the {Java} System}, Url = {http://citeseer.nj.nec.com/riggs96pickling.html}, Volume = {9}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/riggs96pickling.html} } @misc{Rigi, Key = {rigi design-recovery}, Note = {http://www.rigi.csc.uvic.ca/}, Title = {Rigi Home Page}, Url = {http://www.rigi.csc.uvic.ca/}, Bdsk-Url-1 = {http://www.rigi.csc.uvic.ca/} } @inproceedings{Rigo06a, Address = {New York, NY, USA}, Author = {Armin Rigo and Samuele Pedroni}, Booktitle = {Proceedings of the 2006 conference on Dynamic languages symposium, OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1176617.1176753}, Isbn = {1-59593-491-X}, Location = {Portland, Oregon, USA}, Pages = {944--953}, Publisher = {ACM}, Title = {{PyPy}'s approach to virtual machine construction}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1176617.1176753} } @techreport{Rigo08a, Author = {Armin Rigo}, Institution = {PyPy Consortium}, Keywords = {pypy}, Note = {http://codespeak.net/pypy/dist/pypy/doc/translation.html}, Title = {{PyPy} -- Translation}, Url = {http://codespeak.net/pypy/dist/pypy/doc/translation.html}, Year = {2008}, Bdsk-Url-1 = {http://codespeak.net/pypy/dist/pypy/doc/translation.html} } @book{Rijs79a, Address = {London}, Author = {C. v. Rijsbergen}, Keywords = {clustering information retrieval}, Publisher = {Butterworths}, Title = {Information Retrieval}, Year = {1979} } @inproceedings{Rill02a, Author = {J\"urgen Rilling and S. P. Mudur}, Booktitle = {WCRE 2002 Proceedings}, Editor = {A. van Deursen and Elizabeth Burd}, Organization = {IEEE}, Pages = {299--308}, Publisher = {IEEE Computer Society}, Title = {On the Use of Metaballs to Visually Map Source Code Structures and Analysis Results onto 3D Space}, Year = {2002} } @article{Rill05a, Address = {Los Alamitos, CA, USA}, Author = {J\"urgen Rilling and Vu-Loc Nguyen}, Doi = {10.1109/VISSOF.2005.1684320}, Isbn = {0-7803-9540-9}, Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis}, Pages = {33}, Publisher = {IEEE Computer Society}, Title = {Applying Code Analysis and 3D Design Pattern Grouping to Facilitate Program Comprehension}, Volume = {0}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684320} } @inproceedings{Rina96a, Address = {Linz, Austria}, Author = {Ran Rinat and Menachem Magidor}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {449--471}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Metaphoric Polymorphism: Taking Code Reuse One Step Further}, Volume = {1098}, Year = {1996} } @inproceedings{Rina02a, Address = {Malaga, Spain}, Author = {Ran Rinat and Scott Smith}, Booktitle = {Proceedings ECOOP 2002}, Editor = {Boris Magnusson}, Keywords = {olit ecoop02proc}, Month = jun, Pages = {257--280}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Modular Internet Programming with Cells}, Url = {http://www.cs.jhu.edu/labs/pll/cells/papers/ecoop02.ps}, Volume = 2374, Year = {2002}, Bdsk-Url-1 = {http://www.cs.jhu.edu/labs/pll/cells/papers/ecoop02.ps} } @article{Risi92a, Author = {Linda Rising and Frank W. Calliss}, Journal = {Software - Practice and Experience}, Number = {7}, Pages = {553--571}, Title = {Problems with Determining Package Cohesion and Coupling}, Volume = {22}, Year = {1992} } @incollection{Risi00a, Author = {Linda Rising}, Booktitle = {Pattern Languages of Program Design 4}, Editor = {Neil Harrison and Brian Foote and Hans Rohnert}, Keywords = {oorp}, Pages = {585--609}, Publisher = {Addison Wesley}, Title = {Customer Interaction Patterns}, Year = {2000} } @book{Risi00b, Author = {Linda Rising}, Keywords = {scglib oorp}, Publisher = {Addison Wesley}, Title = {The Pattern Almanac 2000}, Year = {2000} } @article{Risi00c, Abstract = {In today's software development environment, requirements often change during the product development life cycle to meet shifting business demands, creating endless headaches for development teams. These authors from AG Communications Systems discuss their experience in implementing the Scrum software development process to address these concerns. In experimenting with the Scrum software development process, they have found that small teams can be flexible and adaptable in defining and applying an appropriate variant of Scrum.}, Address = {Los Alamitos, CA, USA}, Author = {Rising, Linda and Janoff, Norman S.}, Doi = {10.1109/52.854065}, Issn = {0740-7459}, Journal = {IEEE Software}, Keywords = {scrum}, Month = jul, Number = {4}, Pages = {26--32}, Publisher = {IEEE Computer Society}, Title = {The Scrum Software Development Process for Small Teams}, Url = {http://members.cox.net/risingl1/Articles/IEEEScrum.pdf}, Volume = {17}, Year = {2000}, Bdsk-Url-1 = {http://members.cox.net/risingl1/Articles/IEEEScrum.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/52.854065} } @incollection{Riss91a, Author = {Edwina L. Rissland}, Booktitle = {Informal Reasoning in Education}, Editors = {J. F. Voss and D. N. Parkins and J. W. Segal}, Pages = {187--208}, Publisher = {Lawrence Erlbaum Associates}, Title = {Example-based Reasoning}, Year = {1991} } @book{Rist95a, Author = {Robert Rist and Robert Terwilliger}, Isbn = {0-13-205931-2}, Keywords = {olit-oopl}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Programming in Eiffel}, Year = {1995} } @inproceedings{Ritc93a, Author = {Herbert Ritch and Harry M. Sneed}, Booktitle = {Proceedings of WCRE '93}, Month = may, Organization = {IEEE}, Pages = {192--201}, Title = {Reverse Engineering Programs via Dynamic Analysis}, Year = {1993} } @inproceedings{Rito10a, author = {Rito, Hugo and Cachopo, Jo\~{a}o}, title = {Memoization of methods using software transactional memory to track internal state dependencies}, booktitle = {Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java}, series = {PPPJ '10}, year = {2010}, isbn = {978-1-4503-0269-2}, location = {Vienna, Austria}, pages = {89--98}, numpages = {10}, url = {http://doi.acm.org/10.1145/1852761.1852775}, doi = {10.1145/1852761.1852775}, acmid = {1852775}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Riva95a, Author = {Fred\`eric Rivard}, Booktitle = {JFLA95}, Title = {{Extension du compilateur Smalltalk: application \`a la param\'etrisation de l'envoi de message}}, Year = {1995} } @inproceedings{Riva96a, Author = {Fred Rivard}, Booktitle = {JFLA96}, Month = jan, Publisher = {INRIA --- collection didactique}, Title = {{Pour un lien d'instanciation dynamique dans les langages \`a classes}}, Year = {1996} } @article{Riva96b, Author = {Fred Rivard}, Journal = {Revue Informatik/Informatique, revue des organisations suisses d'informatique. Num\'ero 1 F\'evrier 1996}, Month = feb, Publisher = {Societ\'e suisse des informaticiens}, Title = {{Reflective Facilities in {Smalltalk}}}, Year = {1996} } @inproceedings{Riva96c, Author = {Fred Rivard}, Booktitle = {Proceedings of REFLECTION '96}, Month = apr, Pages = {21--38}, Title = {Smalltalk: a Reflective Language}, Year = {1996} } @phdthesis{Riva97a, Author = {Fred Rivard}, School = {Ecole des Mines de Nantes, Universit\'e de Nantes, France}, Title = {{\'E}volution du comportement des objets dans les langages \`a classes r\'eflexifs}, Year = {1997} } @mastersthesis{Riva98a, Author = {Claudio Riva}, School = {Politecnico di Milano, Milan}, Title = {Visualizing Software Release Histories: The Use of Color and Third Dimension}, Year = {1998} } @inproceedings{Riva00a, Author = {Claudio Riva}, Booktitle = {Proceedings WCRE 2000}, Keywords = {design-recovery}, Pages = {42--50}, Publisher = {IEEE Computer Society}, Title = {Reverse Architecting: an Industrial Experience Report}, Year = {2000} } @inproceedings{Riva02a, Address = {Washington, DC, USA}, Author = {Claudio Riva and Jordi Vidal Rodriguez}, Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR'02)}, Pages = {47}, Publisher = {IEEE Computer Society}, Title = {Combining Static and Dynamic Views for Architecture Reconstruction}, Year = {2002} } @phdthesis{Riva04a, Author = {Claudio Riva}, Keywords = {design-recovery}, School = {Technical University of Vienna}, Title = {View-based Software Architecture Reconstruction}, Url = {http://www.clody.org/research/riva-dissertation-final-double.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.clody.org/research/riva-dissertation-final-double.pdf} } @article{Rive76a, Author = {Ronald L. Rivest}, Journal = {SIAM Journal on Computing}, Number = {1}, Pages = {19--50}, Title = {Partial-Match Retrieval Algorithms}, Volume = {5}, Year = {1976} } @inproceedings{Rivi84a, Address = {New York, NY, USA}, Author = {Jim des Rivi\`{e}res and Brian Cantwell Smith}, Booktitle = {LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming}, Doi = {10.1145/800055.802050}, Isbn = {0-89791-142-3}, Location = {Austin, Texas, United States}, Pages = {331--347}, Publisher = {ACM}, Title = {The implementation of procedurally reflective languages}, Year = {1984}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/800055.802050} } @inproceedings{Roba00a, Author = {S\'ebastien Robitaille and Reinhard Schauer and Rudolf K. Keller}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM'00)}, Title = {Bridging Program Comprehension Tools by Design Navigation}, Year = {2000} } @article{Robb98a, Author = {Jason E. Robbins and David F. Redmiles}, Doi = {10.1016/S0950-7051(98)00055-0}, Journal = {Knowledge-Based Systems}, Number = {1}, Pages = {47--60}, Publisher = {Elsevier}, Title = {Software Architecture Critics in the Argo Design Environment}, Volume = {11}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0950-7051(98)00055-0} } @inproceedings{Robb05a, Author = {Romain Robbes and Michele Lanza}, Booktitle = {Proceedings of IWPSE 2005 (8th International Workshop on Principles of Software Evolution)}, Keywords = {evolution lanza}, Pages = {155--164}, Publisher = {IEEE Computer Society}, Title = {Versioning Systems for Evolution Research}, Year = {2005} } @inproceedings{Robb05b, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Romain Robbes and St\'ephane Ducasse and Michele Lanza}, Booktitle = {Proceedings of 13th International Smalltalk Conference (ISC'05)}, Inria = {hors}, Keywords = {scg-pub skip-doi stefPub snf05 jb06 listic}, Pages = {131--157}, Selectif = {non}, Title = {Microprints: A Pixel-based Semantically Rich Visualization of Methods}, Url = {http://scg.unibe.ch/archive/papers/Robb05b-microprintsESUG.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Robb05b-microprintsESUG.pdf} } @inproceedings{Robb06a, Author = {Romain Robbes and Michele Lanza}, Booktitle = {Proceedings of EVOL 2006 (1st International ERCIM Workshop on Challenges in Software Evolution)}, Keywords = {evolution lanza}, Pages = {159--164}, Title = {Change-based software evolution}, Year = {2006} } @article{Robb07a, Annote = {internationaljournal}, Author = {Romain Robbes and Michele Lanza}, Journal = {Electronic Notes in Theoretical Computer Science (ENTCS)}, Keywords = {lanza evolution}, Month = jan, Pages = {93--109}, Publisher = {Elsevier Science Direct}, Title = {A Change-based Approach to Software Evolution}, Volume = {166}, Year = {2007} } @inproceedings{Robb07b, Author = {Romain Robbes and Michele Lanza and Mircea Lungu}, Booktitle = {Proceedings of FASE 2007 (10th International Conference on Fundamental Approaches to Software Engineering)}, Keywords = {evolution lanza}, Pages = {27--41}, Title = {An Approach to Software Evolution Based on Semantic Change}, Year = {2007} } @inproceedings{Robb07c, Author = {Romain Robbes and Michele Lanza}, Booktitle = {Proceedings of ICPC 2007 (15th International Conference on Program Comprehension)}, Keywords = {evolution lanza}, Pages = {to be published}, Title = {Characterizing and Understanding Development Sessions}, Year = {2007} } @inproceedings{Robb08a, Author = {Romain Robbes and Michele Lanza}, Booktitle = {Proceedings of ASE 2008 (23rd International Conference on Automated Software Engineering)}, Pages = {317--326}, Title = {How Program History Can Improve Code Completion}, Year = {2008} } @inproceedings{Robb08b, Address = {New York, NY, USA}, Author = {Robbes, Romain and Lanza, Michele}, Booktitle = {ICSE '08: Proceedings of the 30th international conference on Software engineering}, Doi = {10.1145/1368088.1368219}, Isbn = {978-1-60558-079-1}, Location = {Leipzig, Germany}, Pages = {847--850}, Publisher = {ACM}, Title = {SpyWare: a change-aware development toolset}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1368088.1368219} } @phdthesis{Robb08c, Author = {Romain Robbes}, Month = dec, School = {University of Lugano}, Title = {Of Change and Software}, Url = {http://www.inf.unisi.ch/phd/robbes/OfChangeAndSoftware.pdf}, Year = {2008}, Bdsk-Url-1 = {http://www.inf.unisi.ch/phd/robbes/OfChangeAndSoftware.pdf} } @inproceedings{Robb09a, Abstract = {Recommender systems are integrated development environment (IDE) extensions which assist developers in the task of coding. However, since they assist specific aspects of the general activity of programming, their impact is hard to assess. In previous work, we used with success an evaluation strategy using automated benchmarks to automatically and precisely evaluate several recommender systems, based on recording and replaying developer interactions. In this paper, we highlight the challenges we expect to encounter while applying this approach to other recommender systems.}, Author = {Robbes, R.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403385}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070021}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070021}, Doi = {10.1109/SUITE.2009.5070021}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, suite2009}, Pages = {45--48}, Posted-At = {2009-08-10 11:12:31}, Priority = {0}, Title = {On the evaluation of recommender systems with recorded interactions}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070021}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070021} } @inproceedings{Robb01a, Author = {Romain Robbes and Mircea Lungu}, Booktitle = {Proceedings of the 33rd International Conference on Software Engineering (ICSE 2011)}, Annote = {internationalconference}, Keywords = {scg-pub jb11}, Month = may, Title = {A Study of Ripple Effects in Software Ecosystems (NIER)}, Abstract = {When the Application Programming Interface (API) of a framework or library changes, its clients must be adapted. This change propagation -- known as a ripple effect -- is a problem that has garnered interest: several approaches have been proposed in the literature to react to these changes. Although studies of ripple effects exist at the single system level, no study has been performed on the actual extend and impact of these API changes in practice on an entire software ecosystem associated with a community of developers. This paper reports on early results of such an empirical study of API changes that led to ripple effects across an entire ecosystem. Our case study subject is the development community gravitating around the Squeak and Pharo software ecosystems: six years of evolution, nearly 3,000 contributors, and close to 2,500 distinct systems. }, Url = {http://scg.unibe.ch/archive/papers/Robb11aRipples.pdf}, Doi = {10.1145/1985793.1985940}, Medium = {2}, PeerReview = {yes}, Pages = {904-907}, Year = {2011} } @misc{Robe09a, Author = {James Robertson}, Note = {(Smalltalk Tidbits, Industry Rants -- http://bit.ly/Uu517)}, Title = {Smalltalk: Our Death has been Exaggerated}, Url = {http://bit.ly/Uu517}, Bdsk-Url-1 = {http://bit.ly/Uu517} } @inproceedings{Robe96a, Author = {Don Roberts and John Brant and Ralph E. Johnson and Bill Opdyke}, Booktitle = {Proceedings of ICAST '96, Chicago, IL}, Month = apr, Title = {An Automated Refactoring Tool}, Year = {1996} } @article{Robe97a, Author = {Don Roberts and John Brant and Ralph E. Johnson}, Journal = {Theory and Practice of Object Systems (TAPOS)}, Keywords = {refactoring refactoring-browser reengtool ooreeng famoos oorp}, Number = {4}, Pages = {253--263}, Publisher = {John Wiley \& Sons}, Title = {A Refactoring Tool for {Smalltalk}}, Volume = {3}, Year = {1997} } @incollection{Robe97b, Author = {Don Roberts and Ralph E. Johnson}, Booktitle = {Pattern Languages of Program Design 3}, Publisher = {Addison Wesley}, Title = {Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks}, Year = {1997} } @inproceedings{Robe98a, Author = {Robertson, George and Czerwinski, Mary and Larson, Kevin and Robbins, Daniel C. and Thiel, David and van Dantzich, Maarten}, Booktitle = {Symposium on User interface software and technology (UIST '98)}, Citeulike-Article-Id= {622787}, Doi = {10.1145/288392.288596}, Isbn = {1-58113-034-1}, Keywords = {codemap, softvis, vocabulary}, Pages = {153--162}, Posted-At = {2009-07-26 02:15:32}, Priority = {0}, Title = {Data mountain: using spatial memory for document management}, Url = {http://dx.doi.org/10.1145/288392.288596}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/288392.288596} } @phdthesis{Robe99a, Author = {Donald Bradley Roberts}, Keywords = {refactoring smalltalk oorp}, School = {University of Illinois}, Title = {Practical Analysis for Refactoring}, Url = {http://historical.ncstrl.org/tr/pdf/uiuc_cs/UIUCDCS-R-99-2092.pdf}, Year = {1999}, Bdsk-Url-1 = {http://historical.ncstrl.org/tr/pdf/uiuc_cs/UIUCDCS-R-99-2092.pdf} } @techreport{Robe00a, Author = {Philippe C.D.Robert}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = jul, Note = {(in German)}, Title = {{BURST}, A Bug Reporting system for {OpenStep} compliant systems}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Robe00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Robe00a.pdf} } @article{Robi85a, Author = {K. Robinson}, Journal = {Computer Systems Equipment Design}, Keywords = {security hardware}, Month = mar, Pages = {17--22}, Title = {Copy-resistant {EPROM} Increases Software Security Against Piracy}, Year = {1985} } @book{Robi92a, Author = {Peter J. Robinson}, Isbn = {13-390816-X}, Keywords = {oobib(gen) book scglib}, Publisher = {Prentice-Hall}, Title = {{HOOD}: Hierarchical Object-Oriented Design}, Year = {1992} } @inproceedings{Robi02a, Address = {New York, NY, USA}, Author = {Martin P. Robillard and Gail C. Murphy}, Booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering}, Doi = {10.1145/581339.581390}, Isbn = {1-58113-472-X}, Location = {Orlando, Florida}, Pages = {406--416}, Publisher = {ACM Press}, Title = {Concern graphs: finding and describing concerns using structural program dependencies}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/581339.581390} } @inproceedings{Robi03a, Author = {Martin P. Robillard and Gail C. Murphy}, Booktitle = {Proceedings of 25th International Conference on Software Engineering}, Month = may, Pages = {822--823}, Title = {FEAT: A tool for locating, describing, and analyzing concerns in source code}, Year = {2003} } @inproceedings{Robi03b, Author = {Martin P. Robillard and Gail C. Murphy}, Booktitle = {Proceedings of the 18th International Conference on Automated Software Engineering}, Doi = {10.1109/ASE.2003.1240310}, Month = oct, Pages = {225--234}, Title = {Automatically inferring concern code from program investigation activities}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASE.2003.1240310} } @article{Robi07a, Address = {New York, NY, USA}, Author = {Martin P. Robillard and Gail C. Murphy}, Doi = {10.1145/1189748.1189751}, Issn = {1049-331X}, Journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)}, Number = {1}, Pages = {3}, Publisher = {ACM}, Title = {Representing Concerns in Source Code}, Volume = {16}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1189748.1189751} } @inproceedings{Robi08a, Author = {Martin P. Robillard and Barth\'el\'emy Dagenais}, Booktitle = {Proceedings of the 15th Working Conference on Reverse Engineering}, Doi = {10.1109/WCRE.2008.15}, Month = oct, Pages = {17--26}, Title = {Retrieving Task-Related Clusters from Change History}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2008.15} } @article{Robs91a, Author = {D.J. Robson and K. H. Bennet and B. J. Cornelius and M. Munro}, Journal = {Journal of Systems and Software}, Keywords = {oorp}, Month = feb, Note = {Republished in [Arno92a]}, Pages = {79--84}, Publisher = {Elsevier Science Publishers}, Title = {Approaches to Program Comprehension}, Volume = {14}, Year = {1991} } @article{Roch75a, Author = {Marc Rochkind}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {sccs evolution}, Mon = dec, Number = {4}, Pages = {364--370}, Title = {The Source Code Control System}, Volume = {1}, Year = {1975} } @article{Roch93a, Author = {Roxie Rochat and Juanita Ewing}, Journal = {The {Smalltalk} Report}, Month = jul, Number = {9}, Pages = {18--23}, Title = {Smalltalk Debugging Techniques}, Volume = {2}, Year = {1993} } @inproceedings{Rock00a, Address = {Berlin-Heidelberg}, Author = {T. Rock and R. Wille}, Booktitle = {Begriffliche Wissensverabeitung: Methoden und Anwendungen}, Editor = {G. Stumme and R. Wille}, Keywords = {fca}, Pages = {239--253}, Publisher = {Springer-Verlag}, Title = {Ein {TOSCANA} --- Erkundungsystem zur Literatursuche}, Year = {2000} } @inproceedings{Rodr04a, Address = {Arica, Chile}, Author = {Leonardo Rodr{\'{i}}guez and {\'E}ric Tanter and Jacques Noy\'e}, Booktitle = {Proceedings of the XXIV International Conference of the Chilean Computer Science Society (SCCC 2004)}, Month = nov, Publisher = {IEEE}, Title = {Supporting Dynamic Crosscutting with Partial Behavioral Reflection: a Case Study}, Year = {2004} } @misc{RoelTyper, Author = {Roel Wuyts}, Key = {RoelTyper}, Note = {\url{http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/}}, Title = {{RoelTyper}, a fast type reconstructor for {Smalltalk}}, Url = {http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/}, Year = {2005}, Bdsk-Url-1 = {http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/} } @mastersthesis{Roet99a, 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.}, Author = {Tobias R{\"o}thlisberger}, Keywords = {snf-none scg-pub skip-doi toBeChecked scg-msc jb99}, Month = may, School = {University of Bern}, Title = {Compiler Framework for the {Java} Virtual Machine}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Roet99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Roet99a.pdf} } @techreport{Roet04a, 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.}, Author = {David R{\"o}thlisberger}, Institution = {University of Bern}, Keywords = {scg-ip jb05 snf05 roethlisberger}, Month = oct, Title = {The SmallBB Forum System}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Roth04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Roth04a.pdf} } @mastersthesis{Roet06a, 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.}, Author = {David R{\"o}thlisberger}, Keywords = {scg-msc snf06 jb06 fb06 roethlisberger reflectivity}, Month = jan, School = {University of Bern}, Title = {{Geppetto}: Enhancing {Smalltalk}'s Reflective Capabilities with Unanticipated Reflection}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Roet06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Roet06a.pdf} } @inproceedings{Roet07b, 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}, Author = {David R{\"o}thlisberger and Marcus Denker and {\'E}ric Tanter}, Booktitle = {Advances in Smalltalk --- Proceedings of 14th International Smalltalk Conference (ISC 2006)}, Doi = {10.1007/978-3-540-71836-9_3}, Isbn = {978-3-540-71835-2}, Issn = {0302-9743}, Keywords = {scg07 scg-pub jb07 snf06 roethlisberger reflectivity}, Medium = {2}, Pages = {47--65}, Peerreview = {yes}, Publisher = {Springer}, Series = {LNCS}, Title = {Unanticipated Partial Behavioral Reflection}, Url = {http://scg.unibe.ch/archive/papers/Roet07bUPBReflection.pdf}, Volume = {4406}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet07bUPBReflection.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/978-3-540-71836-9_3} } @inproceedings{Roet07c, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger and Orla Greevy and Adrian Lienhard}, Booktitle = {Proceedings IEEE International Workshop on Visualizing Software for Understanding (Vissoft 2007) (tool demonstration)}, Keywords = {scg07 scg-pub skip-doi skip-abstract snf07 jb07 roethlisberger}, Medium = {2}, Peerreview = {yes}, Title = {Feature-centric Environment}, Url = {http://scg.unibe.ch/archive/papers/Roet07cFeatureBrowserVissoft.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet07cFeatureBrowserVissoft.pdf} } @inproceedings{Roet07d, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz}, Booktitle = {Proceedings of FAMOOSr 2007 (Ist International Workshop on FAMIX and Moose in Reengineering)}, Keywords = {scg07 scg-pub skip-doi skip-abstract snf07 jb07 roethlisberger}, Medium = {2}, Peerreview = {yes}, Title = {Combining Development Environments with Reverse Engineering}, Url = {http://scg.unibe.ch/archive/papers/Roet07dFamoosrIDEReverseEngineering.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet07dFamoosrIDEReverseEngineering.pdf} } @inproceedings{Roet07e, Abstract = {Development environments typically present the software engineer with a structural perspective of an object-oriented system in terms of packages, classes and methods. From a structural perspective it is difficult to gain an understanding of how source entities participate in a system's features at runtime. In this paper we evaluate the usefulness of offering an alternative feature-centric perspective of a software system when performing maintenance activities. We present a feature-centric environment combining interactive visual representations of features with a source code browser displaying only the classes and methods participating in a feature under investigation. To validate the usefulness of our feature-centric view, we conducted a controlled empirical experiment where we measured and compared the performance of subjects when correcting two defects in an unfamiliar software system with a traditional development environment and with our feature-centric environment. We evaluate both quantitative and qualitative data to draw conclusions about the usefulness of a feature-centric perspective to support program comprehension during maintenance activities.}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007)}, Doi = {10.1145/1352678.1352684}, Keywords = {scg07 scg-pub snf07 jb08 roethlisberger snf-bmcc}, Medium = {2}, Pages = {79--100}, Peerreview = {yes}, Publisher = {ACM Digital Library}, Title = {Feature Driven Browsing}, Url = {http://scg.unibe.ch/archive/papers/Roet07eFeatureBrowser.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet07eFeatureBrowser.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1352678.1352684} } @article{Roet08a, 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 web application. Benchmarks validate the applicability of our proposal as an extension to the standard reflective abilities of Smalltalk.}, Annote = {internationaljournal}, Author = {David R{\"o}thlisberger and Marcus Denker and {\'E}ric Tanter}, Doi = {10.1016/j.cl.2007.05.001}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg08 scg08 scg-pub jb08 snf08 roethlisberger reflectivity}, Medium = {2}, Month = jul, Number = {2-3}, Pages = {46--65}, Peerreview = {yes}, Publisher = {Elsevier}, Title = {Unanticipated Partial Behavioral Reflection: Adapting Applications at Runtime}, Url = {http://scg.unibe.ch/archive/papers/Roet08aUPBReflectionJournal.pdf}, Volume = {34}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet08aUPBReflectionJournal.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2007.05.001} } @inproceedings{Roet08b, Abstract = {Developers rely on the mechanisms provided by their IDE to browse and navigate a large software system. These mechanisms are usually based purely on a system's static source code. The static perspective, however, is not enough to understand an object-oriented program's behavior, in particular if implemented in a dynamic language. We propose to enhance IDEs with a program's runtime information (eg. message sends and type information) to support program comprehension through precise navigation and informative browsing. To precisely specify the type and amount of runtime data to gather about a system under development, dynamically and on demand, we adopt a technique known as partial behavioral reflection. We implemented navigation and browsing enhancements to an IDE that exploit this runtime information in a prototype called Hermion. We present preliminary validation of our experimental enhanced IDE by asking developers to assess its usefulness to understand an unfamiliar software system.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Orla Greevy and Oscar Nierstrasz}, Booktitle = {Proceedings of the 16th International Conference on Program Comprehension (ICPC 2008)}, Doi = {10.1109/ICPC.2008.32}, Isbn = {978-0-7695-3176-2}, Journal = {icpc}, Keywords = {scg08 scg-pub jb08 snf08 roethlisberger reflectivity}, Medium = {2}, Pages = {63--72}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Exploiting Runtime Information in the {IDE}}, Url = {http://scg.unibe.ch/archive/papers/Roet08bDynamicInfoIDE.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet08bDynamicInfoIDE.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2008.32} } @inproceedings{Roet08c, Abstract = {Code queries focus mainly on the static structure of a system. To comprehend the dynamic behavior of a system however, a software engineer needs to be able to reason about the dynamics of this system, for instance by querying a database of dynamic information. Such a querying mechanism should be directly available in the IDE where the developers implements, navigates and reasons about the software system. We propose (i) concepts to gather dynamic information, (ii) the means to query this information, and (iii) tools and techniques to integrate querying of dynamic information in the IDE, including the presentation of results generated by queries.}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger}, Bdsk-Url-1 = {http://www.cs.vu.nl/icpc2008/qtapc2008.php http://scg.unibe.ch/archive/papers/Roet08c-QTAPC08.pdf}, Booktitle = {Proceedings of the 2008 workshop on Query Technologies and Applications for Program Comprehension (QTAPC 2008)}, Keywords = {scg08 scg-pub skip-doi jb08 snf08 roethlisberger}, Medium = {2}, Pages = {n4}, Peerreview = {yes}, Title = {Querying Runtime Information in the {IDE}}, Url = {http://www.cs.vu.nl/icpc2008/qtapc2008.php http://scg.unibe.ch/archive/papers/Roet08c-QTAPC08.pdf}, Year = {2008}, Bdsk-Url-2 = {http://www.cs.vu.nl/icpc2008/qtapc2008.php%20http://scg.unibe.ch/archive/papers/Roet08c-QTAPC08.pdf} } @misc{Roet08d, Abstract = {The current Squeak Smalltalk IDE provides a structural perspective on a software system in terms of packages, classes and methods. However, from this perspective it is difficult to gain an understanding of how source entities participate at system's run-time. Hermion enriches the traditional IDE with a view on the dynamics of the system, (i) by offering a complementary feature-centric perspective of a software system to allow developers to reason about how specific run-time features of their software are implemented, (ii) by integrating dynamic information into the static perspective on a system, ie. source code, and (iii) by providing mechanisms to query run-time information.}, Annote = {tooldemo}, Author = {David R{\"o}thlisberger}, Howpublished = {European Smalltalk User Group Innovation Technology Award}, Keywords = {esug scg-misc snf08 jb08 roethlisberger}, Month = aug, Title = {Hermion --- Exploiting the Dynamics of Software}, Url = {http://scg.unibe.ch/archive/reports/Roet08dHermion.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/reports/Roet08dHermion.pdf} } @inproceedings{Roet08e, Abstract = {Static views of object-oriented source code as presented in a development environment (IDE) do not provide explicit representations of dynamic collaboration to describe how source artifacts communicate at runtime. Direct access within an IDE to explicit representations of dynamic collaborations would provide developers with useful insights into a system's behavior. In this paper we describe how we seamlessly integrate novel interactive visual representations of dynamic collaborations between static artifacts to complement traditional static concepts within the IDE. We motivate our work and introduce our enhancements in our prototype IDE (Hermion) and provide validation for our work by means of case studies and benchmarks.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Orla Greevy}, Booktitle = {Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008)}, Doi = {10.1109/WCRE.2008.53}, Isbn = {978-0-7695-3429-9}, Journal = {wcre}, Keywords = {esug snf09 jb09 roethlisberger}, Medium = {2}, Pages = {74--78}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Representing and Integrating Dynamic Collaborations in {IDEs}}, Url = {http://scg.unibe.ch/archive/papers/Roet08eDynamicDependenciesIDE.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet08eDynamicDependenciesIDE.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2008.53} } @inproceedings{Roet08f, Abstract = {Software developers faced with unfamiliar object-oriented code need to build a mental model of the system to understand its dynamic flow. Development environments typically provide static views of the source code (e.g., classes and methods), but do not explicitly represent dynamic collaborations. The task of revealing how static source artifacts interact at runtime is thus challenging.To address this we have developed several techniques to represent dynamic behavior at various levels of granularity directly in the IDE. In this paper we outline these various techniques towards a seamless integration of dynamic information in the IDE. We elaborate on user feedback we have gathered and on our empirical experiments to validate our work. We derive several ideas and visions of further potential representations of dynamic behavior from this analysis of our approach. The missing representations we identify serve to enrich our proposed IDE, so as to provide the developer from within the IDE with a readily available and complete picture of a software's dynamics.}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger and Orla Greevy}, Booktitle = {Proceedings of the 4th International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2008)}, Keywords = {snf09 jb09 roethlisberger}, Medium = {2}, Pages = {27--31}, Peerreview = {yes}, Publisher = {Technische Universiteit Delft}, Title = {Towards Seamless and Ubiquitous Availability of Dynamic Information in {IDEs}}, Url = {http://scg.unibe.ch/archive/papers/Roet08fUbiquitousDynamicInfoIDE.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet08fUbiquitousDynamicInfoIDE.pdf} } @inproceedings{Roet08g, Abstract = {Moose is a powerful reverse engineering platform, but its facilities and means to analyze software are separated from the tools developers typically use to develop and maintain their software systems: development environments such as Eclipse, VisualWorks, or Squeak. In practice, this requires developers to work with two distinct environments, one to actually develop the software, and another one (e.g., Moose) to analyze it. We worked on several different techniques, using both dynamic and static analyzes to provide software analysis capabilities to developers directly in the IDE. The immediate availability of analysis tools in an IDE significantly increases the likelihood that developers integrate software analysis in their daily work, as we discovered by conducting user studies with developers. Finally, we identified several important aspect of integrating software analysis in IDEs that need to be addressed in the future to increase the adoption of these techniques by developers.}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger}, Booktitle = {FAMOOSr, 2nd Workshop on FAMIX and Moose in Reengineering}, Keywords = {scg08 scg-pub skip-doi snf09 jb09 roethlisberger}, Medium = {2}, Peerreview = {yes}, Title = {Embedding {Moose} Facilities Directly in {IDEs}}, Url = {http://scg.unibe.ch/archive/papers/Roet08gMooseFacilitiesInIDE.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet08gMooseFacilitiesInIDE.pdf} } @inproceedings{Roet09a, Abstract = {Mainstream IDEs generally rely on the static structure of a software project to support browsing and navigation. We propose HeatMaps, a simple but highly configurable technique to enrich the way an IDE displays the static structure of a software system with additional kinds of information. A heatmap highlights software artifacts according to various metric values, such as bright red or pale blue, to indicate their potential degree of interest. We present a prototype system that implements heatmaps, and we describe an initial study that assesses the degree to which different heatmaps effectively guide developers in navigating software.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz and St\'ephane Ducasse and Damien Pollet and Romain Robbes}, Booktitle = {Proceedings of the 17th International Conference on Program Comprehension (ICPC 2009)}, Doi = {10.1109/ICPC.2008.32}, Isbn = {978-0-7695-3176-2}, Journal = {icpc}, Keywords = {scg09 scg-pub snf09 jb09 roethlisberger}, Medium = {2}, Pages = {253--257}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Supporting Task-oriented Navigation in {IDEs} with Configurable {HeatMaps}}, Url = {http://scg.unibe.ch/archive/papers/Roet09aHeatMapsICPC2009.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09aHeatMapsICPC2009.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2008.32} } @inproceedings{Roet09b, Abstract = {Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Marcel H\"{a}rry and Alex Villaz\'on and Danilo Ansaloni and Walter Binder and Oscar Nierstrasz and Philippe Moret}, Booktitle = {Proceedings of the 25th International Conference on Software Maintenance (ICSM 2009)}, Doi = {10.1109/ICSM.2009.5306302}, Journal = {icsm}, Keywords = {scg09 scg-pub snf09 jb10 senseo roethlisberger haerry}, Medium = {2}, Pages = {253--262}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Augmenting Static Source Views in {IDE}s with Dynamic Metrics}, Url = {http://scg.unibe.ch/archive/papers/Roet09bDynamicInfoEclipse.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09bDynamicInfoEclipse.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2009.5306302} } @inproceedings{Roet09c, Abstract = {Maintaining object-oriented systems that use inheritance and polymorphism is difficult, since runtime information, such as which methods are actually invoked at a call site, is not visible in the static source code. We have implemented Senseo, an Eclipse plugin enhancing Eclipse's static source views with various dynamic metrics, such as runtime types, the number of objects created, or the amount of memory allocated in particular methods.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference tooldemo}, Author = {David R{\"o}thlisberger and Marcel H\"{a}rry and Alex Villaz\'on and Danilo Ansaloni and Walter Binder and Oscar Nierstrasz and Philippe Moret}, Booktitle = {Proceedings of the 25th International Conference on Software Maintenance (ICSM 2009)}, Doi = {10.1109/ICSM.2009.5306314}, Journal = {icsm}, Keywords = {scg09 scg-pub snf09 jb10 roethlisberger haerry}, Medium = {2}, Note = {Tool demo}, Pages = {383--384}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Senseo: Enriching {Eclipse}'s Static Source Views with Dynamic Metrics}, Url = {http://scg.unibe.ch/archive/papers/Roet09cSenseo.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09cSenseo.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2009.5306314} } @techreport{Roet09d, Abstract = {Mainstream IDEs generally rely on the static structure of a software project to support browsing and navigation. We propose HeatMaps, a simple but highly configurable technique to enrich the way an IDE displays the static structure of a software system with additional kinds of information. A heatmap highlights software artifacts according to various metric values, such as bright red or pale blue, to indicate their potential degree of interest. We present a prototype system that implements heatmaps, and we describe an initial study that assesses the degree to which different heatmaps effectively guide developers in navigating software.}, Address = {Universit\"at Bern, Switzerland}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz and St\'ephane Ducasse and Damien Pollet and Romain Robbes}, Classification= {D.2.2 Tools and Techniques; D.2.3 Coding; D.2.6 Programming Environments; D.2.9 Management}, General_Terms= {Coding, Programming Environments, Program Editors, Integrated Environments}, Institution = {Institut f\"ur Informatik}, Keywords = {scg-pub snf09 jb09 skip-doi roethlisberger}, Month = jul, Number = {IAM-09-005}, Title = {Supporting Task-oriented Navigation in {IDEs} with Configurable {HeatMaps}}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Roet09dHeatMapsTechReport.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09dHeatMapsTechReport.pdf} } @inproceedings{Roet09e, Abstract = {The IDE used in most Smalltalk dialects such as Pharo, Squeak or Cincom Smalltalk did not evolve significantly over the last years, if not to say decades. For other languages, for instance Java, the available IDEs made tremendous progress as Eclipse or NetBeans illustrate. While the Smalltalk IDE served as an exemplar for many years, other IDEs caught up or even overtook the erstwhile leader in terms of feature-richness, usability, or code navigation facilities. In this paper we first analyze the difficulty of software navigation in the Smalltalk IDE and second illustrate with concrete examples the features we added to the Smalltalk IDE to fill the gap to modern IDEs and to provide novel, improved means to navigate source space. We show that thanks to the agility and dynamics of Smalltalk, we are able to extend and enhance with reasonable effort the Smalltalk IDE to better support software navigation, program comprehension, and software maintenance in general. One such support is the integration of dynamic information into the static source views we are familiar with. Other means include easing the access to static information (for instance by better arranging important packages) or helping developers re-locating artifacts of interest (for example with a categorization system such as smart groups).}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz and St\'ephane Ducasse and Alexandre Bergel}, Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)}, Keywords = {scg09 scg-pub snf10 jb10 roethlisberger}, Isbn = {978-1-60558-899-5}, Pages = {58--67}, Location = {Brest, France}, Doi = {10.1145/1735935.1735945}, Url = {http://scg.unibe.ch/archive/papers/Roet09eNavigation.pdf}, Publisher = {ACM}, Address = {New York, NY, USA}, Medium = {1}, Peerreview = {yes}, Title = {Tackling Software Navigation Issues of the {Smalltalk} {IDE}}, Year = {2009} } @inproceedings{Roet09f, Abstract = {Navigating large software systems is difficult as the various artifacts are distributed in a huge space, while the relationships between different artifacts often remain hidden and obscure. As a consequence, developers using a modern interactive development environment (IDE) are forced to open views on numerous source artifacts to reveal these hidden relationships, leading to a crowded workspace with many opened windows or tabs. Developers often lose the overview in such a cluttered workspace as IDEs provide little support to get rid of unused windows. AutumnLeaves automatically selects windows unlikely for future use to be closed or grayed out while important ones are displayed more prominently. This reduces the number of windows opened at a time and adds structure to the developer's workspace. We validate AutumnLeaves with a benchmark evaluation using recorded navigation data of various developers to determine the prediction quality of the employed algorithms.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz and St\'ephane Ducasse}, Booktitle = {Proceedings of the 16th Working Conference on Reverse Engineering (WCRE 2009)}, Doi = {10.1109/WCRE.2009.18}, Journal = {wcre}, Keywords = {scg09 scg-pub snf10 jb10 roethlisberger}, Location = {Lille, France}, Medium = {2}, Pages = {237--246}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Autumn Leaves: Curing the Window Plague in {IDEs}}, Url = {http://scg.unibe.ch/archive/papers/Roet09fAutumnLeaves.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Roet09fAutumnLeaves.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2009.18} } @inproceedings{Roet09g, Abstract = {Researchers and practitioners are usually eager to develop, test and experiment with new ideas and techniques to analyze software systems and/or to present results of such analyzes, for instance new kind of visualizations or analysis tools. However, often these novel and certainly promising ideas are never properly and seriously empirically evaluated. Instead their inventors just resort to anecdotal evidence to substantiate their beliefs and claims that their ideas and the realizations thereof are actually useful in theory and practice. The chief reason why proper validation is often neglected is that serious evaluation of any newly realized technique, tool, or concept in reverse engineering is time-consuming, laborious, and often tedious. Furthermore, we assume that there is also a lack of knowledge or experience concerning empirical evaluation in our community. This paper hence sketches some ideas and discusses best practices of how we can still, with moderate expenses, come up with at least some empirical validation of our next project in the field of reverse engineering.}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger}, Booktitle = {FAMOOSr, 3rd Workshop on FAMIX and Moose in Reengineering}, Keywords = {scg09 scg-pub skip-doi snf10 jb10 roethlisberger}, Medium = {2}, Peerreview = {yes}, Title = {Why and How to Substantiate the Good of our Reverse Engineering Tools?}, Url = {http://scg.unibe.ch/archive/papers/Roet09gValidation.pdf}, Year = {2009} } @phdthesis{Roet10a, Abstract = {Object-oriented language features such as inheritance, abstract types, late-binding, or polymorphism lead to distributed and scattered code, rendering a software system hard to understand and maintain. The integrated development environment (IDE), the primary tool used by developers to maintain software systems, usually purely operates on static source code and does not reveal dynamic relationships between distributed source artifacts, which makes it difficult for developers to understand and navigate software systems. Another shortcoming of today's IDEs is the large amount of information with which they typically overwhelm developers. Large software systems encompass several thousand source artifacts such as classes and methods. These static artifacts are presented by IDEs in views such as trees or source editors. To gain an understanding of a system, developers have to open many such views, which leads to a workspace cluttered with different windows or tabs. Navigating through the code or maintaining a working context is thus difficult for developers working on large software systems. In this dissertation we address the question how to augment IDEs with dynamic information to better navigate scattered code while at the same time not overwhelming developers with even more information in the IDE views. We claim that by first reducing the amount of information developers have to deal with, we are subsequently able to embed dynamic information in the familiar source perspectives of IDEs to better comprehend and navigate large software spaces. We propose means to reduce or mitigate the information by highlighting relevant source elements, by explicitly representing working context, and by automatically housekeeping the workspace in the IDE. We then improve navigation of scattered code by explicitly representing dynamic collaboration and software features in the static source perspectives of IDEs. We validate our claim by conducting empirical experiments with developers and by analyzing recorded development sessions.}, Author = {David R{\"o}thlisberger}, Keywords = {scg-phd snf10 jb10 roethlisberger development environment dynamic analysis}, Month = may, School = {University of Bern}, Title = {Augmenting IDEs with Runtime Information for Software Maintenance}, Url = {http://scg.unibe.ch/archive/phd/roethlisberger-phd.pdf}, Year = {2010} } @inproceedings{Roet10b, Abstract = {The integrated development environment (IDE) is the primary tool used by developers to maintain software systems. The IDE, however, narrowly focuses on the static structure of a system, neglecting dynamic behavior and dynamic relationships between static source artifacts such as classes and methods. Developers often have difficulties to nderstand the dynamic aspects of a system just based on the static source perspectives provided by IDEs. Existing IDE tools to analyze the running of software systems such as debuggers or profilers present volatile dynamic information from specific system executions, requiring developers to manually trigger debugging or profiling sessions. To better support the understanding and maintenance of software systems, we developed several extensions to traditional IDEs to incorporate dynamic information in the static source perspectives. In this paper we describe these extensions and report on the empirical experiments we conducted to evaluate the practical usefulness of these IDE extensions.}, Annote = {internationalworkshop}, Author = {David R{\"o}thlisberger}, Booktitle = {Proceedings of the 5th International Workshop on Program Comprehension through Dynamic Analysis (PCODA 2010)}, Keywords = {snf10 jb10 roethlisberger}, Medium = {2}, Pages = {20--24}, Peerreview = {yes}, Publisher = {Technische Universiteit Delft}, Title = {Exploiting Dynamic Information in IDEs Eases Software Maintenance}, Url = {http://scg.unibe.ch/archive/papers/Roet10bSenseoSoftwareMaintenance.pdf}, Year = {2010} } @article{Roet11a, Address = {Piscataway, NJ, USA}, Author = {David R{\"o}thlisberger and Marcel H\"{a}rry and Alex Villaz\'on and Danilo Ansaloni and Walter Binder and Oscar Nierstrasz and Philippe Moret}, Abstract = {Modern IDEs such as Eclipse offer static views of the source code, but such views ignore information about the runtime behavior of software systems. Since typical object-oriented systems make heavy use of polymorphism and dynamic binding, static views will miss key information about the runtime architecture. In this article we present an approach to gather and integrate dynamic information in the Eclipse IDE with the goal of better supporting typical software maintenance activities. By means of a controlled experiment with 30 professional developers we show that for typical software maintenance tasks integrating dynamic information into the Eclipse IDE yields a significant 17.5\% decrease of time spent while significantly increasing the correctness of the solutions by 33.5\%. We also provide a comprehensive performance evaluation of our approach.}, Annote = {internationaljournal}, Journal = {Transactions on Software Engineering}, Publisher = {IEEE Press}, Title = {Exploiting Dynamic Information in IDEs Improves Speed and Correctness of Software Maintenance Tasks}, Keywords = {scg-pub roethlisberger haerry jb11 snf10}, Doi = {10.1109/TSE.2011.42}, Url = {http://scg.unibe.ch/archive/papers/Roet11aSenseoTSE.pdf}, Peerreview = {yes}, Year = {2011}, Note = {To appear (preprint online)} } @inproceedings{Roet11b, Abstract = {Navigating large software systems, even when using a modern IDE, is difficult, since conceptually related software artifacts are distributed in a huge software space. For most software maintenance tasks, only a small fraction of the entire software space is actually relevant. The IDE, however, does not reveal the task relevancy of source artifacts, thus developers cannot easily focus on the artifacts required to accomplish their tasks. SmartGroups help developers to perform software maintenance tasks by representing groups of source artifacts that are relevant for the current task. Relevancy is determined by analyzing historical navigation and modification activities, evolutionary information, and runtime information. The prediction quality of \sg is validated with a benchmark evaluation using recorded development activities and evolutionary information from versioning systems.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {David R{\"o}thlisberger and Oscar Nierstrasz and St\'ephane Ducasse}, Booktitle = {Proceedings of the 19th International Conference on Program Comprehension (ICPC 2011)}, Journal = {icpc}, Keywords = {scg-pub jb11 roethlisberger missing-doi}, Medium = {2}, Pages = {246--257}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {{SmartGroups}: Focusing on Task-Relevant Source Artifacts in IDEs}, Url = {http://scg.unibe.ch/archive/papers/Roet11bSmartGroupsICPC2011.pdf}, Year = {2011} } @book{Roge67a, Author = {Rogers, Jr., H.}, Keywords = {misc computability}, Publisher = {McGraw-Hill}, Title = {Theory of Recursive Functions and Effective Computability}, Year = {1967} } @article{Roge71a, Author = {J. H. Roger}, Journal = {Applied Statistics}, Keywords = {clustering}, Pages = {204--206}, Title = {Updating a Minimum Spanning Tree. Algorithm AS40}, Volume = {20}, Year = {1971} } @book{Roge97a, Author = {Dale Rogerson}, Isbn = {1-57231-349-8}, Keywords = {com glue scripting components}, Publisher = {Microsoft Press}, Title = {Inside {COM}: Microsoft's Component Object Model}, Year = {1997} } @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}, Journal = {Requirements Engineering Journal}, Keywords = {scenario classification}, Number = {1}, Pages = {23--47}, Publisher = {Springer Verlag}, Title = {Proposal for a Scenario Classification Framework}, Url = {http://cui.unige.ch/~ralyte/publications/REjournal.pdf}, Volume = {3}, Year = {1998}, Bdsk-Url-1 = {http://cui.unige.ch/~ralyte/publications/REjournal.pdf} } @book{Roma01a, Editor = {Alexander Romanovsky and Christophe Dony and Jorgen Lindskov Kundsen and Anand Tripathi}, Isbn = {1-56592-005-8}, Keywords = {dce scglib}, Publisher = {Springer}, Title = {Advances in Exception Handling Techniques}, Year = {1992} } @article{Roma92a, Author = {Griua-Catalin Roman and Kenneth C. Cox and C. Donald ox and Jerome Y. Plun}, Journal = {Journal of Visual Languages and Computing}, Pages = {161--193}, Title = {Pavane: A System for Declarative Visualization of Concurrent Computations}, Volume = {3}, Year = {1992} } @inproceedings{Roma92b, Author = {Griua-Catalin Roman and Kenneth C. Cox}, Booktitle = {Proceedings ICSE 1992}, Title = {Program Visualization: The Art of Mapping Programs to Pictures}, Year = {1992} } @article{Roma02a, Doi = {10.1109/MPRV.2002.1158281}, author = {Rom\'{a}n, Manuel and Hess, Christopher and Cerqueira, Renato and Ranganathan, Anand and Campbell, Roy H. and Nahrstedt, Klara}, keywords = {gaia middleware damiencbib pervasive}, title = {A Middleware Infrastructure for Active Spaces}, journal = {IEEE Pervasive Computing}, volume = {1}, number = {4}, year = {2002}, pages = {74--83}, publisher = {IEEE Educational Activities Department}, address = {Piscataway, NJ, USA} } @article{Romp06a, Address = {Los Alamitos, CA, USA}, Author = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer}, Doi = {10.1109/ICSM.2006.18}, Issn = {1063-6773}, Journal = {icsm}, Pages = {391--400}, Publisher = {IEEE Computer Society}, Title = {Characterizing the Relative Significance of a Test Smell}, Volume = {0}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2006.18} } @techreport{Romp06b, Author = {Bart Van Rompaey and Bart Du Bois and Serge Demeyer}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:27:08 +0100}, Institution = {Lab On Re-Engineering, University Of Antwerp}, Title = {Improving Test Code Reviews with Metrics: a Pilot Study}, Year = {2006} } @article{Romp07a, Address = {Piscataway, NJ, USA}, Author = {Bart {Van Rompaey} and Bart {Du Bois} and Serge Demeyer and Matthias Rieger}, Doi = {10.1109/TSE.2007.70745}, Issn = {0098-5589}, Journal = {Transactions on Software Engineering}, Number = {12}, Pages = {800--817}, Publisher = {IEEE Press}, Title = {On The Detection of Test Smells: A Metrics-Based Approach for General Fixture and Eager Test}, Volume = {33}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2007.70745} } @inproceedings{Rooc02a, Author = {Stefan Roock and Andreas Havenstein}, Booktitle = {Proceedings of Extreme Programming Conference'02}, Pages = {182-185}, Title = {Refactoring Tags for Automatic Refactoring of Framework-Dependent Applications}, Year = {2002} } @article{Rook87a, Author = {Rook, P.}, Journal = {Software Engineering Journal}, Keywords = {fca}, Month = jan, Number = 1, Pages = {7--16}, Title = {Controlling Software Projects}, Volume = 1, Year = {1996} } @inproceedings{Rose88a, Author = {John R. Rose}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {27--35}, Title = {Fast Dispatch Mechanisms for Stock Hardware}, Volume = {23}, Year = {1988} } @inproceedings{Rose89a, Author = {William R. Rosenblatt and Jack C. Wileden and Alexander L. Wolf}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {types olit oopsla89}, Month = oct, Pages = {297--304}, Title = {{OROS}: Toward a Type Model for Software Development Environments}, Volume = {24}, Year = {1989} } @book{Rose92a, Author = {Ward Rosenberry and David Kenney and Gerry Fisher}, Isbn = {1-56592-005-8}, Keywords = {dce scglib}, Publisher = {O'Reilly}, Title = {Understanding {DCE}}, Year = {1992} } @book{Rose92b, Author = {Hal F. Rosenbluth}, Keywords = {scglib}, Publisher = {Quill}, Title = {The Customer Comes Second}, Year = {1992} } @inproceedings{Rose93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Ellen Rose and Arie Segev}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {297--325}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{TOOA}: {A} Temporal Object-Oriented Algebra}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @manual{Rose98a, Keywords = {olit scglib book}, Organization = {Rational Software Corporation}, Title = {Rational Rose 98: Roundtrip Engineering with C++}, Year = {1998} } @techreport{Rose02a, Author = {Rosenberg, Jonathan and Schulzrinne, Henning and Camarillo, Gonzalo and Johnston, Alan and Peterson, Jon and Sparks, Robert and Handley, Mark and Schooler, Eve}, keywords = {damiencbib sip}, Institution = {RFC 3261}, Url = {http://www.ietf.org/rfc/rfc3261.txt}, Title = {{SIP: Session Initiation Protocol}}, Year = {2002} } @inproceedings{Rosn00a, Author = {Peter Rosner and Tracy Hall and Tobias Mayer}, Booktitle = {Proceedings of IWSM '00 (10th International Workshop on New Approaches in Software Measurement)}, Editor = {Reiner R. Dumke and Alain Abran}, Month = oct, Pages = {18--28}, Publisher = {Springer-Verlag}, Title = {Measuring {Object}-{Orientedness}: {The} {Invocation} {Profile}}, Year = {2000} } @article{Ross69a, Author = {G. J. S. Ross}, Journal = {Applied Statistics}, Keywords = {clustering}, Pages = {103--104}, Title = {Minimum Spanning Tree. Algorithm AS13}, Volume = {18}, Year = {1969} } @article{Ross86a, Address = {New York, NY, USA}, Author = {D L Ross}, Doi = {10.1145/9312.9315}, Issn = {1094-3641}, Journal = {Ada Lett.}, Number = {4}, Pages = {53--65}, Publisher = {ACM Press}, Title = {Classifying Ada packages}, Volume = {VI}, Year = {1986}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/9312.9315} } @inproceedings{Ross89a, Author = {Mary Beth Rosson and Eric Gold}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {7--10}, Title = {Problem-Solution Mapping in Object-Oriented Design}, Volume = {24}, Year = {1989} } @inproceedings{Ross93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Mary Beth Rosson and John M. Carroll}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {4--20}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Active Programming Strategies in Reuse}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Ross96a, Address = {Linz, Austria}, Author = {Jonathan G. Rossie and Daniel Friedman and Mitchell Wand}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {248--274}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modeling Subobject-Based Inheritance}, Volume = {1098}, Year = {1996} } @book{Ross02a, Address = {San Francisco, USA}, Author = {Mary Beth Rosson and John M. Carroll}, Isbn = {1-55860-712-9}, Keywords = {binder(shelf) book scglib}, Publisher = {Morgan Kauffmann}, Title = {Usability Engineering}, Year = {2002} } @techreport{Ross06, Author = {Guido van Rossum and Nick Coghlan}, Institution = {Python Software Foundation}, Title = {The ``with'' Statement ({Python} Enhancement Proposal 343)}, Url = http://www.python.org/dev/peps/pep-0343/, Year = {2006}, Bdsk-Url-1 = {http://www.python.org/dev/peps/pep-0343/} } @inproceedings{Roth93a, Author = {Gregg Rothermel and Mary Jean Harrold}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM '93)}, Keywords = {testing}, Month = sep, Pages = {358--367}, Publisher = {IEEE}, Title = {A Safe, Efficient Algorithm for Regression Test Selection}, Year = {1993} } @techreport{Roth94a, Author = {Jeff Rothenberg and Sanjai Narain}, Institution = {National Defense Research Institute}, Isbn = {0-8330-1555-9}, Keywords = {testing}, Number = {MR-376-ARPA}, Title = {The Rand Advanced Simulation Language Project's Declarative Modeling Formalism ({DMOD})}, Type = {Technical Report}, Year = {1994} } @inproceedings{Roth94b, author = {Rothermel, Gregg and Harrold, Mary Jean}, title = {Selecting tests and identifying test coverage requirements for modified software}, booktitle = {Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis}, series = {ISSTA '94}, year = {1994}, isbn = {0-89791-683-2}, location = {Seattle, Washington, United States}, pages = {169--184}, numpages = {16}, url = {http://doi.acm.org/10.1145/186258.187171}, doi = {10.1145/186258.187171}, acmid = {187171}, publisher = {ACM}, address = {New York, NY, USA} } @article{Roth96a, Author = {Gregg Rothermel and Mary Jean Harrold}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {testing}, Number = {8}, Pages = {529--551}, Title = {Analyzing Regression Test Selection Techniques}, Volume = {22}, Year = {1996} } @inproceedings{Roth99a, Author = {Gregg Rothermel and Roland H. Untch and Chengyun Chu and Mary Jean Harrold}, Booktitle = {Proceedings ICSM 1999}, Keywords = {testing}, Month = sep, Pages = {179--188}, Title = {Test Case Prioritization: An Empirical Study}, Year = {1999} } @article{Roth01a, Author = {Gregg Rothermel and Roland Untch and Chengyun Chu and Mary Jean Harrold}, Journal = {Transactions on Software Engineering}, Month = oct, Number = {10}, Organization = {IEEE}, Pages = {929--948}, Title = {Prioritizing Test Cases For Regression Testing}, Volume = {27}, Year = {2001} } @article{Roth01b, Address = {New York, NY, USA}, Author = {Gregg Rothermel and Margaret Burnett and Lixin Li and Christopher Dupuis and Andrei Sheretov}, Doi = {10.1145/366378.366385}, Issn = {1049-331X}, Journal = {ACM Trans. Softw. Eng. Methodol.}, Keywords = {testing}, Number = {1}, Pages = {110--147}, Publisher = {ACM Press}, Title = {A methodology for testing spreadsheets}, Volume = {10}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/366378.366385} } @inproceedings{Roth02a, Author = {Gregg Rothermel and Sebastian Elbaum and Alexey Malishevsky and Praveen Kallakuri and Brian Davia}, Booktitle = {Proceedings ICSE-24}, Keywords = {testing}, Month = may, Pages = {230--240}, Title = {The Impact of Test Suite Granularity on the Cost-Effectiveness of Regression Testing}, Year = {2002} } @article{Roth03a, Author = {Gregg Rothermel and Sebastian Elbaum}, Journal = {IEEE Software}, Month = sep, Number = {20}, Pages = {74--77}, Publisher = {IEEE Computer Society}, Title = {{Putting} {Your} {Best} {Tests} {Forward}}, Volume = {5}, Year = {2003} } @article{Roum02a, Author = {Cyrill Roume}, Journal = {L'Objet}, Number = {1-2}, Pages = {151--166}, 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}, Volume = {8}, Year = {2002} } @article{Roun01a, Address = {New York, NY, USA}, Author = {Atanas Rountev and Ana Milanova and Barbara G. Ryder}, Doi = {10.1145/504311.504286}, Issn = {0362-1340}, Journal = {SIGPLAN Notice}, Number = {11}, Pages = {43--55}, Publisher = {ACM}, Title = {Points-to analysis for Java using annotated constraints}, Volume = {36}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/504311.504286} } @inproceedings{Roun03a, Address = {Los Alamitos, CA, USA}, Author = {Atanas Rountev and Ana Milanova and Barbara G. Ryder}, Booktitle = {ICSE '03: Proceedings of the 25th IEEE International Conference on Software Engineering}, Pages = {210--220}, Publisher = {IEEE Computer Society Press}, Title = {Fragment Class Analysis for Testing of Polymorphism in Java Software}, Year = {2003} } @inproceedings{Roun04a, Address = {Washington, DC, USA}, Author = {Atanas Rountev}, Booktitle = {ICSM '04: Proceedings of the 20th IEEE International Conference on Software Maintenance}, Isbn = {0-7695-2213-0}, Pages = {82--91}, Publisher = {IEEE Computer Society}, Title = {Precise Identification of Side-Effect-Free Methods in {Java}}, Year = {2004} } @inproceedings{Roun04b, Address = {New York, NY, USA}, Author = {Atanas Rountev and Scott Kagan and Michael Gibas}, Booktitle = {PASTE '04: Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering}, Isbn = {1-58113-910-1}, Pages = {14--16}, Publisher = {ACM}, Title = {Evaluating the imprecision of static analysis}, Year = {2004} } @inproceedings{Roun05a, Address = {New York, NY, USA}, Author = {David Roundy}, Booktitle = {Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell}, Doi = {10.1145/1088348.1088349}, Isbn = {1-59593-071-X}, Location = {Tallinn, Estonia}, Pages = {1--4}, Publisher = {ACM Press}, Title = {Darcs: Distributed Version Management in Haskell}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1088348.1088349} } @inproceedings{Roux94a, Author = {C. Rouxel and J. P. Velu and M. Texier and D. Leroy}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {79--95}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Methodologies for Large Scale Projects: does it work?}, Volume = {858}, Year = {1994} } @article{Rovn86a, Author = {P. Rovner}, Journal = {IEEE Software}, Keywords = {olit-oopl modula-2}, Month = nov, Note = {Incomplete (Vol, No \& pp)}, Title = {Extending Modula-2 to Build Large Integrated Systems}, Year = {1986} } @misc{Rowa09a, Author = {Rowan, Kael}, Citeulike-Article-Id= {6502790}, Day = {26}, Keywords = {codemap, softvis, *blogpost}, Month = mar, Note = {\url{http://blogs.msdn.com/kaelr/archive/2009/03/26/code-canvas.aspx}, archived at \url{http://www.webcitation.org/5mceC6NVX}}, Posted-At = {2010-01-08 06:51:26}, Priority = {2}, Title = {Code Canvas}, Year = {2009} } @incollection{Royc87a, Address = {Washington}, Author = {Royce, W. W.}, Booktitle = {Tutorial: Software Engineering Project Management}, Editor = {Thayer, R.H.}, Note = {fca}, Pages = {118--127}, Publisher = {IEEE Computer Society}, Title = {Managing the Development of Large Software Systems}, Year = {1987} } @inproceedings{Roye91a, Author = {J.C. Royer}, Booktitle = {Bigre No 72 JFLA '91}, Pages = {150--158}, Title = {A propos des concepts de CLOS}, Year = {1991} } @article{Rubi86a, Author = {R.V. Rubin}, Journal = {3rd ACM-SIGOIS Conf on Office Information Systems, also SIGOIS Bulletin}, Keywords = {visprog ptyping}, Number = {2-3}, Pages = {92--103}, Title = {Language Constructs for Pogramming by Example}, Volume = {7}, Year = {1986} } @inproceedings{Rubi88a, Author = {Kenneth S. Rubin and Patricia M. Jones and Christine M. Mitchell and Theodore C. Goldstein}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {234--247}, Title = {A {Smalltalk} Implementation of an Intelligent Operator's Associate}, Volume = {23}, Year = {1988} } @inproceedings{Ruep94a, Author = {Andreas R{\"u}ping}, Booktitle = {Proceedings of TOOLS '94}, Keywords = {modules invariant}, Month = jun, Publisher = {Prentice Hall}, Title = {Modules in Object-Oriented Systems}, Year = {1994} } @article{Ruga98a, Author = {Spencer Rugaber and Jim White}, Journal = {IEEE Software}, Keywords = {oorp}, Month = jul, Number = {4}, Pages = {28--33}, Publisher = {IEEE}, Title = {Restoring a Legacy: Lessons Learned}, Volume = {15}, Year = {1998} } @inproceedings{Rumb87a, Author = {James Rumbaugh}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {466--481}, Title = {Relations as Semantic Constructs in an Object-Oriented Language}, Volume = {22}, Year = {1987} } @inproceedings{Rumb88a, Author = {James Rumbaugh}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {285--296}, Title = {Controlling Propagation of Operations Using Attributes on Relations}, Volume = {23}, Year = {1988} } @book{Rumb91a, Address = {New Jersey}, Author = {James Rumbaugh and Michael Blaha and William Premerlani and Frederick Eddy and William Lorensen}, Isbn = {0-13-630054-5}, Keywords = {olit omt binder (shelf) book scglib}, Publisher = {Prentice-Hall}, Title = {Object-Oriented Modeling and Design}, Year = {1991} } @book{Rumb99a, Author = {James Rumbaugh and Ivar Jacobson and Grady Booch}, Keywords = {olit-ood book}, Publisher = {Addison Wesley}, Title = {The Unified Modeling Language Reference Manual}, Year = {1999} } @techreport{Rund92a, Author = {Elke A. Rundensteiner}, Institution = {University of Michigan}, Keywords = {fca}, Title = {A {Class} {Classification} {Algorithm} for {Supporting} {Consistent} {Object} {Views}}, Type = {Technical Report}, Year = {1992} } @inproceedings{Russ88a, Author = {Vincent Russo and Gary Johnston and Roy Campbell}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {248--258}, Title = {Process Mangement and Exception Handling in Multiprocessor Operating Systems}, Volume = {23}, Year = {1988} } @incollection{Russ89a, Address = {Reading, Mass.}, Author = {D. Russinoff}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit ai frames oocda89}, Pages = {127--150}, Publisher = {ACM Press and Addison Wesley}, Title = {Proteus: a Frame-based Non-monotonic Inference System}, Year = {1989} } @inproceedings{Russ89b, Author = {Vincent F. Russo and Roy H. Campbell}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {267--278}, Title = {Virtual Memory and Backing Storage Management in Multiprocessor Operating Systems Using Object-Oriented Design Techniques}, Volume = {24}, Year = {1989} } @book{Russ95a, Editor = {Vicent F. Russo}, Isbn = {1-880446-71-5}, Keywords = {COOTS '95 scglib}, Publisher = {USENIX}, Title = {{USENIX} Conference on Object Oriented Technologies}, Year = {1995} } @article{Russ00a, Author = {Claudio V. Russo}, Issn = {1236-6064}, Journal = {Nordic J. of Computing}, Number = {4}, Pages = {348--374}, Title = {First-class structures for standard ML}, Volume = {7}, Year = {2000} } @conference{Ruta04a, Author = {Nick Rutar and Christian B. Almazan and Jeffrey S. Foster}, Booktitle = {Software Reliability Engineering, 2004. ISSRE 2004. 15th International Symposium on}, Pages = {245--256}, Title = {A comparison of bug finding tools for {Java}}, Year = {2004}} @inproceedings{Ruth99a, Author = {O.~R\"{u}thing and J.~Knoop and B.~Steffen}, Booktitle = {Proceedings of the 6th Static Analysis Symposium (SAS'99), Venice (Italy)}, Editor = {A. Cortesi and G. File}, Month = sep, Pages = {232--247}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Detecting Equalities of Variables: Combining Efficiency with Precision}, Volume = {1694}, Year = {1999} } @techreport{Rutt87a, Address = {Amsterdam}, Author = {Jan Rutten and Jeffrey I. Zucker}, Institution = {CWI}, Keywords = {concurrency acp binder}, Number = {CS-R8759}, Title = {A Semantic Approach to Fairness}, Type = {Report}, Year = {1987} } @book{Ryan97a, Author = {Timothy W. Ryan}, Keywords = {scglib}, Publisher = {Hewlett-Packard Professional Books}, Title = {Distributed Object Technology}, Year = {1997} } @book{Ryde88a, Address = {New York}, Author = {David E. Rydeheard and Rod M. Burstall}, Keywords = {misc category theory}, Publisher = {Prentice-Hall}, Series = {Prentice Hall international series in computer science}, Title = {Computational Category Theory}, Year = {1988} } @unpublished{Ryde88b, Author = {D.E. Rydeheard}, Keywords = {misc category theory binder}, Misc = {July 7}, Month = jul, Note = {Univ. Erlangen-N{\"u}rnberg}, Title = {On Category Theory and Computer Science --- An Annotated Bibliography}, Type = {Draft}, Year = {1988} } @inproceedings{Ryde01a, Author = {Barbara G. Ryder and Frank Tip}, Booktitle = {Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering}, Doi = {10.1145/379605.379661}, Isbn = {1-58113-413-4}, Location = {Snowbird, Utah, United States}, Pages = {46--53}, Publisher = {ACM Press}, Title = {Change impact analysis for object-oriented programs}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/379605.379661} } @inproceedings{Ryss03a, Author = {Filip van Rysselberghe and Serge Demeyer}, Booktitle = {Proceedings of the International Workshop on Evolution of Large Scale Industrial Applications (ELISA)}, Pages = {25--36}, Title = {Evaluating Clone Detection Techniques}, Url = {http://www.win.ua.ac.be/~fvrys/publications/}, Year = {2003}, Bdsk-Url-1 = {http://www.win.ua.ac.be/~fvrys/publications/} } @inproceedings{Ryss03b, Author = {Filip van Rysselberghe and Serge Demeyer}, Booktitle = {Proceedings WOOR'03}, Pages = {71--75}, Title = {Studying Software Evolution using Clone Detection}, Url = {http://www.win.ua.ac.be/~fvrys/publications/}, Year = {2003}, Bdsk-Url-1 = {http://www.win.ua.ac.be/~fvrys/publications/} } @inproceedings{Ryss03c, Author = {Filip Van Rysselberghe and Serge Demeyer}, Booktitle = {Proc. of International Workshop on Principles of Software Evolution (IWPSE)}, Pages = {126--130}, Title = {Reconstruction of Successful Software Evolution Using Clone Detection}, Url = {http://www.win.ua.ac.be/~fvrys/publications/}, Year = {2003}, Bdsk-Url-1 = {http://www.win.ua.ac.be/~fvrys/publications/} } @inproceedings{Ryss04a, Address = {Los Alamitos CA}, Author = {Van Rysselberghe, Filip and Serge Demeyer}, Booktitle = {Proceedings 20th IEEE International Conference on Software Maintenance (ICSM '04)}, Keywords = {evolution}, Month = sep, Pages = {328--337}, Publisher = {IEEE Computer Society Press}, Title = {Studying Software Evolution Information By Visualizing the Change History}, Url = {http://www.win.ua.ac.be/~fvrys/publications/}, Year = {2004}, Bdsk-Url-1 = {http://www.win.ua.ac.be/~fvrys/publications/} } @inproceedings{Ryss04b, Author = {Filip van Rysselberghe and Serge Demeyer}, Booktitle = {Proc. 19. Intl. Conference on Automated Software Engineering (ASE'04)}, Month = sep, Organization = {IEEE}, Title = {Evaluating Clone detection Techniques from a Refactoring Perspective}, Year = {2004} } @misc{SAX, Key = {Simple API for XML}, Note = {http://www.saxproject.org/}, Title = {{Simple API for XML}} } @manual{SICS95, Address = {Sweden}, Organization = {Programming Systems Group, Swedish Institute of Computer Science}, Title = {SICStus Prolog User's Manual}, Year = {1995} } @techreport{STSC97a, Author = {STSC}, Institution = {STSC, U.S. Department of Defense}, Month = mar, Title = {{Software} {Reengineering} {Assessment} {Handbook} v3.0}, Url = {http://stsc.hill.af.mil/RENG}, Year = {1997}, Bdsk-Url-1 = {http://stsc.hill.af.mil/RENG} } @misc{SUnit, Author = {Kent Beck}, Note = {\url{www.xprogramming.com/testfram.htm}}, Title = {Simple {Smalltalk} Testing: With Patterns}, Url = {http://www.xprogramming.com/testfram.htm}, Bdsk-Url-1 = {http://www.xprogramming.com/testfram.htm} } @article{Sade02a, 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}, Author = {Benny Sadeh and St\'ephane Ducasse}, Journal = {Journal of Object Technology}, Keywords = {scg-pub skip-doi jb02 snf02 stefPub}, Number = {1}, Title = {Adding Dynamic Interfaces to {Smalltalk}}, Url = {http://scg.unibe.ch/archive/papers/Sade02aDynamicInterfaces.pdf}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Sade02aDynamicInterfaces.pdf} } @inproceedings{Saff03a, Author = {David Saff and Michael D. Ernst}, Booktitle = {Fourteenth International Symposium on Software Reliability Engineering ISSRE 2003}, Keywords = {continuous testing}, Month = nov, Organization = {IEEE}, Title = {Can continuous testing speed software development?}, Year = {2003} } @inproceedings{Saff04a, Author = {David Saff and Michael D. Ernst}, Booktitle = {Proceedings of the 2004 International Symposium on Software Testing and Analysis ISSTA 2004}, Keywords = {continuous testing}, Month = jul, Organization = {ACM}, Title = {An experimental evaluation of continuous testing during development}, Url = {http://pag.csail.mit.edu/~mernst/pubs/ct-user-study-issta2004.pdf}, Year = {2004}, Bdsk-Url-1 = {http://pag.csail.mit.edu/~mernst/pubs/ct-user-study-issta2004.pdf} } @inproceedings{Saff04b, Author = {David Saff and Michael D. Ernst}, Booktitle = {Workshop on Program Analysis for Software Tools and Engineering PASTE 2004}, Keywords = {continuous testing mocks}, Month = jun, Organization = {ACM}, Title = {Automatic mock object creation for test factoring}, Url = {http://pag.csail.mit.edu/~mernst/pubs/mock-factoring-paste2004.pdf}, Year = {2004}, Bdsk-Url-1 = {http://pag.csail.mit.edu/~mernst/pubs/mock-factoring-paste2004.pdf} } @inproceedings{Sahr97a, Author = {Houari A. Sahraoui and Walc\'elio Melo and Hakim Lounis and Francois Dumont}, Booktitle = {Proceedings of ASE '97 (12th International Conference on Automated Software Engineering)}, Keywords = {fca}, Month = nov, Organization = {IEEE}, Pages = {210--218}, Publisher = {IEEE Computer Society Press}, Title = {Applying {Concept} {Formation} {Methods} to {Object} {Identification} in {Procedural} {Code}}, Year = {1997} } @article{Sahr99a, Author = {H. A. Sahraoui and H. Lounis and W. Melo and H. Mili}, Journal = {Automated Software Engineering Journal}, Number = {4}, Pages = {387--410}, Publisher = {Kluwer}, Title = {A Concept Formation Based Approach to Object Identification in Procedural Code}, Volume = {6}, Year = {1999} } @inproceedings{Sahr00, Author = {Houari A. Sahraoui and Mounir Boukadoum and Hakim Lounis and Fr\'ed\'eric Eth\`eve}, Booktitle = {Proceedings of 7th Asia-Pacific Software Engineering Conference}, Title = {Predicting Class Libraries Interface Evolution: an investigation into machine learning approaches}, Year = {2000} } @article{Sahr01a, Author = {Houari Sahraoui and Mounir Boukadoum and Hakim Lounis}, Journal = {L'Objet}, Keywords = {metrics}, Month = dec, Number = {4}, Title = {Building Quality Estimation models with Fuzzy Threshold Values}, Volume = {7}, Year = {2001} } @inproceedings{Sahr02a, Author = {H. Sahraoui and P. Valtchev and I. Konkobo and S. Shen}, Booktitle = {Proceedings of the 26th Computer Software and Applications Conference (COMPSAC'02)}, Title = {Object Identification in Legacy Code as a Grouping Problem}, Year = {2002} } @article{Sakk88a, Author = {Markku Sakkinen}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit demeter binder}, Month = dec, Number = {12}, Pages = {38--44}, Title = {Comments on the `Law of Demeter' and {C}++}, Volume = {23}, Year = {1988} } @inproceedings{Sakk88b, Address = {Oslo}, Author = {Markku Sakkinen}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc binder}, Misc = {August 15-17}, Month = apr, Pages = {162--176}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {On the Darker Side of {C}++}, Volume = {322}, Year = {1988} } @inproceedings{Sakk89a, Address = {Nottingham}, Author = {Markku Sakkinen}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-inheritance scglib ecoop89proc binder}, Misc = {July 10-14}, Month = jul, Pages = {39--56}, Publisher = {Cambridge University Press}, Title = {Disciplined Inheritance}, Year = {1989} } @article{Sakk92a, Author = {Markku Sakkinen}, Journal = {Computing Systems}, Keywords = {olit-inheritance binder}, Number = {1}, Pages = {69--110}, Title = {A Critique of the Inheritance Principles of {C}++}, Volume = {5}, Year = {1992} } @article{Sakk92b, Author = {Markku Sakkinen}, Journal = {Structured Programming}, Keywords = {olit-inheritance binder}, Number = {4}, Pages = {155--177}, Publisher = {Springer International}, Title = {The Darker Side of {C}++ Revisited}, Volume = {13}, Year = {1992} } @phdthesis{Sakk92c, Author = {Markku Sakkinen}, Keywords = {olit-inheritance binder(shelf)}, School = {University of Jyv{\"a}skyl{\"a}}, Series = {Jyv{\"a}skyl{\"a} Studies in Computer Science, Economics and Statistics, No. 20}, Title = {Inheritance and Other Main Principles of {C}++ and Other Object-Oriented Languages}, Type = {{Ph.D}. Thesis}, Year = {1992} } @inproceedings{Saku07a, Address = {New York, NY, USA}, Author = {Kouhei Sakurai and Hidehiko Masuhara}, Booktitle = {LATE '07: Proceedings of the 3rd workshop on Linking aspect technology and evolution}, Doi = {10.1145/1275672.1275677}, Isbn = {1-59593-655-4}, Location = {Vancouver, British Columbia, Canada}, Pages = {5}, Publisher = {ACM}, Title = {Test-based pointcuts: a robust pointcut mechanism based on unit test cases for software evolution}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1275672.1275677} } @inproceedings{Sala04a, Address = {Los Alamitos CA}, Author = {Maher Salah and Spiros Mancoridis}, Booktitle = {Proceedings IEEE International Conference on Software Maintenance (ICSM 2004)}, Doi = {10.1109/ICSM.2004.1357792}, Keywords = {feature}, Pages = {72--81}, Publisher = {IEEE Computer Society Press}, Title = {A Hierarchy of Dynamic Software Views: from Object-Interactions to Feature-Interacions}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2004.1357792} } @inproceedings{Sala05a, Annote = {internationalconference}, Author = {Maher Salah and Trip Denton and Spiros Mancoridis and Ali Shokoufandeh and Filippos I. Vokolos}, Booktitle = {Proceedings of 21th International Conference on Software Maintenance (ICSM'05)}, Doi = {10.1109/ICSM.2005.78}, Month = sep, Pages = {155--164}, Publisher = {IEEE Computer Society Press}, Title = {Scenariographer: A Tool for Reverse Engineering Class Usage Scenarios from Method Invocation Sequences}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.78} } @inproceedings{Salci05a, Author = {Alexandru Salcianu and Martin C. Rinard}, Booktitle = {VMCAI}, Ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3385{\&}spage=199}, Pages = {199--215}, Title = {Purity and Side Effect Analysis for {Java} Programs.}, Year = {2005} } @inproceedings{Sale92a, Author = {Hayssam Saleh and Philippe Gautron}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {195--210}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Concurrency Control Mechanism for {C}++ Objects}, Volume = 612, Year = {1992} } @inproceedings{Salt75a, Author = {Jerome H. Saltzer and Michael D. Schoroeder}, Booktitle = {Fourth ACM Symposium on Operating System Principles}, Month = sep, Pages = {1278--1308}, Publisher = {IEEE}, Title = {The Protection of Information in Computer Systems}, Volume = {63}, Year = {1975} } @book{Same97a, Author = {Johannes Sametinger}, Isbn = {3-540-62695-6}, Keywords = {reuse component scglib}, Publisher = {Springer-Verlag}, Title = {Software Engineering with Reusable Components}, Year = {1997} } @misc{Same02a, author = {Sameer Ajmani}, title = {A Review of Software Upgrade Techniques for Distributed Systems}, year = {2002} } @book{Samm69a, Title = {Programming Languages: History and Fundamentals}, Author = {Jean Sammet}, Year = {1969}, Publisher = {Prentice Hall} } @inproceedings{Samp86a, Author = {A. Dain Samples and David Ungar and Paul Hilfinger}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit architecture soar smalltalk oopsla86}, Month = nov, Pages = {107--118}, Title = {{SOAR}: {Smalltalk} Without Bytecodes}, Volume = {21}, Year = {1986} } @inproceedings{Samp99a, Author = {Neal Sample and Dorothea Beringer and Laurence Melloul and Gio Wiederhold}, Booktitle = {Proceedings of Coordination '99}, Editor = {Paolo Ciancarini and Alexander L. Wolf}, Keywords = {coordination99}, Pages = {291--306}, Series = {LNCS}, Title = {{CLAM}: Composition Language for Autonomous Megamodules}, Volume = 1594, Year = {1999} } @inproceedings{Samp04a, Author = {Sreedevi Sampath and Valentin Mihaylov and Amie Souter and Lori Pollock}, Booktitle = {Proceedings of ASE '04 (19th International Conference on Automated Software Engineering)}, Keywords = {fca}, Location = {Linz, Austria}, Month = sep, Pages = {132--141}, Publisher = {IEEE Computer Society Press}, Title = {A {Scalable} {Approach} to {User}-{Session} based {Testing} of {Web} {Applications} through {Concept} {Analysis}}, Year = {2004} } @inproceedings{Sand86a, Author = {David Sandberg}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-inheritance concepts smalltalk oopsla86}, Month = nov, Pages = {424--428}, Title = {An Alternative to Subclassing}, Volume = {21}, Year = {1986} } @article{Sand88a, Abstract = {Using Smalltalk-80, programmers can produce prototypes much faster than with C or Pascal. What techniques do Smalltalk-80 programmers use to produce these prototypes? What is special about Smalltalk-80 that enables them to uses these techniques? Can these techniques be used with conventional languages such as C? In an attempt to answer these questions we interviewed experienced Smalltalk programmers and asked how they approach programming in Smalltalk. Such introspective interviews that are conducted after completion of a project are known to be somewhat unreliable, but not enough is known to use any other methodology. What follows is a summary of the interviews, followed by an explanation of the results. Finally we discuss some of the weaknesses of Smalltalk and some possible solutions.}, Author = {Sandberg, D. W.}, Citeulike-Article-Id= {112858}, Doi = {10.1145/51607.51614}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Keywords = {empiricalstudy, exploratory, smalltalk}, Month = oct, Number = {10}, Pages = {85--92}, Priority = {2}, Title = {Smalltalk and exploratory programming}, Url = {http://dx.doi.org/10.1145/51607.51614}, Volume = {23}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/51607.51614} } @article{Sand89a, Author = {B. Sanden}, Journal = {CACM}, Keywords = {olit-obc READ}, Month = mar, Number = {3}, Pages = {330--343}, Title = {An Entity-Life Modeling Approach to the Design of Concurrent Systems}, Volume = {32}, Year = {1989} } @techreport{Sand96a, Author = {Georg Sander}, Institution = {Universitaet des Saarlandes}, Month = feb, Title = {Graph Layout for Applications in Compiler Construction}, Year = {1996} } @incollection{Sand98a, Author = {David Sands}, Booktitle = {Second Workshop on Higher-Order Operational Techniques in Semantics (HOOTS II)}, Editor = {A. D. Gordon and A. M. Pitts and C. L. Talcott}, Keywords = {pisem}, Publisher = {Elsevier Science Publishers B.V.}, Series = {Electronic Notes in Theoretical Computer Science}, Title = {Computing with Contexts: {A} simple approach}, Volume = {10}, Year = {1998} } @inproceedings{Sanen06a, Address = {Bonn, Germany}, Author = {Sanen, Frans and Truyen, Eddy and Joosen, Wouter and Jackson, Andrew and Nedos, Andronikos and Clarke, Siobh\'{a}n and Loughran, Neil and Rashid, Awais}, Booktitle = {Proceedings of the Fifth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software}, Keywords = {damiencbib aspec}, Pages = {23--26}, Title = {Classifying And Documenting Aspect Interactions}, Year = {2006} } @inproceedings{Sanen08a, author = {Sanen, Frans and Mehner, Katharina and Chitchyan, Ruzanna and Bergmans, Lodewijk and Fabry, Johan and S{\"u}dholt, Mario}, keywords = {damiencbib}, title = {Aspects, Dependencies and Interactions}, booktitle = {ECOOP Workshops}, year = {2008}, pages = {51-62}, editor = {Patrick Eugster}, series = {LNCS}, publisher = {Springer}, volume = {5475}, address = {Berlin, Heidelberg} } @techreport{Sang91a, Author = {Davide Sangiorgi}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc mobility types concurrency binder}, Month = nov, Title = {The Lazy Lambda calculus in a Concurrency Scenario}, Type = {ECS-LFCS-91-189}, Year = {1991} } @inproceedings{Sang92a, Author = {Davide Sangiorgi and Robin Milner}, Booktitle = {Proceedings of CONCUR '92}, Editor = {W.R. Cleaveland}, Keywords = {pcalc equivalence concurrency concur92}, Pages = {32--46}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Problem of "Weak Bisimulation Up To"}, Volume = 630, Year = {1992} } @unpublished{Sang92b, Author = {Davide Sangiorgi}, Keywords = {pcalc mobility hopi pi ccs binder}, Note = {submitted for publicationComputer Science Dept., University of Edinburgh}, Title = {An Investigation into Functions as Processes}, Type = {draft manuscript}, Year = {1992} } @unpublished{Sang92c, Author = {Davide Sangiorgi}, Keywords = {pcalc mobility hopi pi ccs binder}, Note = {Computer Science Dept., University of Edinburgh}, Title = {From $pi$-calculus to Higher-Order $\pi$-calculus --- and back}, Type = {draft manuscript}, Year = {1992} } @phdthesis{Sang93a, Author = {Davide Sangiorgi}, Keywords = {pcalc mobility hopi pi ccs binder (shelf)}, Month = may, Number = {CST-99-93 (also: ECS-LFCS-93-266)}, School = {Computer Science Dept., University of Edinburgh}, Title = {Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms}, Type = {{Ph.D}. Thesis}, Year = {1993} } @unpublished{Sang93b, Author = {Davide Sangiorgi}, Keywords = {pcalc mobility hopi pi ccs binder (shelf)}, Month = aug, Note = {Computer Science Dept., University of Edinburgh}, Title = {Locality and True-Concurrency in Calculi for Mobile Processes}, Type = {draft manuscript}, Year = {1993} } @inproceedings{Sang93c, Author = {D. Sangiorgi}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {oobib(pcal) tapsoft93}, Month = apr, Pages = {151--166}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {From pi-calculus to Higher-Order pi-calculus-and back}, Volume = {668}, Year = {1993} } @techreport{Sang96a, Author = {Davide Sangiorgi}, Institution = {INRIA Sophia-Antipolis}, Keywords = {oopl types pi}, Month = sep, Number = {3000}, Title = {An interpretation of Typed Objects into Typed Pi-calculus}, Type = {RR}, Url = {ftp://zenon.inria.fr/meije/theorie-par/davides/piOCtyped.ps.gz}, Year = {1996}, Bdsk-Url-1 = {ftp://zenon.inria.fr/meije/theorie-par/davides/piOCtyped.ps.gz} } @article{Sang93d, Author = {Sangiorgi, Davide}, Journal = {Theoretical Computer Science}, Note = {An extract appeared in {\em {Proc}. {TACS} '94}}, Pages = {39--83}, Title = {Locality and Non-interleaving Semantics in Calculi for Mobile Processes}, Volume = {155}, Year = {1996} } @proceedings{Sang98a, Address = {Nice, France}, Booktitle = {Proceedings of the 9th International, CONCUR '98}, Editor = {Davide Sangiorgi}, Isbn = {3-540-64896-0}, Keywords = {concur98 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency Theory}, Volume = {1466}, Year = {1998} } @techreport{Sang99a, Author = {Davide Sangiorgi}, Institution = {INRIA Sophia-Antipolis, France}, Keywords = {pi}, Month = feb, Number = {3470}, Title = {Interpreting functions as pi-calculus processes: a tutorial}, Type = {RR}, Year = {1999} } @inproceedings{Sang00b, Author = {Sangiorgi, Davide}, Booktitle = {Proof, Language and Interaction: Essays in Honour of Robin Milner}, Editor = {Plotkin, G. and Stirling, C. and Tofte, M.}, Month = may, Publisher = {{MIT} {Press}}, Title = {Lazy functions and mobile processes}, Year = {2000} } @article{Sang01a, Author = {Davide Sangiorgi}, Comment = {Special issue dedicated to the {IC-EATCS} Annual {Advanced} {School} on {Models} and {Paradigms} for {Concurrency}, {Udine}, {Italy}, 1997.}, Journal = {Theoretical Computer Science}, Title = {Asynchronous process calculi: the first-order and higher-order paradigms (Tutorial)}, Url = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html}, Volume = {253}, Year = {2001}, Bdsk-Url-1 = {http://www-sop.inria.fr/meije/personnel/Davide.Sangiorgi/mypapers.html} } @book{Sang01b, Author = {Davide Sangiorgi and David Walker}, Keywords = {scglib pi}, Publisher = {Cambridge University Press}, Title = {The Pi-Calculus --- A Theory of Mobile Processes}, Year = {2001} } @inproceedings{Sang05a, Author = {Neeraj Sangal and Ev Jordan and Vineet Sinha and Daniel Jackson}, Booktitle = {Proceedings of OOPSLA'05}, Pages = {167--176}, Title = {Using Dependency Models to Manage Complex Software Architecture}, Year = {2005} } @manual{Sann83a, Address = {Palo Alto}, Author = {M. Sannella}, Organization = {Xerox Parc}, Title = {The Interlisp-D Reference Manual}, Year = {1983} } @techreport{Sann93a, Author = {M. Sannella}, Institution = {Department of Computer Science and Engineering, University of Washington}, Month = feb, Number = {92-07-01}, Title = {The skyblue constraint solver}, Year = {1993} } @book{Sann94a, Editor = {Donald Sannella}, Isbn = {3-540-57880-3}, Keywords = {esop94 book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {ESOP} '94 5th European Conference on Programming Languages and Systems}, Volume = {788}, Year = {1994} } @inproceedings{Sarg93a, 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.}, Author = {John Sargeant}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit-oopl ufo binder isotas93}, Month = nov, Pages = {1--26}, Series = {Lecture Notes in Computer Science}, Title = {Uniting Functional and Object-Oriented Programming}, Volume = {742}, Year = {1993} } @techreport{Sarg93b, 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.}, Author = {John Sargeant}, Institution = {University of Manchester}, Keywords = {olit-oopl ufo binder 118}, Title = {United Functions and Objects: an Overview}, Type = {UMCS-93-1-4}, Url = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-1-4.ps.Z}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-93-1-4.ps.Z} } @techreport{Sarg94a, 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.}, Author = {John Sargeant and Chris Kirkham and Steve Anderson}, Institution = {University of Manchester}, Keywords = {olit-oopl ufo binder 118}, Title = {The Uflow Computational Model and Intermediate Format}, Type = {UMCS-94-5-1}, Url = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-94-5-1.ps.Z}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.cs.man.ac.uk/pub/TR/UMCS-94-5-1.ps.Z} } @inproceedings{Sarg95a, 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.}, Author = {John Sargeant and Steve Hooton and Chris Kirkham}, Booktitle = {High Performance Functional Computing Proceedings}, Editor = {A. P. Wim Bohm and John T. Feo}, Keywords = {olit-oopl ufo binder 118}, Month = apr, Pages = {48--62}, Title = {{UFO}: Language Evolution and Consequences of State}, Url = {ftp://sisal.llnl.gov/pub/hpfc/papers95.html}, Year = {1995}, Bdsk-Url-1 = {ftp://sisal.llnl.gov/pub/hpfc/papers95.html} } @inproceedings{Sari04a, Author = {Titos Saridakis}, Booktitle = {Workshop on Component Models for Dependable Systems}, Month = aug, Note = {To appear}, Title = {Managing Unsolicited Events in Component-Based Software}, Year = {2004} } @inproceedings{Sark92a, Author = {Manojit Sarkar and Marc H. Brown}, Booktitle = {Proceedings of ACM CHI'92 Conference on Human Factors in Computing Systems}, Pages = {83--91}, Title = {Graphical Fisheye Views of Graphs: Visualizing Objects, Graphs, and Video}, Year = {1992} } @phdthesis{Sart03a, Author = {Kamran Sartipi}, School = {School of Computer Science, University of Waterloo, Waterloo, ON, Canada}, Title = {Software Architecture Recovery based on Pattern Matching}, Year = {2003} } @inproceedings{Sart06a, Author = {Kamran Sartipi and Lingdong Ye and Hossein Safyallah}, Booktitle = {Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC'06)}, Title = {Alborz: An Interactive Toolkit to Extract Static and Dynamic Views of a Software System}, Year = {2006} } @inproceedings{Sato92a, Author = {Ichiro Satoh and Mario Tokoro}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit-obc oopsla92}, Month = oct, Pages = {315--326}, Title = {A Formalism for Real-Time Concurrent Object-Oriented Computing}, Volume = {27}, Year = {1992} } @inproceedings{Sato93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Ichiro Satoh and Mario Tokoro}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {326--345}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Timed Calculus for Distributed Objects with Clocks}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @techreport{Sato93b, Author = {Ichiro Satoh and Mario Tokoro}, Institution = {Keio University}, Keywords = {olit binder}, Number = {1993}, Title = {A Timed Bisimulation for Distributed Processes}, Type = {Report}, Year = {1993} } @inproceedings{Sato94a, Author = {Ichiro Satoh and Mario Tokoro}, Booktitle = {Proceedings of IEEE Conference on Computer Languages}, Keywords = {olit binder}, Publisher = {IEEE Computer Society}, Title = {Semantics for Real-Time Object-Oriented Programming Language}, Year = {1994} } @inproceedings{Sato95a, Address = {Aarhus, Denmark}, Author = {Ichiro Satoh and Mario Tokoro}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {331--350}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Time and Asynchrony in Interactions among Distributed Real-Time Objects}, Volume = {952}, Year = {1995} } @inproceedings{Sato99a, Address = {L'Aquila, Italy}, Author = {Masahiko Sato and Takafumi Sakurai and Rod M. Burstall}, Booktitle = {Typed Lambda Calculi and Applications}, Editor = {Jean-Yves Girard}, Keywords = {contract-types context-calculus}, Month = apr, Pages = {340--354}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Explicit Environments}, Url = {http://www.sato.kuis.kyoto-u.ac.jp/~masahiko/index-e.html http://www.dcs.ed.ac.uk/home/rb/index.html}, Volume = 1581, Year = {1999}, Bdsk-Url-1 = {http://www.sato.kuis.kyoto-u.ac.jp/~masahiko/index-e.html%20http://www.dcs.ed.ac.uk/home/rb/index.html} } @article{Sato01a, Author = {Masahiko Sato and Takafumi Sakurai and Rod M. Burstall}, Journal = {Fundamenta Informaticae}, Keywords = {contract-types context-calculus}, Number = {1-2}, Pages = {79--115}, Title = {Explicit Environments}, Url = {http://www.math.s.-u.ac.jp/~sakurai/papers/expenv.dvi.gz}, Volume = {45}, Year = {2001}, Bdsk-Url-1 = {http://www.math.s.chiba-u.ac.jp/~sakurai/papers/expenv.dvi.gz} } @article{Sato02a, Author = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi Kameyama}, Journal = {Journal of Functional and Logic Programming}, Keywords = {contract-types}, Month = mar, Number = {4}, Publisher = {EAPLS}, Title = {A Simply Typed Context Calculus with First-class Environments}, 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}, Volume = {2002}, Year = {2002}, Bdsk-Url-1 = {http://danae.uni-muenster.de/lehre/kuchen/JFLP/articles/2002/S02-01/JFLP-A02-04.pdf%20http://www.math.s.chiba-u.ac.jp/~sakurai/papers/context-jflp.dvi.gz} } @inproceedings{Sato03a, Author = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi Kameyama and Atsushi Igarashi}, Booktitle = {Proceedings of 17th International Workshop Computer Science Logic}, Editor = {M. Baaz and J. A. Makowsky}, Keywords = {context-calculus}, Pages = {509--524}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Calculi of Meta-variables}, Url = {http://www.math.s.chiba-u.ac.jp/~sakurai/papers/metavar-rev.dvi.gz}, Volume = {2803}, Year = {2003}, Bdsk-Url-1 = {http://www.math.s.chiba-u.ac.jp/~sakurai/papers/metavar-rev.dvi.gz} } @inproceedings{Sato05a, Author = {Yoshiki Sato and Shigeru Chiba}, Booktitle = {Proceedings ECOOP 2005}, Title = {Loosely-separated ``Sister'' Namespaces in {Java}}, Year = {2005} } @article{Sawa07a, Address = {Los Alamitos, CA, USA}, Author = {Amit P. Sawant and Naveen Bali}, Doi = {10.1109/VISSOF.2007.4290710}, Isbn = {1-4244-0599-8}, Journal = {vissoft}, Pages = {121--128}, Publisher = {IEEE Computer Society}, Title = {{DiffArchViz}: A Tool to Visualize Correspondence Between Multiple Representations of a Software Architecture}, Url = {http://sequoia.csc.ncsu.edu/~apsawant/pdfs/VISSOFT_2007_paper.pdf}, Volume = {0}, Year = {2007}, Bdsk-Url-1 = {http://sequoia.csc.ncsu.edu/~apsawant/pdfs/VISSOFT_2007_paper.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/VISSOF.2007.4290710} } @inproceedings{Sayy03a, Author = {Jelber Sayyad Shirabad and Timothy C. Lethbridge and Stan Matwin}, Booktitle = {International Conference on Software Maintenance (ICSM 2003)}, Keywords = {oorp}, Pages = {95--104}, Title = {Mining the Maintenance History of a Legacy Software System}, Year = {2003} } @inproceedings{Scal88a, Author = {C.A. Scaletti and Ralph E. Johnson}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {222--233}, Title = {An Interactive Environment for Object-Oriented Music Composition and Sound Synthesis}, Volume = {23}, Year = {1988} } @misc{Scala, Key = {scala}, Note = {http://lamp.epfl.ch/scala/}, Title = {The Scala Programming Language}, Url = {http://lamp.epfl.ch/scala/}, Bdsk-Url-1 = {http://lamp.epfl.ch/scala/} } @article{Sced90a, Author = {A. Scedrov}, Journal = {Bulletin of the EATCS}, Keywords = {concurrency linear logic binder(conc)}, Month = jun, Pages = {154--165}, Title = {A Brief Guide to Linear Logic}, Volume = {41}, Year = {1990} } @inproceedings{Scha86a, Author = {Craig Schaffert and Topher Cooper and Bruce Bullis and Mike Killian and Carrie Wilpolt}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl trellis/owl oopsla86 oobib(oopl)}, Month = nov, Pages = {9--16}, Title = {{An} {Introduction} to {Trellis}/{Owl}}, Volume = {21}, Year = {1986} } @inproceedings{Scha95a, Author = {Albert Schappert and Peter Sommerlad and Wolfgang Pree}, Booktitle = {Proceedings SSR '95 ACM SIGSOFT Symposium on Software Reusability}, Title = {Automated Support for Software Development with Frameworks}, Year = {1995} } @inproceedings{Scha98a, Author = {R. Schauer and R. Keller}, Booktitle = {6th International Workshop on Program Comprehension (Ischia, Italy)}, Pages = {4--12}, Title = {Pattern Visualization for Software Comprehension}, Year = {1998} } @inproceedings{Scha99a, Author = {Reinhard Schauer and S\'ebastian Robitaille and Francois Martel and Rudolf Keller}, Booktitle = {Proceedings of ICSM '99 (International Conference on Software Maintenance)}, Keywords = {oorp}, Publisher = {IEEE Computer Society Press}, Title = {Hot-{Spot} {Recovery} in {Object}-{Oriented} {Software} with {Inheritance} and {Composition} {Template} {Methods}}, Year = {1999} } @techreport{Scha99b, 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.}, Author = {Nathanael Sch{\"a}rli}, Institution = {University of Bern}, Keywords = {scg-ip jb-none schaerli}, Misc = {schaerli}, Title = {Kurveninterpolation mit einem finanzmathematischen Modell}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Scha99b.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Scha99b.pdf} } @mastersthesis{Scha01a, 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.}, Author = {Nathanael Sch{\"a}rli}, Keywords = {oobib scg-pub skip-doi scg-msc piccola snf01 jb01 schaerli}, Misc = {schaerli}, Month = sep, School = {University of Bern}, Title = {Supporting Pure Composition by Inter-language Bridging on the Meta-level}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Scha01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Scha01a.pdf} } @inproceedings{Scha01b, 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.}, Author = {Nathanael Sch{\"a}rli and Franz Achermann}, Booktitle = {Workshop on Composition Languages, WCL '01}, Keywords = {scg-pub skip-doi jb02 piccola snf01 schaerli}, Misc = {schaerli}, Month = sep, Title = {Partial evaluation of inter-language wrappers}, Url = {http://scg.unibe.ch/archive/papers/Scha01bLanguageWrappers.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha01bLanguageWrappers.pdf} } @inproceedings{Scha02a, 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}, Author = {Nathanael Sch{\"a}rli and St\'ephane Ducasse and Oscar Nierstrasz}, Booktitle = {Proceedings of the International Workshop on Inheritance}, Keywords = {scg-pub skip-doi scg-traits jb02 snf02 stefPub schaerli}, Title = {Classes = Traits + States + Glue (Beyond mixins and multiple inheritance)}, Url = {http://scg.unibe.ch/archive/papers/Scha02aTraitsPlusGlue2002.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha02aTraitsPlusGlue2002.pdf} } @techreport{Scha02b, 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.}, Address = {Universit\"at Bern, Switzerland}, Annote = {report notrefereed}, Author = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar Nierstrasz and Andrew P. Black}, 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}, Institution = {Institut f\"ur Informatik}, Keywords = {snf-redundant scg-pub skip-doi jb02 scg-traits stefPub schaerli}, Month = nov, Note = {Also available as Technical Report CSE-02-014, OGI School of Science \& Engineering, Beaverton, Oregon, USA}, Number = {IAM-02-005}, Title = {Traits: Composable Units of Behavior}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Scha02bTraits.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha02bTraits.pdf} } @techreport{Scha02c, 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.}, Address = {Universit\"at Bern, Switzerland}, Annote = {notrefereed}, Author = {Nathanael Sch\"arli and Oscar Nierstrasz and St\'ephane Ducasse and Roel Wuyts and Andrew Black}, 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}, Institution = {Institut f\"ur Informatik}, Keywords = {snf03 scg-pub skip-doi jb02 scg-traits schaerli}, Month = nov, Note = {Also available as Technical Report CSE-02-013, OGI School of Science \& Engineering, Beaverton, Oregon, USA}, Number = {IAM-02-006}, Title = {Traits: The Formal Model}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Scha02cTraitsModel.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha02cTraitsModel.pdf} } @unpublished{Scha02d, 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.}, Author = {Nathanael Sch{\"a}rli and Franz Achermann and Oscar Nierstrasz}, Cvs = {PiccolaBridge}, Keywords = {scg-wp skip-doi piccola schaerli}, Misc = {schaerli}, Note = {Software Composition Group, University of Bern}, Title = {Meta-level Language Bridging}, Type = {draft}, Url = {http://scg.unibe.ch/archive/drafts/bridging.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/drafts/bridging.pdf} } @techreport{Scha02e, Author = {Roland Sch\"afer}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = oct, Title = {CASYMIR Informatikprojekt}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Scha02e.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Scha02e.pdf} } @inproceedings{Scha02f, Author = {Schattkowsky, T. and Lohmann, M.}, Booktitle = {UML 2002 Conference}, Number = {2460}, Pages = {336--350}, Series = {LNCS}, Title = {Rapid development of modular dynamic Web sites using UML}, Year = {2002} } @inproceedings{Scha03a, 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}, Author = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar Nierstrasz and Andrew P. Black}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'03)}, Cvs = {TraitsECOOP2003}, Doi = {10.1007/b11832}, Isbn = {978-3-540-40531-3}, Keywords = {snf03 scg-pub jb03 scg-traits stefPub schaerli onhindex(297)}, Misc = {acceptance rate: 18/88 = 20\%}, AcceptTotal = {88}, AcceptNum = {18}, Month = jul, Pages = {248--274}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Traits: Composable Units of Behavior}, Url = {http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf}, Volume = {2743}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b11832} } @techreport{Scha03b, 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.}, Address = {Beaverton, Oregon, USA}, Annote = {notrefereed}, Author = {Nathanael Sch\"arli and Andrew P. Black}, Cvs = {TraitsBrowserESUG2003}, Institution = {OGI School of Science \& Engineering}, Keywords = {snf-redundant scg-pub skip-doi scg-traits jb03 schaerli}, Misc = {schaerli}, Month = apr, Number = {CSE-03-008}, Title = {A Browser for Incremental Programming}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Scha03bTraitsBrowser.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha03bTraitsBrowser.pdf} } @inproceedings{Scha04a, 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}, Author = {Nathanael Sch\"arli and St\'ephane Ducasse and Oscar Nierstrasz and Roel Wuyts}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'04)}, Cvs = {EncapsulationPoliciesECOOP2004}, Doi = {10.1007/b98195}, Isbn = {978-3-540-22159-3}, Keywords = {snf04 scg-pub jb04 scg-traits stefPub schaerli}, Misc = {acceptance rate: 25/132 = 19\%}, AcceptTotal = {132}, AcceptNum = {25}, Month = jun, Pages = {26--50}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Composable Encapsulation Policies}, Url = {http://scg.unibe.ch/archive/papers/Scha04aEncapsulationPolicies.pdf}, Volume = {3086}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha04aEncapsulationPolicies.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b98195} } @inproceedings{Scha04b, 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}, Author = {Nathanael Sch\"arli and Andrew P. Black and St\'ephane Ducasse}, Booktitle = {Proceedings of 18th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'04)}, Cvs = {OOEncapsulationOOPSLA2004}, Doi = {10.1145/1028976.1028988}, Keywords = {snf05 scg-pub jb03 scg-traits stefPub schaerli}, Misc = {acceptance rate: 27/174 = 16\%}, AcceptTotal = {174}, AcceptNum = {27}, Month = oct, Pages = {130--149}, Title = {Object-oriented Encapsulation for Dynamically Typed Languages}, Url = {http://scg.unibe.ch/archive/papers/Scha04bOOEncapsulation.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha04bOOEncapsulation.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1028976.1028988} } @article{Scha04c, 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.}, Author = {Nathanael Sch\"arli and Andrew P. Black}, Cvs = {TraitsBrowserESUG2003}, Doi = {10.1016/j.cl.2003.09.004}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {scg-pub jb04 scg-traits snf04 schaerli}, Misc = {schaerli}, Number = {1-2}, Pages = {79--95}, Publisher = {Elsevier}, Title = {A Browser for Incremental Programming}, Url = {http://scg.unibe.ch/archive/papers/Scha04cBrowser.pdf}, Volume = {30}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Scha04cBrowser.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2003.09.004} } @phdthesis{Scha05a, 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.}, Author = {Nathanael Sch{\"a}rli}, Cvs = {NSchaerliPhD}, Keywords = {scg-pub skip-doi snf05 jb05 scg-traits schaerli scg-phd evolution}, Month = feb, School = {University of Bern}, Title = {Traits --- Composing Classes from Behavioral Building Blocks}, Url = {http://scg.unibe.ch/archive/phd/schaerli-phd.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/schaerli-phd.pdf} } @inproceedings{Sche84a, Address = {Cambridge, England}, Author = {Hans-J{\"o}rg Schek}, Booktitle = {Proceedings of the Third joint BCS and ACM Symposium on Research and Development in Information Retrieval}, Keywords = {dblit}, Month = jul, Title = {Nested Transactions in a Combined {IRS}-{DBMS} Architecture}, Year = {1984} } @article{Sche86a, Author = {R.W. Scheifler and J. Gettys}, Journal = {ACM Transactions on Computer Graphics}, Keywords = {uilit}, Month = apr, Number = {2}, Pages = {79--109}, Title = {The {X} Window System}, Volume = {5}, Year = {1986} } @inproceedings{Sche88a, Address = {Oslo}, Author = {Marcel Schelvis and Eddy Bledoeg}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {212--232}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The Implementation of a Distributed {Smalltalk}}, Volume = {322}, Year = {1988} } @inproceedings{Sche89a, Author = {Marcel Schelvis}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {37--48}, Title = {Incremental Distribution of Timestamp Packets: {A} New Approach to Distributed Garbage Collection}, Volume = {24}, Year = {1989} } @techreport{Sche92a, Author = {Stefan Scherrer}, Institution = {Universit{\"a}t Z{\"u}rich}, Keywords = {olit-db kids binder (shelf)}, Month = dec, Title = {The {KIDS} Data Model Specification Language}, Type = {preliminary report}, Year = {1992} } @techreport{Sche09a, Abstract = {Archie is a statistics framework for the electronic medical records system Elexis. Archie empowers Elexis to generically create anything from simple overviews to complex statistical reports about any data found within the Elexis system. Depending on which plug-ins are installed, an Elexis installation contains data about patient demographics and history, consultations, drug administration, practice management and inventory, finances and accounting, laboratory, etc. Archie provides a platform for Elexis and for all installed plug-ins to easily and rapidly create statistical reports without having to be concerned with recurring aspects such as data input and output, form validation, result presentation, or the user interface in general. Data visualization is handled entirely by Archie, it just requires the raw data to adhere to a defined standard.}, Author = {Dennis Schenk and Peter Siska}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb09}, Month = mar, Title = {{Archie} --- A Statistics Framework For {Elexis}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Sche09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Sche09a.pdf} } @misc{Scheme, Author = {Richard Kelsey and Jonathan Rees and Mike Sperber}, Key = {scheme}, Month = feb, Title = {The Incomplete {Scheme} 48 Reference Manual for Release 1.8}, Url = {http://s48.org/}, Year = {2008}, Bdsk-Url-1 = {http://s48.org/} } @booklet{Schf99a, Author = {Wilhelm Sch{\"a}fer and Albert Z{\"u}ndorf}, Howpublished = {ESEC/FSE 99 Tutorial Notes}, Month = sep, Title = {Round Trip Engineering with {Design} {Patterns}, {UML}, {Java} and {C}++}, Year = {1999} } @article{Schi82a, Author = {P. Schicker}, Journal = {IEEE Trans on Communications}, Keywords = {misc mail}, Month = jan, Number = {1}, Pages = {46--62}, Title = {Naming and Addressing in a Computer-Based Mail Environment}, Volume = {COM-30}, Year = {1982} } @article{Schi89a, Author = {Allan M. Schiffman}, Institution = {ParcPlace}, Journal = {ParcPlace Newsletter}, Keywords = {exception handling time out}, Month = oct, Page = {10}, Title = {Fun with Exception-Handling Part I}, Year = {1989} } @inproceedings{Schi01, Author = {Michel Schinz and Martin Odersky}, Booktitle = {In Proc. ACM SIGPLAN BABEL'01 Workshop on Multi-Language Infrastructure and Interoperability}, Pages = {155--168}, Publisher = {Elsevier}, Title = {Tail call elimination on the Java Virtual Machine}, Year = {2001} } @inproceedings{Schi01a, Address = {New York, NY, USA}, Author = {Bill N. Schilit and Jonathan Trevor and David M. Hilbert and Tzu Khiau Koh}, Booktitle = {MobiCom '01: Proceedings of the 7th annual international conference on Mobile computing and networking}, Doi = {10.1145/381677.381689}, Isbn = {1-58113-422-3}, Location = {Rome, Italy}, Pages = {122--131}, Publisher = {ACM Press}, Title = {m-links: An infrastructure for very small internet devices}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/381677.381689} } @inproceedings{Schi08a, Address = {New York, NY, USA}, Author = {Hans Schippers and Dirk Janssens and Michael Haupt and Robert Hirschfeld}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449806}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {525--542}, Publisher = {ACM}, Title = {Delegation-based semantics for modularizing crosscutting concerns}, Url = {http://www.swa.hpi.uni-potsdam.de/publications/media/SchippersJanssensHauptHirschfeld_2008_DelegationBasedSemanticsForModularizingCrosscuttingConcerns_AcmDL_WithErrata.pdf}, Year = {2008}, Bdsk-Url-1 = {http://www.swa.hpi.uni-potsdam.de/publications/media/SchippersJanssensHauptHirschfeld_2008_DelegationBasedSemanticsForModularizingCrosscuttingConcerns_AcmDL_WithErrata.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1449764.1449806} } @inproceedings{Schl99a, Author = {Judith D. Schlesinger and Alyson A. Reeves}, Booktitle = {Proceedings Sixth Working Conference on Reverse Engineering}, Editor = {Fran{\c{c}}oise Balmas and Michael Blaha and Spencer Rugaber}, Month = oct, Organization = {IEEE Computer Society}, Pages = {123--133}, Title = {Educating JACKAL: Clich\'e Library Development and Use}, Year = {1999} } @techreport{Schl01a, 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 Bern.}, Author = {Andreas Schlapbach}, Institution = {University of Bern}, Keywords = {scg-ip jb-none moose-pub}, Month = jun, Title = {Generic {XMI} Support for the {MOOSE} Reengineering Environment}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Schl01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Schl01a.pdf} } @mastersthesis{Schl03a, 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.}, Author = {Andreas Schlapbach}, Keywords = {snf03 piccola scg-pub skip-doi jb03 scg-msc}, Month = jan, School = {University of Bern}, Title = {Enabling White-Box Reuse in a Pure Composition Language}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Schl03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Schl03a.pdf} } @inproceedings{Schl09a, author = {Schlegel, Christian and Ha\ss{}ler, Thomas and Lotz, Alex and Steck, Andreas}, title = {Robotic Software Systems: From Code-Driven to Model-Driven Designs}, keywords = {robotics smartsoft mdd mde}, booktitle = {ICAR'09: Proceedings of the 14th International Conference on Advanced Robotics}, pages = {1--8}, year = {2009}, month = jun, address = {Munich, Germany} } @article{Schm76a, Author = {H.A. Schmidt}, Journal = {Acta Informatica}, Keywords = {concurrency READ}, Number = {3}, Pages = {227--249}, Title = {On the Efficient Implementation of Conditional Critical Regions and the Construction of Monitors}, Volume = {6}, Year = {1976} } @book{Schm86a, Author = {Kurt J. Schmucker}, Keywords = {olit-oopl object-pascal}, Publisher = {Hayden Book Company}, Title = {Object-Oriented Programming for the Macintosh}, Year = {1986} } @book{Schm86b, Address = {Newton, MA}, Author = {D.A. Schmidt}, Isbn = {0-697-06849-8}, Keywords = {pl-semantics book scglib pl-lit}, Publisher = {Allyn and Bacon, Inc.}, Title = {Denotational Semantics: A Methodology for Language Development}, Year = {1986} } @inproceedings{Schm89a, Author = {Claudia Schmittgen and Werner Kluge and Ralf Zimmer}, 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}, Title = {$\pi$-{RED} --- An Interactive Reduction System Based on a Fully-Fledged $\lambda$-Calculus}, Year = {1989} } @techreport{Schm92a, Author = {Douglas C. Schmidt}, Institution = {Comp. Science Department, Washington University}, Keywords = {olit reuse pattern binder}, Title = {{ICP} {SAP}: {A} Family of {O}.{O}. Interfaces for Local and Remote Interprocesses Comunnication}, Type = {Technical Report}, Url = {http://www.cs.wustl.edu/~schmidt/IPC_SAP-92.ps.Z}, Year = {1992}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/IPC_SAP-92.ps.Z} } @article{Schm94a, Author = {H.W. Schmidt and W. Zimmermann}, Journal = {Object-Oriented Systems}, Keywords = {olit binder}, Month = dec, Number = {2}, Pages = {117--148}, Publisher = {Chapman \& Hall}, Title = {A Complexity calculus for Object-Oriented programs}, Volume = {1}, Year = {1994} } @techreport{Schm94b, Author = {Douglas C. Schmidt}, Institution = {Comp. Science Department, Washington University}, Keywords = {concurrency networks pattern reuse ACE binder}, Title = {The {ADAPTIVE} Communication Environment: An {O}.{O}. Network Programming Toolkit for developing Communication Software}, Type = {Technical Report}, Url = {http://www.cs.wustl.edu/~schmidt/SUG-94.ps.Z}, Year = {1994}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/SUG-94.ps.Z} } @techreport{Schm94c, Author = {Douglas C. Schmidt}, Institution = {Comp. Science Department, Washington University}, Keywords = {concurrency networks pattern reuse ACE binder}, Title = {The Service Configurator Framework}, Type = {Technical Report}, Url = {http://www.cs.wustl.edu/~schmidt/IWCDS.ps}, Year = {1994}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/IWCDS.ps} } @techreport{Schm94d, Author = {Douglas C. Schmidt}, Institution = {Comp. Science Department, Washington University}, Keywords = {concurrency networks pattern reuse ACE binder}, Title = {{ASX}: An Object-Oriented Framework for Developing Distributed Applications}, Type = {Technical Report}, Url = {http://www.cs.wustl.edu/~schmidt/C++-USEUNIX-94.ps}, Year = {1994}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/C++-USEUNIX-94.ps} } @inproceedings{Schm95a, Address = {Aarhus, Denmark}, Author = {Doug Schmidt and Paul Stephenson}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc binder}, Month = aug, Pages = {399--423}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Experience Using Design Patterns to Evolve Communication Software Across Diverse {OS} Platforms}, Url = {http://www.cs.wustl.edu/~schmidt/ECOOP-95.ps.gz}, Volume = {952}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/ECOOP-95.ps.gz} } @article{Schm95b, Author = {Douglas C. Schmidt}, Journal = {Communications of the ACM}, Keywords = {olit-reuse iam binder comacm95 design-patterns}, Month = oct, Number = {10}, Pages = {65--74}, Title = {Using Design Patterns to Develop Reusable Object-Oriented Communication Software}, Url = {http://www.cs.wustl.edu/~schmidt/CACM-95.ps.gz}, Volume = {38}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/CACM-95.ps.gz} } @techreport{Schm95c, Author = {Douglas C. Schmidt}, Institution = {Washington University, St. Louis.}, Keywords = {olit-reuse design-patterns iam binder}, Number = {WUCS-95-31}, Title = {An {OO} Encapsulation of Lightweight {OS} Concurrency Mechanism in the {ACE} Toolkit}, Type = {Technical Report}, Url = {http://www.cs.wustl.edu/~schmidt/ACE_Concurrency.ps.gz}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/ACE_Concurrency.ps.gz} } @article{Schm95d, Author = {Douglas C. Schmidt}, Journal = {{C}++ Report, SIGS}, Keywords = {olit-reuse design-patterns iam binder ACE}, Month = nov, Number = {8}, Title = {Acceptor: {A} Design Pattern for Passively Initializing Network Services}, Url = {http://www.cs.wustl.edu/~schmidt/Acceptor.ps.gz}, Volume = {7}, Year = {1995}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/Acceptor.ps.gz} } @book{Schm95e, Author = {Charles H. Schmauch}, Isbn = {0-87389-348-4}, Keywords = {iso9000 scglib}, Publisher = {ASQC Quality Press}, Title = {{ISO} 9000 for Software Developers}, Year = {1995} } @article{Schm96a, Author = {Douglas C. Schmidt}, Journal = {{C}++ Report, SIGS}, Keywords = {olit-reuse design-patterns iam binder ACE}, Month = jan, Number = {1}, Title = {Connector: {A} Design Pattern for Actively Initializing Network Services}, Url = {http://www.cs.wustl.edu/~schmidt/Connector.ps.gz}, Volume = {8}, Year = {1996}, Bdsk-Url-1 = {http://www.cs.wustl.edu/~schmidt/Connector.ps.gz} } @book{Schm96b, Editor = {Douglas C. Schmidt}, Isbn = {1-880446-77-4}, Keywords = {COOTS '96 scglib}, Publisher = {USENIX}, Title = {The Second Conference on Object-Oriented Technologies and Systems ({COOTS}'96)}, Year = {1996} } @inproceedings{Schm98a, Address = {New York}, Author = {I. Schmitt and G. Saake}, Booktitle = {Proceedings of the 3rd International Conference on Cooperative Info. Systems (CoopIS'98)}, Keywords = {fca}, Month = aug, Title = {Merging Inheritance Hierarchies for Database Integration}, Year = {1998} } @inproceedings{Schm99a, Address = {Boston}, Author = {I. Schmitt and S. Conrad}, 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}, Keywords = {fca}, Pages = {177--185}, Publisher = {Kluwer Academic Publishers}, Title = {Restructuring Object-Oriented Database Schemata by Concept Analysis}, Year = {1999} } @inproceedings{Schm99b, author = {Schmidt, Albrecht and Aidoo, Kofi Asante and Takaluoma, Antti and Tuomela, Urpo and Laerhoven, Kristof Van and Velde, Walter Van de}, keywords = {damiencbib}, title = {Advanced Interaction in Context}, booktitle = {HUC'99: Proceedings of the 1st International Symposium on Handheld and Ubiquitous Computing}, year = {1999}, pages = {89--101}, address = {Karlsruhe, Germany}, publisher = {Springer-Verlag} } @book{Schm00a, Author = {Douglas C. Schmidt and Michael Stal and Hans Rohnert and Frank Buschmann}, Keywords = {oorp}, Publisher = {John Wiley and Sons}, Title = {Pattern-Oriented Software Architecture Volume 2 --- Networked and Concurrent Objects}, Year = {2000} } @inproceedings{Schm03a, author = {Schmidt, Douglas C. and Buschmann, Frank}, booktitle = {ICSE'03: Proceedings of the 25th International Conference on Software Engineering}, title = {Patterns, frameworks, and middleware: their synergistic relationships}, year = {2003}, month = may, pages = {694--704}, address = {Portland, OR, USA}, keywords = {damiencbib complex software systems; databases; middleware; network protocol stacks; operating systems; reusable software; software development; software modeling methods; software patterns; middleware; object-oriented programming; operating systems; protocols; software quality; software reusability;}, doi = {10.1109/ICSE.2003.1201256}, ISSN = {0270-5257} } @article{Schm06a, author = {Schmidt, Douglas C.}, keywords = {damiencbib mde mda dsl}, title = {Guest Editor's Introduction: Model-Driven Engineering}, Url = {http://www.cs.wustl.edu/~schmidt/PDF/GEI.pdf}, journal = {Computer}, volume = {39}, issn = {0018-9162}, number = {2}, year = {2006}, pages = {25-31}, doi = {10.1109/MC.2006.58}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @inproceedings{Schm06b, Doi = {10.1145/1141277.1141733}, author = {Schmidt, Albrecht and Terrenghi, Lucia}, title = {Methods and guidelines for the design and development of domestic ubiquitous computing applications}, keywords = {damiencbib}, booktitle = {SAC'06: Proceedings of the 21th Symposium on Applied Computing}, year = {2006}, pages = {1928--1929}, publisher = {ACM}, address = {New York, NY, USA} } @misc{Schm08a, author = {Schmidt, David}, key = {Schm08a}, title = {Software Architecture, an informal introduction}, year = {2008}, url = {http://www.cis.ksu.edu/santos/schmidt/EJCP/talk08.pdf} } @unpublished{Schn91a, Author = {Hans-J{\"u}rgen Schneider}, Keywords = {concurrency graph grammars binder}, Misc = {May 31}, Month = may, Note = {Univ. Erlangen-N{\"u}rnberg}, Title = {Describing Process Systems with shared Data Structures by Graph Grammars}, Type = {Draft}, Year = {1991} } @techreport{Schn96a, 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.}, Author = {Jean-Guy Schneider and Markus Lumpe}, Institution = {University of Bern, Institute of Computer Science and Applied Mathematics}, Keywords = {olit scglit oobib scg-pub skip-doi snf95 jb96 scg-coord-old}, Month = jan, Number = {IAM-96-004}, Title = {Modelling Objects in {PICT}}, Url = {http://scg.unibe.ch/archive/software/OOPICT/pictObjM.pdf http://scg.unibe.ch/archive/software/OOPICT/index.html}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/software/OOPICT/pictObjM.pdf%20http://scg.unibe.ch/archive/software/OOPICT/index.html} } @inproceedings{Schn97a, 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.}, Address = {Roscoff}, Author = {Jean-Guy Schneider and Markus Lumpe}, Booktitle = {Proceedings of Langages et Mod\`eles \`a Objets '97}, Editor = {Roland Ducournau and Serge Garlatti}, Isbn = {2-86601-650-5}, Keywords = {scg-pub skip-doi pict pi olit lmo97 snf96 jb97 scg-coord-98}, Month = oct, Pages = {61--76}, Publisher = {Hermes}, Title = {Synchronizing Concurrent Objects in the Pi-Calculus}, Url = {http://scg.unibe.ch/archive/papers/Schn97aSyncConcObjPi.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schn97aSyncConcObjPi.pdf} } @book{Schn98a, Author = {Geri Schneider and Jason P. Winters}, Keywords = {oorp}, Publisher = {Addison Wesley}, Title = {Applying Use Cases}, Year = {1998} } @phdthesis{Schn99a, 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.}, Author = {Jean-Guy Schneider}, Keywords = {scg-pub skip-doi scg-phd pil olit pi glue piccola snf99 scg-coord-99 jb99 contract-types}, Month = oct, School = {University of Bern, Institute of Computer Science and Applied Mathematics}, Title = {Components, Scripts, and Glue: {A} conceptual framework for software composition}, Type = {{Ph.D}. Thesis}, Url = {http://scg.unibe.ch/archive/phd/schneider-phd.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/schneider-phd.pdf} } @incollection{Schn99b, 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.}, Author = {Jean-Guy Schneider and Oscar Nierstrasz}, Booktitle = {Software Architectures --- Advances and Applications}, Editor = {Leonor Barroca and Jon Hall and Patrick Hall}, Isbn = {1-85233-636-6}, Keywords = {scg-pub skip-doi scripting glue architectures sa cose snf98 csg99 omnrep scg-coord-99 piccola jb99 onhindex(108)}, Pages = {13--25}, Publisher = {Springer-Verlag}, Title = {Components, Scripts and Glue}, Url = {http://scg.unibe.ch/archive/papers/Schn99bComptsScriptsAndGlue.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schn99bComptsScriptsAndGlue.pdf} } @inproceedings{Schn00a, 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.}, Address = {Mont Saint-Hilaire, Qu{\'e}bec}, Author = {Schneider, Jean-Guy and Lumpe, Markus}, Booktitle = {Proceedings of Langages et Mod{\`e}les {\`a} Objets '00}, Editor = {Dony, Christophe and Sahraoui, Houari A.}, Isbn = {ISBN 2-7462-0093-7}, Keywords = {scg-pub skip-doi olit concurrency pi models snf99 lmo00 jb01}, Location = {Privat}, Month = jan, Pages = {149--165}, Publisher = {Hermes}, Title = {{A Metamodel for Concurrent, Object-based Programming}}, Url = {http://scg.unibe.ch/archive/papers/Schn00aMetamodelForOBCP.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schn00aMetamodelForOBCP.pdf} } @incollection{Schn01b, 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.}, Author = {Jean-Guy Schneider and Markus Lumpe and Oscar Nierstrasz}, Booktitle = {Coordination of Internet Agents}, Editor = {Andrea Omicini and Franco Zambonelli and Matthias Klusch and Robert Tolksdorf}, Isbn = {3-540-41613-7}, Keywords = {scg-pub skip-doi scripting glue architectures jb01 snf02}, Pages = {153--175}, Publisher = {Springer-Verlag}, Title = {Agent Coordination via Scripting Languages}, Url = {http://scg.unibe.ch/archive/papers/Schn01bAgentCoordination.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Schn01bAgentCoordination.pdf} } @inproceedings{Schn06a, 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.}, Address = {Sydney, Australia}, Author = {Jean-Guy Schneider and Rajesh Vasa}, Booktitle = {Proceedings of the 17th Australian Software Engineering Conference (ASWEC 2006)}, Editor = {Han, Jun and Staples, Mark}, Issn_Isbn = {ISBN 0-7695-2551-2}, Keywords = {olit selit agile XP aswec06 education}, Location = {Privat}, Month = apr, Pages = {401--410}, Publisher = {IEEE Computer Society Press}, Title = {Agile Practices in Software Development --- Experiences from Student Projects}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/aswec06.pdf 10.1109/ASWEC.2006.9}, Year = {2006}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/aswec06.pdf%2010.1109/ASWEC.2006.9} } @inproceedings{Scho64a, Address = {New York, NY, USA}, Author = {D. V. Schorre}, Booktitle = {Proceedings of the 1964 19th ACM national conference}, Doi = {10.1145/800257.808896}, Keywords = {parsing}, Pages = {41.301--41.3011}, Publisher = {ACM Press}, Title = {META II a syntax-oriented compiler writing language}, Year = {1964}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/800257.808896} } @techreport{Schr92a, Address = {Sankt Augustin}, Author = {Wolfgang Schr{\"o}der-Preikschat}, Institution = {GMD}, Keywords = {misc os distribution binder (shelf)}, Month = may, Number = {646}, Title = {{PEACE} --- The Evolution of a Parallel Operating System}, Type = {Working Paper}, Year = {1992} } @inproceedings{Schr07a, Address = {New York, NY, USA}, Author = {Daniel Schreck and Valentin Dallmeier and Thomas Zimmermann}, Booktitle = {IWPSE '07: Ninth international workshop on Principles of software evolution}, Doi = {10.1145/1294948.1294952}, Isbn = {978-1-59593-722-3}, Location = {Dubrovnik, Croatia}, Pages = {4--10}, Publisher = {ACM}, Title = {How documentation evolves over time}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1294948.1294952} } @inproceedings{Schu98a, Author = {Benedikt Schulz and Thomas Genssler and Berthold Mohr and Walter Zimmer}, Booktitle = {Proceedings of the TOOLS 27 Conference (Asia '98)}, Keywords = {olit ooreeng famoos}, Publisher = {IEEE Computer Society Press}, Title = {On the Computer Aided Introduction of Design Patterns into Object-Oriented Systems.}, Year = {1998} } @inproceedings{Schu99a, 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.}, Address = {Lisbon, Portugal}, Author = {Ulrik Schultz and Julia Lawall and Charles Consel and Gilles Muller}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {367--390}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Towards Automatic Specialization of {Java} Programs}, Volume = 1628, Year = {1999} } @inproceedings{Schu00a, Address = {Portland, Oregon}, Author = {Daniel Schulz and Frank Mueller}, Booktitle = {{ISSTA}'00}, Publisher = {ACM}, Title = {A Thread-Aware Debugger with an Open Interface}, Year = {2000} } @article{Schu03a, Author = {Peter Schuh}, Journal = {IEEE Computer}, Keywords = {unit testing, xp, scenarios}, Number = {6}, Pages = {34--41}, Title = {Recovery, Redemption and {Extreme} {Programming}}, Volume = {18}, Year = {2001} } @misc{Schu01a, Author = {Peter Schuh and Stephanie Punke}, Keywords = {testing mocks}, Note = {http://www.xpuniverse.com/2001/pdfs/Testing03.pdf}, Title = {{ObjectMother}, Easing Test Object Creation in {XP}}, Url = {http://www.xpuniverse.com/2001/pdfs/Testing03.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.xpuniverse.com/2001/pdfs/Testing03.pdf} } @inproceedings{Schu02a, Author = {Sibylle Schupp and Mukkai Krishnamoorthy and Marcin Zalewski and James Kilbride}, Booktitle = {Foundations and Applications of Conceptual Structures --- Contributions to ICCS 2002}, Editor = {Angelova, G. and Corbett, D. and Priss, U.}, Keywords = {fca}, Pages = {74--91}, Publisher = {Bulgarian Academy of Sciences}, Title = {The ``{Right}'' {Level} of {Abstraction} --- {Assessing} {Reusable} {Software} with {Formal} {Concept} {Analysis}}, Year = {2002} } @inproceedings{Schu08a, Address = {New York, NY, USA}, Author = {Schuler, David and Zimmermann, Thomas}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370779}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {121--124}, Publisher = {ACM}, Title = {Mining usage expertise from version archives}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370779} } @inproceedings{Schw89a, Author = {Robert W. Schwanke and Rita Z. Altucher and Michael A. Platoff}, Booktitle = {Proceedings of International Workshop on Software Specification and Design}, Keywords = {clustering}, Pages = {147--150}, Publisher = {IEEE Computer Society Press}, Title = {Discovering, {Visualizing}, and {Controlling} {Software} {Structure}}, Year = {1989} } @inproceedings{Schw89b, Author = {Robert W. Schwanke and Michael A. Platoff}, Booktitle = {Proceedings of Second International Workshop on Software Configuration Management}, Keywords = {clustering}, Pages = {86--95}, Publisher = {ACM Press}, Title = {Cross {References} are {Features}}, Year = {1989} } @inproceedings{Schw91a, Author = {Robert W. Schwanke}, Booktitle = {Proceedings of the 13th International Conference on Software Engineering}, Keywords = {clustering}, Month = may, Pages = {83--92}, Title = {An intelligent tool for re-engineering software modularity}, Year = {1991} } @article{Schw91b, Author = {S. Schwartz and W. Miller and C.M. Yang and R.C. Hardison}, Journal = {Nucleic Acids Research}, Keywords = {dotplot sequence alignment}, Pages = {4663--4667}, Title = {Software Tools for Analyzing Pairwise Alignments of Long Sequences}, Volume = {19}, Year = {1991} } @techreport{Schw00a, 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.}, Author = {Daniel Schweizer}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb00 moose-pub}, Month = apr, Title = {Exporting {MOOSE} Models to {Rational} {Rose} {UML}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Schw00a.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Schw00a.pdf} } @book{Schw01a, Author = {Ken Schwaber and Mike Beedle}, Edition = {First}, Isbn = {0-13-067634-9}, Keywords = {book scglib}, Publisher = {Alan R. Apt}, Title = {Agile Software Development with Scrum}, Year = {2001} } @mastersthesis{Schw02a, 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.}, Author = {Daniel Schweizer}, Keywords = {oobib scg-pub skip-doi jb02 scg-msc snf02 moose-pub}, Month = jun, School = {University of Bern}, Title = {Navigation in Object-Oriented Reverse Engineering}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Schw02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Schw02a.pdf} } @mastersthesis{Schw09a, Abstract = {We propose a new method of combining ranking results which each rank the same set of items according to different criteria. It will choose a ranking that is closest as possible to each ranking result to be combined. In the context of the Internet, it can be used to rank web pages into an order that best reflects a balance between several criteria. In the context of sports, we propose to use the method to determine the winner of competitions, when the performance of an athlete is naturally judged according to different criteria, such as figure skating and show jumping. The rank aggregation method we propose is known to be NP-hard. This thesis aims to develop efficient algorithms to compute aggregated rankings for practically relevant instances. By employing parameterized complexity theory, we can identify the structural hardness of an instance and allow for choosing a high-performing algorithm accordingly. We present efficient and effective data reduction rules which will reduce param- eters measuring the structural difficulty of an instance provably by simplifying the instance or removing unneeded parts. We provide efficient search tree algorithms which will solve practically relevant instances, where the criteria correlate strongly. Experiments with synthetic data confirm that for instances with high correlation between the rankings, even large instances can be computed in short time. For general instances, we present two enumeration algorithms, which will likely outperform the trivial algorithm of trying all rankings and comparing their qualities as aggregations. We prove the enumeration algorithms to perform well in scenarios with both few items to be ranked and some correlation between the rankings. We present methods to approximate the solution quality by a factor of two. We present parameters which cannot be used to improve computation by proving the NP-hardness of the problem even for small values of these parameters.}, Author = {Niko Schwarz}, Date-Added = {2009-07-03 18:29:51 +0200}, Date-Modified= {2009-07-03 18:31:28 +0200}, Keywords = {nes}, School = {Universit{\"a}t Jena}, Title = {Rank aggregation by Criteria---Minimizing the maximum Kendall-tau distance}, Url = {http://scg.unibe.ch/archive/masters/Schw09a.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Schw09a.pdf} } @inproceedings{Schw10a, Title = {Verifiable Parse Table Composition for Deterministic Parsing}, Author = {August Schwerdfeger and Eric Van Wyk}, Booktitle = {Software Language Engineering}, Pages = {184--203}, Year = {2010}, Keywords = {parsing}, Isbn = {978-3-642-12106-7}, Doi = {10.1007/978-3-642-12107-4_15}, Volume = {LNCS 5969}, Publisher = {Springer} } @inproceedings{Schw10b, Author = {Niko Schwarz and Erwann Wernli and Adrian Kuhn}, Abstract = {Code duplication is common in current programming-practice: programmers search for snippets of code, incorporate them into their projects and then modify them to their needs. In today's practice, no automated scheme is in place to inform both parties of any distant changes of the code. As code snippets continues to evolve both on the side of the user and on the side of the author, both may wish to benefit from remote bug fixes or refinements --- authors may be interested in the actual usage of their code snippets, and researchers could gather information on clone usage. We propose maintaining a link between software clones across repositories and outline how the links can be created and maintained.}, Date-Added = {2010-04-26 16:10:08 +0200}, Date-Modified= {2010-04-26 16:12:27 +0200}, Month = apr, Title = {Hot Clones, Maintaining a Link Between Software Clones Across Repositories}, Url = {http://scg.unibe.ch/staff/Schwarz/HotClones-position-paper}, Year = {2010}, Annote = {internationalworkshop}, Keywords = {scg-pub scg10 snf10 jb10 nes, software clones, software evolution, software repositories, forking, position paper}, Medium = {1}, Peerreview = {yes}, booktitle = {IWSC '10: Proceedings of the 4th International Workshop on Software Clones}, isbn = {978-1-60558-980-0}, pages = {81--82}, location = {Cape Town, South Africa}, doi = {10.1145/1808901.1808915}, publisher = {ACM}, address = {New York, NY, USA}, Bdsk-Url-1 = {http://scg.unibe.ch/staff/Schwarz/HotClones-position-paper} } @article{Schw10c, title = {Graph-based traceability: a comprehensive approach}, author = {Schwarz, H. and Ebert, J. and Winter, A.}, journal = {Software and Systems Modeling}, pages = {1--20}, year = {2010}, publisher = {Springer} } @inproceedings{Schw11a, Abstract = {Unit testing is often made more difficult by the heavy use of classes as namespaces and the proliferation of class methods to encapsulate configuration code. We have analyzed the use of 120 class methods from 96 projects by categorizing them according to their responsibilities. We find that most class methods support a hodgepodge of mixed responsibilities, held together only by their common need to be globally visible. Tight coupling between instances and their classes breaks encapsulation, and, together with the global visibility of class methods, complicates testing. By making dependency injection a feature of the programming language, we can get rid of class methods altogether. We employ the following semantic changes: (1) Replace every occurrence of a global with an access to an instance variable; (2) Let that instance variable be automatically injected into the object when it is instantiated. We present Seuss, a prototype that implements this change of semantics in Smalltalk. We show how Seuss eliminates the need to use class methods for non-reflective purposes, reduces the need for many design patterns, such as Abstract Factory, and simplifies configuration code, particularly for unit tests. }, Annote = {internationalconference}, Author = {Niko Schwarz and Mircea Lungu and Oscar Nierstrasz}, Booktitle = {Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2011}, Url = {http://scg.unibe.ch/archive/papers/Schw11aSeuss.pdf}, Keywords = {scg1 scg-pub jb11 snf11}, Medium = {2}, Pages = {276--289}, Doi = {10.1007/978-3-642-21952-8_20}, Peerreview = {yes}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Seuss: Cleaning up Class Responsibilities with Language-based Dependency Injection}, Volume = {33}, Year = {2011} } @inproceedings{Schw11b, Abstract = {Developers override \texttt{toString()} and \texttt{printOn:} methods to allow objects to display themselves. This is done to track object state while debugging. Although very popular, the technique breaks down when displaying complex, mul\-ti\--di\-mension\-al objects. We propose an approach in which objects have two-\-di\-men\-sion\-al visualizations at various levels of granularity. This makes it easier to compose visualizations from object parts, and enables ``semantic zooming'' of object visualizations while debugging. We have carried out an empirical study to understand how \texttt{printOn:} methods are used in practice, and we are developing DoodleDebug, a framework to support visualizable objects.}, Annote = {internationalconference}, Author = {Niko Schwarz}, Keywords = {scg11 scg-pub nes snf11 jb11 skip-doi}, Url = {http://scg.unibe.ch/archive/papers/Schw11bDoodleDebug.pdf}, Booktitle = {Proceedings of the TOOLS 2011, 5th Workshop on Dynamic Languages and Applications (DYLA'11).}, Medium = {4}, Peerreview = {yes}, Title = {{DoodleDebug}, Objects Should Sketch Themselves For Code Understanding}, Year = {2011} } @article{Scot76a, Author = {Dana Scott}, Journal = {SIAM J. Comput.}, Keywords = {types semantics binder(etc)}, Month = sep, Number = {3}, Pages = {522--587}, Title = {Data Types as Lattices}, Volume = {5}, Year = {1976} } @inproceedings{Scot82a, Address = {Aarhus, DK}, Author = {Dana Scott}, Booktitle = {Proceedings ICALP '82}, Editor = {M. Nielsen and E.M. Schmidt}, Keywords = {pl-semantics domains icalp82 binder}, Month = jul, Pages = {577--613}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Domains for Denotational Semantics}, Volume = {140}, Year = {1982} } @misc{Seaside, Key = {Seaside}, Keywords = {squeak web server}, Note = {http://www.seaside.st}, Title = {{Seaside} home page}, Url = {http://www.seaside.st}, Bdsk-Url-1 = {http://www.seaside.st} } @techreport{Seat07a, Author = {Chris Seaton}, Institution = {University of Bristol}, Keywords = {dsllit}, Month = jun, Number = {CSTR-07-005}, Pages = {53}, Title = {A Programming Language Where the Syntax and Semantics Are Mutable at Runtime}, Url = {http://www.cs.bris.ac.uk/Publications/Papers/2000702.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.cs.bris.ac.uk/Publications/Papers/2000702.pdf} } @book{Sebe92a, Address = {Redwood City, Calif.}, Author = {Robert W. Sebesta}, Edition = {Second}, Isbn = {0-8053-7130-3}, Keywords = {book scglib}, Publisher = {Benjamin Cummings}, Title = {Concepts of Programming Languages}, Year = {1992} } @inproceedings{Seco00a, Doi = {10.1007/3-540-45102-1_6}, author = {Seco, Jo\~{a}o Costa and Caires, Lu\'{\i}s}, title = {A Basic Model of Typed Components}, booktitle = {ECOOP'00: Proceedings of the 14th European Conference on Object-Oriented Programming}, year = {2000}, keywords = {damiencbib componentj}, pages = {108--128}, publisher = {Springer-Verlag}, address = {London, UK} } @book{Sedg92a, Author = {Robert Sedgewick}, Keywords = {olit}, Publisher = {Addison Wesley}, Title = {Algorithms in C++}, Year = {1992} } @mastersthesis{Seeb06a, 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.}, Author = {Mauricio Seeberger}, Keywords = {scg-msc jb06 fb06 recast06 moose-pub chronia}, Month = jan, School = {University of Bern}, Title = {How Developers Drive Software Evolution}, Type = {Master's Thesis}, Url = {http://scg.unibe.ch/archive/masters/Seeb06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Seeb06a.pdf} } @inproceedings{Seeb06b, Abstract = {To understand a certain issue of the system we want to 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 present the Chronia tool that implements the Ownership Map visu- alization to understand when and how different developers interacted in which way and in which part of the system. circle reflects the size of the change, and the color of the line denotes the author who owns most of the lines of code of the file in that period. File A commit by the green author followed by the ownership file removed by the blue author file present from the first import}, Annote = {tooldemo}, Author = {Mauricio Seeberger and Adrian Kuhn and Tudor G\^irba and St\'ephane Ducasse}, Booktitle = {Proceedings of 10th European Conference on Software Maintenance and Reengineering (CSMR'06)}, Cvs = {ChroniaDemoCSMR2006}, Keywords = {scg-misc moose-pub stefPub recast06 jb06 fb06 girba chronia}, Month = mar, Note = {Tool demo}, Pages = {345--346}, Title = {{Chronia}: Visualizing How Developers Change Software Systems}, Url = {http://scg.unibe.ch/archive/papers/Seeb06bChronia.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Seeb06bChronia.pdf} } @techreport{Seel08a, title = {{FxCop} Tool Evaluation}, author = {Ramesh Seela and Ryan Miller and Derek Chang and Ali Shojaeddini and Ankit Sengar}, year = {2008}, month = mar, institution = {Carnegie Mellon University} } @inproceedings{Seem98a, Author = {Jochen Seemann and J{\"{u}}rgen Wolff von Gudenberg}, Booktitle = {Proceedings of the 6th ACM SIGSOFT International Symposium on Foundations of Software Engineering}, Doi = {10.1145/288195.288207}, Isbn = {1-58113-108-9}, Keywords = {parseError design-recovery}, Location = {Lake Buena Vista, Florida, United States}, Pages = {10--16}, Publisher = {ACM Press}, Title = {Pattern-{Based} {Design} {Recovery} of {JAVA} {Software}}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/288195.288207} } @phdthesis{Sefi96a, Author = {Mohlalefi Sefika}, School = {University of Illinois}, Title = {Design Conformance Management of Software Systems: an Architecture-Oriented Approach}, Year = {1996} } @inproceedings{Sefi96b, Author = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell}, Booktitle = {Proceedings ICSE-18}, Month = mar, Pages = {387--396}, Title = {Monitoring Complicance of a Software System with Its High-Level Design Models}, Year = {1996} } @inproceedings{Sefi96c, Author = {Mohlalefi Sefika and Aamod Sane and Roy H. Campbell}, Booktitle = {Proceedings ICSE-18}, Month = mar, Pages = {387--396}, Title = {Monitoring Complicance of a Software System with Its High-Level Design Models}, Year = {1996} } @article{Sega93a, author = {Segal, Mark E. and Frieder, Ophir}, title = {On-the-Fly Program Modification: Systems for Dynamic Updating}, journal = {IEEE Softw.}, volume = {10}, number = {2}, year = {1993}, issn = {0740-7459}, pages = {53--65}, numpages = {13}, url = {http://dx.doi.org/10.1109/52.199735}, doi = {10.1109/52.199735}, acmid = {625273}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA}, keywords = {dynamic software-based updating systems, dynamic updating, on-the-fly program modification, procedure-oriented dynamic updating system, software maintenance} } @inproceedings{Sega03a, Address = {Washington, DC, USA}, Author = {Segal, Judith}, Booktitle = {STEP '03: Proceedings of the Eleventh Annual International Workshop on Software Technology and Engineering Practice}, Citeulike-Article-Id= {5361802}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1034388}, Isbn = {0-7695-2218-1}, Keywords = {empirical, userstudy}, Pages = {40--47}, Posted-At = {2009-09-15 14:49:04}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {The Nature of Evidence in Empirical Software Engineering}, Url = {http://portal.acm.org/citation.cfm?id=1034388}, Year = {2003}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1034388} } @article{Sege10a, author = {Segel, Edward and Heer, Jeffrey}, title = {Narrative Visualization: Telling Stories with Data}, journal = {IEEE Transactions on Visualization and Computer Graphics}, issue_date = {November 2010}, volume = {16}, issue = {6}, month = nov, year = {2010}, issn = {1077-2626}, pages = {1139--1148}, numpages = {10}, url = {http://dx.doi.org/10.1109/TVCG.2010.179}, doi = {10.1109/TVCG.2010.179}, acmid = {1908000}, publisher = {IEEE Educational Activities Department}, address = {Piscataway, NJ, USA}, keywords = {Narrative visualization, storytelling, design methods, case study, journalism, social data analysis} } @book{Seib05a, Author = {Peter Seibel}, Isbn = {1590592395}, Publisher = {APress}, Title = {Practical Common Lisp}, Url = {http://www.gigamonkeys.com/book/}, Year = {2005}, Bdsk-Url-1 = {http://www.gigamonkeys.com/book/} } @inproceedings{Seid87a, Author = {Ed Seidewitz}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {202--213}, Title = {Object-Oriented Programming in {Smalltalk} and {ADA}}, Volume = {22}, Year = {1987} } @inproceedings{Seid93a, Author = {H. Seidl}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {251--265}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {When is a Functional Tree Transduction Deterministic ?}, Volume = {668}, Year = {1993} } @article{Seid03a, Author = {Ed Seidewitz}, Journal = {IEEE Software}, Month = sep, Number = {5}, Pages = {26--32}, Title = {What Models Mean}, Volume = {20}, Year = {2003} } @inproceedings{Sein09a, title = {Reconfigurable {SCA} Applications with the {FraSCAti} Platform}, author = {Seinturier, Lionel and Merle, Philippe and Fournier, Damien and Dolet, Nicolas and Schiavoni, Valerio and Stefani, Jean-Bernard}, booktitle = {SCC'09: Proceedings of the 6th International Conference on Service Computing}, doi = {10.1109/SCC.2009.27}, address = {Bangalore, India}, pages = {268--275}, keywords = {damiencbib frascati}, year = {2009}, URL = {http://hal.inria.fr/inria-00397856/PDF/frascati.pdf} } @article{Seit98a, Author = {Linda M. Seiter and Jens Palsberg and Karl J. Lieberherr}, Doi = {10.1109/32.663999}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {cop-lit}, Month = jan, Number = {1}, Pages = {79--92}, Title = {Evolution of Object Behavior Using Context Relations}, Volume = {24}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.663999} } @inproceedings{Seit99a, Author = {Linda Seiter and Mira Mezini and Karl Lieberherr}, Booktitle = {Proc. First International Symposium on Generative and Component-Based Software Engineering, GCSE '99}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Dynamic Component Gluing}, Year = {1999} } @inproceedings{Sekh02a, Address = {London, UK}, Author = {K. Chandra Sekharaiah and D. Janaki Ram}, Booktitle = {OOIS '02: Proceedings of the 8th International Conference on Object-Oriented Information Systems}, Isbn = {3-540-44087-9}, Pages = {494--506}, Publisher = {Springer-Verlag}, Title = {Object Schizophrenia Problem in Object Role System Design}, Volume = {2425/2002}, Year = {2002} } @inproceedings{Seli92a, Address = {Montreal}, Author = {Bran Selic and Garth Gullekson and Jim McGee and Ian Engelberg}, Booktitle = {Proceedings CASE 92 Fifth International Workshop on Computer-Aided Software Engineering}, Keywords = {olit-oose room binder}, Month = jul, Title = {{ROOM}: An Object-Oriented Methodology for Developing Real-Time Systems}, Year = {1992} } @book{Seli94a, Author = {Bran Selic and Garth Gullekson and Paul T. Ward}, Isbn = {0-471-59917-4}, Keywords = {olit-oose room binder}, Publisher = {John Wiley \& Sons}, Title = {Real-Time Object-Oriented Modeling}, Year = {1994} } @inproceedings{Seli95a, Address = {Aarhus, Denmark}, Author = {Jacob Seligmann and Steffen Grarup}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {235--252}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Incremental Mature Garbage Collection Using the Train Algorithm}, Volume = {952}, Year = {1995} } @inproceedings{Sell98a, Author = {A. Sellink and C. Verkoef}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {89--99}, Publisher = {IEEE Computer Society}, Title = {Native Patterns}, Year = {1998} } @inproceedings{Serr99a, 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.}, Address = {Lisbon, Portugal}, Author = {Manuel Serrano}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {391--415}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Wide classes}, Url = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1628/16280391.pdf}, Volume = 1628, Year = {1999}, Bdsk-Url-1 = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1628/16280391.pdf} } @article{Serr02a, Address = {New York, NY, USA}, Author = {Bernard Paul Serpette and Manuel Serrano}, Doi = {10.1145/583852.581503}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {9}, Pages = {259--270}, Publisher = {ACM}, Title = {Compiling scheme to JVM bytecode:: a performance study}, Volume = {37}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/583852.581503} } @article{Serr10a, author = {Serral, Estefan\'{\i}a and Valderas, Pedro and Pelechano, Vicente}, title = {Towards the Model Driven Development of context-aware pervasive systems}, journal = {Pervasive and Mobile Computing}, volume = {6}, number = {2}, month = apr, year = {2010}, issn = {1574-1192}, pages = {254--280}, doi = {10.1016/j.pmcj.2009.07.006}, publisher = {Elsevier Science Publishers B. V.}, address = {Amsterdam, The Netherlands, The Netherlands}, keywords = {Context-aware MDD OWL Ontology Pervasive systems pervml damiencbib} } @book{Sess98a, author = {Roger Sessions}, title = {{COM} and {DCOM}: Microsoft's vision for distributed objects}, keywords = {damiencbib}, year = {1998}, publisher = {John Wiley \& Sons, Inc.}, address = {New York, NY, USA} } @book{Seth89a, Address = {Reading, Mass.}, Author = {Ravi Sethi}, Isbn = {0-201-10365-6}, Keywords = {book scglib}, Publisher = {Addison Wesley}, Title = {Programming Languages: Concepts and Constructs}, Year = {1989} } @article{Seve74a, Author = {D.G. Severance}, Journal = {ACM Computing Surveys}, Keywords = {misc searching}, Month = sep, Number = {3}, Pages = {175--194}, Title = {Identifier Search Mechanisms: {A} Survey and Generalized Model}, Volume = {6}, Year = {1974} } @article{Seve76a, Author = {D.G. Severance and R.A. Duhne}, Journal = {CACM}, Keywords = {misc}, Number = {6}, Pages = {314--326}, Title = {A Practitioner's Guide to Addressing Algorithms}, Volume = {19}, Year = {1976} } @inproceedings{Sevi01a, author = {Gary Sevitsky and Wim De Pauw and Ravi Konuru}, title = {An Information Exploration Tool for Performance Analysis of Java Programs}, booktitle = {TOOLS Europe '01: Proceedings of the 38th International Conference on Technology of Object-Oriented Languages and Systems, Components for Mobile Computing}, year = {2001}, pages = {85-101}, doi = {10.1109/TOOLS.2001.911758} } @techreport{Sewe99a, Author = {Peter Sewell and Pawel Wojciechowski and Benjamin Pierce}, Institution = {University of Cambridge}, Keywords = {pi distribution}, Title = {Location-Independent Communication for Mobile Agents: a Two-Level Architecture}, Type = {technical report}, Url = {http://www.cl.cam.ac.uk/users/pes20/nomadicpict.html}, Year = {1999}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/users/pes20/nomadicpict.html} } @book{Shaf91a, Author = {Dan Shafer and Dean A. Ritz}, Isbn = {0-387-97394-X}, Keywords = {olit-oopl oobib(oopl) oobib(smalltalk) book scglib}, Publisher = {Springer-Verlag}, Title = {Practical {Smalltalk}}, Year = {1991} } @book{Shaf95a, Address = {Kaiserslautern, Germany}, Editor = {Wilhelm Schafer and Pere Botella}, Isbn = {3-540-60406-5}, Keywords = {olit esec95 scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings {ESEC}'95}, Volume = {989}, Year = {1995} } @inproceedings{Shah89a, Author = {Ashwin V. Shah and Jung H. Hamel and Renee E. Borsari and James E. Rumbaugh}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {191--202}, Title = {{DSM}: An Object-Relationship Modeling Language}, Volume = {24}, Year = {1989} } @inproceedings{Shah00a, Address = {New York, NY, USA}, Author = {Ran Shaham and Elliot K. Kolodner and Mooly Sagiv}, Booktitle = {Proceedings of the 2nd international symposium on Memory management (ISMM'00)}, Doi = {10.1145/362422.362430}, Isbn = {1-58113-263-8}, Location = {Minneapolis, Minnesota, United States}, Pages = {12--17}, Publisher = {ACM}, Title = {On effectiveness of GC in Java}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/362422.362430} } @inproceedings{Sham77a, Author = {A. Shamir and W. Wadge}, Booktitle = {Proceedings, ICALP '77}, Editor = {Salomaa and Steinby}, Keywords = {types tfc semantics icalp77}, Month = jul, Pages = {465--479}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Data types as objects}, Volume = {52}, Year = {1977} } @inproceedings{Shan89a, Author = {Yen-Ping Shan}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {347--352}, Title = {An Event-Driven Model-View-Controller Framework for {Smalltalk}}, Volume = {24}, Year = {1989} } @inproceedings{Shan90a, Author = {Yen-Ping Shan}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {olit oopsla90 ecoop90proc}, Month = oct, Pages = {258--268}, Title = {MoDE: {A} {UIMS} for {Smalltalk}}, Volume = {25}, Year = {1990} } @unpublished{Shan92a, Author = {Lujun Shang}, Keywords = {olit-obcl cluster binder}, Note = {Comp. Sci Dept., Nanjing University, China}, Title = {An Object-Oriented Approach to Construct Concurrent Behaviours}, Type = {draft}, Year = {1992} } @unpublished{Shan94a, Author = {David L. Shang}, Keywords = {olit binder}, Note = {Software Systems Research Laboratory, Motorola Inc.}, Title = {Covariant Deep Subtyping Reconsidered}, Type = {Draft}, Year = {1994} } @inproceedings{Shao93a, Author = {Zhong Shao and Andrew W. Appel}, Booktitle = {Principles of Programming Languages}, Publisher = {ACM}, Title = {Smartest recompilation}, Url = {ftp://ftp.cs.princeton.edu/techreports/1992/395.ps.gz}, Year = {1993}, Bdsk-Url-1 = {ftp://ftp.cs.princeton.edu/techreports/1992/395.ps.gz} } @article{Shap83a, Author = {E. Shapiro and A. Takeuchi}, Journal = {New Generation Computing}, Keywords = {olit-obc}, Pages = {25--48}, Title = {Object Oriented Programming in Concurrent Prolog}, Volume = {1}, Year = {1983} } @inproceedings{Shap89a, Address = {Nottingham}, Author = {Marc Shapiro and Philippe Gautron and Laurence Mossieri}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit c++ scglib ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {191--204}, Publisher = {Cambridge University Press}, Title = {Persistence and Migration for {C}++ Objects}, Year = {1989} } @techreport{Shap94a, Author = {Marc Shapiro and Paulo Ferreira}, Institution = {INRIA}, Keywords = {olit binder}, Month = nov, Number = {2399}, Title = {Larchant-{RDOSS}: {A} Distributed Shared Persistent Memory and Its Garbage Collector}, Type = {Technical Report}, Url = {ftp.inria.fr}, Year = {1994}, Bdsk-Url-1 = {ftp.inria.fr} } @inproceedings{Shar91a, Author = {Ravi Sharma and Mary Lou Soffa}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {16--32}, Title = {Parallel Generational Garbage Collection}, Volume = {26}, Year = {1991} } @article{Shar93a, Author = {Robert C. Sharble and Samuel S. Cohen}, Doi = {10.1145/159420.155839}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {2}, Pages = {60--73}, Publisher = {ACM Press}, Title = {The object-oriented brewery: a comparison of two object-oriented development methods}, Volume = {18}, Year = {1993}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/159420.155839} } @book{Shar96a, Author = {Subhash Sharma}, Keywords = {clustering}, Publisher = {John Wiley}, Title = {Applied Multivariate Techniques}, Year = {1996} } @book{Shar97a, Author = {Alec Sharp}, Keywords = {book smalltalk scglib oorp}, Publisher = {McGraw-Hill}, Title = {{Smalltalk} by Example}, Url = {http://stephane.ducasse.free.fr/FreeBooks/ByExample/}, Year = {1997}, Bdsk-Url-1 = {http://stephane.ducasse.free.fr/FreeBooks/ByExample/} } @inproceedings{Shar05a, Author = {Richard Sharp and Atanas Rountev}, Booktitle = {Proceedings of VISSOFT 2005 (3rd IEEE Workshop on Visualizing Software for Understanding and Analysis}, Pages = {8--13}, Publisher = {IEEE CS Press}, Title = {Interactive Exploration of UML Sequence Diagrams}, Year = {2005} } @misc{SharpSmalltalk, Author = {John Brant and Don Roberts}, Key = {SharpSmalltalk}, Keywords = {smalltalk dotnet}, Note = {http://www.refactory.com/Software/SharpSmalltalk/}, Title = {\#{Smalltalk} ({Sharp} {Smalltalk})}, Url = {http://www.refactory.com/Software/SharpSmalltalk/}, Bdsk-Url-1 = {http://www.refactory.com/Software/SharpSmalltalk/} } @article{Shaw77a, Author = {M. Shaw and W. Wulf}, Journal = {CACM}, Keywords = {olit lang alphard data abstraction}, Month = aug, Number = {8}, Pages = {553--564}, Title = {Abstraction and Verification in Alphard: Defining and Specifying Iteration and Generators}, Volume = {20}, Year = {1977} } @article{Shaw90a, Author = {M. Shaw}, Journal = {IEEE Software}, Keywords = {olit}, Month = nov, Number = {6}, Pages = {15--24}, Title = {Prospects for an Engineering Discipline of Software}, Volume = {7}, Year = {1990} } @article{Shaw95a, Doi = {10.1109/32.385970}, Author = {Shaw, Mary and DeLine, Robert and Klein, Daniel V. and Ross, Theodore L. and Young, David M. and Zelesnik, Gregory}, Journal = {IEEE Transactions on Software Engineering}, keywords = {damiencbib architecture unicon olit adl}, month = apr, Title = {Abstractions for software architecture and tools to support them}, volume = {21}, number = {4}, Year = {1995}, pages = {314--335}, publisher = {IEEE Computer Society}, address = {Piscataway, NJ, USA} } @book{Shaw96a, Author = {Mary Shaw and David Garlan}, Isbn = {0-13-182957-2}, Keywords = {olit scglib composition architecture sclit oorp}, Publisher = {Prentice-Hall}, Title = {Software Architecture: Perspectives on an Emerging Discipline}, Year = {1996} } @inproceedings{Shaw97a, Author = {Mary Shaw and Paul Clements}, Booktitle = {Joint Proceedings of the Second International Software Architecture Workshop and International Workshop on Multiple Perspectives in Software Development}, Pages = {50--54}, Title = {Toward Boxology: Preliminary Classification of Architectural Styles}, Year = {1997} } @article{Shaw06a, Doi = {10.1109/MS.2006.58}, author = {Shaw, Mary and Clements, Paul}, title = {The Golden Age of Software Architecture: A Comprehensive Survey}, journal = {IEEE Software}, volume = {23}, number = {2}, keywords = {damiencbib}, year = {2006}, pages = {31--39}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @inproceedings{Shea01a, Address = {London, UK}, Author = {Tim Sheard}, Booktitle = {SAIG 2001: Proceedings of the Second International Workshop on Semantics, Applications, and Implementation of Program Generation}, Isbn = {3-540-42558-6}, Keywords = {dsllit}, Pages = {2--44}, Publisher = {Springer-Verlag}, Title = {Accomplishments and Research Challenges in Meta-programming}, Year = {2001} } @inproceedings{Shel90a, Author = {Mark A. Sheldon}, Booktitle = {ACM Conference on Lisp and Functional Programming}, Keywords = {types fp tfc binder}, Month = jun, Title = {Static Dependent Types for First Class Modules}, Year = {1990} } @article{Shet90a, Author = {Amit P. Sheth and James A. Larson}, Journal = {ACM Computing Surveys}, Month = sep, Number = {3}, Pages = {183--236}, Title = {Federated Database Systems for Managing Distributed Heterogeneous, and Autonomous Databases}, Volume = {22}, Year = {1990} } @inproceedings{Shib88a, Author = {Etsuya Shibayama}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit-obc oopsla88}, Month = nov, Pages = {297--305}, Title = {How To Invent Distributed Implementation Schemes of an Object-Based Concurrent Language: {A} Transformational Approach}, Volume = {23}, Year = {1988} } @inproceedings{Shib92a, Author = {Etsuya Shibayama}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Matio Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {99--117}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Semantic Layers of Object-Based Concurrent Computing}, Volume = 612, Year = {1992} } @inproceedings{Shil89a, Author = {John J. Shilling and Peter F. Sweeney}, Booktitle = {ACM SIGPLAN Notices, Proceedings OOPSLA '89}, Keywords = {olit binder(oop) oopsla89}, Month = oct, Pages = {353--361}, Title = {Three Steps to Views: Extending the Object-Oriented Paradigm}, Volume = {24}, Year = {1989} } @article{Shil94a, Author = {J.J. Shilling and J.T. Stasko}, Journal = {Object-Oriented Systems}, Keywords = {olit binder}, Month = dec, Number = {1}, Pages = {5--20}, Publisher = {Chapman \& Hall}, Title = {Using Animation to Desing Object-Oriented Systems}, Volume = {1}, Year = {1994} } @article{Shin84a, Author = {K.G. Shin and Yut-Fai Lee}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-obc recovery reliability}, Month = nov, Number = {6}, Pages = {692--700}, Title = {Evaluation of Error Recovery Blocks Used for Cooperating Processes}, Volume = {SE-10}, Year = {1984} } @inproceedings{Shiv95a, Author = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina}, Booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, Title = {{SCAM}: A Copy Detection Mechanism for Digital Documents}, Url = {citeseer.ist.psu.edu/shivakumar95scam.html}, Year = {1995}, Bdsk-Url-1 = {citeseer.ist.psu.edu/shivakumar95scam.html} } @incollection{Shiv96a, Author = {Olin Shivers}, Booktitle = {Concurrency and Parallelism: Programming, Networking and Security}, Editor = {J. Jaffer and R.H.C. Yap}, Pages = {254--265}, Publisher = {Springer-Verlag}, Title = {A universal scripting framework or, {Lambda}: the ultimate little language}, Year = {1996} } @inproceedings{Shiv96b, Author = {Narayanan Shivakumar and H\'ector Garc\'{\i}a-Molina}, Booktitle = {Proceedings of the First ACM Conference on Digital Libraries (DL'96)}, Month = mar, Publishr = {ACM}, Title = {Building a Scalable and Accurate Copy Detection Mechanism}, Year = {1996} } @book{Shne80a, Author = {Shneiderman}, Publisher = {Winthrop Publishers}, Title = {Software Psychology: Human Factors in Computer and Information Systems}, Year = {1980} } @article{Shne83a, Author = {B. Shneiderman}, Journal = {IEEE Computer}, Keywords = {uilit}, Number = {8}, Pages = {57--69}, Title = {Direct Manipulation: {A} Step Beyond Programming Languages}, Volume = {16}, Year = {1983} } @inproceedings{Shne99a, Address = {College Park, Maryland 20742, U.S.A.}, Author = {Ben Shneiderman}, Booktitle = {IEEE Visual Languages}, Pages = {336-343}, Title = {The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations}, Year = {1996} } @book{Shne98a, Author = {Ben Shneiderman}, Edition = {Third}, Keywords = {scglib}, Publisher = {Addison Wesley Longman}, Title = {Designing the User Interface}, Year = {1998} } @article{Shoc82a, Author = {J. Shoch and J. Hupp}, Journal = {CACM}, Keywords = {olit-obc distribution worms}, Month = mar, Number = {3}, Pages = {172--180}, Title = {The Worm Programs --- Early Experience with a Distributed Computation}, Volume = {25}, Year = {1982} } @inproceedings{Shor82a, Author = {J. Short and R. Kilgour and M. Dodani}, Booktitle = {IFIP '82 Working Conference on Involving Micros in Education}, Keywords = {binder}, Month = mar, Publisher = {North-Holland}, Title = {The Application of Microcomputers to English Essay Wrinting: {A} Comparison of two Authoring Systems}, Year = {1992} } @inproceedings{Shri94a, Author = {C. Shrivastava and D. Carver and R. Shrivastava}, Booktitle = {Proceedings, Object-Oriented Methodologies and Systems}, Editor = {E. Bertino and S. Urban}, Keywords = {olit isooms94}, Pages = {221--231}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Ambiguity Resolution Algorithm}, Volume = {858}, Year = {1994} } @book{Shu88a, Author = {Nan C. Shu}, Keywords = {visprog}, Publisher = {Van Nostrand Reinhold company}, Title = {Visual Programming}, Year = {1988} } @techreport{Shul96a, Author = {Forrest Shull and Walcelio L. Melo and Victor R. Basili}, Institution = {University of Maryland Computer Science Department}, Number = {CS-TR-3597}, Title = {An inductive method for discovering design patterns from object-oriented software systems}, Url = {http://citeseer.nj.nec.com/shull96inductive.html}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/shull96inductive.html} } @inproceedings{Si97a, Author = {Antonio Si and Hong Va Leong and Rynson W. H. Lau}, Booktitle = {Proceedings of the ACM Symposion for Applied Computing}, Keywords = {information retrieval}, Month = feb, Pages = {70--77}, Publisher = {ACM}, Title = {{CHECK}: A Document Plagiarism Detection System}, Year = {1997} } @book{Sicil08a, address = {Berlin, Heidelberg}, editor = {Bruno Siciliano and Oussama Khatib}, publisher = {Springer}, title = {Springer Handbook of Robotics}, doi = {10.1007/978-3-540-30301-5}, year = {2008}, keywords = {robotics springer damiencbib}, isbn = {978-3-540-23957-4} } @book{Sieg96a, Author = {Jon Siegel}, Isbn = {0-471-12148-7}, Keywords = {corba scglib}, Publisher = {John Wiley % Sons}, Title = {{CORBA} Fundamentals and Programming}, Year = {1996} } @inproceedings{Siek00a, Address = {Erfurt, Germany}, Author = {Jeremy Siek and Andrew Lumsdaine}, Booktitle = {Proceedings First Workshop on C++ Template Programming}, Keywords = {generative programming archetype concept checking}, Month = oct, Title = {Concept checking: Binding parametric polymorphism in C++}, Url = {http://www.lsc.nd.edu/~jsiek/concept_checking.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.lsc.nd.edu/~jsiek/concept_checking.pdf} } @inproceedings{Siek06a, Author = {Jeremy G. Siek and Walid Taha}, Booktitle = {Proceedings, Scheme and Functional Programming Workshop 2006}, Pages = {81--92}, Publisher = {University of Chicago TR-2006-06}, Title = {Gradual Typing for Functional Languages}, Url = {http://scheme2006.cs.uchicago.edu/13-siek.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scheme2006.cs.uchicago.edu/13-siek.pdf} } @inproceedings{Siek07a, Author = {Jeremy Siek and Walid Taha}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'07)}, Doi = {10.1007/978-3-540-73589-2}, Isbn = {978-3-540-73588-5}, Pages = {151--175}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Gradual Typing for Objects}, Volume = {4609}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2} } @inproceedings{Siek09a, Author = {Jeremy Siek and Ronald Garcia and Walid Taha}, Booktitle = {Proceedings of the 18th European Symposium on Programming Languages and Systems}, Doi = {10.1007/978-3-642-00590-9_2}, Isbn = {978-3-642-00589-3}, Pages = {17--31}, Publisher = {Springer Verlag}, Title = {Exploring the Design Space of Higher-Order Casts}, Year = {2009} } @book{Sifa89a, Editor = {Joseph Sifakis}, Isbn = {3-540-52148-8}, Keywords = {concurrency regular processes}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Automatic Verification Methods for Finite State Systems: Proceedings}, Volume = {407}, Year = {1989} } @inproceedings{Siff97a, Author = {Michael Siff and Thomas Reps}, Booktitle = {Proceedings of ICSM '97 (International Conference on Software Maintenance)}, Keywords = {fca}, Pages = {170--179}, Publisher = {IEEE Computer Society Press}, Title = {Identifying {Modules} via {Concept} {Analysis}}, Url = {http://citeseer.nj.nec.com/siff97identifying.html}, Year = {1997}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/siff97identifying.html} } @article{Siff99a, 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.}, Author = {Michael Siff and Thomas Reps}, Journal = {Transactions on Software Engineering}, Keywords = {Concept analysis, modularization, software migration, software restructuring, reverse engineering, design recovery}, Month = nov, Number = {6}, Pages = {749--768}, Publisher = {IEEE Press}, Title = {Identifying Modules via Concept Analysis}, Volume = {25}, Year = {1999} } @book{Sigf96a, Author = {Stefan Sigfried}, Isbn = {0-7803-1095-0}, Keywords = {olit-gen scglib}, Publisher = {IEEE Press}, Title = {Understanding Object-Oriented Software Enginnering}, Year = {1996} } @article{Silb84a, Author = {A. Silberschatz}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-obc distribution}, Month = mar, Number = 2, Pages = {178--185}, Title = {Cell: {A} Distributed Computing Modularization Concept}, Volume = {SE-10}, Year = {1984} } @book{Silb97a, Author = {A. Silberschatz and H. Korth and S. Sudarshan}, Isbn = {0-07-044756-X}, Keywords = {databases scglib}, Publisher = {WCB/McGraw-Hill}, Title = {Database System Concepts}, Year = {1997} } @inproceedings{Sill06a, author = {Sillito, Jonathan and Murphy, Gail C. and De Volder, Kris}, title = {Questions programmers ask during software evolution tasks}, booktitle = {Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering}, series = {SIGSOFT '06/FSE-14}, year = {2006}, isbn = {1-59593-468-5}, location = {Portland, Oregon, USA}, pages = {23--34}, numpages = {12}, url = {http://doi.acm.org/10.1145/1181775.1181779}, doi = {10.1145/1181775.1181779}, acmid = {1181779}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {change tasks, development tools, empirical study, grounded theory, program comprehension, software evolution} } @article{Sill08a, author = {Sillito, Jonathan and Murphy, Gail C. and De Volder, Kris}, title = {Asking and Answering Questions during a Programming Change Task}, journal = {IEEE Trans. Softw. Eng.}, volume = {34}, issue = {4}, month = jul, year = {2008}, issn = {0098-5589}, pages = {434--451}, numpages = {18}, url = {http://portal.acm.org/citation.cfm?id=1446226.1446241}, doi = {10.1109/TSE.2008.26}, acmid = {1446241}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA}, keywords = {Software psychology, Programming Environments/Construction Tools, Enhancement} } @inproceedings{Silv96a, Address = {Linz, Austria}, Author = {Mauricio J.V. Silva and C. Robert Carlson}, Booktitle = {Proceedings ECOOP '96}, Editor = {P. Cointe}, Keywords = {olit ecoop96proc}, Month = jul, Pages = {366--397}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Conceptual Design of Active Object-Oriented Database Applications using Multi-level Diagrams}, Volume = {1098}, Year = {1996} } @inproceedings{Sim99a, Address = {Los Alamitos, CA, USA}, Author = {Susan Elliott Sim and Charles L.A. Clarke and Richard C. Holt and Anthony M. Cox}, Booktitle = {Proceedings of the International Conference on Software Maintenance (ICSM)}, Doi = {10.1109/ICSM.1999.792636}, Issn = {1063-6773}, Pages = {381}, Publisher = {IEEE Computer Society}, Title = {Browsing and Searching Software Architectures}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.1999.792636} } @inproceedings{Sim00a, Author = {Susan Elliott Sim and Margaret-Anne D. Storey}, Booktitle = {Proceedings of WCRE 2000}, Pages = {184--193}, Title = {A Structured Demonstration of Program Comprehension Tools}, Year = {2000} } @inproceedings{Sim03a, Address = {Portland, Oregon}, Author = {Susan E. Sim and Steve M. Easterbrook and Richard C. Holt}, Booktitle = {Proceedings, 25th International Conference on Software Engineering (ICSE'03}, Month = may, Title = {Using Benchmarking to Advance Research: A Challenge to Software Engineering}, Year = {2003} } @inproceedings{Simm91a, Author = {Sergui S. Simmel and Ivan Godard}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {230--246}, Title = {The Kala Basket: {A} Semantic Primitive Unifying Object Transactions, Access Control, Versions, and Configurations}, Volume = {26}, Year = {1991} } @techreport{Simm92a, author = {John W. Simmons and Stanley Jefferson and Daniel P. Friedman}, title = {Language Extension via First-class Interpreters}, Keywords = {refci reflection}, Institution = {Indiana University Computer Science Department}, Month = sep, Number = {362}, year = {1992}, url = {http://www.cs.indiana.edu/pub/techreports/TR362.pdf} } @techreport{Simm92b, author = {John W. Simmons and Daniel P. Friedman}, title = {A reflective system is as extensible as its internal representations: An illustration}, Keywords = {refci reflection}, Institution = {Indiana University Computer Science Department}, Month = sep, Number = {366}, year = {1992}, url = {http://www.cs.indiana.edu/pub/techreports/TR366.pdf} } @misc{Simm02a, Author = {Dave Simmons}, Key = {SS}, Note = {http://www.smallscript.com}, Title = {SmallScript}, Year = {2002} } @phdthesis{Simo76a, Author = {Charles Simonyi}, Month = dec, School = {XEROX PARC}, Title = {Meta-Programming: A Software Production Method}, Year = {1976} } @article{Simo94a, Author = {A.J.H. Simons and L.E. Kwang}, Journal = {Object-Oriented Systems}, Keywords = {olit binder}, Month = dec, Number = {1}, Pages = {21--44}, Publisher = {Chapman \& Hall}, Title = {An Optimizing delivery System for Object-Oriented Software}, Volume = {1}, Year = {1994} } @inproceedings{Simo98a, Author = {Anthony Simons and A.J.H. Simons and I.M. Graham}, Booktitle = {Proc. 2nd. ECOOP Workshop on Precise Behavioural Semantics}, Editor = {H. Kilov and B. Rumpe}, Keywords = {olit}, Title = {37 Things That Don't Work in Object Modelling with {UML}}, Url = {http://www.dcs.shef.ac.uk/~ajhs/abstracts.html#uml}, Year = {1998}, Bdsk-Url-1 = {http://www.dcs.shef.ac.uk/~ajhs/abstracts.html#uml} } @book{Simo01, Author = {Herbert A. Simon}, Edition = {3rd}, Isbn = {0-262-19374-4}, Keywords = {design ai scglib}, Publisher = {MIT Press}, Title = {The Sciences of the Artificial}, Year = {2001} } @article{Simo02a, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {May-June}, Month = may, Number = {1}, Pages = {55--61}, Title = {The Theory of Classification, Part 1: Perspectives on Type Compatibility}, Url = {http://www.jot.fm/issues/issue_2002_05/column5}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2002_05/column5} } @article{Simo02b, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {July-August}, Month = jul, Number = {2}, Pages = {47--54}, Title = {The Theory of Classification, Part 2: The Scratch-Built Typechecker}, Url = {http://www.jot.fm/issues/issue_2002_07/column4}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2002_07/column4} } @article{Simo02c, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {September-October}, Month = sep, Number = {4}, Pages = {49--57}, Title = {The Theory of Classification, Part 3: Object Encodings and Recursion}, Url = {http://www.jot.fm/issues/issue_2002_09/column4}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2002_09/column4} } @article{Simo02d, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {November-December}, Month = nov, Number = {5}, Pages = {27--35}, Title = {The Theory of Classification, Part 4: Object Types and Subtyping}, Url = {http://www.jot.fm/issues/issue_2002_11/column2}, Volume = {1}, Year = {2002}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2002_11/column2} } @article{Simo03a, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {January-February}, Month = jan, Number = {1}, Pages = {13--21}, Title = {The Theory of Classification, Part 5: Axioms, Assertions and Suptyping}, Url = {http://www.jot.fm/issues/issue_2003_01/column2}, Volume = {2}, Year = {2003}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2003_01/column2} } @article{Simo03b, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {March-April}, Month = mar, Number = {2}, Pages = {17--26}, Title = {The Theory of Classification, Part 6: The Subtyping Inquisition}, Url = {http://www.jot.fm/issues/issue_2003_03/column2}, Volume = {2}, Year = {2003}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2003_03/column2} } @article{Simo03c, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {May-June}, Month = may, Number = {3}, Pages = {13--22}, Title = {The Theory of Classification, Part 7: A Class is a Type Family}, Url = {http://www.jot.fm/issues/issue_2003_05/column2}, Volume = {2}, Year = {2003}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2003_05/column2} } @article{Simo03d, Author = {Anthony J. H. Simons}, Journal = {Journal of Object Technology}, Keywords = {ioom-types pl-lit-types}, Misc = {July-August}, Month = jul, Number = {4}, Pages = {55--64}, Title = {The Theory of Classification, Part 8: Classification and Inheritance}, Url = {http://www.jot.fm/issues/issue_2003_07/column4}, Volume = {2}, Year = {2003}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2003_07/column4} } @inproceedings{Simo06a, Address = {New York, NY, USA}, Author = {Doug Simon and Cristina Cifuentes and Dave Cleal and John Daniels and Derek White}, Booktitle = {VEE '06: Proceedings of the 2nd international conference on Virtual execution environments}, Doi = {10.1145/1134760.1134773}, Isbn = {1-59593-332-6}, Location = {Ottawa, Ontario, Canada}, Pages = {78--88}, Publisher = {ACM Press}, Title = {{Java} on the bare metal of wireless sensor devices: the {Squawk} {Java} virtual machine}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1134760.1134773} } @inproceedings{Simo06b, Author = {Charles Simonyi and Magnus Christerson and Shane Clifford}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1167473.1167511}, Isbn = {1-59593-348-4}, Keywords = {dsllit}, Location = {Portland, Oregon, USA}, Pages = {451--464}, Publisher = {ACM}, Title = {Intentional software}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167511} } @phdthesis{Simp96a, Author = {Loren Taylor Simpson}, Month = may, Number = {TR98-308}, School = {Rice University}, Title = {Value-Driven Redundancy Elimination}, Url = {citeseer.ist.psu.edu/66713.html}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/66713.html} } @phdthesis{Sing96a, Author = {Vivek P. Singhal}, Month = sep, School = {University of Texas at Austin}, Title = {A Programming Language for Writing Domain-Specific Software System Generators}, Url = {http://www.cs.utexas.edu/users/schwartz/pub.htm#vivek-thesis}, Year = {1996}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/schwartz/pub.htm#vivek-thesis} } @inproceedings{Sing05a, Address = {Washington, DC, USA}, Author = {Janice Singer and Robert Elves and Margaret-Anne Storey}, Booktitle = {International Conference on Software Maintenance (ICSM'05)}, Doi = {10.1109/ICSM.2005.66}, Isbn = {0-7695-2368-4}, Month = {sep}, Pages = {325--335}, Publisher = {IEEE Computer Society}, Title = {{NavTracks}: Supporting Navigation in Software Maintenance}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2005.66} } @book{Siob05, Author = {Siobh\'{a}n Clarke and Elisa Baniassad}, Isbn = {0-321-24674-8}, Publisher = {Addison-Wesley}, Title = {Aspect-Oriented Analysis and Design. The Theme Approach.}, Year = {2005} } @article{Sita94a, Author = {Murali Sitaraman and Bruce Weide}, Doi = {10.1145/190679.199221}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {4}, Pages = {21--22}, Publisher = {ACM Press}, Title = {Component-based software using {RESOLVE}}, Volume = {19}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/190679.199221} } @proceedings{Sita96a, Address = {Orlando, Florida}, Booktitle = {Fourth International Conference on Software Reuse}, Editor = {Murali Sitarama}, Isbn = {0-8186-7301-X}, Keywords = {reuse scglib}, Month = apr, Publisher = {IEEE}, Title = {Software Reuse}, Year = {1996} } @techreport{Sivi97a, Author = {Sivilotti, Paolo A.G. and Chandy, K. Mani}, Institution = {California Institute of Technology, Pasadena}, Keywords = {olit repository abb}, Month = sep, Title = {{A Distributed Infrastructure for Software Component Technology}}, Url = {http://www.cis.ohio-state.edu/~paolo/research/cs-tr-97-32.ps}, Year = {1997}, Bdsk-Url-1 = {http://www.cis.ohio-state.edu/~paolo/research/cs-tr-97-32.ps} } @inproceedings{Siy08a, Address = {New York, NY, USA}, Author = {Siy, Harvey and Chundi, Parvathi and Subramaniam, Mahadevan}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370784}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {137--140}, Publisher = {ACM}, Title = {Summarizing developer work history using time series segmentation: challenge report}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370784} } @inproceedings{Skar86a, Author = {Andrea H. Skarra and Stanley B. Zdonik}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {types olit oodb encore oopsla86}, Month = nov, Pages = {483--495}, Title = {The Management of Changing Types in an Object-Oriented Database}, Volume = {21}, Year = {1986} } @incollection{Skar87a, Address = {Cambridge, Mass.}, Author = {Andrea H. Skarra and Stanley B. Zdonik}, Booktitle = {Research Directions in Object-Oriented Programming}, Editor = {B. Shriver and P. Wegner}, Keywords = {types olit oodb versions rdoop87 oobib(oodb)}, Pages = {393--415}, Publisher = {MIT Press}, Title = {The Management of Changing Types in an Object-Oriented Database}, Year = {1987} } @article{Skog03a, Address = {Los Alamitos, CA, USA}, Author = {Tobias Skog and Sara Ljungblad and Lars Erik Holmquist}, Doi = {10.1109/INFVIS.2003.1249031}, Isbn = {0-7695-2055-3}, Journal = {2003 IEEE Symposium on Information Visualization}, Pages = {30}, Publisher = {IEEE Computer Society}, Title = {Between Aesthetics and Utility: Designing Ambient Information Visualizations}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/INFVIS.2003.1249031} } @misc{Slate, Key = {Slate}, Keywords = {slate}, Note = {\url{http://slate.tunes.org}}, Title = {Slate} } @inproceedings{Sliw05a, Address = {Saint Lous, Missouri, USA}, Author = {Jacek \'{Sliwerski} and Thomas Zimmermann and Andreas Zeller}, Booktitle = {Proceedings of International Workshop on Mining Software Repositories --- MSR'05}, Publisher = {ACM Press}, Title = {When Do changes Induce Fixes?}, Year = {2005} } @book{Sloc05a, Address = {Upper Saddle River, New Jersey}, Author = {Terry A. Slocum and Robert B. McMaster and Fritz C. Kessler and Hugh H. Howard}, Isbn = {0-13-035123-7}, Publisher = {Pearson Prentice Hall}, Title = {Thematic Carthography and Geographic Visualization}, Year = {2005} } @inproceedings{Slom01a, Author = {A. Slominski and M. Govindaraju and D. Gannon and R. Bramley}, Booktitle = {In Proceedings of PDPTA'01}, Month = jun, Pages = {1661--1667}, Title = {Design of an XML based Interoperable RMI System: SoapRMI C++/Java 1.1}, Year = {2001} } @misc{SmaCC, Author = {John Brant and Don Roberts}, Key = {SmaCC}, Keywords = {smalltalk parser scanner compiler}, Note = {http://www.refactory.com/Software/SmaCC/}, Title = {{SmaCC}, a {Smalltalk} {Compiler}-{Compiler}}, Url = {http://www.refactory.com/Software/SmaCC/}, Bdsk-Url-1 = {http://www.refactory.com/Software/SmaCC/} } @inproceedings{Smar98a, Address = {Brussels, Belgium}, Author = {Yannis Smaragdakis and Don Batory}, Booktitle = {Proceedings ECOOP '98}, Editor = {Eric Jul}, Keywords = {mixin-layers}, Month = jul, Pages = {550--570}, Series = {LNCS}, Title = {Implementing Layered Design with Mixin Layers}, 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}, Volume = 1445, Year = {1998}, Bdsk-Url-1 = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/t1445.htm%20http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/1445/14450550.pdf%20http://www.cs.utexas.edu/users/schwartz/pub.htm#ecoop-templates%20ftp://ftp.cs.utexas.edu/pub/predator/ecoop98.pdf} } @inproceedings{Smar98b, Address = {Victoria, Canada}, Author = {Yannis Smaragdakis and Don Batory}, Booktitle = {5th International Conference on Software Reuse}, Month = jun, Title = {Implementing Reusable Object-Oriented Components}, Url = {http://www.cs.utexas.edu/users/schwartz/pub.htm#templates}, Year = {1998}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/schwartz/pub.htm#templates} } @inproceedings{Smar00a, Address = {Erfurt, Germany}, Author = {Yannis Smaragdakis and Don Batory}, Booktitle = {2nd Symposium on Generative and Component-Based Software Engineering (GCSE 2000)}, Title = {Mixin-Based Programming in {C}++}, Year = {2000} } @article{Smar02a, Author = {Yannis Smaragdakis and Don Batory}, Doi = {10.1145/505145.505148}, Journal = {ACM TOSEM}, Keywords = {mixin-layers}, Month = apr, Number = {2}, Pages = {215--255}, Title = {Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs}, Url = {http://www.cs.utexas.edu/users/schwartz/pub.htm ftp://ftp.cs.utexas.edu/pub/predator/layers.pdf}, Volume = {11}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.utexas.edu/users/schwartz/pub.htm%20ftp://ftp.cs.utexas.edu/pub/predator/layers.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/505145.505148} } @inproceedings{Smar02b, Author = {Yannis Smaragdakis}, Booktitle = {Proceedings ICSR 2002}, Editor = {Cristina Gacek}, Isbn = {3-540-43483-6}, Pages = {33--45}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Layered Development with ({Unix}) Dynamic Libraries}, Volume = {2319}, Year = {2002} } @misc{SmartBuilding, Author = {UC Berkeley}, Note = {Research from the College of Engineering: http://www.coe\-.berkeley.edu\-/labnotes\-/\-1101smartbuildings\-.html}, Title = {Smart Building Admit Their Faults}, Url = {http://www.coe.berkeley.edu/labnotes/1101smartbuildings.html}, Year = {2001}, Bdsk-Url-1 = {http://www.coe.berkeley.edu/labnotes/1101smartbuildings.html} } @misc{SmartDust, Key = {Smart Dust}, Note = {http://www-bsac.eecs.berkeley.edu/archive/users/warneke-brett/SmartDust/index.html}, Title = {Smart Dust}, Url = {http://www-bsac.eecs.berkeley.edu/archive/users/warneke-brett/SmartDust/index.html}, Bdsk-Url-1 = {http://www-bsac.eecs.berkeley.edu/archive/users/warneke-brett/SmartDust/index.html} } @incollection{Smia10a, Abstract = {Reuse of software artifacts (blueprints and code) is normally associated with organising a systematic reuse framework most often constructed for a specific problem domain. In this paper we present a system (language, tool, reuse process) where software reuse is based on building and retrieving of so-called software cases (large compound artifacts) that can be reused between domains. The system is opportunistic in that software cases result from usual (non-reuse oriented) activities where also semantic information is added. This information is used to support regular development but may serve later to retrieve software cases. Having this common semantic basis, we can organise a systematic cross-domain reuse process where application logic of one system can be reused for systems within different domains.}, Address = {Berlin, Heidelberg}, Author = {\'{S}mia{\l}ek, Micha{\l} and Kalnins, Audris and Kalnina, Elina and Ambroziewicz, Albert and Straszak, Tomasz and Wolter, Katharina}, Booktitle = {SOFSEM 2010: Theory and Practice of Computer Science}, Chapter = {58}, Citeulike-Article-Id= {6776167}, Doi = {10.1007/978-3-642-11266-9_58}, Editor = {Leeuwen, Jan and Muscholl, Anca and Peleg, David and Pokorn\'{y}, Jaroslav and Rumpe, Bernhard}, Isbn = {978-3-642-11265-2}, Keywords = {sofsem, spl}, Pages = {697--708}, Publisher = {Springer Berlin Heidelberg}, Title = {Comprehensive System for Systematic Case-Driven Software Reuse}, Volume = {5901}, Year = {2010}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-11266-9_58} } @phdthesis{Smit97a, Address = {Stanford, CA, USA}, Author = {David Canfield Smith}, Order_No = {AAI7525608}, School = {Stanford University}, Title = {Pygmalion: a creative programming environment}, Year = {1975} } @article{Smit77a, Author = {J.M. Smith and D.C.P. Smith}, Journal = {CACM}, Keywords = {dblit data abstraction}, Month = jun, Number = {6}, Pages = {405--413}, Title = {Database Abstractions: Aggregation}, Volume = {20}, Year = {1977} } @article{Smit77b, Author = {J.M. Smith and D.C.P. Smith}, Journal = {ACM TODS}, Keywords = {dblit data abstraction}, Month = jun, Number = {2}, Pages = {105--133}, Title = {Database abstractions: Aggregation and Generalization}, Volume = {2}, Year = {1977} } @article{Smit82a, Author = {D.C.S. Smith and C. Irby and R. Kimball and B. Verplank and E. Harlem}, Journal = {Byte}, Keywords = {olit-appl star ui}, Month = apr, Number = {4}, Pages = {242--282}, Title = {Designing the Star User Interface}, Volume = {7}, Year = {1982} } @inproceedings{Smit82b, Author = {D.C.S. Smith and C. Irby and R. Kimball and E. Harslam}, Booktitle = {Proceedings AFIPS National Computer Conference}, Keywords = {uilit star}, Month = jun, Pages = {515--528}, Title = {The Star User Interface: An Overview}, Volume = {51}, Year = {1982} } @phdthesis{Smit82c, Address = {Cambridge, MA}, Author = {Brian Cantwell Smith}, School = {MIT}, Number = {TR-272}, Title = {Reflection and Semantics in a Procedural Language}, Type = {{Ph.D}. Thesis}, Url = {http://repository.readscheme.org/ftp/papers/bcsmith-thesis.pdf}, Year = {1982} } @inproceedings{Smit83a, Author = {Reid G. Smith}, Booktitle = {Proceedings of the Eighth International Joint Conference on Artificial Intelligence}, Keywords = {olit-oopl strobe lisp}, Month = aug, Pages = {855--858}, Title = {Strobe: Support for Structured Object Knowledge Representation}, Volume = {2}, Year = {1983} } @inproceedings{Smit84a, Author = {Brian Cantwell Smith}, Booktitle = {Proceedings of POPL '84}, Pages = {23--3}, Title = {Reflection and Semantics in {Lisp}}, Keywords = {uni-refl}, Year = {1984}, Doi = {10.1145/800017.800513} } @inproceedings{Smit86a, Author = {Reid G. Smith and Rick Dinitz and Paul Barth}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-appl impulse86 ui oopsla86}, Month = nov, Pages = {167--176}, Title = {Impulse-86: {A} Substrate for Object-Oriented Interface Design}, Volume = {21}, Year = {1986} } @inproceedings{Smit87a, Author = {Karen E. Smith and Stanley B. Zdonik}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {452--465}, Title = {Intermedia: {A} Case Study of the Differences Between Relational and Object-Oriented Database Systems}, Volume = {22}, Year = {1987} } @article{Smit87b, Address = {New York, NY, USA}, Author = {Randall B. Smith}, Doi = {10.1145/30851.30861}, Issn = {0736-6906}, Journal = {SIGCHI Bull.}, Keywords = {visprog ark}, Number = {SI}, Pages = {61--67}, Publisher = {ACM}, Title = {Experiences with the alternate reality kit: an example of the tension between literalism and magic}, Volume = {17}, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/30851.30861} } @inproceedings{Smit94a, Author = {Walter R.Smith}, Booktitle = {Proceedings of the 39th IEEE Computer Society International Conference}, Keywords = {ioom ioom-prototype uilit star}, Month = jun, Pages = {156--161}, Title = {The Newton Application Architecture}, Year = {1994} } @inproceedings{Smit95a, Address = {Aarhus, Denmark}, Author = {Randall B. Smith and David Ungar}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {303--330}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Programming as an Experience: The Inspiration for Self}, Volume = {952}, Year = {1995} } @book{Smit95b, Author = {David N. Smith}, Isbn = {0-8053-0908-X}, Keywords = {olit smalltalk scglib}, Publisher = {Benjamin/Cummings Publishing}, Title = {{Smalltalk} the Language}, Year = {1995} } @inproceedings{Smit95c, Author = {W.R. Smith}, Booktitle = {Proceedings of OOPSLA '95}, Keywords = {ioom ioom-prototype}, Month = oct, Organization = {ACM}, Pages = {61--73}, Title = {Using a Prototype-based Language for User Interface: The Newton Project's Experience}, Year = {1995} } @article{Smit96a, Author = {Randall B. Smith and Dave Ungar}, Doi = {10.1002/(SICI)1096-9942(1996)2:3%3C161::AID-TAPO3%3E3.0.CO;2-Z}, Journal = {TAPOS special issue on Subjectivity in Object-Oriented Systems}, Keywords = {cop-lit}, Number = {3}, Pages = {161--178}, Title = {A Simple and Unifying Approach to Subjective Objects}, Url = {http://www.mip.sdu.dk/~bnj/library/Us_Ungar.pdf}, Volume = {2}, Year = {1996}, Bdsk-Url-1 = {http://www.mip.sdu.dk/~bnj/library/Us_Ungar.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/(SICI)1096-9942(1996)2:3%3C161::AID-TAPO3%3E3.0.CO;2-Z} } @inproceedings{Smit00a, Author = {Raymond Smith and Bogdan Korel}, Booktitle = {AADebug 2000 International Workshop on Automated Debugging}, Note = {Demo}, Title = {Slicing Event Traces of Large Software Systems}, Year = {2000} } @inproceedings{Smit00b, Address = {London, UK}, Author = {Frederick Smith and David Walker and J. Gregory Morrisett}, Booktitle = {ESOP '00: Proceedings of the 9th European Symposium on Programming Languages and Systems}, Isbn = {3-540-67262-1}, Keywords = {nonstandard types}, Pages = {366--381}, Publisher = {Springer-Verlag}, Title = {Alias Types}, Url = {http://www.it-c.dk/people/birkedal/teaching/rar-seminar-Fall-2001/papers/alias.ps.gz}, Year = {2000}, Bdsk-Url-1 = {http://www.it-c.dk/people/birkedal/teaching/rar-seminar-Fall-2001/papers/alias.ps.gz} } @book{Smit00c, Author = {Graeme Smith}, Keywords = {scglib}, Publisher = {Kluwer Academic Publishers}, Title = {The Object-Z Specification Language}, Year = {2000} } @inproceedings{Smit02a, Author = {Michael P. Smith and Malcolm Munro}, Booktitle = {Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis}, Isbn = {0-7695-1662-9}, Pages = {81}, Publisher = {IEEE Computer Society}, Title = {Runtime Visualisation of Object Oriented Software}, Year = {2002} } @inproceedings{Smit03, Author = {Smith, David A. and Alan Kay and Andreas Raab and David P. Reed}, Booktitle = {Proceedings of the First Conference on Creating, Connecting and Collaborating through Computing}, Keywords = {croquet, smalltalk, squeak}, Pages = {2--9}, Title = {Croquet, A Collaboration System Architecture}, Url = {http://www.croquetconsortium.org/images/2/2b/2003_Croquet_Collab_Arch.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.croquetconsortium.org/images/2/2b/2003_Croquet_Collab_Arch.pdf} } @techreport{Smit03a, Author = {Jason McC. Smith and David Stotts}, Institution = {Department of Computer Science, University of North Carolina, Chapel Hill, USA}, Month = may, Title = {SPQR: Flexible Automated Design Pattern Extraction from Source Code}, Type = {TR03-016}, Year = {2003} } @inproceedings{Smit05a, Author = {Charles Smith and Sophia Drossopoulou}, Booktitle = {Proceedings ECOOP 2005}, Title = {Chai: Typed Traits in {Java}}, Year = {2005} } @book{Smit05b, Author = {James E. Smith and Ravi Nair}, Isbn = {1-55860-910-5}, Keywords = {scglib}, Publisher = {Morgan Kaufmann}, Title = {Virtual Machines}, Year = {2005} } @inproceedings{Smit05c, Author = {Smith and Munro}, Booktitle = {VISSOFT}, Month = sep, Publisher = {IEEE CS}, Title = {Identifying Structural Features of Java Programs by Analysing the Interaction of Classes at Runtime}, Year = {2005} } @inproceedings{Smith01a, Author = {S. Smith and G. Meszaros}, Booktitle = {Proceedings of the Third XP and Second Agile Universe Conference}, Pages = {88--91}, Title = {Increasing the Effectiveness of Automated Testing}, Year = {2001} } @techreport{Smol89a, Address = {Stuttgart}, Author = {Gert Smolka}, Institution = {IBM Germany}, Keywords = {olit logic binder (shelf)}, Month = nov, Note = {To appear in Journal of Logic Programming}, Number = {93}, Title = {Feature Constraint Logics for Unification Grammars}, Type = {IWBS Report}, Year = {1989} } @inproceedings{Smol94a, Author = {Gert Smolka}, Booktitle = {Proceedings of Constraints in Computational Logics}, Editor = {J.-P. Jouannaud}, Note = {Available as Research Report RR-94-16 from DFKI Kaiserslautern}, Pages = {50--72}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Foundation for Higher-Order Concurrent Constraint Programming}, Volume = {845}, Year = {1994} } @unpublished{Smol95a, Author = {Gert Smolka}, Keywords = {oobib(concurrency) olit-obcp binder}, Misc = {January 24}, Month = jan, Note = {German Research Center for Artificial Intelligence (DFKI)}, Title = {A Survey of Oz}, Type = {Draft}, Year = {1995} } @book{Smol95b, Author = {Gert Smolka}, Keywords = {oobib(concurrency) oz binder}, Month = feb, Publisher = {DFKI Oz Documentation Series}, Title = {An Oz Primer}, Url = {http://www.mozart-oz.org/index.html}, Year = {1995}, Bdsk-Url-1 = {http://www.mozart-oz.org/index.html} } @incollection{Smol95c, Address = {Berlin}, Author = {Gert Smolka}, Booktitle = {Computer Science Today}, Editor = {Jan van Leeuwen}, Keywords = {oobib(concurrency) binder}, Pages = {324--343}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {The {Oz} Programming Model}, Url = {http://www.mozart-oz.org/papers/}, Volume = 1000, Year = {1995}, Bdsk-Url-1 = {http://www.mozart-oz.org/papers/} } @techreport{Smol01a, Author = {Smolander and Hoikka and Isokallio and Kataikko and M{\"a}kel{\"a} and K{\"a}lvi{\"a}inen}, Institution = {Univ. Lappeenranta}, Title = {Required and Optional Viewpoints --- What Is Included in Software Architecture?}, Year = {2001} } @book{Smul82a, Author = {Raymond Smullyan}, Keywords = {scglib}, Publisher = {Oxford}, Title = {The Lady or the Tiger? and other Logic Puzzles}, Year = {1982} } @book{Snea73a, Address = {San Francisco}, Author = {P.H.A. Sneath and R.R. Sokal}, Keywords = {clustering}, Publisher = {W. H. Freeman and Company}, Title = {Numerical Taxonomy: The Principles and Practice of Numerical Classification}, Year = {1973} } @inproceedings{Snee99a, Author = {Harry M. Sneed}, Booktitle = {Proceedings of the 6th Working Conference on Reverse Engineering (WCRE)}, Keywords = {oorp}, Publisher = {IEEE}, Title = {Risks Involved in Reengineering Projects}, Year = {1999} } @article{Snel96a, Author = {Gregor Snelting}, Journal = {ACM Transactions on Software Engineering and Methodology}, Keywords = {fca}, Month = apr, Number = {2}, Pages = {146--189}, Title = {Reengineering of {Configurations} {Based} on {Mathematical} {Concept} {Analysis}}, Volume = {5}, Year = {1996} } @techreport{Snel97a, Address = {IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598, USA}, Author = {Gregor Snelting and Frank Tip}, Institution = {{IBM} T.J. Watson Research Center}, Keywords = {fca}, Number = {RC 21164(94592)24APR97}, Title = {Reengineering {Class} {Hierarchies} using {Concept} {Analysis}}, Url = {http://citeseer.nj.nec.com/snelting98reengineering.html}, Year = {1997}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/snelting98reengineering.html} } @inproceedings{Snel98a, Author = {Gregor Snelting and Frank Tip}, Booktitle = {ACM Trans. Programming Languages and Systems}, Keywords = {fca}, Title = {Reengineering {Class} {Hierarchies} using {Concept} {Analysis}}, Year = {1998} } @inproceedings{Snel98b, Address = {Montreal, Canada}, Author = {Gregor Snelting}, Booktitle = {SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE)}, Keywords = {fca}, Month = jun, Pages = {1--10}, Publisher = {ACM Press}, Title = {Concept {Analysis} --- A {New} {Framework} for {Program} {Understanding}}, Year = {1998} } @inproceedings{Snel00a, Author = {Gregor Snelting}, Booktitle = {Proceedings 4th European Conference on Software Maintenance and Reengineeering}, Keywords = {fca}, Organization = {IEEE}, Pages = {3--12}, Title = {Software Reengineering Based on Concept Lattices}, Url = {http://citeseer.nj.nec.com/snelting00software.html}, Year = {2000}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/snelting00software.html} } @article{Snel00b, Author = {Gregor Snelting and Frank Tip}, Journal = {ACM Trans. on Programming Languages and Systems}, Keywords = {fca}, Month = may, Pages = {540--582}, Title = {Understanding {Class} {Hierarchies} {Using} {Concept} {Analysis}}, Year = {2000} } @manual{Sniff96a, Organization = {TakeFive Software GmbH}, Title = {SNiFF+}, Year = {1996} } @manual{Sniff00a, Organization = {Wind River}, Title = {SNiFF+}, Url = {http://www.windriver.com/products/sniff_plus/index.html}, Year = {2000}, Bdsk-Url-1 = {http://www.windriver.com/products/sniff_plus/index.html} } @article{Snod83a, Author = {R. Snodgrass}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-oopl oocl}, Month = jan, Number = {1}, Pages = {1--8}, Title = {An Object-Oriented Command Language}, Volume = {SE-9}, Year = {1983} } @phdthesis{Snyd79a, Author = {Alan Snyder}, Keywords = {olit architecture casais}, Number = {MIT/LCS/TR209}, School = {MIT lab. for Computer sciences}, Title = {A Machine Architecture to Support an Object-Oriented Language}, Type = {{Ph.D}. Thesis}, Year = {1979} } @inproceedings{Snyd86a, Author = {Alan Snyder}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Doi = {10.1145/28697.28702}, Keywords = {olit-inheritance concepts oopsla86 binder(oop) oobib(inh)}, Month = nov, Pages = {38--45}, Title = {Encapsulation and Inheritance in Object-Oriented Programming Languages}, Volume = {21}, Year = {1986}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/28697.28702} } @article{Snyd86b, Author = {Alan Snyder}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-oopl commonobjects lisp flavors oopws86 oobib(oopl)}, Month = oct, Number = {10}, Pages = {19--28}, Title = {CommonObjects: An Overview}, Volume = {21}, Year = {1986} } @incollection{Snyd87a, Author = {Alan Snyder}, Booktitle = {Research Directions in Object-Oriented Programming}, Keywords = {olit}, Pages = {165--188}, Publisher = {MIT Press}, Title = {Inheritance and the Development of Encapsulated Software Systems}, Year = {1987} } @article{Snyd91a, Author = {Alan Snyder}, Journal = {ACM OOPS Messenger}, Keywords = {olit}, Month = jan, Number = {1}, Pages = {2--7}, Title = {How to Get Your Paper Accepted at {OOPSLA}}, Volume = {2}, Year = {1991} } @inproceedings{Snyd91b, Address = {Geneva, Switzerland}, Author = {Alan Snyder}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {1--20}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Modeling the {C}++ Object Model, An Application of an Abstract Object Model}, Volume = 512, Year = {1991} } @article{Snyd93a, Author = {Alan Snyder}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {31--42}, Title = {The Essence of Objects: Concepts and Terms}, Volume = {10}, Year = {1993} } @inproceedings{Snyd93b, Author = {Alan Snyder}, Booktitle = {ACM OOPS Messenger, Addendum to the Proceedings of OOPSLA 1993}, Keywords = {olit odp corba}, Month = apr, Pages = {67--68}, Title = {Open Systems for Software: An Object-Oriented Solution}, Volume = {5}, Year = {1994} } @book{Snyd03a, Author = {Carolyn Snyder}, Isbn = {1558608702}, Keywords = {book scglib}, Publisher = {Morgan Kaufmann}, Title = {Paper Prototyping}, Year = {2003} } @book{Soan01a, Editor = {Catherine Soanes}, Keywords = {examples}, Month = jul, Publisher = {Oxford University Press}, Title = {Oxford Dictionary of Current English}, Year = {2001} } @inproceedings{Sobe96a, Address = {San Francisco, USA}, author = {J.M. Sobel and Daniel P. Friedman}, Booktitle = {Proceedings of the 1st International Conference on Metalevel Architectures and Reflection (Reflection 96)}, Editor = {Gregor Kiczales}, Month = apr, title = {An Introduction to Reflection-Oriented Programming}, year = {1996} } @inproceedings{Sobr08a, Author = {Victor Sobreira and Marcelo de Almeida Maia}, Booktitle = {Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008)}, Title = {A Visual Trace Analysis Tool for Understanding Feature Scattering}, Year = {2008} } @inproceedings{Soch06a, Author = {Periklis Sochos and Matthias Riebisch and Ilka Philippow}, Booktitle = {Proceedings of International Symposium on Engineering of Computer Based Systems (ECBS'06)}, Pages = {308--318}, Publisher = {IEEE Computer Society}, Title = {The Feature-Architecture Mapping (FArM) Method for Feature-Oriented Development of Software Product Lines}, Year = {2006} } @book{Sole90a, Address = {Frameington, MA}, Editor = {Richard Soley}, Keywords = {olit omg scglib}, Month = jun, Publisher = {Object Management Group}, Title = {Object Management Architecture Guide: Revision 3.0}, Year = {1995} } @phdthesis{Solm05a, Author = {Riccardo Solmi}, Keywords = {dsllit}, Month = mar, School = {University of Bologna}, Title = {Whole Platform}, Url = {http://www.cs.unibo.it/pub/TR/UBLCS/2005/2005-07.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.unibo.it/pub/TR/UBLCS/2005/2005-07.pdf} } @article{Solo86a, Address = {San Francisco, CA, USA}, Author = {E. Soloway and K. Ehrlich}, Isbn = {0-934613-12-5}, Journal = {Readings in artificial intelligence and software engineering}, Pages = {507--521}, Publisher = {Morgan Kaufmann Publishers Inc.}, Title = {Empirical studies of programming knowledge}, Year = {1986} } @article{Solo88a, Author = {Elliot Soloway and Robin Lampert and Stan Letovsky and David Littman and Jeannine Pinto}, Journal = {Commununications of ACM}, Number = {11}, Pages = {1259--1267}, Publisher = {ACM Press}, Title = {Designing {Documentation} to {Compensate} for {Delocalized} {Plans}}, Volume = {31}, Year = {1988} } @book{Somm92a, Author = {Ian Sommerville}, Edition = {Fourth}, Isbn = {0-201-56529-3}, Keywords = {se}, Publisher = {Addison Wesley}, Title = {Software Engineering}, Year = {1992} } @proceedings{Somm93a, Editor = {Ian Sommerville and Manfred Paul}, Isbn = {3-540-57209-0}, Keywords = {esec93 book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{Proceedings of ESEC '93}}, Volume = {717}, Year = {1993} } @book{Somm96a, Author = {Ian Sommerville}, Edition = {Fifth}, Isbn = {0-201-42765-6}, Keywords = {book scglib oorp}, Publisher = {Addison Wesley}, Title = {Software Engineering}, Year = {1996} } @book{Somm00a, Author = {Ian Sommerville}, Edition = {Sixth}, Keywords = {book oorp scglib}, Publisher = {Addison Wesley}, Title = {Software Engineering}, Year = {2000} } @inproceedings{Song06a, Address = {Washington, DC, USA}, Author = {Haitao Song and Yingyu Yin and Shixiong Zheng}, Booktitle = {ISDA '06: Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)}, Doi = {10.1109/ISDA.2006.137}, Isbn = {0-7695-2528-8}, Pages = {1003--1008}, Publisher = {IEEE Computer Society}, Title = {Dynamic Aspects Weaving in Service Composition}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ISDA.2006.137} } @inproceedings{Soni95a, Address = {Seattle}, Author = {Dilip Soni and Robert L. Nord and Christine Hofmeister}, Booktitle = {Proceedings ICSE '95}, Keywords = {sa architecture view}, Month = apr, Pages = {196--207}, Publisher = {ACM Press}, Title = {Software Architecture in Industrial Applications}, Year = {1995} } @article{Sonn95a, Author = {Erik L.L. Sonnhammer and Richard Durbin}, Journal = {Gene}, Keywords = {dotplot}, Month = oct, Pages = {1--10}, 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.}, Title = {A dot-matrix program with dynamic threshold control suited for genomic {DNA} and protein sequence analysis}, Volume = {167}, Year = {1995} } @inproceedings{Sore10a, author = {S{\o}rensen, Fredrik and Axelsen, Eyvind W. and Krogdahl, Stein}, title = {Reuse and combination with package templates}, booktitle = {Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance}, series = {MASPEGHI '10}, year = {2010}, isbn = {978-1-4503-0535-8}, location = {Maribor, Slovenia}, pages = {3:1--3:5}, articleno = {3}, numpages = {5}, url = {http://doi.acm.org/10.1145/1929999.1930002}, doi = {10.1145/1929999.1930002}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {OOP, inheritance, modularization, templates} } @inproceedings{Sorg88a, Address = {Oslo}, Author = {P\o{a}l S{\o}rgaard}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {319--334}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Programming and Computerised Shared Material}, Volume = {322}, Year = {1988} } @article{Soti95a, Author = {Drasko Sotirovski and Philippe Kruchten}, Journal = {IEEE Software}, Keywords = {olit architecture}, Month = nov, Number = {6}, Pages = {61--70}, Title = {Implementing Dialogue Independence}, Volume = {12}, Year = {1995} } @book{Souk94a, Author = {Jiri Soukop}, Isbn = {0-201-52826-6}, Keywords = {c++ patterns scglib}, Publisher = {Addison Wesley}, Title = {Taming {C}++}, Year = {1994} } @incollection{Souk95a, Author = {Jiri Soukop}, Booktitle = {Pattern Languages of Program Design}, Editor = {J.O. Coplien and D.Schmidt}, Pages = {395--412}, Publisher = {Addison Wesley}, Title = {Implementing Patterns}, Year = {1995} } @unpublished{Sour96a, Author = {Jean Louis Sourrouille and Jean Claude Commercon and Hugues Lecoeuche}, Keywords = {olit-gen binder}, Note = {Draft, L3I: Laboratoire d'Ing\'enierie de l'Informatique Industrielle}, Title = {Assisting Object Behaviour Composition/Decomposition}, Year = {1996} } @inproceedings{Sous99a, Address = {Toulouse, France}, Author = {Jo{\~a}n Pedro Sousa and David Garlan}, Booktitle = {Proceedings of FM '99}, Month = sep, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Formal Modeling of the Enterprise {JavaBeans} Component Integration Framework}, Volume = {1709}, Year = {1999} } @inproceedings{Sout04a, Address = {New York, NY, USA}, Author = {Eduardo Souto and Germano Guimar\&\#227;es and Glauco Vasconcelos and Mardoqueu Vieira and Nelson Rosa and Carlos Ferraz}, Booktitle = {MPAC '04: Proceedings of the 2nd workshop on Middleware for pervasive and ad-hoc computing}, Doi = {10.1145/1028509.1028514}, Isbn = {1-58113-951-9}, Location = {Toronto, Ontario, Canada}, Pages = {127--134}, Publisher = {ACM Press}, Title = {A message-oriented middleware for sensor networks}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028509.1028514} } @book{Souz99a, Author = {Desmond F. D'Souza and Alan Cameron Wills}, Isbn = {0-201-31012-0}, Keywords = {olit uml scglib oorp}, Publisher = {Addison Wesley}, Title = {Objects, Components and Frameworks with {UML}: The Catalysis Approach}, Year = {1999} } @inproceedings{Spah88a, Author = {Stephane Spahni and J{\"u}rgen Harms}, Booktitle = {Proceedings 1988 International Zurich Seminar on Digital Communications}, Keywords = {misc distribution name server}, Misc = {March 8-10}, Month = mar, Pages = {239--246}, Publisher = {IEEE Cat. No. 88TH0202-2}, Title = {A Local Name Server for Organizational Message Handling Systems}, Year = {1988} } @techreport{Spec04a, 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.}, Author = {Daria Spescha}, Institution = {University of Bern}, Keywords = {scg-ip jb04 piccola mixin layers snf04}, Month = mar, Title = {Software Composition Styles: Mixins for {Piccola}}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Spec04aMixinStyles.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Spec04aMixinStyles.pdf} } @book{Spen01a, Author = {Robert Spence}, Keywords = {scglib book}, Publisher = {Adisson-Wesley}, Title = {Information Visualization}, Year = {2001} } @misc{Spielverderber, Author = {Roland Pl\"uss and Philippe Marschall}, Key = {Spielverderber}, Keywords = {smalltalk pier security acl}, Note = {http://smallwiki.unibe.ch/advanceddesignlabs/admin/}, Title = {{Spielverderber}, an {Access} {Control} {List} ({ACL}) based security framework for {Pier}}, Url = {http://smallwiki.unibe.ch/advanceddesignlabs/admin/}, Year = {2005}, Bdsk-Url-1 = {http://smallwiki.unibe.ch/advanceddesignlabs/admin/} } @article{Spin00b, Author = {Diomidis Spinellis}, Doi = {doi:10.1016/S0164-1212(00)00089-3}, Issn = {0164-1212}, Journal = {Journal of Systems and Software}, Keywords = {dsllit}, Month = feb, Number = 1, Pages = {91--99}, Title = {Notable Design Patterns for Domain Specific Languages}, Url = {http://www.spinellis.gr/pubs/jrnl/2000-JSS-DSLPatterns/html/dslpat.html}, Volume = 56, Year = {2001}, Bdsk-Url-1 = {http://www.spinellis.gr/pubs/jrnl/2000-JSS-DSLPatterns/html/dslpat.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0164-1212(00)00089-3} } @book{Spin03a, Author = {Diomidis Spinellis}, Keywords = {scglib}, Publisher = {Addison-Wesley}, Title = {{Code Reading} The Open Source Perspective}, Year = {2003} } @inproceedings{Spin06a, Address = {Portland, OR, USA}, Author = {Olaf Spinczyk Daniel Lohmann and Wolfgang Schr\"{o}der-Preikschat}, Booktitle = {Proceedings of the 1st Workshop on Aspect-oriented Product Line Engineering (AOPLE' 06)}, Note = {In conjunction with GPCE'06}, Title = {Concern Hierarchies}, Year = {2006} } @book{Spiv89a, Author = {J. Spivey}, Isbn = {13-978529-9}, Keywords = {book scglib}, Publisher = {Prentice-Hall}, Title = {The {Z} Notation: {A} Reference Manual}, Year = {1989} } @article{Spoo84a, Author = {David L. Spooner and E. Gudes}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {security db os}, Month = may, Number = {3}, Pages = {310--319}, Title = {A Unifying Approach to the Design of a Secure Database Operating System}, Volume = {SE-10}, Year = {1984} } @inproceedings{Spoo05a, Author = {S. Alexander Spoon and Olin Shivers}, Booktitle = {Proceedings of ECOOP'04}, Pages = {51--74}, Title = {Demand-Driven Type Inference with Subgoal pruning: Trading Precision for Scalability}, Year = {2004} } @inproceedings{Spoo04a, Author = {S. Alexander Spoon and Olin Shivers}, Booktitle = {Proceedings of the Dynamic Languages Symposium'05}, Editor = {Roel Wuyts}, Pages = {35--48}, Publisher = {ACM Digital Library}, Title = {Dynamic Data Polyvariance Using Source-Tagged Classes}, Year = {2005} } @techreport{Spoo06a, Author = {S. Alexander Spoon}, Institution = {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne (EPFL)}, Number = {LAMP-REPORT-2006-002}, Title = {Package Universes: {Which} Components Are Real Candidates?}, Year = {2006} } @inproceedings{Spot08a, author = {Spoto, Fausto}, booktitle = {SEFM'08: Proceedings of the Sixth International Conference on Software Engineering and Formal Methods}, title = {Nullness Analysis in Boolean Form}, year = {2008}, month = nov, pages = {21--30}, isbn = {978-0-7695-3437-4}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, keywords = {damiencbib nullness analysis, null pointer, abstract interpretation, static analysis, Boolean formulas}, doi = {10.1109/SEFM.2008.8} } @book{Spri89a, Author = {George Springer and Daniel P. Friedman}, Isbn = {0-262-19288-8}, Keywords = {scheme book scglib}, Publisher = {MIT Press}, Series = {MIT electrical engineering and computer science series.}, Title = {Scheme and the art of programming.}, Year = {1989} } @misc{Squawk, Key = {Squawk}, Note = {http://research.sun.com/projects/squawk}, Title = {The Squawk Project} } @misc{Squeak, Author = {Squeak}, Key = {Squeak}, Howpublished = {http://www.squeak.org/, archived at http://www.webcitation.org/5p1poT9Ta}, Url = {http://www.squeak.org/}, Title = {Squeak Home Page}, Year = {2010} } @misc{SqueakCourse, Abstract = {Home page for Masters-level course on Squeak Smalltalk. Lecture notes are available under the Creative Commons Attribution-ShareAlike 2.5 license.}, Annote = {misc}, Author = {Oscar Nierstrasz}, Keywords = {scg-misc skip-doi smalltalk squeak jb-none}, Month = sep, Note = {http://www.iam.unibe.ch/$\sim$scg/Teaching/Smalltalk/}, Title = {Dynamic Object-Oriented Programming with {Smalltalk}}, Url = {http://scg.unibe.ch/teaching/smalltalk}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/teaching/smalltalk} } @misc{SqueakDevImage, Key = {SqueakDevImage}, Note = {http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev}, Title = {Squeak Image For Developers}, Url = {http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev}, Bdsk-Url-1 = {http://damiencassou.seasidehosting.st/Smalltalk/squeak-dev} } @misc{SqueakIRCClient, Key = {SqueakIRCClient}, Keywords = {squeak irc}, Note = {http://www.preeminent.org/squeak/irc-help/irc-help.html}, Title = {Squeak {IRC} Client}, Url = {http://www.preeminent.org/squeak/irc-help/irc-help.html}, Bdsk-Url-1 = {http://www.preeminent.org/squeak/irc-help/irc-help.html} } @misc{SqueakSource, Key = {SqueakSource}, Note = {http://SqueakSource.com}, Title = {SqueakSource}, Url = {http://SqueakSource.com}, Bdsk-Url-1 = {http://SqueakSource.com} } @inproceedings{Sree02a, Doi = {10.1145/581339.581366}, author = {Sreedhar, Vugranam C.}, title = {Mixin'Up components}, booktitle = {ICSE'02: Proceedings of the 24th International Conference on Software Engineering}, year = {2002}, pages = {198--207}, address = {Orlando, FL, USA}, keywords = {damiencbib acoel}, publisher = {ACM} } @inproceedings{Srid88a, Author = {S. Sridhar}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {95--104}, Title = {Configuring Stand-Alone {Smalltalk}-80 Applications}, Volume = {23}, Year = {1988} } @article{Sriv04a, Author = {Srivastava, Amitabh and Eustace, Alan}, Title = {ATOM: a system for building customized program analysis tools}, Journal = {SIGPLAN Not.}, Volume = {39}, Issue = {4}, Month = apr, Year = {2004}, Issn = {0362-1340}, Pages = {528--539}, Numpages = {12}, Url = {http://doi.acm.org/10.1145/989393.989446}, Doi = {10.1145/989393.989446}, Acmid = {989446}, Publisher = {ACM}, Address = {New York, NY, USA} } @article{Stad82a, Author = {R. Staden}, Journal = {Nucleic Acids Research}, Keywords = {dotplot}, Pages = {2951--2961}, Title = {An Interactive Graphics Program for Comparing and Aligning Nucleic Acid and Amino Acid Sequences}, Volume = {10}, Year = {1982} } @techreport{Stad89a, Abstract = {The architecture of the first prototype of VST, based on the Unix shell scripting model is described.}, Author = {Marc Stadelmann and Gerti Kappel and Jan Vitek}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca scripting vst}, Misc = {December 8}, Month = dec, Number = {CUI.89.E4.#5}, Title = {{ITHACA} Visual Scripting Tool: {A} First Implementation Based on the {UNIX} Shell Scripting Model}, Type = {ITHACA report}, Year = {1989} } @techreport{Stad90a, 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.}, Author = {Marc Stadelmann and Gerti Kappel and Jan Vitek}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-ithaca osg om90}, Month = jul, Pages = {333--344}, Title = {{VST}: {A} Scripting Tool Based on the {UNIX} Shell}, Type = {Object Management}, Year = {1990} } @techreport{Stad91a, 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.}, Author = {Marc Stadelmann}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg oc91}, Month = jun, Pages = {57--71}, Title = {TeamWorks: Towards a Framework for Reuse}, Type = {Object Composition}, Year = {1991} } @misc{Star00X, Author = {Roel Wuyts}, Key = {StarBrowser}, Note = {http://www.iam.unibe.ch/$\sim$wuyts/StarBrowser/}, Title = {{Star} {Browser}} } @inproceedings{Star93a, Author = {Mike Stark}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {365--373}, Title = {Impacts of Object-Oriented Technologies: Seven Years of {SEL} Studies}, Volume = {28}, Year = {1993} } @book{Star96a, Author = {Leon Starr}, Isbn = {0-13-207663-2}, Keywords = {olit models scglib}, Publisher = {Prentice-Hall}, Title = {How to Build Shlaer-Mellor Object Models}, Year = {1996} } @inproceedings{Star09a, Abstract = {Source code search is an important activity for programmers working on a change task to a software system. We are at the early stages of a research program that is aiming to answer three research questions: (1) How effectively can programmers express (using today's tools) the information they are seeking? (2) How effectively can programmers determine which of the matches returned from their searches are relevant to their task? and (3) In what ways can tools be improved to support programmers in more effectively expressing their information needs and exploring the results of searches? To begin answering these questions we have conducted a study in which we gathered both qualitative and quantitative data about programmers' search activities. Our analysis of this data is still incomplete, however this paper presents several of our initial observations about how programmers interact with the results from their searches.}, Author = {Starke, J. and Luce, C. and Sillito, J.}, Booktitle = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Citeulike-Article-Id= {5403386}, Citeulike-Linkout-0= {http://dx.doi.org/10.1109/SUITE.2009.5070023}, Citeulike-Linkout-1= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5070023}, Doi = {10.1109/SUITE.2009.5070023}, Journal = {Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. SUITE '09. ICSE Workshop on}, Keywords = {codesearch, suite2009, userstudy}, Pages = {53--56}, Posted-At = {2009-08-10 11:12:59}, Priority = {0}, Title = {Working with search results}, Url = {http://dx.doi.org/10.1109/SUITE.2009.5070023}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/SUITE.2009.5070023} } @article{Stas90a, Author = {John T. Stasko}, Journal = {IEEE Computer}, Month = sep, Number = {9}, Pages = {27--39}, Title = {TANGO: A Framework and System for Algorithm Animation}, Volume = {23}, Year = {1990} } @book{Stas98a, Author = {John T. Stasko and John Domingue and Marc H. Brown and Blaine A. Price}, Keywords = {scglib}, Publisher = {The MIT Press}, Title = {Software Visualization --- Programming as a Multimedia Experience}, Year = {1998} } @inproceedings{Stas00a, Author = {John T. Stasko and Eugene Zhang}, Booktitle = {Proceedings of the IEEE Symposium on Information Visualization}, Ee = {http://computer.org/proceedings/infovis/0804/08040057abs.htm}, Pages = {57-}, Title = {Focus+Context Display and Navigation Techniques for Enhancing Radial, Space-Filling Hierarchy Visualizations.}, Year = {2000} } @article{Stas00b, Author = {John T. Stasko and Richard Catrambone and Mark Guzdial and Kevin Mcdonald}, Ee = {http://dx.doi.org/10.1006/ijhc.2000.0420}, Journal = {International Journal Humain-Computer Studies}, Number = {5}, Pages = {663-694}, Title = {An evaluation of space-filling information visualizations for depicting hierarchical structures}, Volume = {53}, Year = {2000} } @inproceedings{Stat95a, Author = {Raymie Stata and John V. Guttag}, Booktitle = {Proceedings of the 10th Annual Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA '95)}, Isbn = {0-89791-703-0}, Location = {Austin, Texas, United States}, Pages = {200--214}, Publisher = {ACM Press}, Title = {Modular reasoning in the presence of subclassing}, Year = {1995} } @inproceedings{Stec11a, author = {Steck, Andreas and Schlegel, Christian}, title = {Managing Execution Variants in Task Coordination by Exploiting Design-Time Models at Run-Time}, keywords = {damiencbib robotics}, booktitle = {IROS'11: Proceedings of the 24th International Conference on Intelligent Robots and Systems}, year = {2011}, address = {San Francisco, CA, USA}, month = sep, publisher = {IEEE}, note = {(to appear)} } @phdthesis{Stee80a, Author = {G.L. Steele}, School = {MIT}, Title = {The definition and implementation of a computer programming language based on constraints}, Year = {1980} } @phdthesis{Stee88a, Author = {Maarten van Steen}, Keywords = {concurrency binder (shelf)}, School = {University of Leiden}, Title = {Modeling Dynamic Systems by Parallel Decision Processes}, Type = {{Ph.D}. Thesis}, Year = {1988} } @book{Stee90a, Author = {Guy L. Steele}, Edition = {Second}, Isbn = {1-55558-049-1}, Publisher = {Digital Press}, Title = {Common Lisp The Language}, Year = {1990} } @inproceedings{Stee94a, Address = {Bologna, Italy}, Author = {Luc Steels}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {1--11}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Beyond Objects}, Volume = {821}, Year = {1994} } @article{Stee99a, Address = {(Hingham, MA)}, Author = {Guy Steele}, Doi = {10.1023/A:1010085415024}, Issn = {1388-3690}, Journal = {Higher-Order and Symbolic Computation}, Month = oct, Number = {3}, Pages = {221--236}, Publisher = {Kluwer Academic Publishers}, Title = {Growing a Language}, Url = {http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf}, Volume = {12}, Year = {1999}, Bdsk-Url-1 = {http://homepages.inf.ed.ac.uk/wadler/steele-oopsla98.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1023/A:1010085415024} } @inproceedings{Steel88a, Author = {Luc Steels}, Booktitle = {Meta-level Architectures and Reflection}, Editor = {North-Holland, P. Maes and D. Nardi}, Pages = {51--59}, Title = {Meaning in knowledge representation}, Year = {1988} } @article{Stef83a, Author = {Mark Stefik and Daniel G. Bobrow and Sanja Mittal and L. Conway}, Journal = {The AI Magazine}, Keywords = {olit-oopl loops knowrep}, Pages = {3--13}, Title = {Knowledge Programming in {LOOPS}: Report on an Experimental Course}, Year = {1983} } @article{Stef85a, Author = {Mark Stefik and Daniel G. Bobrow}, Journal = {The AI Magazine}, Keywords = {olit survey oobib(gen)}, Month = dec, Title = {Object-Oriented Programming: Themes and Variations}, Year = {1985} } @article{Stef86a, Author = {M. Stefik and Daniel G. Bobrow and K. Kahn}, Journal = {IEEE Software (USA)}, Month = jan, Number = {1}, Pages = {10--18}, Title = {Integrating Access-Oriented Programming into a Multiparadigm Environment}, Volume = {3}, Year = {1986} } @phdthesis{Steg92a, Author = {Robert A. Stegwee}, Keywords = {clustering}, School = {University of Groningen, Groningen, The Netherlands}, Title = {Division for {Conquest} --- {Decision} {Support} for {Information} {Architecture} {Specification}}, Type = {{Ph.D}. Thesis}, Year = {1992} } @inproceedings{Stei87a, Author = {Lynn Andrea Stein}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-inheritance inheritance delegation oopsla87 oobib(inh)}, Month = dec, Pages = {138--146}, Title = {Delegation Is Inheritance}, Volume = {22}, Year = {1987} } @incollection{Stei89a, Author = {L. A. Stein and H. Lieberman and D. Ungar}, Booktitle = {Object-Oriented Concepts, DataBases, and Applications}, Keywords = {ioom-prototype}, Pages = {31--48}, Publisher = {ACM Press, Addison Wesley}, Title = {A Shared View of Sharing: The Treaty of Orlando}, Year = {1989} } @mastersthesis{Stei01a, Abstract = {Since software systems must evolve to cope with changing demands, the investment of time and effort won't cease after first delivery. Developers that join a project later in the development cycle may have a hard time to understand the structure of complex systems. Moreover they may not know about concepts that emerged from earlier implementations. We therefore want to find out what exactly happens during evolution of software systems. We developed a method based on simple metric heuristics to detect changes between different versions of a software system. With our query-based approach we can measure overall changes in terms of removals and additions in the code. We are also able to detect different kinds of refactorings like restructuring in the class hierarchy and moved features between entities. Historical information about code size and changes in the code structure helps us to find interesting patterns and to discover unknown relationships and dependencies among source code entities.}, Author = {Lukas Steiger}, Keywords = {oobib scg-pub skip-doi scg-msc jb01 snf02}, Month = jun, School = {University of Bern}, Title = {Recovering the Evolution of Object Oriented Software Systems Using a Flexible Query Engine}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Stei01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Stei01a.pdf} } @article{Stei06a, Address = {New York, NY, USA}, Author = {Friedrich Steimann}, Doi = {10.1145/1167515.1167514}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {10}, Pages = {481--497}, Publisher = {ACM}, Title = {The paradoxical success of aspect-oriented programming}, Volume = {41}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167515.1167514} } @article{Stei06b, Author = {Cara Stein and Letha Etzkorn and Sampson Gholston and Phillip Farrington and Julie Fortune}, Journal = {INFOCOMP Journal of Computer Science}, Number = {4}, Pages = {44--53}, Title = {A Knowledge-Based Cohesion Metric for Object-Oriented Software}, Volume = {5}, Year = {2006} } @inproceedings{Step09b, Abstract = {We present Maispion, a tool for analysing software developer communities. The tool, developed in Smalltalk, mines mailing list and version repositories, and provides visualizations to provide insights into the ecosystem of open source software (OSS) development. We show how Maispion can analyze the history of medium to large OSS communities, by applying our tool to three well-known open source projects: Moose, Drupal and Python.}, Annote = {internationalworkshop}, Author = {Fran\c{c}ois Stephany and Tom Mens and Tudor G\^irba}, Booktitle = {Proceedings of International Workshop on Smalltalk Technologies (IWST 2009)}, Keywords = {jb10 hasler09 moose-pub scg10 scg-pub inprint girba evol11}, Location = {Brest, France}, Medium = {2}, Peerreview = {yes}, Isbn = {978-1-60558-899-5}, Pages = {50--57}, Doi = {10.1145/1735935.1735944}, Url = {http://scg.unibe.ch/archive/papers/Step09bMaispion.pdf}, Publisher = {ACM}, Address = {New York, NY, USA}, Title = {Maispion: A Tool for Analysing and Visualizing Open Source Software Developer Communities}, Year = {2009} } @book{Ster86a, Author = {Leon Sterling and Ehud Shapiro}, Isbn = {0-262-19250-0}, Keywords = {pl-lit}, Publisher = {MIT Press}, Title = {The Art of Prolog: Advanced Programming Techniques}, Year = {1986} } @techreport{Stet05a, 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.}, Author = {Marc Stettler}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb05 moose-pub}, Month = apr, Title = {Moose Domain Generator}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Stet05aDomainGenerator.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Stet05aDomainGenerator.pdf} } @misc{Stev98b, Key = {SRP}, Title = {Systems Reengineering Patterns}, Url = {http://www.reengineering.ed.ac.uk/}, Bdsk-Url-1 = {http://www.reengineering.ed.ac.uk/} } @article{Stev74a, Author = {W. P. Stevens and G. J. Myers and L. L. Constantine}, Journal = {IBM Systems Journal}, Number = {2}, Pages = {115--139}, Title = {Structured Design}, Volume = {13}, Year = {1974} } @book{Stev90a, Author = {W. Richard Stevens}, Isbn = {0-13-949876-1}, Keywords = {networks scglib}, Publisher = {Prentice-Hall}, Title = {Unix Network Programming}, Year = {1990} } @inproceedings{Stev98a, Author = {Perdita Stevens and Rob Pooley}, Booktitle = {Proceedings of FSE-6}, Keywords = {oorp}, Publisher = {ACM-SIGSOFT}, Title = {System Reengineering Patterns}, Year = {1998} } @inproceedings{Stey93a, 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.}, Address = {Kaiserslautern, Germany}, Author = {Patrick Steyaert and Wim Codenie and Theo D'Hondt and Koen De Hondt and Carine Lucas and Marc Van Limberghen}, Booktitle = {Proceedings ECOOP '93}, Editor = {Oscar Nierstrasz}, Keywords = {olit ecoop93proc}, Month = jul, Pages = {197--219}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Nested Mixin-Methods in Agora}, Url = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm}, Volume = {707}, Year = {1993}, Bdsk-Url-1 = {http://link.springer.de/link/service/series/0558/tocs/t0707.htm} } @inproceedings{Stey94a, 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.}, Author = {Patrick Steyaert and Koen De Hondt and Serge Demeyer and Marleen De Molder}, Booktitle = {Proceedings of the 1994 International Conference on Object-Oriented Information Systems (OOIS '94)}, Editor = {D. Patel and Y. Sun and S. Patel}, Keywords = {olit oois94 applflab mop sergedem-papref}, Pages = {252--265}, Publisher = {Springer-Verlag}, Title = {A Layered Approach to Dedicated Application Builders Based on Application Frameworks}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Stey94a/%20http://progwww.vub.ac.be/papers/paperquery.html%20ftp://progftp.vub.ac.be/tech_report/1994/vub-prog-tr-94-06.ps.Z} } @phdthesis{Stey94b, Address = {Belgium}, Author = {Patrick Steyaert}, School = {Vrije Universiteit Brussel}, Title = {Open Design of Object-Oriented Languages. {A} Foun\-da\-tion for Specialisable Reflective Language Frameworks}, Year = {1994} } @inproceedings{Stey95a, Address = {Aarhus, Denmark}, Author = {Patrick Steyaert and De Meuter, Wolfgang}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {127--144}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Marriage of Class- and Object-Based Inheritance Without Unwanted Children}, Volume = {952}, Year = {1995} } @inproceedings{Stey96a, Author = {Patrick Steyaert and Carine Lucas and Kim Mens and Theo D'Hondt}, Booktitle = {Proceedings of OOPSLA '96 (International Conference on Object-Oriented Programming, Systems, Languages, and Applications)}, Doi = {10.1145/236337.236363}, Keywords = {olit oopsla96 oorp contract-types}, Pages = {268--285}, Publisher = {ACM Press}, Title = {Reuse Contracts: Managing the Evolution of Reusable Assets}, Url = {ftp://progftp.vub.ac.be/tech_report/1996/vub-prog-tr-96-05.pdf}, Year = {1996}, Bdsk-Url-1 = {ftp://progftp.vub.ac.be/tech_report/1996/vub-prog-tr-96-05.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/236337.236363} } @incollection{Stey96b, 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.}, Author = {Patrick Steyaert and Koen De Hondt and Serge Demeyer and Niels Boyen}, Booktitle = {Advances in Object-Oriented Metalevel Architectures and Reflection}, Editor = {Chris Zimmerman}, Isbn = {084932663X}, Keywords = {olit ecoop95proc applflab mop sergedem-papref}, Pages = {291--309}, Publisher = {CRC Press --- Boca Raton --- Florida}, Title = {Reflective User Interface Builders}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Stey96b/%20http://progwww.vub.ac.be/papers/paperquery.html%20ftp://progftp.vub.ac.be/tech_report/1996/vub-prog-tr-96-02.ps.Z} } @misc{Stin05a, Aeres = {OV}, Annote = {vulgarisation}, Author = {Serge Stinckwich and St\'ephane Ducasse}, Inria = {hors}, Journal = {Linux Pratique}, Keywords = {stefPub jb05}, Month = nov, Number = 32, Pages = {18--23}, Selectif = {non}, Title = {La syntaxe Smalltalk}, Volume = 1, Year = {2005} } @misc{Stin06a, Aeres = {OV}, Annote = {vulgarisation}, Author = {Serge Stinckwich and St\'ephane Ducasse}, Inria = {hors}, Journal = {Linux Pratique}, Keywords = {stefPub jb05}, Month = jan, Number = 33, Pages = {18--23}, Selectif = {non}, Title = {Les structures de contr\^ole en Smalltalk}, Volume = 1, Year = {2006} } @misc{Stin06b, Aeres = {OV}, Annote = {vulgarisation}, Author = {Serge Stinckwich and Hilaire Fernandes}, Inria = {hors}, Journal = {Linux Magazine}, Month = jun, Number = 84, Pages = {18--23}, Selectif = {non}, Title = {Nos premi\`eres classes en Smalltalk}, Volume = 1, Year = {2006} } @inproceedings{Stir89a, Author = {Colin Stirling and David Walker}, Booktitle = {Proceedings TAPSOFT '89}, Editor = {D\'iaz and Orejas}, Keywords = {pcalc tapsoft89 binder(ccs)}, Pages = {369--383}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Local Model Checking in the Modal Mu-Calculus}, Volume = {351}, Year = {1989} } @inproceedings{Stoe01a, Author = {Christoph Stoermer and Liam O'Brien}, Booktitle = {Working Conference on Software Architecture (WICSA)}, Isbn = {0-7695-1360-3}, Pages = {35--41}, Title = {MAP - {M}ining Architectures for Product Line Evaluations}, Year = {2001} } @inproceedings{Stoe03a, Address = {Los Alamitos, CA, USA}, Author = {Christoph Stoermer and Liam O'Brien and Chris Verhoef}, Booktitle = {Working Conference on Reverse Engineering (WCRE)}, Doi = {10.1109/WCRE.2003.1287236}, Issn = {1095-1350}, Pages = {46--56}, Publisher = {IEEE Computer Society}, Title = {Moving Towards Quality Attribute Driven Software Architecture Reconstruction}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2003.1287236} } @article{Stoe06a, Address = {New York, NY, USA}, Author = {Christoph Stoermer and Anthony Rowe and Liam O'Brien and Chris Verhoef}, Doi = {10.1002/spe.v36:4}, Issn = {0038-0644}, Journal = {Software --- Practice and Experience}, Number = {4}, Pages = {333--363}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Model-Centric Software Architecture Reconstruction}, Volume = {36}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.v36:4} } @inproceedings{Stoe06b, Author = {Maximilian Stoerzer and Barbara G. Ryder and Xiaoxia Ren and Frank Tip}, Booktitle = {Proceedings of the 14th SIGSOFT Conference on the Foundations of Software Engineering (FSE'06)}, Month = {nov}, Title = {Finding Failure-Inducing Changes in Java Programs using Change Classification}, Year = {2006} } @techreport{Ston85a, Author = {M. Stonebraker}, Institution = {Electronics Research Laboratory, U Cal Berkeley}, Keywords = {misc triggers db}, Month = may, Number = {M85/46}, Title = {Triggers and Interference in Data Base Systems}, Type = {Memorandum No UCB/ERL}, Year = {1985} } @inproceedings{Ston94a, Author = {Maureen Stone and Ken Fishkin and Eric Bier}, Booktitle = {Proceedings CHI 94}, Pages = {306--312}, Publisher = {ACM}, Title = {The Movable Filter as a User Interface Tool}, Url = {http://www.parc.xerox.com/istl/projects/MagicLenses/}, Year = {1994}, Bdsk-Url-1 = {http://www.parc.xerox.com/istl/projects/MagicLenses/} } @inproceedings{Stor95a, Author = {Margaret-Anne D. Storey and Hausi A. M{\"u}ller}, Booktitle = {Proceedings of ICSM '95 (International Conference on Software Maintenance)}, Pages = {275--284}, Publisher = {IEEE Computer Society Press}, Title = {Manipulating and Documenting Software Structures using {SHriMP} {Views}}, Year = {1995} } @inproceedings{Stor97a, Author = {Margaret-Anne D. Storey and Kenny Wong and Hausi A. M{\"u}ller}, Booktitle = {Proceedings Fourth Working Conference on Reverse Engineering}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Pages = {12--21}, Publisher = {IEEE Computer Society}, Title = {How Do Program Understanding Tools Affect How Programmers Understand Programs?}, Year = {1997} } @inproceedings{Stor97b, Author = {Margaret-Anne D. Storey and Kenny Wong and F. D. Fracchia and Hausi A. M{\"u}ller}, Booktitle = {Proceedings of IEEE Symposium on Information Visualization (InfoVis '97)}, Pages = {38--48}, Publisher = {IEEE Computer Society}, Title = {On integrating visualization techniques for effective software exploration}, Year = {1997} } @phdthesis{Stor98a, Author = {Margaret-Anne D. Storey}, Month = dec, School = {Simon Fraser University}, Title = {A Cognitive Framework for Describing and Evaluating Software Exploration Tools}, Year = {1998} } @article{Stor99a, Author = {Margaret-Anne D. Storey and F. David Fracchia and Hausi A. M\"uller}, Journal = {Journal of Software Systems}, Pages = {171--185}, Title = {Cognitive Design Elements to Support the Construction of a Mental Model during Software Exploration}, Volume = {44}, Year = {1999} } @misc{Stor00a, Author = {C. Stork and V. Haldar and M. Franz}, 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.}, Title = {Generic adaptive syntax-directed compression for mobile code}, Year = {2000} } @inproceedings{Stor01a, Author = {Margaret-Anne Storey and Casey Best and Jeff Michaud}, Booktitle = {Proceedings of International Workshop on Program Comprehension (IWPC '2001)}, Title = {{SHriMP Views}: An Interactive and Customizable Environment for Software Exploration}, Year = {2001} } @article{Stor02a, Author = {Margaret-Anne D. Storey and Susan Elliott Sim and Kenny Wong}, Journal = {ACM SIGAPP Applied Computing Review}, Number = {1}, Pages = {18--25}, Publisher = {ACM}, Title = {A Collaborative Demonstration of Reverse Engineering Tools}, Volume = {10}, Year = {2002} } @inproceedings{Stor05a, Author = {Storey, Margaret-Anne D. and \v{C}ubrani\'c, Davor and German, Daniel M.}, Booktitle = {SoftVis'05: Proceedings of the 2005 ACM symposium on software visualization}, Doi = {10.1145/1056018.1056045}, Isbn = {1595930736}, Pages = {193--202}, Publisher = {ACM Press}, Title = {On the use of visualization to support awareness of human activities in software development: a survey and a framework}, Url = {http://portal.acm.org/citation.cfm?id=1056018.1056045}, Year = {2005}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1056018.1056045}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1056018.1056045} } @book{Stoy77a, Author = {Joseph E. Stoy}, Isbn = {0-262-69076-4}, Keywords = {pl-semantics book scglib}, Publisher = {MIT Press}, Title = {Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory}, Year = {1977} } @inproceedings{Stoy84a, Author = {H. Stoyan}, Booktitle = {Proceedings of the Seventeenth Annual Hawaii International Conference on System Sciences}, Keywords = {olit survey}, Title = {What is an `Object-Oriented' Programming Language?}, Year = {1984} } @inproceedings{Stra90a, Author = {Dave D. Straube and M. Tamer Oezsu}, Booktitle = {Proceedings OOPSLA/ECOOP '90, ACM SIGPLAN Notices}, Keywords = {types olit oopsla90 ecoop90proc}, Month = oct, Pages = {224--233}, Title = {Type Consistency of Queries in an Object-Oriented Database System}, Volume = {25}, Year = {1990} } @inproceedings{Stra93a, Author = {Paul S. Strauss}, Booktitle = {Proceedings OOPSLA '93, ACM SIGPLAN Notices}, Keywords = {olit oopsla93}, Month = oct, Pages = {192--200}, Title = {{IRIS} Inventor, {A} 3D Graphics Toolkit}, Volume = {28}, Year = {1993} } @inproceedings{Stra04a, Abstract = {Context-awareness is one of the drivers of the ubiquitous computing paradigm, whereas a well designed model is a key accessor to the context in any context-aware system. This paper provides a survey of the the most relevant current approaches to modeling context for ubiquitous computing. Numerous approaches are reviewed, classified relative to their core elements and evaluated with respect to their appropriateness for ubiquitous computing.}, Author = {Thomas Strang and Claudia Linnhoff-Popien}, Booktitle = {Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp 2004 -- The Sixth International Conference on Ubiquitous Computing, Nottingham/England}, Keywords = {cop-lit survey}, Title = {A Context Modeling Survey}, Url = {http://www.itee.uq.edu.au/~pace/cw2004/Paper15.pdf http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.2060}, Year = {2004}, Bdsk-Url-1 = {http://www.itee.uq.edu.au/~pace/cw2004/Paper15.pdf%20http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.2060} } @techreport{Stra07a, 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.}, Author = {Anselm Strauss}, Institution = {University of Bern}, Keywords = {snf-none scg-ip jb07}, Month = may, Title = {Stamp --- A Mailing List Manager for Squeak}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Stra07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Stra07a.pdf} } @mastersthesis{Stra08a, Abstract = {Cross-cutting concerns in OOP lead to scattered and tangled code that reduces transparency and maintainability of a program, and produces duplicated code. Common examples of cross-cutting concerns are logging, caching or database transactions in an application. Rather than trying to break down such concerns into classes and objects, the entity of modularization in aspect-oriented programming (AOP) are aspects. An aspect in AOP is the pendant of an object in OOP. With aspects such problems can be solved much easier and can be isolated into single entities. AOP can be seen as programming paradigm that builds on top of an existing paradigm and language. Today most AOP is done on top of OOP. Dynamic Aspects is a lightweight AOP implementation for Squeak Smalltalk that profits from the advanced reflection tools developed by the Software Composition Group. Sub-method level reflection allows to select single statements within methods. Annotation of such statements allows extrinsic addition of behavior at any location in code. Finally, the idea of partial behavioral reflection gives the system great flexibility. All those tools are the core Dynamic Aspects builds upon. Beyond the basic AOP implementation, Dynamic Aspects links to the field of context-oriented programming and shows how contexts can be used in aspects. Furthermore, the idea of control flow is generalized and generic flow is implemented with contexts.}, Author = {Anselm Strauss}, Keywords = {scg-msc jb09 snf09}, Month = nov, School = {University of Bern}, Title = {Dynamic Aspects --- An {AOP} Implementation for {Squeak}}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Strau08a.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Strau08a.pdf} } @inproceedings{Stre94a, Address = {Bologna, Italy}, Author = {Norbert A. Streitz}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {183--193}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Putting Objects to Work: Hypermedia as the Subject Matter and the Medium for Computer-Supported Cooperative Work}, Volume = {821}, Year = {1994} } @inproceedings{Stre04a, Address = {New York, NY, USA}, Author = {Mirko Streckenbach and Gregor Snelting}, Booktitle = {OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications}, Doi = {10.1145/1028976.1029003}, Isbn = {1-58113-831-9}, Location = {Vancouver, BC, Canada}, Pages = {315--330}, Publisher = {ACM Press}, Title = {Refactoring Class Hierarchies with {KABA}}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1028976.1029003} } @techreport{Stre07a, Abstract = {Several graphics file formats exist today, each with its own strengths and weaknesses. However, most of them are static formats. Adobe's Flash File Format (SWF) takes another approach. It is a vector graphics format which comes with a built-in script language, allowing the user to directly interact with the graphics. Furthermore, SWF has other interesting aspects like its popularity and availability, support for alpha blending or the possibility to include video and sound. The goal of this thesis is to provide a solution to create SWF files directly from Smalltalk. We present our implementation named Basil and as a validation we show how to use it for visualization purposes.}, Author = {Lucas Streit}, Institution = {University of Bern}, Keywords = {snf-none scg-bp moose-pub jb08 fb06}, Month = oct, Title = {Basil --- Scripting {Flash} from {Smalltalk}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/projects/Stre07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Stre07a.pdf} } @inproceedings{Strei03a, Author = {Detlef Streitferdt and Matthias Riebisch and Ilka Philippow}, Booktitle = {Proceedings of the 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS'03)}, Keywords = {features architecture}, Month = apr, Title = {Details of Formalized Relations in Feature Models Using OCL}, Year = {2003} } @inproceedings{Stri05a, Author = {Marc Strickert and Stefan Teichmann and Nese Sreenivasulu and Udo Seiffert}, Biburl = {http://www.bibsonomy.org/bibtex/272b9d17baf8238c4c61f262e4d778bbd/dblp}, Booktitle = {ICANN}, Date = {2006-05-04}, Description = {dblp}, Editor = {Wlodzislaw Duch and Janusz Kacprzyk and Erkki Oja and Slawomir Zadrozny}, Ee = {10.1007/11550822_97}, Isbn = {3-540-28752-3}, Keywords = {dblp}, Pages = {625--633}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {High-Throughput Multi-dimensional Scaling {(HiT-MDS)} for {cDNA-Array} Expression Data}, Url = {http://dblp.uni-trier.de/db/conf/icann/icann2005-1.html#StrickertTSS05}, Volume = {3696}, Year = {2005}, Bdsk-Url-1 = {http://dblp.uni-trier.de/db/conf/icann/icann2005-1.html#StrickertTSS05} } @inproceedings{Strn07a, Address = {New York, NY, USA}, Author = {Rok Strni\v{s}a and Peter Sewell and Matthew Parkinson}, Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications}, Doi = {10.1145/1297027.1297064}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {499--514}, Publisher = {ACM}, Title = {The java module system: core design and semantic definition}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297064} } @techreport{Stro84a, Address = {Murray Hill, New Jersey 07974}, Author = {Bjarne Stroustrup}, Institution = {AT\&T Bell Laboratories}, Keywords = {olit-oopl c++}, Month = jan, Title = {Complex Arithmetic in {C}}, Type = {Report}, Year = {1984} } @techreport{Stro84b, Address = {Murray Hill, New Jersey 07974}, Author = {Bjarne Stroustrup}, Institution = {AT\&T Bell Laboratories}, Keywords = {olit-oopl c++}, Month = jan, Number = {#109}, Title = {Data Abstraction in {C}}, Type = {Computing Science Technical Report}, Year = {1984} } @techreport{Stro84c, Address = {Murray Hill, New Jersey 07974}, Author = {Bjarne Stroustrup}, Institution = {AT\&T Bell Laboratories}, Keywords = {olit-oopl c++}, Month = jan, Title = {Operator Overloading in {C}}, Type = {Report}, Year = {1984} } @techreport{Stro84d, Address = {Murray Hill, New Jersey 07974}, Author = {Bjarne Stroustrup}, Institution = {AT\&T Bell Laboratories}, Keywords = {olit-oopl c++}, Month = jan, Number = {108}, Title = {The {C}++ Programming Language --- Reference Manual}, Type = {Computing Science Technical Report}, Year = {1984} } @article{Stro86a, Author = {R. Strom}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit concepts oopws86}, Month = oct, Number = {10}, Pages = {88--97}, Title = {A Comparison of the Object-Oriented and Process Paradigms}, Volume = {21}, Year = {1986} } @book{Stro86b, Address = {Reading, Mass.}, Author = {Bjarne Stroustrup}, Isbn = {0-201-53992-6}, Keywords = {olit-oopl c++ oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {The {C}++ Programming Language}, Year = {1986} } @article{Stro86c, Author = {Bjarne Stroustrup}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-oopl c++ oopws86 oobib(oopl)}, Month = oct, Number = {10}, Pages = {7--18}, Title = {An Overview of {C}++}, Volume = {21}, Year = {1986} } @inproceedings{Stro87a, Address = {Paris, France}, Author = {Bjarne Stroustrup}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {51--70}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {What is "Object-Oriented Programming"?}, Volume = {276}, Year = {1987} } @book{Stro90a, Author = {Bjarne Stroustrup and Magaret A. Ellis}, Isbn = {0-201-51459-1}, Keywords = {olit-oopl c++ oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {The Annotated {C}++ Reference Manual}, Year = {1990} } @book{Stro94a, Address = {Reading, Mass.}, Author = {Bjarne Stroustrup}, Isbn = {0-201-54330-3}, Keywords = {olit-oopl c++ oobib(oopl) book scglib}, Publisher = {Addison Wesley}, Title = {The Design and Evolution of {C}++}, Year = {1994} } @inproceedings{Stro95a, Address = {Aarhus, Denmark}, Author = {R.J. Stroud and Z. Wu}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {168--189}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Using Metaobject Protocols to Implement Atomic Data Types}, Volume = {952}, Year = {1995} } @book{Stro97a, Author = {Bjarne Stroustrup}, Edition = {Third}, Isbn = {0-201-88954-4}, Keywords = {c++}, Publisher = {Addison Wesley}, Title = {The {C}++ Programming Language}, Year = {1997} } @article{Stro02a, Author = {E. Stroulia and T. Syst\"a}, Institution = {ACM}, Journal = {SIGAPP. Applied Computing Review}, Keywords = {scglib}, Number = {1}, Pages = {8--17}, Publisher = {ACM Press}, Title = {Dynamic analysis for reverse engineering and program understanding}, Volume = {10}, Year = {2002} } @inproceedings{Stro03a, Author = {E. Stroulia, M. El-Ramly, P.Iglinski and P.Sorenson}, Booktitle = {Automated Software Engineering}, Title = {User Interface Reverse Engineering In Support of Interface Migration on the Web}, Year = {2003} } @misc{Strongtalk, Key = {Strongtalk}, Keywords = {smalltalk strongtalk optional type system}, Note = {http://bracha.org/nwst.html}, Title = {The Strongtalk Type System for Smalltalk}, Url = {http://bracha.org/nwst.html}, Bdsk-Url-1 = {http://bracha.org/nwst.html} } @misc{StrongtalkVm, Key = {StrongtalkVm}, Keywords = {smalltalk strongtalk optional type system}, Note = {http://www.strongtalk.org}, Title = {Strongtalk: A High-Performance Open Source Smalltalk With An Optional Type System}, Url = {http://www.strongtalk.org}, Bdsk-Url-1 = {http://www.strongtalk.org} } @incollection{Strou96, Author = {R. Stroud and Z. Wue}, Booktitle = {Advances in Object-Oriented Metalevel Architectures and Reflection}, City = {Boca Raton, Florida}, Pages = {31--52}, Publisher = {CRC Press}, Title = {Using Metaobject Protocols to Satisfy Non-functional Requirements}, Year = {1996} } @misc{Stru, Key = {Stru}, Note = {http://jakarta.apache.org/struts/}, Title = {The Apache Struts Web Application Framework} } @book{Stru00a, Author = {William Strunk Jr. and E.B. White}, Edition = {4th}, Keywords = {scglib}, Publisher = {Allyn and Bacon}, Title = {The Elements of Style}, Year = {2000} } @techreport{Stua00a, Author = {Omri Traub Stuart and Stuart Schechter and Michael D. Smith}, Title = {Ephemeral Instrumentation for Lightweight Program Profiling}, Institution = {Harvard University}, Year = {2000} } @book{Stud02, Author = {Studio 7.5}, Isbn = {2-88479-011-X}, Keywords = {scglib}, Publisher = {Ava Publishing SA}, Title = {Navigation for the Internet and other Digital Media}, Year = {2002} } @unpublished{Stur94a, Author = {Daniel C. Sturman and Gul A. Agha}, Keywords = {binder}, Note = {University of Illinois at Urbana-Champaign}, Title = {A Protocol Description Language for Customizing Failure Semantics*}, Type = {Draft}, Year = {1994} } @phdthesis{Stur96a, Author = {Daniel C. Sturman}, Keywords = {coordination binder}, School = {Dept. of Computer Science, University of Illinois, Urbana}, Title = {Modular Specification of Interaction Policies in Distributed Computing}, Type = {{Ph.D}. Thesis}, Url = {ftp://ftp.cs.uiuc.edu:/pub/dcs/Tech_Reports/UIUCDCS-R-96-1950.ps.Z}, Year = {1996}, Bdsk-Url-1 = {ftp://ftp.cs.uiuc.edu:/pub/dcs/Tech_Reports/UIUCDCS-R-96-1950.ps.Z} } @inproceedings{Subr09a, author = {Subramanian, Suriya and Hicks, Michael and McKinley, Kathryn S.}, title = {Dynamic Software Updates: a {VM}-centric Approach}, booktitle = {Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation}, series = {PLDI '09}, year = {2009}, isbn = {978-1-60558-392-1}, location = {Dublin, Ireland}, pages = {1--12}, numpages = {12}, url = {http://doi.acm.org/10.1145/1542476.1542478}, doi = {10.1145/1542476.1542478}, acmid = {1542478}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {dynamic software updating, garbage collection, virtual machine technology} } @misc{Subtext, Key = {Subtext}, Keywords = {visprog subtext}, Note = {http://subtextual.org/}, Title = {Subtext programming language home page}, Url = {http://subtextual.org/}, Bdsk-Url-1 = {http://subtextual.org/} } @inproceedings{Suen07a, Annote = {internationalworkshop stefPub}, Author = {Mathieu Suen and St\'ephane Ducasse and Damien Pollet and Hani Abdeen and Ilham Alloui}, Booktitle = {FAMOOSr, 1st Workshop on FAMIX and Moose in Reengineering}, Keywords = {moose-pub}, Title = {Package Surface Blueprint: A Software Map}, Year = {2007} } @mastersthesis{Suen07b, Abstract = {This master presents a compact visualization, named Package Surface Blueprint, that qualifies the relationships that a package has with its neighbors. Large object-oriented applications are structured over a large number of packages. Packages are important but complex structural entities that may be difficult to understand since they play different development roles (i.e. class containers, code ownership, basic structure, architectural elements...). Maintainers of large applications face the problem of understanding how packages are structured in general and how they relate to each other. A Package Surface Blueprint represents packages around the notion of package surfaces: groups of relationships according to the packages they refer to. We present two specific views: one stressing the references made by a package, and another showing the inheritance structure of a package. We applied the visualization on two large case studies: ArgoUML and Squeak.}, Annote = {master cook}, Author = {Mathieu Suen}, Keywords = {moose-pub}, School = {Universit\'e de Savoie}, Title = {Package blueprints}, Url = {http://scg.unibe.ch/archive/masters/Suen07b.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Suen07b.pdf} } @article{Sugi81a, Author = {K. Sugiyama and S. Tagawa and M. Toda}, Journal = {IEEE Transactions on Systems, Man and Cybernetics}, Month = feb, Number = {2}, Title = {Methods for Visual Understanding of Hierarchical System Structures}, Volume = {SMC-11}, Year = {1981} } @article{Sull92a, Author = {K.J. Sullivan and D. Notkin}, Journal = {Transactions on Software Engineering and Methodology}, Month = jul, Number = {3}, Pages = {228--268}, Title = {Reconciling Environment Integration and Software Evolution}, Volume = {1}, Year = {1992} } @inproceedings{Sull97a, Address = {Boston MA}, Author = {Kevin J. Sullivan and John Socha and Mark Marchukov}, Booktitle = {Proceedings of ICSE 97}, Month = may, Pages = {503--513}, Title = {Using Formal Methods to Reason about Architectural Standards}, Year = {1997} } @inproceedings{Sull01a, Author = {Kevin J. Sullivan and William G. Griswold and Yuanfang Cai and Ben Hallen}, Booktitle = {ESEC/FSE 2001}, Title = {The Structure and Value of Modularity in SOftware Design}, Year = {2001} } @article{Sull01b, Address = {New York, NY, USA}, Author = {Gregory T. Sullivan}, Doi = {10.1145/383845.383865}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {10}, Pages = {95--97}, Publisher = {ACM}, Title = {Aspect-oriented programming using reflection and metaobject protocols}, Volume = {44}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/383845.383865} } @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}, Booktitle = {Proceedings of the ESEC/SIGSOFT FSE 2005}, Pages = {166--175}, Title = {Information hiding interfaces for aspect-oriented design}, Year = {2005} } @inproceedings{Sull05b, Author = {Kevin J. Sullivan and Hridesh Rajan}, Booktitle = {27th International Conference on Software Engineering (ICSE'05)}, Journal = {ICSE}, Pages = {59--68}, Title = {Classpects: unifying aspect- and object-oriented language design}, Year = {2005} } @article{Summ77a, Address = {New York, NY, USA}, Author = {Phillip D. Summers}, Doi = {10.1145/321992.322002}, Issn = {0004-5411}, Journal = {J. ACM}, Keywords = {examples tests unit testing}, Number = {1}, Pages = {161--175}, Publisher = {ACM Press}, Title = {A Methodology for {L}ISP Program Construction from Examples}, Volume = {24}, Year = {1977}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/321992.322002} } @techreport{Sun88a, Author = {{Sun Microsystem}}, Title = {{RPC}: Remote Procedure Call protocol specification, version 2}, keywords = {damiencbib}, institution = {Sun Microsystem}, Year = {1988} } @inproceedings{Sun01a, Address = {New York}, Author = {J. Sun and J.S. Dong and J. Lui and H. Wang}, Booktitle = {{WWW10} --- 10th International World Wide Web Conference}, Keywords = {fca}, Pages = {725--734}, Publisher = {ACM}, Title = {Object-{Z} Web Environment and Projections to {UML}}, Year = {2001} } @misc{SunJ2EEPatterns, Key = {SunJ2EEPatterns}, Note = {http://java.sun.com\-/blue\-prints\-/core\-j2ee\-patterns\-/Patterns\-/index.html}, Title = {Sun J2EE Patterns Catalogue}, Url = {http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html}, Bdsk-Url-1 = {http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html} } @inproceedings{Sund04a, Doi = {10.1109/SIMSYM.2004.1299486}, author = {Sundresh, Sameer and Kim, Wooyoung and Agha, Gul}, title = {SENS: A Sensor, Environment and Network Simulator}, booktitle = {ANSS'04: Proceedings of the 37th Annual Simulation Symposium}, keywords = {damiencbib}, year = {2004}, pages = {221--230}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @misc{Sunm96a, Author = {Sun Microsystems}, Institution = {Sun Microsystems}, Keywords = {Java}, Title = {The {Java} Native Code API}, Year = {1996} } @inproceedings{Suny01a, Address = {Toronto, Canada}, Annote = {internationalconference}, Author = {Suny\'e, Gerson and Pollet, Damien and Le~Traon, Yves and J\'ez\'equel, Jean-Marc}, Booktitle = {UML~2001 --- The Unified Modeling Language --- Modeling Languages, Concepts, and Tools}, Editor = {Gogolla, Martin and Kobryn, Cris}, Isbn = {3-540-42667-1}, Month = oct, Pages = {134--148}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Refactoring UML Models}, Url = {http://www.irisa.fr/triskell/publis/2001/Sunye01b.pdf}, Volume = {2185}, Year = {2001}, Bdsk-Url-1 = {http://www.irisa.fr/triskell/publis/2001/Sunye01b.pdf} } @article{Suss80a, Author = {G. Sussman and G. Steele}, Journal = {Artificial Intelligence}, Number = {1}, Pages = {1--39}, Title = {CONSTRAINTS: a language for expressing almost-hierarchical descriptions}, Volume = {14}, Year = {1980} } @phdthesis{Suth63a, Author = {Ivan Edward Sutherland}, Keywords = {visprog}, Month = jan, School = {Massachusetts Institute of Technology}, Title = {Sketchpad: A man-machine graphical communication system}, Type = {{Ph.D}. Thesis}, Url = {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf}, Year = {1963}, Bdsk-Url-1 = {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf} } @inproceedings{Sutt90a, Address = {New York, NY, USA}, Author = {Stanley M. Sutton, Jr. and Dennis Heimbigner and Leon J. Osterweil}, Booktitle = {SDE 4: Proceedings of the fourth ACM SIGSOFT symposium on Software development environments}, Doi = {10.1145/99277.99296}, Isbn = {0-89791-418-X}, Location = {Irvine, California, United States}, Pages = {206--217}, Publisher = {ACM Press}, Title = {Language constructs for managing change in process-centered environments}, Year = {1990}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/99277.99296} } @inproceedings{Suve03a, Author = {Suv\'{e}e, Davy and Vanderperren, Wim and Jonckers, Viviane}, Title = {JAsCo: an aspect-oriented approach tailored for component based software development}, Booktitle = {Proceedings of the 2nd international conference on Aspect-oriented software development}, Aeries = {AOSD '03}, Year = {2003}, Isbn = {1-58113-660-9}, Location = {Boston, Massachusetts}, Pages = {21--29}, Numpages = {9}, Url = {http://doi.acm.org/10.1145/643603.643606}, Doi = {10.1145/643603.643606}, Acmid = {643606}, Publisher = {ACM}, Address = {New York, NY, USA} } @inproceedings{Suzu81a, Address = {New York, NY, USA}, Author = {Norihisa Suzuki}, Booktitle = {POPL '81: Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Doi = {10.1145/567532.567553}, Isbn = {0-89791-029-X}, Location = {Williamsburg, Virginia}, Pages = {187--199}, Publisher = {ACM Press}, Title = {Inferring types in Smalltalk}, Year = {1981}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/567532.567553} } @inproceedings{Svet01a, Author = {Davor Svetinovic and Michael Godfrey}, Booktitle = {Proceedings Eight Working Conference on Reverse Engineering (WCRE'01)}, Month = oct, Title = {A Lightweight Architecture Recovery Process}, Year = {2001} } @article{Svob84a, Author = {L. Svobodova}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit reliability}, Month = may, Number = {3}, Pages = {257--268}, Title = {Resilient Distributed Computing}, Volume = {SE-10}, Year = {1984} } @inproceedings{Swan76a, author = {Swanson, E. Burton}, title = {The dimensions of maintenance}, booktitle = {Proceedings of the 2nd international conference on Software engineering}, series = {ICSE '76}, year = {1976}, location = {San Francisco, California, United States}, pages = {492--497}, numpages = {6}, url = {http://portal.acm.org/citation.cfm?id=800253.807723}, acmid = {807723}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA}, keywords = {Performance measurement, Software maintenance} } @article{Swar82a, Author = {W. Swartout and R. Balzer}, Journal = {CACM}, Keywords = {misc}, Pages = {438--440}, Title = {On the Inevitable Intertwining of Specification and Implementation}, Volume = {25}, Year = {1982} } @inproceedings{Swee85a, Author = {R.E. Sweet}, Booktitle = {Proceedings ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices}, Keywords = {olit-oopl mesa}, Month = jul, Pages = {216--229}, Title = {The Mesa Programming Environment}, Volume = {20}, Year = {1985} } @inproceedings{Swee99a, Author = {Peter F. Sweeney and Joseph (Yossi) Gil}, Booktitle = {Proceedings OOPSLA '99}, Doi = {10.1145/320384.320408}, Isbn = {1-58113-238-7}, Location = {Denver, Colorado, United States}, Pages = {256--275}, Publisher = {ACM Press}, Title = {Space and time-efficient memory layout for multiple inheritance}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/320384.320408} } @inproceedings{Swee00a, Address = {New York}, Author = {Sweeney, P. F. and Tip, F.}, 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.}, Keywords = {fca}, Pages = {98--107}, Publisher = {ACM Press}, Title = {Extracting Library-Based Object-Orientated Applications}, Year = {2000} } @inproceedings{Swin85a, Author = {D. Swinehart and P. Zwellweger and R. Hagmann}, Booktitle = {Proceedings ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices}, Keywords = {olit cedar}, Month = jul, Pages = {230--244}, Title = {The Structure of Cedar}, Volume = {20}, Year = {1985} } @article{Swin86a, Author = {D. Swinehart and P. Zwellweger and Richard Beach}, Journal = {ACM TOPLAS}, Keywords = {olit-oopl cedar}, Month = oct, Number = {4}, Pages = {419--490}, Title = {A Structural View of the Cedar Programming Environment}, Volume = {8}, Year = {1986} } @misc{Swing, Key = {Swing}, Note = {http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/package-summary.html}, Title = {Swing API} } @book{Swit93a, Author = {Robert Switzer}, Isbn = {0-13-105909-2}, Keywords = {eiffel olit-oopl oobib(oopl) book}, Publisher = {Prentice-Hall}, Title = {Eiffel: An Introduction}, Year = {1993} } @book{Symb84a, Address = {Cambridge, Mass.}, Author = {Symbolics Inc.}, Month = mar, Publisher = {MIT AI Lab}, Title = {The Lisp Machine Manual}, Year = {1984} } @inproceedings{Syny05a, Author = {Synytskyy and Holt and Davis}, Booktitle = {Proceedings of International Worksop on Program Comprehension (IWPC)}, Pages = {176--178}, Title = {Browsing Software Architectures With LSEdit}, Year = {2005} } @inproceedings{Syst99a, Author = {Tarja Syst\"a}, Booktitle = {Working Conference on Reverse Engineering (WCRE99)}, Month = oct, Pages = {304--313}, Title = {On the relationships between static and dynamic models in reverse engineering Java software}, Year = {1999} } @phdthesis{Syst00a, Author = {Tarja Syst{\"a}}, Keywords = {scglib}, School = {University of Tampere}, Title = {Static and Dynamic Reverse Engineering Techniques for {Java} Software Systems}, Year = {2000} } @inproceedings{Syst00b, Address = {Los Alamitos CA}, Author = {Tarja Syst{\"a}}, Booktitle = {Proceedings IEEE International Working Conference in Reverse Engineering (WCRE 2000)}, Month = nov, Pages = {214--223}, Publisher = {IEEE Computer Society Press}, Title = {Understanding the behavior of {Java} Programs}, Year = {2000} } @article{Syst01a, Address = {New York, NY, USA}, Author = {Tarja Syst{\"a} and Kai Koskimies and Hausi M\"{u}ller}, Doi = {10.1002/spe.386}, Issn = {0038-0644}, Journal = {Software --- Practice and Experience}, Month = jan, Number = {4}, Pages = {371--394}, Publisher = {John Wiley \& Sons, Inc.}, Title = {Shimba --- An Environment for Reverse Engineering {Java} Software Systems}, Volume = {31}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1002/spe.386} } @inproceedings{Szcz88a, Author = {Martha R. Szczur and Philip Miller}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {58--70}, Title = {Transportable Applications Environment ({TAE}) Plus Experiences in "Object"-ively Modernizing a User Interface Environment}, Volume = {23}, Year = {1988} } @inproceedings{Szek88a, Author = {Pedro Szekely and Brad Myers}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {36--45}, Title = {A User Interface Toolkit Based on Graphical Objects and Constraints}, Volume = {23}, Year = {1988} } @inproceedings{Szyp92a, Address = {Utrecht, the Netherlands}, Author = {Clemens A. Szyperski}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit-inheritance ecoop92proc}, Month = jun, Pages = {19--32}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Import is Not Inheritance --- Why We Need Both: Modules and Classes}, Volume = {615}, Year = {1992} } @book{Szyp98a, Author = {Clemens A. Szyperski}, Isbn = {0-201-17888-5}, Keywords = {components scglib}, Publisher = {Addison Wesley}, Title = {Component Software}, Year = {1998} } @book{Szyp02a, Author = {Clemens A. Szyperski}, Edition = {Second Edition}, Isbn = {0-201-74572-0}, Keywords = {components scglib}, Publisher = {Addison Wesley}, Title = {Component Software --- Beyond Object-Oriented Programming}, Year = {2002} } @inproceedings{Taen89a, Address = {Nottingham}, Author = {David Taenzer and Murthy Ganti and Sunil Podar}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-reuse inheritance scglib ecoop89proc binder(oop)}, Misc = {July 10-14}, Month = jul, Pages = {25--38}, Publisher = {Cambridge University Press}, Title = {Problems in Object-Oriented Software Reuse}, Year = {1989} } @inproceedings{Taft93a, Author = {S. Tucker Taft}, Booktitle = {Proceedings OOPSLA '93}, Keywords = {olit oopsla93}, Month = oct, Pages = {127--143}, Title = {Ada 9X: From Abstraction-Oriented to Object-Oriented}, Volume = {28}, Year = {1993} } @inproceedings{Taha96a, Author = {Y. Tahara and F. Kumeno and A. Ohsuga and S. Honiden}, Booktitle = {Proceedings of ISOTAS '96, LNCS 1049}, Month = mar, Organization = {JSSST-JAIST}, Pages = {171--189}, Title = {An Algebraic Semantics of Reflective Objects}, Year = {1996} } @inproceedings{Taha03a, Author = {Walid Taha}, Booktitle = {Domain-Specific Program Generation}, Keywords = {dsllit}, Pages = {30--50}, Title = {A Gentle Introduction to Multi-stage Programming.}, Year = {2003} } @article{Taiv95a, Author = {Antero Taivalsaari}, Journal = {OOPS Messenger}, Keywords = {prototype}, Number = {3}, Pages = {20--49}, Title = {Delegation versus Concatenation or Cloning is Inheritance too}, Volume = {6}, Year = {1995} } @article{Taiv96a, Author = {Antero Taivalsaari}, Doi = {10.1145/243439.243441}, Journal = {ACM Computing Surveys}, Keywords = {olit inheritance stlit-traits}, Month = sep, Number = {3}, Pages = {438--479}, Title = {On the Notion of Inheritance}, Url = {http://www.itu.dk/people/kbilsted/kurser/aos2003f/session05/taivalsaari96onTheNotionOfInheritance.pdf}, Volume = {28}, Year = {1996}, Bdsk-Url-1 = {http://www.itu.dk/people/kbilsted/kurser/aos2003f/session05/taivalsaari96onTheNotionOfInheritance.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/243439.243441} } @article{Taiv97a, Author = {Antero Taivalsaari}, Journal = {Journal of Object-Oriented Programming (JOOP)}, Keywords = {prototype}, Number = {7}, Pages = {44--50}, Title = {Classes Versus Prototypes: Some Philosophical and Historical Observations}, Volume = {10}, Year = {1997} } @inproceedings{Taka92a, Author = {Kazunori Takashio and Mario Tokoro}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {276--297}, Title = {{DROL}: An Object-Oriented Programming Language for Distributed Real-Time Systems}, Volume = {27}, Year = {1992} } @article{Talc93a, Author = {Talcott, Carolyn L.}, 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}, Journal = tcs, Keywords = {contract-types}, Title = {A Theory of Binding Structures and Applications to Rewriting}, Url = {http://steam.stanford.edu/MT/91amast-tcs.ps.Z}, Volume = 112, Year = {1993}, Bdsk-Url-1 = {http://steam.stanford.edu/MT/91amast-tcs.ps.Z} } @mastersthesis{Tale03a, 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.}, Author = {Daniele Talerico}, Keywords = {snf03 oobib scg-pub skip-doi scg-msc jb03 oorp}, Month = jun, School = {University of Bern}, Title = {Grouping in Object-Oriented Reverse Engineering}, Type = {Diploma Thesis}, Url = {http://scg.unibe.ch/archive/masters/Tale03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Tale03a.pdf} } @book{Tali94a, Author = {Taligent Inc.}, Isbn = {0-201-40888-0}, Keywords = {olit-oopl oobib(oopl) oobib(gen) c++ book}, Publisher = {Addison Wesley}, Title = {Taligent's Guide to Designing Programs: Well Mannered Object-Oriented Design in {C}++}, Year = {1994} } @article{Talp92a, Author = {J.-P. Talpin and Pierre Jouvelot}, Journal = {Journal of Functional Programming}, Pages = {245--271}, Title = {Polymorphic type, region and effect inference}, Volume = {2}, Year = {1992} } @inproceedings{Tan89a, Address = {Kyoto, Japan}, Author = {L. Tan and T. Katayama}, Booktitle = {First International Conference on Deductive and Object-Oriented Databases, DOOD89.}, Editor = {W. Kim and J.-M. Nicolas and S. Nishio}, Keywords = {olit-oodb schema evolution (smc)}, Pages = {241--258}, Publisher = {North-Holland}, Title = {Meta Operations for Type Management in Object-oriented Databases --- a Lazy Mechanism for Schema Evolution}, Year = {1989} } @inproceedings{Tan07a, Address = {New York, NY, USA}, Author = {Gang Tan and Greg Morrisett}, Booktitle = {OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications}, Doi = {10.1145/1297027.1297031}, Isbn = {978-1-59593-786-5}, Location = {Montreal, Quebec, Canada}, Pages = {39--56}, Publisher = {ACM}, Title = {Ilea: inter-language analysis across java and c}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1297027.1297031} } @article{Tane85a, Author = {A.S. Tanenbaum and R. Van Renesse}, Journal = {ACM Computing Surveys}, Keywords = {olit distribution binder}, Month = dec, Number = {4}, Pages = {419--470}, Title = {Distributed Operating Systems}, Volume = {17}, Year = {1985} } @book{Tane87a, Author = {Andrew S. Tanenbaum}, Isbn = {0-13-637331}, Keywords = {distribution book scglib}, Publisher = {Prentice-Hall}, Title = {Operating Systems Design Implemtations}, Year = {1987} } @inproceedings{Tann83a, Address = {Seeheim, Federal Republic of Germany}, Author = {P.P. Tanner and W.A.S. Buxton}, Booktitle = {IFIP WG 5.2, Workshop on User Interface Management}, Keywords = {uilit}, Month = nov, Title = {Some Issues in Future Interface Management System Development}, Year = {1983} } @inproceedings{Tans08a, Address = {New York, NY, USA}, Author = {Tansey, Wesley and Tilevich, Eli}, Booktitle = {OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications}, Doi = {10.1145/1449764.1449788}, Isbn = {978-1-60558-215-3}, Location = {Nashville, TN, USA}, Pages = {295--312}, Publisher = {ACM}, Title = {Annotation refactoring: inferring upgrade transformations for legacy applications}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1449764.1449788} } @inproceedings{Tant01a, Author = {{\'E}ric Tanter and Noury Bouraqadi and Jacques Noy\'e}, Booktitle = {Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns}, Pages = {25--43}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Reflex --- Towards an open reflective extension of {Java}}, Volume = {2192}, Year = {2001} } @misc{Tant01b, Author = {{\'E}ric Tanter and Jose Piquer}, Month = {jan}, Note = {In: Proceedings of the XXI International Conference of the Chilean Computer Science Society (SCCC 2001)}, Title = {Managing References upon Object Migration: Applying Separation of Concerns}, Year = {2001} } @inproceedings{Tant02, Author = {{\'E}ric Tanter and Marc S{\'e}gura-Devillechaise and Jacques Noy{\'e} and Jos{\'e} Piquer}, Booktitle = {Proceedings of GPCE'02}, Pages = {283--89}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Altering {Java} Semantics via Bytecode Manipulation}, Volume = {2487}, Year = {2002} } @inproceedings{Tant03a, Author = {{\'E}ric Tanter and Jacques Noy\'e and Denis Caromel and Pierre Cointe}, Booktitle = {Proceedings of OOPSLA '03, ACM SIGPLAN Notices}, Month = {nov}, Pages = {27--46}, Title = {Partial Behavioral Reflection: Spatial and Temporal Selection of Reification}, Url = {http://www.dcc.uchile.cl/~etanter/research/publi/2003/tanter-oopsla03.pdf}, Doi = {10.1145/949305.949309}, Year = {2003}, Bdsk-Url-1 = {http://www.dcc.uchile.cl/~etanter/research/publi/2003/tanter-oopsla03.pdf} } @phdthesis{Tant04a, Author = {{\'E}ric Tanter}, Month = {nov}, School = {University of Nantes and University of Chile}, Title = {From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming}, Url = {http://pleiad.dcc.uchile.cl/papers/2004/etanter-phd.pdf.zip}, Year = {2004}, Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2004/etanter-phd.pdf.zip} } @inproceedings{Tant04b, Address = {Berlin, Germany}, Author = {{\'E}ric Tanter and Jacques Noy\'e}, Booktitle = {1st European Interactive Workshop on Aspects in Software (EIWAS 2004)}, Month = sep, Title = {Motivation and Requirements for a Versatile {AOP} Kernel}, Year = {2004} } @techreport{Tant05a, Aeres = {ACT}, Author = {{\'E}ric Tanter and Kris Gybels and Marcus Denker and Alexandre Bergel}, Inria = {hors}, Institution = {University of Chile}, Note = {published to Software Composition (SC'06)}, Number = {TR/DCC-2005-12}, Selectif = {non}, Title = {Context-aware aspects}, Year = {2005} } @inproceedings{Tant05b, Address = {Tallin, Estonia}, Author = {{\'E}ric Tanter and Jacques Noy\'e}, Booktitle = {Proceedings of the 4th ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE 2005)}, Month = {sep}, Series = {LNCS}, Title = {A Versatile Kernel for Multi-Language {AOP}}, Volume = {3676}, Year = {2005} } @inproceedings{Tant05c, Author = {{\'E}ric Tanter}, Booktitle = {ECOOP Workshop on Object Technology for Ambient Intelligence}, Month = jul, Title = {Mirror Methods --- Reconciling Reflection and Extreme Encapsulation}, Year = {2005} } @inproceedings{Tant06a, 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.}, Address = {Vienna, Austria}, Aeres = {ACT}, Annote = {internationalconference}, Author = {{\'E}ric Tanter and Kris Gybels and Marcus Denker and Alexandre Bergel}, Booktitle = {Proceedings of the 5th International Symposium on Software Composition (SC 2006)}, Doi = {10.1007/11821946_15}, Inria = {hors}, Isbn = {978-3-540-37657-6}, Keywords = {scg-pub jb06 fb06 snf06}, Medium = {2}, Month = mar, Pages = {227--242}, Peerreview = {yes}, Selectif = {non}, Series = {LNCS}, Title = {Context-Aware Aspects}, Url = {http://scg.unibe.ch/archive/papers/Tant06aContextAspectsSC2006.pdf}, Volume = {4089}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tant06aContextAspectsSC2006.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/11821946_15} } @inproceedings{Tant06b, Address = {Vienna, Austria}, Author = {{\'E}ric Tanter}, Booktitle = {Proceedings of the 5th International Symposium on Software Composition (SC 2006)}, Editor = {L{\"o}we, Welf and S{\"u}dholt, Mario}, Month = mar, Pages = {98--113}, Publisher = {Springer}, Series = {LNCS}, Title = {Aspects of Composition in the {Reflex AOP} Kernel}, Volume = {4089}, Year = {2006} } @inproceedings{Tant06c, Address = {Twente, The Netherlands}, Author = {{\'E}ric Tanter}, Booktitle = {Proceedings of the European Workshop on Aspects in Software (EWAS 2006)}, Editor = {Kniesel, G{\"u}nter}, Institution = {University of Bonn}, Month = sep, Pages = {18--22}, Publisher = {Technical Report IAI-TR-2006-6, University of Bonn, Germany}, Title = {On Dynamically-Scoped Crosscutting Mechanisms}, Year = {2006} } @inproceedings{Tant06d, Address = {Bonn, Germany}, Author = {{\'E}ric Tanter}, Booktitle = {Proceedings of AOSD Workshop on Open and Dynamic Aspect Languages}, Title = {An Extensible Kernel Language for {AOP}}, Year = {2006} } @article{Tant07a, Author = {{\'E}ric Tanter}, Doi = {10.1145/1241761.1241764}, Journal = {ACM SIGPLAN Notices}, Month = feb, Number = 2, Pages = {27--33}, Publisher = {ACM Press}, Title = {On Dynamically-Scoped Crosscutting Mechanisms}, Url = {http://pleiad.dcc.uchile.cl/papers/2007/tanter-sigplan2007.pdf}, Volume = 42, Year = {2007}, Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2007/tanter-sigplan2007.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1241761.1241764} } @inproceedings{Tant08a, Address = {Brussels, Belgium}, Author = {{\'E}ric Tanter}, Booktitle = {Proceedings of the 7th ACM International Conference on Aspect-Oriented Software Development (AOSD 2008)}, Key = {AOSD 2008}, Month = apr, Pages = {168--179}, Publisher = {ACM Press}, Title = {Expressive Scoping of Dynamically-Deployed Aspects}, Url = {http://pleiad.dcc.uchile.cl/papers/2008/tanter-aosd2008.pdf}, Year = {2008}, Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2008/tanter-aosd2008.pdf} } @inproceedings{Tant08b, author = {Tanter, \'{E}ric}, title = {Contextual values}, booktitle = {Proceedings of the 2008 symposium on Dynamic languages}, series = {DLS '08}, year = {2008}, isbn = {978-1-60558-270-2}, location = {Paphos, Cyprus}, pages = {3:1--3:10}, articleno = {3}, numpages = {10}, url = {http://doi.acm.org/10.1145/1408681.1408684}, doi = {10.1145/1408681.1408684}, acmid = {1408684}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Tant09a, Address = {Charlottesville, Virginia, USA}, Author = {{\'E}ric Tanter and Johan Fabry and R{\'e}mi Douence and Jacques Noy{\'e} and Mario S{\"u}dholt}, Booktitle = {Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development (AOSD 2009)}, Doi = {10.1145/1509239.1509245}, Key = {AOSD 2009}, Month = mar, Pages = {27--38}, Publisher = {ACM Press}, Title = {Expressive Scoping of Distributed Aspects}, Url = {http://pleiad.dcc.uchile.cl/papers/2009/tanterAl-aosd2009.pdf}, Year = {2009}, Bdsk-Url-1 = {http://pleiad.dcc.uchile.cl/papers/2009/tanterAl-aosd2009.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1509239.1509245} } @techreport{Tant09b, Author = {{\'E}ric Tanter}, Institution = {University of Chile}, Month = nov, Number = {TR/DCC-2009-13}, Title = {Reflection and Open Implementations}, Keywords = {uni-refl}, Url = {http://www.dcc.uchile.cl/TR/2009/TR_DCC-20091123-013.pdf}, Year = {2009}, Bdsk-Url-1 = {http://www.dcc.uchile.cl/TR/2009/TR_DCC-20091123-013.pdf} } @inproceedings{Tant10a, author = {{\'E}ric Tanter}, title = {Execution Levels for Aspect-Oriented Programming}, pages = {37--48}, note = {Best Paper Award}, urlpdf = {http://pleiad.dcc.uchile.cl/papers/2010/tanter-aosd2010.pdf}, urldoi = {10.1145/1739230.1739236}, booktitle = {Proceedings of the 9th ACM International Conference on Aspect-Oriented Software Development (AOSD 2010)}, year = {2010}, address = {Rennes and Saint Malo, France}, month = mar, publisher = {ACM Press} } @article{Tanz95a, Author = {C. Tanzer}, Journal = {JOOP}, Month = feb, Pages = {43--46}, Title = {Remarks on object-oriented modeling of associations}, Year = {1995} } @inproceedings{Tarr99a, Address = {Los Angeles CA, USA}, Author = {Peri Tarr and Harold Ossher and William Harrison and Sutton, Jr, Stanley M.}, Booktitle = {Proceedings of ICSE '99}, Keywords = {hypermodules}, Pages = {107--119}, Title = {{N Degrees of Separation: Multi-dimensional Separation of Concerns}}, Year = {1999} } @inproceedings{Tarr00a, Author = {Peri L. Tarr and Maja D'Hondt and Lodewijk Bergmans and Cristina Videira Lopes}, Booktitle = {{ECOOP} 2000 Workshops}, Editor = {Jacques Malenfant and Sabine Moisan and Ana M. D. Moreira}, Pages = {203--240}, Publisher = {Springer}, Series = {LNCS}, Title = {Workshop on Aspects and Dimensions of Concern: Requirements on, and Challenge Problems for, Advanced Separation of Concerns}, Volume = {1964}, Year = {2000} } @article{Tarv09a, Author = {Alexander Tarvo}, Doi = {10.1109/MS.2009.15}, Journal = {IEEE Software}, Month = jan, Number = 1, Pages = {34--40}, Publisher = {IEEE Computer Society}, Title = {Mining Software History to Improve Software Maintenance Quality: A Case Study}, Volume = 26, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MS.2009.15} } @book{Tath03a, Author = {Eric Tatham}, Keywords = {scglib}, Publisher = {Mixed Reality Publication}, Title = {Smalltalk bytes book}, Year = {2003} } @article{Tayl96a, author = {Taylor, Richard N. and Medvidovic, Nenad and Anderson, Kenneth M. and Whitehead,Jr. E. James and Robbins, Jason E. and Nies, Kari A. and Oreizy, Peyman and Dubrow, Deborah L.}, title = {A Component- and Message-Based Architectural Style for GUI Software}, journal = {IEEE Transactions on Software Engineering}, volume = {22}, number = {6}, month = jun, year = {1996}, issn = {0098-5589}, pages = {390--406}, numpages = {17}, doi = {10.1109/32.508313}, acmid = {231232}, publisher = {IEEE Press}, address = {Piscataway, NJ, USA}, keywords = {Architectural styles message-based architectures graphical user interfaces GUI heterogeneity concurrency damiencbib ADL C2} } @incollection{Tayl00a, Author = {Paul Taylor}, Booktitle = {Pattern Languages of Program Design}, Editor = {N. Harrison and B. Foote and H. Rohnert}, Keywords = {olit oorp}, Pages = {611--636}, Publisher = {Addison Wesley}, Title = {Capable, Productive, and Satisfied: Some Organizational Patterns for Protecting Productive People}, Volume = {4}, Year = {2000} } @inproceedings{Tayl02a, Address = {Los Alamitos CA}, Author = {Christopher Taylor and Malcolm Munro}, Booktitle = {Proceedings 1st International Workshop on Visualizing Software for Understanding and Analysis}, Isbn = {0-7695-1662-9}, Pages = {43--50}, Publisher = {IEEE Computer Society}, Title = {Revision Towers}, Year = {2002} } @book{Tayl09a, title = {Software Architecture: Foundations, Theory, and Practice}, publisher = {Wiley}, Address = {New York, NY, USA}, author = {Taylor, Richard N. and Medvidovic, Nenad and Dashofy, Eric M.}, isbn = {978-0470167748}, year = {2009}, keywords = {damiencbib} } @article{Teit81a, Author = {W. Teitelman and Larry Masinter}, Journal = {IEEE Computer}, Keywords = {plang seelit interlisp}, Month = apr, Number = {4}, Pages = {25--34}, Title = {The Interlisp Programming Environment}, Volume = {14}, Year = {1981} } @inproceedings{Teit84a, Address = {Los Alamitos CA}, Author = {W. Teitelman}, Booktitle = {Proceedings of ICSE 1984 (7th International Conference on Software Engineering}, Pages = {181--195}, Publisher = {IEEE Computer Society}, Title = {A Tour through Cedar}, Year = {1984} } @book{Tel94a, Author = {Gerard Tel}, Keywords = {distributed algorithms}, Publisher = {Cambridge Press}, Title = {Introduction to Distibuted Algorithms}, Year = {1994} } @inproceedings{Tele03a, Address = {Aire-la-Ville, Switzerland, Switzerland}, Author = {Telea, Alexandru and Maccari, Alessandro and Riva, Claudio}, Booktitle = {VISSYM '02: Proceedings of the symposium on Data Visualisation 2002}, Citeulike-Article-Id= {5033297}, Isbn = {1-58113-536-X}, Keywords = {codemap, cs, softvis}, Location = {Barcelona, Spain}, Pages = {241--ff}, Posted-At = {2009-07-01 14:58:40}, Priority = {0}, Publisher = {Eurographics Association}, Title = {An open toolkit for prototyping reverse engineering visualizations}, Url = {http://portal.acm.org/citation.cfm?id=509781}, Year = {2002}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=509781} } @inproceedings{Tele02a, Author = {Telea and Maccari and Riva}, Booktitle = {Proceedings of International Workshop on Program Comprehension (IWPC)}, Doi = {10.1109/WPC.2002.1021303}, Pages = {3--13}, Publisher = {IEEE CS}, Title = {An Open Visualization Toolkit for Reverse Architecting}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.2002.1021303} } @article{Tele08a, Author = {Alexandru Telea and David Auber}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1111/j.1467-8659.2008.01214.x}, Journal = {Comput. Graph. Forum}, Number = {3}, Pages = {831-838}, Title = {Code Flows: Visualizing Structural Evolution of Source Code}, Volume = {27}, Year = {2008} } @article {Tele10a, author = {Telea, A. and Ersoy, O.}, title = {Image-Based Edge Bundles: Simplified Visualization of Large Graphs}, journal = {Computer Graphics Forum}, volume = {29}, number = {3}, publisher = {Blackwell Publishing Ltd}, issn = {1467-8659}, url = {http://dx.doi.org/10.1111/j.1467-8659.2009.01680.x}, doi = {10.1111/j.1467-8659.2009.01680.x}, pages = {843--852}, year = {2010} } @article{Tene00a, Author = {Tenenbaum, Joshua B. and Silva, Vin and Langford, John C.}, Citeulike-Article-Id= {266187}, Doi = {10.1126/science.290.5500.2319}, Issn = {00368075}, Journal = {Science}, Keywords = {codemap, isomap, simplex}, Month = dec, Number = {5500}, Pages = {2319--2323}, Posted-At = {2009-11-02 14:47:35}, Priority = {2}, Title = {A Global Geometric Framework for Nonlinear Dimensionality Reduction}, Url = {http://dx.doi.org/10.1126/science.290.5500.2319}, Volume = {290}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1126/science.290.5500.2319} } @article{Tenn76a, Author = {R.D. Tennent}, Journal = {Communications of the ACM}, Keywords = {pl-semantics binder}, Month = aug, Number = {8}, Pages = {437--453}, Title = {The Denotational Semantics of Programming Languages}, Volume = {19}, Year = {1976} } @article{Term05a, Address = {Los Alamitos, CA, USA}, Author = {Maurice Termeer and Christian F.J. Lange and Alexandru Telea and Michel R.V. Chaudron}, Doi = {10.1109/VISSOF.2005.1684298}, Isbn = {0-7803-9540-9}, Journal = {VISSOFT 2005. 3rd IEEE International Workshop on Volume}, Pages = {11}, Publisher = {IEEE Computer Society}, Title = {Visual Exploration of Combined Architectural and Metric Information}, Volume = {0}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2005.1684298} } @book{Terr90a, Author = {Peter Terrel}, Isbn = {3-411-02075-X}, Keywords = {scglib}, Publisher = {DudenVerlag}, Title = {Duden Oxford English}, Year = {1990} } @book{Terr91a, Author = {Peter Terrel}, Isbn = {0--00-470678-3}, Keywords = {scglib}, Publisher = {HarperCollins Publishers}, Title = {Collins English Dictionary}, Year = {1991} } @article{Tesl81a, Author = {Larry Tesler}, Journal = {Byte}, Keywords = {olit-oopl smalltalk}, Month = aug, Number = {8}, Pages = {90--147}, Title = {The {Smalltalk} Environment}, Volume = {6}, Year = {1981} } @misc{TestingFAQ, Key = {testing faq}, Month = feb, HowPublished = {http://www.faqs.org/faqs/software-eng/testing-faq/}, Title = {comp.software.testing {Frequently} {Asked} {Questions}}, Url = {http://www.faqs.org/faqs/software-eng/testing-faq/}, Year = {2002}, Bdsk-Url-1 = {http://www.faqs.org/faqs/software-eng/testing-faq/} } @techreport{Teti97a, Author = {Sani M. Tetik}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = nov, Title = {Datenbank f{\"u}r ``Clinical Study Notification Forms'' ({BAG})}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Teti97a.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Teti97a.pdf} } @inproceedings{Thal06a, 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}, Author = {Florian Thalmann and Markus Gaelli}, Booktitle = {Proceedings of C5 2006 (The Fourth International Conference on Creating, Connecting and Collaborating through Computing)}, Cvs = {JamTomorrow}, Doi = {10.1109/C5.2006.22}, Keywords = {scg-pub jb06 fb06 scg-bp croquet music snf06 gaelli}, Medium = {2}, Misc = {gaelli}, Month = jan, Pages = {73--78}, Peerreview = {yes}, Title = {{Jam} {Tomorrow}: Collaborative Music Generation in {Croquet} Using {OpenAL}}, Type = {Bachelor's thesis}, Url = {http://scg.unibe.ch/archive/papers/Thal06aJamTomorrow.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Thal06aJamTomorrow.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/C5.2006.22} } @mastersthesis{Thal07a, 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.}, Author = {Florian Thalmann}, Keywords = {scg-msc scg-pub skip-doi snf-none jb07}, Month = mar, School = {University of Bern}, Title = {Musical Composition with Grid Diagrams of Transformations}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Thal07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Thal07a.pdf} } @inproceedings{That95a, Address = {Aarhus, Denmark}, Author = {Satish R. Thatt\'e}, Booktitle = {Proceedings ECOOP '95}, Editor = {W. Olthoff}, Keywords = {olit ecoop95proc}, Month = aug, Pages = {52--76}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object Imaging}, Volume = {952}, Year = {1995} } @inproceedings{Theod98a, Author = {L. Theodoros and H.M. Edwards and A. Bryant and N. Willis}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {191--200}, Publisher = {IEEE Computer Society}, Title = {ROMEO: Reverse Engineering from OOSource COde to OMT Design}, Year = {1998} } @mastersthesis{Ther83a, Author = {D.G. Therault}, Keywords = {olit-oopl act2 actors}, Month = jun, Number = {#728}, School = {MIT AI Lab}, Title = {Issues in the Design and Implementation of Act2}, Type = {M.Sc. thesis, TR}, Year = {1983} } @article{Thom84a, Author = {Ken Thompson}, Journal = {CACM}, Keywords = {security unix}, Month = aug, Number = {8}, Pages = {761--763}, Title = {Reflection on Trusting Trust}, Volume = {27}, Year = {1984} } @inproceedings{Thom88a, Author = {Dave Thomas and Kent Johnson}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit-oopl orwell oopsla88}, Month = nov, Pages = {135--141}, Title = {Orwell --- {A} Configuration Management System for Team Programming}, Volume = {23}, Year = {1988} } @inproceedings{Thom89a, Address = {Austin, Texas}, Author = {Bent Thomsen}, Booktitle = {Proceedings POPL '89}, Keywords = {pcalc mobility equivalence chocs binder(ccs) popl89}, Misc = {Jan 11-13}, Month = jan, Pages = {143--154}, Title = {A Calculus of Higher Order Communicating Systems}, Year = {1989} } @article{Thom89b, Author = {Dave Thomas}, Journal = {JOOP}, Keywords = {oobib(gen) binder}, Month = may, Pages = {60--63}, Title = {In Search of an Object-Oriented Development Process}, Year = {1989} } @phdthesis{Thom90a, Address = {London}, Author = {Bent Thomsen}, Keywords = {pcalc mobility equivalence chocs binder (shelf)}, School = {Imperial College}, Title = {Calculi for Higher Order Communicating Systems}, Type = {{Ph.D}. Thesis}, Year = {1990} } @book{Thom91a, Address = {Reading, Mass.}, Author = {Simon Thompson}, Isbn = {0-201-41667-0}, Keywords = {types dependent pl book scglib}, Publisher = {Addison Wesley}, Series = {International Computer Science Series}, Title = {Type Theory and Functional Programming}, Year = {1991} } @techreport{Thom92a, Address = {Munich}, Author = {Bent Thomsen and Lone Leth and Alessandro Giacalone}, Institution = {ECRC}, Keywords = {concurrency semantics facile binder (shelf)}, Title = {Some Issues in the Semantics of Facile Distributed Programming}, Type = {ECRC-92-32}, Year = {1992} } @inproceedings{Thom92b, Author = {Laurent Thomas}, Booktitle = {Proceedings of the Parallel Architecture and Language Europe (PARLE '92)}, Editor = {D. Etiemble and J.-C. Syre}, Keywords = {olit-obc binder}, Month = jun, Pages = {261--275}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Extensibility and Reuse of Object-Oriented Synchronization Components}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/parle92.ps}, Volume = {605}, Year = {1992}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/members/thomas/parle92.ps} } @techreport{Thom93a, Address = {Munich}, Author = {Bent Thomsen}, Institution = {ECRC}, Keywords = {concurrency semantics types binder (shelf)}, Title = {Polymorphic Sorts and Types for Concurrent Functional Programs}, Type = {ECRC-93-10}, Year = {1993} } @inproceedings{Thom94a, Author = {Laurent Thomas}, Booktitle = {IEEE TENCON '94}, Keywords = {concurrency}, Month = aug, Pages = {541--545}, Title = {Inheritance Anomaly in True Concurrent Object Oriented Languages: {A} Proposal}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/tencon94.a4.ps.gz}, Year = {1994}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/tencon94.a4.ps.gz} } @book{Thom95a, Author = {Pete Thomas and Ray Weedon}, Isbn = {0-201-59387-4}, Keywords = {oobib(oopl) olit-oopl eiffel book}, Publisher = {Addison Wesley}, Title = {Object-Oriented Programming in Eiffel}, Year = {1995} } @article{Thom98a, Author = {Rob Thomsett}, Journal = {IEEE Software}, Keywords = {oorp}, Month = jul, Number = {4}, Pages = {91-93,95}, Publisher = {IEEE}, Title = {The Year 2000 Bug: a Forgotten Lesson}, Volume = {15}, Year = {1998} } @book{Thom99a, Address = {Reading, Mass.}, Author = {Simon Thompson}, Isbn = {0201342758}, Publisher = {Addison Wesley}, Title = {Haskell: The Craft of Functional Programming (2nd edition)}, Year = {1999} } @book{Thom01a, Author = {David Thomas and Andrew Hunt}, Keywords = {scglib ruby}, Publisher = {Addison Wesley}, Title = {Programming Ruby}, Year = {2001} } @article{Thom04a, Author = {Thomas, Dave}, Journal = {Journal of Object Technology}, Keywords = {messages}, Month = may, Number = {5}, Pages = {7--12}, Publisher = {ETHZ}, Title = {Message Oriented Programming}, Url = {http://www.jot.fm/issues/issue_2004_05/column1}, Volume = {3}, Year = {2004}, Bdsk-Url-1 = {http://www.jot.fm/issues/issue_2004_05/column1} } @article{Thom04b, author = {Thomas, Dave}, title = {{MDA}: Revenge of the Modelers or {UML} Utopia?}, journal = {IEEE Software}, volume = {21}, number = {3}, month = may, year = {2004}, issn = {0740-7459}, pages = {15--17}, numpages = {3}, doi = {10.1109/MS.2004.1293067}, publisher = {IEEE Computer Society Press}, address = {Los Alamitos, CA, USA}, keywords = {Model Driven Architecture MDA MDD MDE UML damiencbib} } @book{Thom05a, Author = {David Thomas and Andy Hunt}, Edition = {2nd}, Keywords = {scglib ruby}, Publisher = {Addison Wesley}, Title = {Programming Ruby}, Year = {2005} } @inproceedings{Thom08a, Address = {New York, NY, USA}, Author = {Thomson, Christopher and Holcombe, Mike}, Booktitle = {MSR '08: Proceedings of the 2008 international working conference on Mining software repositories}, Doi = {10.1145/1370750.1370777}, Isbn = {978-1-60558-024-1}, Location = {Leipzig, Germany}, Pages = {117--120}, Publisher = {ACM}, Title = {Correctness of data mined from CVS}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1370750.1370777} } @inproceedings{Thor87a, Author = {Lars-Erik Thorelli}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {types olit oopsla87}, Month = dec, Pages = {268--276}, Title = {Modules and Type Checking in {PL}/{LL}}, Volume = {22}, Year = {1987} } @inproceedings{Thor99a, 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.}, Address = {Lisbon, Portugal}, Author = {Kresten Krab Thorup and Mads Torgersen}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {186--204}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Unifying Genericity: Combining the benefits of virtual types and parameterized classes}, Volume = 1628, Year = {1999} } @inproceedings{Thur89a, Author = {M.B. Thuraisingham}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit-db oopsla89}, Month = oct, Pages = {203--210}, Title = {Mandatory Security in Object-Oriented Database Systems}, Volume = {24}, Year = {1989} } @article{Tich85a, Author = {Walter F. Tichy}, Journal = {Software Practice and Experience}, Month = jul, Number = {7}, Pages = {637--654}, Title = {{RCS} --- a system for version control}, Volume = {15}, Year = {1985} } @inproceedings{Tich88a, Author = {Walter Tichy}, Booktitle = {Proceedings of the International Workshop on Software Version and Configuration Control}, Keywords = {scm}, Pages = {1--20}, Title = {Tools for Software Configuration Management}, Year = {1988} } @mastersthesis{Tich97a, 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.}, Author = {Sander Tichelaar}, Keywords = {odp coordination frameworksbinder snf96 scg-pub skip-doi jb-none scg-msc tich-msc scg-coord-old}, Month = may, Number = {Software Composition Group}, School = {University of Groningen, NL --- University of Bern, CH}, Title = {A Coordination Component Framework for Open Distributed Systems}, Type = {Master's Thesis --- Software Composition Group}, Url = {http://scg.unibe.ch/archive/masters/Tich97a.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Tich97a.pdf} } @inproceedings{Tich97b, 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}, Author = {Sander Tichelaar and St\'ephane Ducasse and Theo-Dirk Meijler}, Booktitle = {Proceedings of the ESEC/FSE Workshop on Object-Oriented Re-engineering}, Editor = {Serge Demeyer and Harald Gall}, Keywords = {olit famoos-papunr tich-papunr scglit oobib scg-pub skip-doi snf97 jb97 stePub}, Month = sep, Note = {Technical Report TUV-1841-97-10}, Publisher = {Technical University of Vienna, Information Systems Institute, Distributed Systems Group}, Title = {Architectural Extraction In Reverse Engineering by Prototyping: An experiment}, Url = {http://scg.unibe.ch/archive/papers/Tich97bArchExtraction.pdf}, Year = {1997}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich97bArchExtraction.pdf} } @techreport{Tich97c, Author = {Sander Tichelaar}, Institution = {University of Bern}, Keywords = {odp coordination frameworks scg-wp snf96 scg-coord-old}, Title = {A Framework-based Approach to Coordination}, Type = {SCG working paper}, Year = {1997} } @inproceedings{Tich98m, 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.}, Author = {Sander Tichelaar and Serge Demeyer}, Booktitle = {Object-Oriented Technology (ECOOP '98 Workshop Reader)}, Editor = {Serge Demeyer and Jan Bosch}, Keywords = {olit scg-pub skip-doi famoos-papunr sergedem-papunr tich-papunr snf98 jb98}, Month = jul, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {An Exchange Model for Reengineering Tools}, Url = {http://scg.unibe.ch/archive/famoos/Tich98m/ecoop98exchmod.pdf}, Volume = {1543}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/Tich98m/ecoop98exchmod.pdf} } @techreport{Tich98z, 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.}, Author = {Sander Tichelaar and Juan Carlos Cruz and Serge Demeyer}, Institution = {University of Bern}, Keywords = {odp scg-wp sergedem-techrep tich-techrep coordination components snf98 scg-coord-98}, Month = jan, Title = {Coordination as a Variability Aspect in Open Distributed Systems}, 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}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Tich98z/%20http://www.iam.unibe.ch/~tichel/Working/CoordVar.pdf%20http://www.iam.unibe.ch/~tichel/Working/CoordVar.ps.gz} } @inproceedings{Tich99m, 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.}, Author = {Sander Tichelaar and Serge Demeyer}, Booktitle = {{SNiFF}+ User's Conference}, Keywords = {olit scg-pub skip-doi famoos-papunr sergedem-papunr tich-papunr snf99 jb99}, Month = jan, Note = {Also 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)}, Title = {{SNiFF}+ Talks to {Rational} {Rose} --- Interoperability using a Common Exchange Model}, Url = {http://scg.unibe.ch/archive/papers/Tich99mSniffToRationalRose.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich99mSniffToRationalRose.pdf} } @techreport{Tich99z, 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.}, Author = {Sander Tichelaar}, Institution = {University of Bern}, Keywords = {scg-pub skip-doi jb-none olit famoos-techrep tich-techrep snf99 moose-pub}, Month = sep, Title = {{FAMIX} {Java} language plug-in 1.0}, Url = {http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/JavaPlugin1.0.html http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/JavaPlugin1.0.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/JavaPlugin1.0.html%20http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/JavaPlugin1.0.pdf} } @inproceedings{Tich00a, 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.}, Author = {Sander Tichelaar and Juan Carlos Cruz and Serge Demeyer}, Booktitle = {Proceedings ACM SAC 2000}, Doi = {10.1145/335603.335758}, Editor = {Janice Carroll and Ernesto Damiani and Hisham Haddad and Dave Oppenheim}, Keywords = {coordination components scg-pub tich-papref sergedem-papref scg-coord-00 snf00 jb00}, Month = mar, Pages = {270--277}, Publisher = {ACM}, Title = {Design Guidelines for Coordination Components}, Url = {http://scg.unibe.ch/archive/papers/Tich00aDesignGuidelines.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich00aDesignGuidelines.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/335603.335758} } @inproceedings{Tich00b, 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}, Author = {Sander Tichelaar and St\'ephane Ducasse and Serge Demeyer and Oscar Nierstrasz}, Booktitle = {Proceedings of International Symposium on Principles of Software Evolution (ISPSE '00)}, Doi = {10.1109/ISPSE.2000.913233}, Keywords = {reengineering refactoring FAMIX repositories mooseCincom tich-papref scg-pub jb00 snf01 stePub moose-pub}, Misc = {acceptance rate: 22/51 = 43\%}, AcceptTotal = {51}, AcceptNum = {22}, Pages = {157--167}, Publisher = {IEEE Computer Society Press}, Title = {A Meta-model for Language-Independent Refactoring}, Url = {http://scg.unibe.ch/archive/papers/Tich00bRefactoringMetamodel.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich00bRefactoringMetamodel.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ISPSE.2000.913233} } @inproceedings{Tich00m, 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}, Author = {Sander Tichelaar and St\'ephane Ducasse and Serge Demeyer}, Booktitle = {Proceedings of the ICSE 2000 Workshop on Standard Exchange Format (WoSEF 2000)}, Keywords = {components scg-pub skip-doi tich-papunr sergedem-papunr snf00 jb00 stefPub moose-pub}, Month = jun, Title = {{FAMIX}: Exchange Experiences with {CDIF} and {XMI}}, Url = {http://scg.unibe.ch/archive/papers/Tich00mFamixCdifXmi.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich00mFamixCdifXmi.pdf} } @inproceedings{Tich00n, 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.}, Address = {Los Alamitos CA}, Annote = {internationalworkshop}, Author = {Sander Tichelaar and St\'ephane Ducasse and Serge Demeyer}, Booktitle = {Proceedings WCRE 2000 Workshop on Exchange Formats}, Doi = {10.1109/WCRE.2000.891485}, Keywords = {components scg-pub tich-papunr sergedem-papunr snf00 jb00 stefPub moose-pub}, Month = nov, Pages = {296--296}, Publisher = {IEEE Computer Society Press}, Title = {{FAMIX} and {XMI}}, Url = {http://scg.unibe.ch/archive/papers/Tich00nFamixWCRE2000.pdf}, Year = {2000}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Tich00nFamixWCRE2000.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2000.891485} } @phdthesis{Tich01a, 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.}, Author = {Sander Tichelaar}, Keywords = {scglib scg-pub skip-doi jb01 tich-phd scg-phd evolution snf02 moose-pub}, Month = dec, School = {University of Bern}, Title = {Modeling Object-Oriented Software for Reverse Engineering and Refactoring}, Url = {http://scg.unibe.ch/archive/phd/tichelaar-phd.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/tichelaar-phd.pdf} } @techreport{Tich01y, Annote = {report notrefereed}, Author = {Sander Tichelaar and St\'ephane Ducasse}, Institution = {Institute of Computer Science and Applied Mathematics}, Note = {University of Bern, IAM-TR-09-01}, Title = {Pull Up/Push Down Method: an Analysis}, Year = {2001} } @inproceedings{Till93a, Author = {Scott R. Tilley and Hausi A. M{\"u}ller}, Booktitle = {Proceedings of CASE '93 6th International Workshop on Computer-Aided Software Engineering}, Keywords = {project management case93 binder}, Month = jul, Publisher = {IEEE Computer Society}, Title = {Using Virtual Subsystems in Project Management}, Year = {1993} } @inproceedings{Till93b, Author = {Scott R. Tilley and Hausi A. M{\"u}ller and Michael J. Whitney and Kenny Wong}, Booktitle = {Proceedings of CSM '93 The Conference on Software Maintenance}, Keywords = {reverse engineering binder}, Month = sep, Pages = {142--151}, Publisher = {IEEE Computer Society}, Title = {Domain-Retargetable Reverse Engineering}, Year = {1993} } @inproceedings{Till94a, Author = {Scott R. Tilley}, Booktitle = {Proceedings of The International Conference on Software Maintenance}, Keywords = {reverse engineering binder}, Month = sep, Publisher = {IEEE Computer Society}, Title = {Domain-Retargetable Reverse Engineering {II}: Personalised User Interfaces}, Year = {1994} } @article{Till94b, Author = {Scott R. Tilley and Kenny Wong and Margaret-Anne D. Storey and Hausi A. M{\"u}ller}, Journal = {International Journal of Software Engineering and Knowledge Engineering}, Keywords = {reverse enginnering binder}, Number = {4}, Pages = {501--520}, Title = {Programmable Reverse Enginnering}, Volume = {4}, Year = {1994} } @inproceedings{Till96a, Author = {Scott R. Tilley and Dennis B. Smith and Santanu Paul}, Booktitle = {WPC '96: Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)}, Doi = {10.1109/WPC.1996.501117}, Isbn = {0-8186-7283-8}, Keywords = {design-recovery}, Pages = {19}, Publisher = {IEEE Computer Society}, Title = {Towards a Framework for Program Understanding}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.1996.501117} } @inproceedings{Till03a, Author = {Thomas Tilley and Richard Cole and Peter Becker and Peter Eklund}, Booktitle = {Proceedings of ICFCA '03 (1st International Conference on Formal Concept Analysis)}, Editor = {Gerd Stumme}, Month = feb, Publisher = {Springer-Verlag}, Title = {A Survey of Formal Concept Analysis Support for Software Engineering Activities}, Url = {http://citeseer.nj.nec.com/588051.html}, Year = {2003}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/588051.html} } @inproceedings{Till03b, Author = {Thomas Tilley and Wolfgang Hesse and Roger Duke}, Booktitle = {Using Conceptual Structures: Contributions to ICCS 2003}, Editor = {B. Ganter and A. de Moor}, Keywords = {fca}, Pages = {213--226}, Publisher = {Shaker Verlag}, Title = {A Software Modelling Exercise Using {FCA}}, Year = {2003} } @inproceedings{Till03c, Author = {Thomas Tilley}, Booktitle = {Using Conceptual Structures: Contributions to ICCS 2003}, Editor = {B. Ganter and A. de Moor}, Keywords = {fca}, Pages = {227--240}, Publisher = {Shaker Verlag}, Title = {Towards an {FCA} Based Tool for Visualising Formal Specifications}, Year = {2003} } @inproceedings{Till05a, author = {Nikolai Tillmann and Wolfram Schulte}, title = {Parameterized unit tests}, booktitle = {ESEC/SIGSOFT FSE}, year = {2005}, pages = {253-262}, ee = {10.1145/1081706.1081749}, url = {ftp://ftp.research.microsoft.com/pub/tr/TR-2005-64.pdf} } @article{Tino71a, Author = {Tinoco, jun., Ignacio and Olke C. Uhlenbeck and Mark D. Levine}, Journal = {Nature}, Keywords = {dotplot}, Month = apr, Pages = {362--367}, Title = {Estimation of Secondary Structure in Ribonucleic Acids}, Volume = {230}, Year = {1971} } @misc{TinyOS, Key = {TinyOS}, Keywords = {sensors embedded systems wireless}, Note = {http://www.tinyos.net}, Title = {{TinyOS}: An open-source {OS} for the networked sensor regime}, Url = {http://www.tinyos.net}, Bdsk-Url-1 = {http://www.tinyos.net} } @inproceedings{Tisi10a, author = {Tisi, Massimo and Cabot, Jordi and Jouault, Fr\'{e}d\'{e}ric}, title = {Improving higher-order transformations support in ATL}, booktitle = {Proceedings of the Third international conference on Theory and practice of model transformations}, series = {ICMT'10}, year = {2010}, isbn = {3-642-13687-7, 978-3-642-13687-0}, location = {M\&\#225;laga, Spain}, pages = {215--229}, numpages = {15}, url = {http://portal.acm.org/citation.cfm?id=1875847.1875864}, acmid = {1875864}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @book{Tiso94a, Editor = {Sophie Tison}, Isbn = {3-540-57879-X}, Keywords = {caap94 scglib procee lncs}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Trees in Algebra and Programming --- {CAAP}`94}, Volume = {787}, Year = {1994} } @inproceedings{Titz06a, Address = {New York, NY, USA}, Author = {Ben L. Titzer}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1167473.1167489}, Isbn = {1-59593-348-4}, Location = {Portland, Oregon, USA}, Pages = {191--208}, Publisher = {ACM}, Title = {Virgil: objects on the head of a pin}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167489} } @inproceedings{Tobi05a, Author = {Sam Tobin-Hochstadt and Eric Allen}, Booktitle = {Foundations of Object Oriented Languages}, Title = {A Core Calculus of Metaclasses}, Url = {http://research.sun.com/projects/plrg/fool2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://research.sun.com/projects/plrg/fool2005.pdf} } @incollection{Toft90a, Author = {C. Tofts}, Booktitle = {Semantics for Concurrency}, Editor = {M.Z. Kwiatkowska and M.W. Shields and R.M. Thomas}, Keywords = {pcalc ccs}, Pages = {281--294}, Publisher = {Springer-Verlag}, Series = {Workshops in Computing}, Title = {Timed Concurrent Processes}, Year = {1990} } @article{Toko86a, Author = {Mario Tokoro and Yutaka Ishikawa}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-obcl orient84k knowrep actors oopws86}, Month = oct, Number = {10}, Pages = {39--48}, Title = {Concurrent Programming in Orient84/{K}: An Object-Oriented Knowledge Representation Language}, Volume = {21}, Year = {1986} } @techreport{Toko90a, Address = {Tokyo}, Author = {Mario Tokoro}, Institution = {Sony Computer Science Lab. Inc.}, Keywords = {concurrency binder}, Misc = {June 11}, Month = jun, Title = {Computational Field Model: Toward a New Computing Model/Methodology for Open Distributed Environment}, Type = {SCSL-TR-90-006}, Year = {1990} } @book{Toko92a, Doi = {10.1007/3-540-55613-3}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Isbn = {3-540-55613-3}, Keywords = {olit-obc obc91 book scglib}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of the {ECOOP}'91 Workshop on Object-Based Concurrent Computing}, Url = {http://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-1379120-0}, Volume = 612, Year = {1992}, Bdsk-Url-1 = {http://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-1379120-0}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/3-540-55613-3} } @inproceedings{Toko94a, 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.}, Author = {Mario Tokoro and Kazunori Takashio}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {93--110}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Toward Languages and Formal Systems for Distributed Computing}, Volume = {791}, Year = {1994} } @book{Toko94b, Editor = {Mario Tokoro and Remo Pareschi}, Isbn = {3-540-58202-9}, Keywords = {olit ecoop94proc scglib proceedings}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Proceedings of {ECOOP}'94}, Volume = {821}, Year = {1994} } @inproceedings{Toku99a, Author = {Lance Tokuda and Don Batory}, Booktitle = {Proceedings COOTS '99}, Keywords = {refactoring}, Month = may, Title = {Automating Three Modes of Evolution for Object-Oriented Software Architecture}, Year = {1999} } @inproceedings{Toku99b, Author = {Lance Tokuda and Don Batory}, Booktitle = {Proceedings of Automated Software Engineering}, Title = {Evolving Object-Oriented Designs with Refactorings}, Year = {1999} } @incollection{Tolk95a, 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.}, Author = {Robert Tolksdorf}, Booktitle = {Object-Based Models and Languages for Concurrent Systems}, Editor = {Paolo Ciancarini and Oscar Nierstrasz and Akinori Yonezawa}, Keywords = {olit OBM94-11}, Pages = {176--193}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Machine for Uncoupled Coordination and Its Concurrent Behavior}, Volume = {924}, Year = {1995} } @inproceedings{Tolk97a, Author = {Robert Tolksdorf}, Booktitle = {Proceedings of COORDINATION '97 (Coordination Languages and Models}, Pages = {430--433}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Berlinda: An Object-Oriented Platform for Implementing Coordination Languages in {Java}.}, Volume = 1282, Year = {1997} } @inproceedings{Tolk97b, Author = {Robert Tolksdorf}, Booktitle = {Proceedings of the 6th Workshops on Enabling Technologies: Infrastructure fo r Collaborative Enterprises (WET ICE '97)}, Pages = {121--126}, Title = {Coordinating {Java} Agents with Multiple Coordination Languages on the Berlinda Platform.}, Year = {1997} } @inproceedings{Tolv07a, Author = {Juha-Pekka Tolvanen and Risto Pohjonen and Steven Kelly}, Booktitle = {Proceedings of the 7th OOPSLA Workshop on Domain-Specific Modeling}, Keywords = {dsllit}, Location = {Montreal, Canada}, Title = {Advanced Tooling for Domain-Specific Modeling: {MetaEdit+}}, Year = {2007} } @incollection{Toml89a, Address = {Reading, Mass.}, Author = {Chris Tomlinson and M. Scheevel}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit-obcl oocda89 oobib(obcp)}, Pages = {79--124}, Publisher = {ACM Press and Addison Wesley}, Title = {Concurrent Object-Oriented Programming Languages}, Year = {1989} } @inproceedings{Toml89b, Author = {Chris Tomlinson and Vineet Singh}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit-obcl rosette oopsla89}, Month = oct, Pages = {103--112}, Title = {Inheritance and Synchronization with Enabled Sets}, Volume = {24}, Year = {1989} } @inproceedings{Tone97a, Author = {Paolo Tonella and Giuliano Antoniol and Roberto Fiutem and Ettore Merlo}, Booktitle = {Proceedings ICSE '97}, Keywords = {fca}, Month = may, Organization = {IEEE}, Title = {Flow Insensitive C++ Pointers and Polymorphism Analysis and its Application to Slicing}, Year = {1997} } @inproceedings{Tone99a, Author = {Paolo Tonella and Giuliano Antoniol}, Booktitle = {Proceedings of ICSM '99 (International Conference on Software Maintenance)}, Keywords = {fca}, Month = oct, Pages = {230--238}, Publisher = {IEEE Computer Society Press}, Title = {Object Oriented Design Pattern Inference}, Year = {1999} } @article{Tone01b, Author = {Paolo Tonella}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {fca}, Month = apr, Number = {4}, Pages = {351--363}, Title = {Concept Analysis for Module Restructuring}, Volume = {27}, Year = {2001} } @inproceedings{Tone02a, Address = {Los Alamitos, CA, USA}, Author = {P. Tonella and A. Potrich}, Booktitle = {Proceedings of 18th IEEE International Conference on Software Maintenance (ICSM'02)}, Doi = {10.1109/ICSM.2002.1167747}, Isbn = {0-7695-1819-2}, Pages = {54}, Publisher = {IEEE Computer Society}, Title = {Static and Dynamic {C}++ Code Analysis for the Recovery of the Object Diagram}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2002.1167747} } @inproceedings{Tone04a, Author = {Paolo Tonella and Mariano Ceccato}, Booktitle = {Proceedings of WCRE 2004 (11th International Working Conference in Reverse Engineering)}, Keywords = {fca}, Location = {Delft, Netherlands}, Month = nov, Pages = {112--121}, Publisher = {IEEE Computer Society Press}, Title = {Aspect Mining through the Formal Concept Analysis of Execution Traces}, Year = {2004} } @inproceedings{Toom04a, Abstract = {We present Linked Editing, a novel, lightweight editor-based technique for managing duplicated source code.}, Address = {Washington, DC, USA}, Author = {Toomim, Michael and Begel, Andrew and Graham, Susan L.}, Booktitle = {VLHCC '04: Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing}, Citeulike-Article-Id= {387759}, Citeulike-Linkout-0= {http://portal.acm.org/citation.cfm?id=1034566}, Citeulike-Linkout-1= {http://dx.doi.org/10.1109/VLHCC.2004.35}, Citeulike-Linkout-2= {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=1372317}, Doi = {10.1109/VLHCC.2004.35}, Isbn = {0-7803-8696-5}, Journal = {Visual Languages and Human Centric Computing, 2004 IEEE Symposium on}, Keywords = {hot\_clone, snf}, Pages = {173--180}, Posted-At = {2010-01-20 14:42:14}, Priority = {2}, Publisher = {IEEE Computer Society}, Title = {Managing Duplicated Code with Linked Editing}, Url = {http://dx.doi.org/10.1109/VLHCC.2004.35}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VLHCC.2004.35} } @inproceedings{Torc02a, Author = {Marco Torchiano}, Booktitle = {Proceedings of ICSM 2002 (International Conference on Software Maintenance)}, Organization = {IEEE Computer Society}, Pages = {230--233}, Publisher = {IEEE Press}, Title = {Documenting Pattern Use in {Java} Programs}, Year = {2002} } @inproceedings{Torg04a, Author = {Mads Torgersen}, Booktitle = {Proceedings of European Conference on Object-Oriented Programming (ECOOP'04)}, Doi = {10.1007/b98195}, Keywords = {olit ecoop04proc expression-problem}, Month = jun, Pages = {123--146}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {The Expression Problem Revisited}, Url = {http://www.daimi.au.dk/~madst/ecoop04/main.pdf}, Volume = {3086}, Year = {2004}, Bdsk-Url-1 = {http://www.daimi.au.dk/~madst/ecoop04/main.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b98195} } @techreport{Tory02a, Author = {Melanie Tory and Torsten M\"oller}, Institution = {Computing Science Dept., Simon Fraser University}, Number = {CMPT-TR2002-06}, Title = {A Model-Based Visualization Taxonomy}, Year = {2002} } @misc{ToscanaJ, Key = {ToscanaJ}, Note = {http://toscanaj.sourceforge.net/}, Title = {http://toscanaj.sourceforge.net/}, Url = {http://toscanaj.sourceforge.net/}, Bdsk-Url-1 = {http://toscanaj.sourceforge.net/} } @inproceedings{Tour03a, Author = {{Tom Tourw\'e} and Tom Mens}, Booktitle = {Proc. 7th European Conf. Software Maintenance and Re-engineering (CSMR 2003)}, Month = mar, Pages = {91--100}, Publisher = {IEEE Computer Society Press}, Title = {Identifying Refactoring Opportunities Using Logic Meta Programming}, Year = {2003} } @inproceedings{Tour03b, Address = {Washington, DC, USA}, Author = {Tourw\'{e}, Tom and Mens, Tom}, Booktitle = {ICSM '03: Proceedings of the International Conference on Software Maintenance}, Isbn = {0-7695-1905-9}, Pages = {148}, Publisher = {IEEE Computer Society}, Title = {Automated Support for Framework-Based Software Evolution}, Year = {2003} } @inproceedings{Trac93a, Address = {Indianapolis, IN}, Author = {Will Tracz}, Booktitle = {Proceedings of the {ACM}/{SIGAPP} Symposium on Applied Computing}, Editor = {Ed Deaton and K. M. George and Hal Berghel and George Hedrick}, Month = feb, Pages = {77--86}, Publisher = {ACM Press}, Title = {Parameterized Programming in {LILEANNA}}, Year = {1993} } @book{Trac95a, Author = {Will Tracz}, Isbn = {0-201-63369-8}, Keywords = {scglib reuse new-entry}, Publisher = {Addison Wesley}, Title = {Confessions of a Used Program Salesman}, Year = {1995} } @inproceedings{Tran99a, Author = {J. Tran and R. Holt}, Booktitle = {Proceedings of CASCON}, Month = {nov}, Title = {Forward and Reverse Repair of Software Architecture}, Year = {1999} } @inproceedings{Tran00a, Author = {John B. Tran and Michael W. Godfrey and Eric H. S. Lee and Richard C. Holt}, Booktitle = {IWPC}, Pages = {48--59}, Title = {Architectural Repair of Open Source Software.}, Year = {2000} } @incollection {Tran08a, author = {Tran, Huy and Zdun, Uwe and Dustdar, Schahram}, affiliation = {Vienna University of Technology Distributed Systems Group, Institute of Information Systems Austria}, title = {View-Based Integration of Process-Driven SOA Models at Various Abstraction Levels}, booktitle = {Model-Based Software and Data Integration}, series = {Communications in Computer and Information Science}, editor = {Kutsche, Ralf-Detlef and Milanovic, Nikola}, publisher = {Springer Berlin Heidelberg}, isbn = {978-3-540-78999-4}, pages = {55-66}, volume = {8}, url = {http://dx.doi.org/10.1007/978-3-540-78999-4_7}, note = {10.1007/978-3-540-78999-4_7}, abstract = {SOA is an emerging architectural style to achieve loosely-coupling and high interoperability of software components and systems by using message exchanges via standard public interfaces. In SOAs, software components are exposed as services and typically coordinated by using processes which enable service invocations from corresponding activities. These processes are described in high-level or low-level modeling languages. The extreme divergence in term of syntax, semantics and levels of abstraction of existing process modeling languages hinders the interoperability and reusability of software components or systems being built upon or relying on such models. In this paper we present a novel approach that provides an automated integration of modeling languages at different abstraction levels using the concept of architectural view. Our approach is realized as a view-based reverse engineering tool-chain in which process descriptions are mapped onto appropriate high-level or low-level views, offered by a view-based modeling framework.}, year = {2008} } @techreport{Trat05a, Author = {Laurence Tratt}, Institution = {Department of Computer Science, King's College London}, Keywords = {dsllit}, Month = feb, Number = {TR-05-01}, Title = {The {Converge} programming language}, Url = {http://tratt.net/laurie/research/publications/papers/tratt05convergepl.pdf}, Year = {2005}, Bdsk-Url-1 = {http://tratt.net/laurie/research/publications/papers/tratt05convergepl.pdf} } @misc{Trat05b, Author = {Laurence Tratt}, Keywords = {Earley parsing, dsllit}, Note = {Submitted for Publication}, Title = {Domain Specific Language Implementation via Compile-Time Meta-Programming}, Year = {2005} } @article{Trat08a, Address = {New York, NY, USA}, Author = {Laurence Tratt}, Doi = {10.1145/1391956.1391958}, Issn = {0164-0925}, Journal = {ACM TOPLAS}, Keywords = {converge dsllit}, Number = {6}, Pages = {1--40}, Publisher = {ACM}, Title = {Domain specific language implementation via compile-time meta-programming}, Url = {http://tratt.net/laurie/research/publications/papers/tratt__domain_specific_language_implementation_via_compile_time_meta_programming.pdf}, Volume = {30}, Year = {2008}, Bdsk-Url-1 = {http://tratt.net/laurie/research/publications/papers/tratt__domain_specific_language_implementation_via_compile_time_meta_programming.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1391956.1391958} } @article{Trat09a, Author = {Laurence Tratt}, Journal = {Advances in Computers}, Pages = {149--184}, Publisher = {Elsevier}, Title = {Dynamically Typed Languages}, Volume = {77}, Year = {2009} } @inproceedings{Trav02a, Author = {Martin Traverso and Spiros Mancoridis}, Booktitle = {Proceedings of ASE 2002 (Conference on Automated Software Engineering}, Pages = {331--360}, Title = {On the Automatic Recovery of Style-Specific Architectural Relations in Software Systems}, Year = {2002} } @article{Treis85a, Author = {Anne Treisman}, Doi = {10.1016/S0734-189X(85)80004-9}, Journal = {Computer Vision, Graphics, and Image Processing}, Number = {2}, Pages = {156--177}, Title = {Preattentive processing in vision}, Volume = {31}, Year = {1985}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0734-189X(85)80004-9} } @article{Trel82a, Author = {P.C. Treleaven and D.R. Brownbridge and R.P. Hopkins}, Journal = {ACM Computing Surveys}, Keywords = {misc}, Month = mar, Number = {1}, Pages = {93--143}, Title = {Data-Driven and Demand-Driven Computer Architecture}, Volume = {14}, Year = {1982} } @book{Trem75a, Author = {J.P. Tremblay and R. Manohar}, Keywords = {misc computability logic}, Publisher = {McGraw-Hill}, Title = {Discrete Mathemetical Structures with Applications to Computer Science}, Year = {1975} } @phdthesis{Trif01a, Author = {Adrian Trifu}, School = {Univ. Karlsruhe}, Title = {Using Cluster Analysis in the Architecture Recovery of Object-Oriented Systems}, Year = {2001} } @inproceedings{Trif04a, Address = {Los Alamitos CA}, Author = {Adrian Trifu and Olaf Seng and Thomas Genssler}, Booktitle = {Proceedings 8th European Conference on Software Maintenance and Reengineering (CSMR 2004)}, Keywords = {metrics}, Pages = {174--183}, Publisher = {IEEE Computer Society Press}, Title = {Automated Design Flaw Correction in Object-Oriented Systems}, Year = {2004} } @inproceedings{Trif05, Address = {Los Alamitos CA}, Author = {Adrian Trifu and Radu Marinescu}, Booktitle = {Proceedings of 12th Working Conference on Reverse Engineering (WCRE 2005), 7-11 November 2005, Pittsburgh, PA, USA}, Doi = {10.1109/WCRE.2005.15}, Keywords = {norex06}, Pages = {155--164}, Publisher = {IEEE Computer Society}, Title = {Diagnosing Design Problems in Object Oriented Systems.}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2005.15} } @book{Trio06a, Author = {Mario Triola}, Isbn = {0-321-33183-4}, Publisher = {Addison-Wesley}, Title = {Elementary Statistics}, Year = {2006} } @article{Trip88a, Author = {Anand Tripathi and Mehmet Aksit}, Journal = {Journal of Object-Oriented Programming}, Keywords = {olit-obcl sina joop}, Month = nov, Number = {4}, Pages = {24--36}, Title = {Communication, Scheduling and Resource Management in {SINA}}, Volume = {2}, Year = {1988} } @article{Trip89a, Author = {Anand Tripathi}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit-ooos nexus binder}, Month = jun, Number = {6}, Pages = {686--695}, Title = {An Overview of the Nexus Distributed Operating System Design}, Volume = {15}, Year = {1989} } @proceedings{Trip92a, Address = {Paris}, Editor = {Anand Tripathi and Richard Wolfe and Surya Koneru and Zine Attia}, Keywords = {olit-ooos nexus binder}, Month = sep, Title = {International Workshop on Object-Orientation in Operating Systems}, Year = {1992} } @unpublished{Trit95a, Author = {Grahan Tritt}, Keywords = {binder talk}, Month = jul, Note = {Universit{\"a}t Bern}, Title = {Was ist {SGML} ?}, Type = {Draft}, Year = {1995} } @techreport{Trot92a, 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.}, Author = {Claudio Trotta and Oscar Nierstrasz}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit skip-doi osg of92}, Month = jul, Pages = {151--195}, Title = {Object-Oriented Support for Generic Application Frames}, Type = {Object Frameworks}, Url = {http://scg.unibe.ch/archive/osg/Trot92aGafSupport.pdf}, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Trot92aGafSupport.pdf} } @inproceedings{Truy02a, Address = {Washington, DC, USA}, Annote = {More an architectural solution that a language solution. A few pointer to other approach, such as architecture reconfiguration and dynamic adaptation of system.}, Author = {Eddy Truyen and Wouter Joosen and Pierre Verbaeten}, Booktitle = {ICSM '02: Proceedings of the International Conference on Software Maintenance (ICSM'02)}, Date-Added = {2010-01-28 15:19:36 +0100}, Date-Modified= {2010-01-28 15:19:47 +0100}, Isbn = {0-7695-1819-2}, Keywords = {context-oriented; cop-lit; adaptive; architecture}, Pages = {501}, Publisher = {IEEE Computer Society}, Rating = {1}, Title = {Consistency Management in the Presence of Simultaneous Client-Specific Views}, Year = {2002} } @misc{Tryg03a, Author = {Trygve M. H. Reenskaug}, Note = {JavaZONE, Oslo, 2003}, Title = {The Model-View-Controller (MVC) --- Its Past and Present} } @misc{Tryg79a, Author = {Trygve M. H. Reenskaug}, Month = dec, Note = {\url{heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf}}, Title = {Models - Views - Controllers}, Url = {http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf}, Year = {1979}, Bdsk-Url-1 = {http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf} } @techreport{Tsch02a, Author = {Daniel Tschan}, Institution = {University of Bern}, Keywords = {snf-none scg-ip skip-abstract jb03}, Month = dec, Title = {Exjdb --- Experimental {Java} Debugger}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Tsch02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Tsch02a.pdf} } @article{Tsic72a, Address = {Amsterdam}, Author = {Dennis Tsichritzis}, Journal = {Information Processing Letters}, Keywords = {security sue os capabilities}, Number = {4}, Pages = {127--131}, Publisher = {North-Holland}, Title = {Protection in Operating Systems}, Volume = {1}, Year = {1972} } @article{Tsic76a, Author = {Dennis Tsichritzis and Frederick H. Lochovsky}, Journal = {ACM Computing Surveys}, Keywords = {dblit}, Month = mar, Number = {1}, Pages = {105--124}, Title = {Hierarchical Database Management: {A} Survey}, Volume = {8}, Year = {1976} } @book{Tsic82a, Address = {Englewood Cliffs, N.J.}, Author = {Dennis Tsichritzis and Frederick H. Lochovsky}, Keywords = {dblit}, Publisher = {Prentice-Hall}, Title = {Data Models}, Year = {1982} } @article{Tsic82b, 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}, Author = {Dennis Tsichritzis and Fausto Rabitti and Simon Gibbs and Oscar Nierstrasz and John Hogg}, Journal = {IEEE Transactions on Communications}, Keywords = {oislit forms mail tla ofs onhindex(35)}, Month = jan, Number = {1}, Pages = {66--73}, Title = {A System for Managing Structured Messages}, Url = {http://scg.unibe.ch/archive/uoft/Tsic82b.pdf http://www.vldb.org/conf/1985/P335.PDF}, Doi = {10.1109/TCOM.1982.1095394}, Volume = {30}, Year = {1982}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/uoft/Tsic82b.pdf%20http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=23952&arnumber=1095394&count=43&index=39} } @article{Tsic82c, Author = {Dennis Tsichritzis}, Journal = {CACM}, Keywords = {oislit ofs forms}, Month = jul, Number = {7}, Pages = {453--478}, Title = {Form Management}, Volume = {25}, Year = {1982} } @article{Tsic83a, Author = {Dennis Tsichritzis and Stavros Christodoulakis}, Journal = {ACM TOOIS}, Keywords = {oislit mail}, Month = jan, Number = {1}, Pages = {88--98}, Title = {Message Files}, Volume = {1}, Year = {1983} } @inproceedings{Tsic83b, Address = {Florence, Italy}, Author = {Dennis Tsichritzis and Stavros Christodoulakis and Panos Economopoulos and Christos Faloutsos and Allison Lee and Dik Lee and J. Vandenbroek and Carson Woo}, Booktitle = {Proceedings of the Ninth International Conference on Very Large Data Bases}, Keywords = {oislit ofs forms}, Pages = {2--7}, Title = {A Multimedia Office Filing System}, Year = {1983} } @article{Tsic84a, Author = {Dennis Tsichritzis}, Journal = {ACM TOOIS}, Keywords = {oislit mail}, Month = jan, Number = {1}, Pages = {58--87}, Title = {Message Addressing Schemes}, Volume = {2}, Year = {1984} } @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}, Booktitle = {Esprit '84: Status Report of Ongoing Work}, Editor = {J. Roukens and J.F. Renuart}, Keywords = {misc documents}, Publisher = {Elsevier Science Publishers B.V. (North-Holland)}, Title = {Design Issues of a File Server for Multimedia Documents}, Year = {1985} } @incollection{Tsic85b, Address = {Heidelberg}, Author = {Dennis Tsichritzis and Simon Gibbs}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {misc mail roles oact85}, Pages = {93--112}, Publisher = {Springer-Verlag}, Title = {Etiquette Specification in Message Systems}, Year = {1985} } @book{Tsic85c, Address = {Heidelberg}, Editor = {D. Tsichritzis}, Keywords = {olit oact85}, Publisher = {Springer-Verlag}, Title = {Office Automation: Concepts and Tools}, Year = {1985} } @article{Tsic85d, Author = {Dennis Tsichritzis}, Journal = {IEEE Database Engineering}, Keywords = {olit-appl knos knowrep}, Month = dec, Number = {4}, Pages = {2--7}, Title = {Object Species}, Volume = {8}, Year = {1985} } @incollection{Tsic85e, Address = {Heidelberg}, Author = {Dennis Tsichritzis}, Booktitle = {Office Automation: Concepts and Tools}, Editor = {D. Tsichritzis}, Keywords = {olit-appl knos knowrep oact85}, Pages = {379--398}, Publisher = {Springer-Verlag}, Title = {Objectworld}, Year = {1985} } @article{Tsic85f, Address = {Stuttgart}, Annote = {internationaljournal}, Author = {Dennis Tsichritzis and Oscar Nierstrasz}, Editor = {H. Wedekind/K. Kratzer}, Journal = {B{\"u}roautomation '85 (German Chapter of the ACM, Berichte 25)}, Keywords = {skip-abstract skip-pdf skip-doi olit-obc appl knos hybrid}, Misc = {Oct. 4}, Month = oct, Pages = {215--232}, Publisher = {B.G. Teubner}, Title = {End User Objects}, Year = {1985} } @inproceedings{Tsic87a, Address = {Gaithersburg, MD}, Author = {Dennis Tsichritzis and Simon Gibbs}, Booktitle = {Proceedings of the IEEE Symposium on Office Automation}, Keywords = {olit oat87}, Month = apr, Title = {Messages, Messengers and Objects}, Year = {1987} } @book{Tsic87b, Editor = {D. Tsichritzis}, Keywords = {olit osg oat87 book scglib}, Month = mar, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Objects and Things}, Year = {1987} } @article{Tsic87c, 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}, Author = {Dennis Tsichritzis and Eugene Fiume and Simon Gibbs and Oscar Nierstrasz}, Doi = {10.1145/22890.23001}, Journal = {ACM TOOIS (Transactions on Office Information Systems)}, Keywords = {olit-appl knos knowrep osg-ftp oat87 oobib(sys) onhindex(81) cop-lit}, Month = jan, Number = {1}, Pages = {96--112}, Title = {{KNO}s: {KN}owledge Acquisition, Dissemination and Manipulation Objects}, Url = {http://scg.unibe.ch/archive/osg/Tsic87cKnos.pdf}, Volume = {5}, Year = {1987}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic87cKnos.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/22890.23001} } @inproceedings{Tsic88a, 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.}, Address = {Oslo}, Annote = {invited}, Author = {Dennis Tsichritzis and Oscar Nierstrasz}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-db ecoop88proc osg-ftp skip-doi aoe88 oobib(oodb)}, Misc = {August 15-17}, Month = apr, Pages = {283--299}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Fitting Round Objects into Square Databases}, Url = {http://scg.unibe.ch/archive/osg/Tsic88aRoundSquare.pdf http://link.springer.de/link/service/series/0558/tocs/t0322.htm}, Volume = {322}, Year = {1988}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic88aRoundSquare.pdf%20http://link.springer.de/link/service/series/0558/tocs/t0322.htm} } @incollection{Tsic88b, Author = {Dennis Tsichritzis}, Booktitle = {Active Object Environments}, Editor = {D. Tsichritzis}, Keywords = {olit aoe88}, Month = jun, Pages = {219--224}, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Integrated Application Systems: Esprit {I} and {II}}, Year = {1988} } @inproceedings{Tsic88c, 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}, Author = {Dennis Tsichritzis and Oscar Nierstrasz}, Booktitle = {Information Technology for Organisational Systems, Proceedings EURINFO '88}, Editor = {H-J. Bullinger et al.}, Keywords = {olit skip-doi osg aoe88}, Pages = {15--23}, Publisher = {Elsevier Science Publishers B.V. (North-Holland)}, Title = {Application Development Using Objects}, Url = {http://scg.unibe.ch/archive/osg/Tsic88cAppDevtUsingObjects.pdf}, Year = {1988}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic88cAppDevtUsingObjects.pdf} } @book{Tsic88d, Editor = {D. Tsichritzis}, Keywords = {olit osg aoe88 book scglib}, Month = jun, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Active Object Environments}, Year = {1988} } @inproceedings{Tsic89a, 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.}, Address = {San Francisco}, Author = {Dennis Tsichritzis}, Booktitle = {Information Processing 89 (Proceedings IFIP '89)}, Keywords = {olit osg-ftp ood89 ifip89}, Misc = {Aug 28-Sept 1}, Month = aug, Pages = {1033--1040}, Publisher = {North-Holland}, Title = {Object-Oriented Development for Open Systems}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ooDevelopmentOpenSystems.pdf}, Year = {1989}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/ooDevelopmentOpenSystems.pdf} } @book{Tsic89b, Editor = {D. Tsichritzis}, Keywords = {olit osg ood89 book scglib}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Object Oriented Development}, Year = {1989} } @incollection{Tsic89c, Abstract = {Identifies several more traditional research directions dealing with object oriented languages and systems, and several more exotic research directions concerning evolving active objects.}, Address = {Reading, Mass.}, Author = {Dennis Tsichritzis and Oscar Nierstrasz}, Booktitle = {Object-Oriented Concepts, Databases and Applications}, Editor = {W. Kim and F. Lochovsky}, Keywords = {olit-oopl skip-doi survey osg aoe88 oocda89}, Pages = {523--536}, Publisher = {ACM Press and Addison Wesley}, Title = {Directions in Object-Oriented Research}, Url = {http://scg.unibe.ch/archive/osg/Tsic89cDirections.pdf}, Year = {1989}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic89cDirections.pdf} } @techreport{Tsic90a, 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.}, Author = {Dennis Tsichritzis and Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse osg-ftp om90}, Month = jul, Note = {Submitted as a position paper to the Esprit Advisory Board}, Pages = {3--11}, Title = {Towards Integrated Software Communities}, Type = {Object Management}, Url = {http://cuiwww.unige.ch/OSG/publications/OO-articles/integratedSoftwareCommunities.pdf}, Year = {1990}, Bdsk-Url-1 = {http://cuiwww.unige.ch/OSG/publications/OO-articles/integratedSoftwareCommunities.pdf} } @techreport{Tsic90b, 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.}, Author = {Dennis Tsichritzis and Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg om90}, Month = jul, Pages = {367--376}, Title = {From Custom-Made to Pr\^et-\`a-Porter Software}, Type = {Object Management}, Year = {1990} } @book{Tsic90c, Editor = {D. Tsichritzis}, Keywords = {olit osg om90 book scglib}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Object Management}, Year = {1990} } @techreport{Tsic91a, 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.}, 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}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Pages = {323--329}, Title = {{ESSI}: The European Software and Systems Initiative}, Type = {Object Composition}, Year = {1991} } @techreport{Tsic91b, 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.}, Author = {Dennis Tsichritzis and Simon Gibbs and Laurent Dami}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Pages = {115--132}, Title = {Active Media}, Type = {Object Composition}, Year = {1991} } @techreport{Tsic91c, 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.}, Author = {Dennis Tsichritzis and Simon Gibbs}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91}, Month = jun, Note = {A version of this paper will appear in Proc. of the Intl. Conf. on Hypermedia and Interactivity in Muse ums, Pittsburgh, 1991.}, Pages = {157--164}, Title = {Virtual Museums and Virtual Realities}, Type = {Object Composition}, Year = {1991} } @book{Tsic91d, Editor = {D. Tsichritzis}, Keywords = {olit osg oc91 book scglib}, Month = jun, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Object Composition}, Year = {1991} } @techreport{Tsic91e, 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.}, Author = {Dennis Tsichritzis and Vassili Prevelakis}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit osg oc91 hypertext perspectives versioning}, Month = jun, Pages = {255--271}, Title = {Perspectives on Hypertext Structures}, Type = {Object Composition}, Year = {1991} } @book{Tsic92a, Editor = {D. Tsichritzis}, Keywords = {olit osg of92}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Object Frameworks}, Year = {1992} } @article{Tsic92b, 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}, Author = {Dennis Tsichritzis and Oscar Nierstrasz and Simon Gibbs}, Journal = {IJICIS (International Journal of Intelligent \& Cooperative Information Systems)}, Keywords = {olit-reuse osg-ftp skip-doi of92}, Number = {1}, Pages = {43--60}, Title = {Beyond Objects: Objects}, Url = {http://scg.unibe.ch/archive/osg/Tsic92bBeyondObjects.pdf}, Volume = {1}, Year = {1992}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Tsic92bBeyondObjects.pdf} } @book{Tsic93a, Editor = {D. Tsichritzis}, Keywords = {olit osg vo93 book scglib}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Visual Objects}, Year = {1993} } @book{Tsic96a, Editor = {D. Tsichritzis}, Keywords = {olit osg scglib}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Object Applications}, Year = {1996} } @book{Tsic97a, Editor = {D. Tsichritzis}, Keywords = {olit osg scglib}, Month = jul, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Objects at Large}, Year = {1997} } @book{Tsic98a, Editor = {D. Tsichritzis}, Keywords = {olit osg scglib new-entry}, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Electronic Commerce}, Year = {1998} } @book{Tsic00a, Editor = {D. Tsichritzis}, Keywords = {scglib olit}, Month = sep, Publisher = {Centre Universitaire d'Informatique, University of Geneva}, Title = {Internet Objects}, Year = {2000} } @inproceedings{Tu01a, Author = {Qiang Tu and Michael W. Godfrey}, Booktitle = {International Conference on Software Maintenance (ICSM 2001)}, Pages = {398--407}, Title = {The Build-Time Software Architecture View}, Year = {2001} } @inproceedings{Tu02a, Author = {Qiang Tu and Michael W. Godfrey}, Booktitle = {10th International Workshop on Program Comprehension (IWPC'02)}, Location = {Paris, France}, Month = jun, Pages = {127--136}, Publisher = {IEEE Computer Society Press}, Title = {An Integrated Approach for Studying Architectural Evolution}, Year = {2002} } @book{Tuck95a, Author = {Allen B. Tucker and Andrew P. Bernat and W. James Bradley and Robert D. Cupper and Greg W. Scragg}, Isbn = {0-07-065506-5}, Keywords = {scglib}, Publisher = {Mc Graw-Hill}, Title = {Fundamentals of Computing {I}: Logic, Problem Solving, Programs, and Computers {C}++ Edition}, Year = {1995} } @inproceedings{Tudu10a, title ={Asymmetries in Multi-Core Systems -- Or Why We Need Better Performance Measurement Units}, author= {Irina Tuduce and Zoltan Majo and Adrian Gauch and Brad Chen and Thomas R. Gross}, Booktitle={Proceedings of the Exascale Evaluation and Research Techniques Workshop (EXERT)}, month=mar, year={2010} } @book{Tuft90a, Author = {Edward R. Tufte}, Keywords = {scglib book}, Publisher = {Graphics Press}, Title = {Envisioning Information}, Year = {1990} } @book{Tuft97a, Author = {Edward R. Tufte}, Keywords = {scglib}, Publisher = {Graphics Press}, Title = {Visual Explanations}, Year = {1997} } @book{Tuft01a, Author = {Edward R. Tufte}, Edition = {2nd}, Keywords = {scglib}, Publisher = {Graphics Press}, Title = {The Visual Display of Quantitative Information}, Year = {2001} } @book{Tuft03a, Author = {Edward R. Tufte}, Keywords = {scglib book}, Publisher = {Graphics Press}, Title = {The Cognitive Style of Powerpoint}, Year = {2003} } @techreport{Tung92a, Address = {Bloomington, Indiana}, Author = {Sho-Huan Simon Tung}, Institution = {Indiana University}, Keywords = {olit (smc)}, Month = mar, Number = {#349}, Title = {Merging Interactive, Modular and Object-oriented Programming}, Type = {Computer Science Department Technical Report}, Year = {1992} } @article{Tung96a, Author = {Sho-Huan Simon Tung and R. Kent Dybvig}, Journal = {Lisp and Symbolic Computation}, Number = {4}, Pages = {343--358}, Title = {Reliable Interactive Programming with Modules}, Url = {http://citeseer.nj.nec.com/tung95reliable.html}, Volume = {9}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/tung95reliable.html} } @inproceedings{Turn85a, Author = {David A. Turner}, Booktitle = {Proceedings Functional Programming languages and Computer Architecture}, Editor = {J-P. Jouannaud}, Keywords = {fpl miranda}, Pages = {1--16}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Miranda: {A} Non-strict Functional Language with Polymorphic Types}, Volume = {201}, Year = {1985} } @incollection{Turn90a, Address = {Reading, Mass.}, Author = {David A. Turner}, Booktitle = {Research Topics in Functional Programming}, Editor = {D.A. Turner}, Keywords = {fpl miranda binder(fp)}, Pages = {1--16}, Publisher = {Addison Wesley}, Title = {An Overview of Miranda}, Year = {1990} } @phdthesis{Turn96a, Author = {David N. Turner}, Keywords = {Pict pi}, School = {Department of Computer Science, University of Edinburgh, UK}, Title = {The Polymorphic Pi-Calculus: Theory and Implementation}, Type = {{Ph.D}. Thesis}, Url = {http://www.dcs.gla.ac.uk/~dnt/thesis.ps}, Year = {1996}, Bdsk-Url-1 = {http://www.dcs.gla.ac.uk/~dnt/thesis.ps} } @inproceedings{Turn98a, Address = {Los Alamitos CA}, Author = {Reid Turner and Alexander Wolf and Alfonso Fuggetta and Luigi Lavazza}, Booktitle = {Proceedings IEEE International Workshop on Software Specification and Design (WSSD 1998)}, Isbn = {0-8186-8439-9}, Pages = {162}, Publisher = {IEEE Computer Society}, Title = {Feature Engineering}, Year = {1998} } @article{Turn99a, Address = {New York, NY, USA}, Author = {C. Reid Turner and Alfonso Fuggetta and Luigi Lavazza and Alexander L. Wolf}, Doi = {10.1016/S0164-1212(99)00062-X}, Issn = {0164-1212}, Journal = {J. Syst. Softw.}, Number = {1}, Pages = {3--15}, Publisher = {Elsevier Science Inc.}, Title = {A conceptual basis for feature engineering}, Url = {http://www.doc.ic.ac.uk/~alw/doc/papers/jss99.pdf}, Volume = {49}, Year = {1999}, Bdsk-Url-1 = {http://www.doc.ic.ac.uk/~alw/doc/papers/jss99.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/S0164-1212(99)00062-X} } @phdthesis{Turn99b, Author = {C. Reid Turner}, Keywords = {fosd}, Month = may, School = {University of Colorado}, Title = {Feature Engineering of Software Systems}, Type = {{Ph.D}. Thesis}, Url = {http://www.doc.ic.ac.uk/~alw/edu/theses/turner-phd-0599.pdf}, Year = {1999}, Bdsk-Url-1 = {http://www.doc.ic.ac.uk/~alw/edu/theses/turner-phd-0599.pdf} } @inproceedings{Turs81a, Author = {W. Turski}, Booktitle = {Proceedings for the 6th ACM Conference on Systems Architecture}, Title = {Software Stability}, Year = {1981} } @mastersthesis{Twai84a, Author = {Kenneth J. Twaites}, Keywords = {olit-oopl oz ois}, School = {Department of Computer Science, University of Toronto}, Title = {An Object-based Programming Environment for Office Information Systems}, Type = {M.Sc. thesis}, Year = {1984} } @inproceedings{Tyag01a, Author = {Satyam Tyagi and Paul Tarau}, Booktitle = {Practical Aspects of Declarative Languages}, Editor = {I. V. Ramakrishnan}, Pages = {322--336}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Most Specific Method Finding Algorithm for Reflection Based Dynamic Prolog-to-Java Interfaces}, Volume = 1990, Year = {2001} } @inproceedings{Tyag01b, Address = {London, UK}, Author = {Satyam Tyagi and Paul Tarau}, Booktitle = {PADL '01: Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages}, Isbn = {3-540-41768-0}, Pages = {322--336}, Publisher = {Springer-Verlag}, Title = {A Most Specific Method Finding Algorithm for Reflection Based Dynamic Prolog-to-Java Interfaces}, Year = {2001} } @book{Tyrr95a, Author = {A.J. Tyrrell}, Keywords = {olit-oopl eiffel book}, Publisher = {MacMillan Press}, Title = {Eiffel Object-Oriented Programming}, Year = {1995} } @inproceedings{Tzer96a, Author = {Vassilios Tzerpos and Richard C. Holt}, Booktitle = {CASCON}, Ee = {10.1145/782090}, Pages = {38}, Title = {A hybrid process for recovering software architecture}, Year = {1996} } @inproceedings{Tzer98a, Author = {Vassilios Tzerpos and R. C. Holt}, Booktitle = {Proceedings of the 9th International Workshop on Database and Expert Systems Applications}, Keywords = {clustering}, Publisher = {IEEE Computer Society Press}, Title = {Software {Botryology}, Automatic Clustering of Software Systems}, Year = {1998} } @inproceedings{Tzer99a, Address = {Los Alamitos CA}, Author = {Vassilios Tzerpos and Rick Holt}, Booktitle = {Proceedings Working Conference on Reverse Engineering (WCRE 1999)}, Keywords = {clustering}, Pages = {187--195}, Publisher = {IEEE Computer Society Press}, Title = {{MoJo}: A Distance Metric for Software Clusterings}, Year = {1999} } @inproceedings{Tzer00a, Author={Tzerpos, V. and Holt, R.C.}, Booktitle={Reverse Engineering, 2000. Proceedings. Seventh Working Conference on}, Title={ACCD: an algorithm for comprehension-driven clustering}, Year={2000}, Pages={258 -267}, Abstract={The software clustering literature contains many different approaches that attempt to automatically decompose software systems. These approaches commonly utilize criteria or measures based on principles such as high cohesion and low coupling, information hiding etc. We present an algorithm that subscribes to a philosophy targeted towards program comprehension and based on subsystem patterns. We discuss the algorithm's implementation and describe experiments that demonstrate its usefulness}, Doi={10.1109/WCRE.2000.891477} } @book{Tzu63a, Author = {Sun Tzu}, Keywords = {oorp}, Publisher = {Oxford University Press}, Title = {The Art of War}, Year = {1963} } @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}, Keywords = {olit UML}, Month = sep, Publisher = {Rational Software Corporation}, Title = {Unified Modeling Language (version 1.1)}, Year = {1997} } @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}, Keywords = {olit UML}, Month = sep, Publisher = {Rational Software Corporation}, Title = {Unified Modeling Language --- {UML} Semantics (version 1.1)}, Year = {1997} } @techreport{UML99a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Keywords = {olit UML damiencbib}, Title = {{Unified Modeling Language} (version 1.3)}, Year = {1999} } @misc{UPnP, Key = {UPnP}, Note = {http://www.upnp.org}, Title = {The Universal Plug and Play}, Url = {http://www.upnp.org}, Bdsk-Url-1 = {http://www.upnp.org} } @misc{UREP, Key = {UREP}, Note = {http://www.unisys.com/marketplace/urep/}, Title = {{Unisys} {Universal} {Repository} ({UREP})} } @inproceedings{Ubay10a, Author = {Ubayashi, Naoyasu and Nomura, Jun and Tamai, Tetsuo}, Booktitle = {ICSE'10: Proceedings of the 32nd International Conference on Software Engineering}, keywords = {damiencbib conformance}, Title = {Archface: A Contract Place Where Architectural Design and Code Meet Together}, doi = {10.1145/1806799.1806815}, Year = {2010}, pages = {75--84}, address = {Cape Town, South Africa}, publisher = {ACM} } @techreport{Ubiwi02a, Author = {Barton, John J. and Vijayaraghavan, Vikram}, Institution = {Hewlett Packard}, Title = {UBIWISE, A Ubiquitous Wireless Infrastructure Simulation Environment}, keywords = {damiencbib}, Url = {http://www.hpl.hp.com/techreports/2002/HPL-2002-303.html}, Year = {2002}, Bdsk-Url-1 = {http://www.hpl.hp.com/techreports/2002/HPL-2002-303.html} } @article{Udel95a, Author = {James Udell}, Journal = {Byte}, Keywords = {olit-appl hypertext multimedia binder}, Month = may, Number = {5}, Pages = {46--56}, Title = {Componentware}, Volume = {19}, Year = {1994} } @inproceedings{Ueda02a, Address = {Gold Coast, Australia}, Author = {Yasushi Ueda and Toshihiro Kamiya and Shinji Kusumoto and Katsuro Inoue}, Booktitle = {Proceedings Ninth Asia-Pacific Software Engineering Conference (APSEC'02)}, Keywords = {code duplication,dotplot}, Month = dec, Pages = {327--336}, Publisher = {IEEE}, Title = {On Detection of Gapped Code Clones using Gap Locations}, Year = {2002} } @inproceedings{Ueda02b, Address = {Ottawa, Canada}, Author = {Yasushi Ueda and Toshihiro Kamiya and Shinji Kusumoto and Katsuro Inoue}, Booktitle = {Proc. of the 8th IEEE Symposium on Software Metrics (METRICS2002)}, Keywords = {clones dotplot}, Month = jun, Pages = {67--76}, Title = {Gemini: Maintenance Support Environment Based on Code Clone Analysis}, Year = {2002} } @article{Ullm76a, Address = {New York, NY, USA}, Author = {J. R. Ullmann}, Doi = {10.1145/321921.321925}, Issn = {0004-5411}, Journal = {J. ACM}, Number = {1}, Pages = {31--42}, Publisher = {ACM}, Title = {An Algorithm for Subgraph Isomorphism}, Volume = {23}, Year = {1976}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/321921.321925} } @book{Ullm94a, Author = {Jeffrey D. Ullman}, Isbn = {0-13-288788-6}, Keywords = {pl book scglib}, Publisher = {Prentice-Hall}, Title = {Elements of {ML} Programming}, Year = {1994} } @misc{UnCommonWeb, Author = {Marco Baringer}, Key = {UnCommonWeb}, Note = {http://www.\-com\-mon-lisp.\-net/pro\-ject/ucw/}, Title = {{UnCommon} Web} } @inbook{Unga83a, author = {David Ungar and David Patterson}, chapter = {11}, Pages = {189--206}, title = {Berkeley Smalltalk: Who Knows Where the Time Goes?}, Publisher = {Addison-Wesley}, Year = {1983}, Book = {Smalltalk-80: Bits of History, Words of Advice} } @inproceedings{Unga84a, Address = {Ann Arbor, Michigan}, Author = {David Ungar and R. Blau and P. Foley and D. Samples and David A. Patterson}, Booktitle = {11th Annual Symposium on Computer Architecture}, Keywords = {olit architecture soar risc smalltalk}, Misc = {June 4-7}, Month = jun, Title = {Architecture of {SOAR}: {Smalltalk} on a {RISC}}, Year = {1984} } @inproceedings{Unga95a, Author = {David Ungar}, Booktitle = {Proceedings OOPSLA '95}, Keywords = {ioom-prototype}, Month = oct, Pages = {73--87}, Title = {Annotating Objects for Transport to Other Worlds}, Year = {1985} } @inproceedings{Unga87a, Author = {David Ungar and Randall B. Smith}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Doi = {10.1145/38765.38828}, Keywords = {olit-oopl self oopsla87}, Month = dec, Pages = {227--242}, Title = {Self: The Power of Simplicity}, Volume = 22, Year = {1987}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/38765.38828} } @inproceedings{Unga88a, Author = {David Ungar and Frank Jackson}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {1--17}, Title = {Tenuring Policies for Generation-Based Storage Reclamation}, Volume = {23}, Year = {1988} } @article{Unga91a, Author = {David Ungar and Craig Chambers and Bay-Wei Chang and Urs H{\"o}lzle}, Journal = {LISP and SYMBOLIC COMPUTATION: An international journal}, Keywords = {ioom-prototype}, Number = {3}, Title = {Organizing Programs without Classes}, Volume = {4}, Year = {1991} } @article{Unga92a, Author = {David Ungar and Randall B. Smith and Craig Chambers and Urs H{\"o}lzle}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl self ieee}, Month = oct, Number = {10}, Pages = {53--65}, Title = {Object, Message, and Performance: How They Coexist in Self}, Volume = {25}, Year = {1992} } @inproceedings{Unga05a, author = {Ungar, David and Spitz, Adam and Ausch, Alex}, title = {Constructing a metacircular Virtual machine in an exploratory programming environment}, booktitle = {OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, year = {2005}, isbn = {1-59593-193-7}, pages = {11--20}, location = {San Diego, CA, USA}, doi = {10.1145/1094855.1094865}, publisher = {ACM}, address = {New York, NY, USA} } @misc{UnitTestIsolation, Author = {{C2 Wiki}}, Howpublished = {http://www.c2.com/cgi/wiki?UnitTestIsolation, archived at http://www.webcitation.org/5jbc9f8nv}, Title = {{Unit} {Test} {Isolation}}, Url = {http://www.c2.com/cgi/wiki?UnitTestIsolation}, Bdsk-Url-1 = {http://www.c2.com/cgi/wiki?UnitTestIsolation} } @misc{UnitTestTaxonomy, Key = {UnitTestTaxonomy}, Keywords = {testing unit tests taxonomy}, Note = {http://kilana.unibe.ch:9090/nomenclatureofunittests/}, Title = {Unit Test Taxonomy}, Url = {http://kilana.unibe.ch:9090/nomenclatureofunittests/}, Bdsk-Url-1 = {http://kilana.unibe.ch:9090/nomenclatureofunittests/} } @article{Upfa84a, Author = {E. Upfal}, Journal = {Journal of the ACM}, Keywords = {concurrency}, Month = jul, Number = {3}, Pages = {507--517}, Title = {Efficient Schemes for Parallel Communication}, Volume = {31}, Year = {1984} } @inproceedings{Uqui10a, title = {Visually Supporting Source Code Changes Integration: the Torch Dashboard}, author = {Uquillas G\'omez, Ver\'onica and St\'ephane Ducasse and Theo D'Hondt}, booktitle = {Working Conference on Reverse Engineering (WCRE 2010)}, year = {2010}, annote = {internationalconference}, keywords = {lse-pub moose-pub}, month = oct, inria = {RMOD}, labo = {dans}, inriareport = {2010}, x-editorial-board = {yes}, x-proceedings = {yes}, x-international-audience = {yes}, x-country = {BE}, x-language = {EN}, url = {http://rmod.lille.inria.fr/archives/papers/Uqui10a-Torch-WCRE10.pdf}, abstract = {Automatic and advanced merging algorithms help programmers to merge their modifications in main development repositories. However, there is little support to help release masters (integrators) to take decisions about the integration of published merged changes into the system release. Most of the time, the release master has to read all the changed code, check the diffs to build an idea of a change, and read unchanged code to understand the context of some changes. Such a task can be overwhelming. In this paper we present a dashboard to support integrators getting an overview of proposed changes in the context of object-oriented programming. Our approach named Torch characterizes changes based on structural information, authors and symbolic information. It mixes text-based diff information with visual representation and metrics characterizing the changes. We describe our experiment applying it to Pharo, a large open-source system, and report on the evaluation of our approach by release masters of several open-source projects.}, hal-id = {inria-00531508} } @inproceedings{Uqui10b, annote = {internationalworkshop}, author = {Uquillas G\'omez, Ver\'onica and St\'ephane Ducasse and Theo D'Hondt}, booktitle = {Smalltalks'2010}, keywords = {moose-pub stefPub lse-pub}, title = {Meta-models and Infrastructure for Smalltalk Omnipresent History}, year = {2010}, abstract = {Source code management systems record different versions of code. Tool support can then com- pute deltas between versions. However there is little support to be able to perform history-wide queries and analysis: for example building slices of changes and identifying their differences since the beginning of the project. We believe that this is due to the lack of a powerful code meta- model as well as an infrastructure. For example, in Smalltalk often several source code meta- models coexist: the Smalltalk reflective API coexists with the one of the Refactoring engine or distributed versioning system. While having specific meta-models is an engineered solution, it hampers meta-models manipulation as it requires more maintenance efforts (e.g., duplication of tests, transformation between models), and more importantly navigation tool reuse. As a first step to solve this problem, this article presents several source code models that could be used to support several a ctivities and proposes an unified and layered approach to be the foundation for building an infrastructure for omnipresent version browsing.}, aeresstatus = {aeres12}, aeres = {COM}, inria = {RMOD}, x-editorial-board = {yes}, x-proceedings = {yes}, inriareport = {2010}, x-international-audience = {yes}, url = {http://rmod.lille.inria.fr/archives/workshops/Uqui10b-Smalltalk2010-Metamodels.pdf}, hal-id = {inria-00531613} } @book{Utti06a, Author = {Mark Utting and Bruno Legeard}, Isbn = {978-0123725011}, Publisher = {Morgan-Kaufmann}, Title = {Practical Model-Based Testing: A Tools Approach}, Year = {2006} } @inproceedings{Uust92a, Address = {Utrecht, the Netherlands}, Author = {Tarmo Uustalu}, Booktitle = {Proceedings ECOOP '92}, Editor = {O. Lehrmann Madsen}, Keywords = {olit ecoop92proc}, Month = jun, Pages = {98--113}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Combining Object-Oriented and Logic Paradigms: {A} Modal Logic Programming Approach}, Volume = {615}, Year = {1992} } @manual{VW30, Note = {User Guide, Cookbook, Reference Manual}, Organization = {ParcPlace}, Title = {VisualWorks 3.0}, Year = {1998} } @misc{VWTraits, Key = {VWTraits}, Note = {http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VWTraits+-+A+Traits+impleMentation+for+VW}, Title = {VWTraits} } @techreport{Vahd92a, Author = {A. Vahdat}, Institution = {Xerox Parc}, Title = {The design of a Meta-Object Protocol controlling the behavior of a scheme interpreter}, Year = {1992} } @article{Vain04a, Author = {Daniel Vainsencher}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Ee = {10.1016/j.cl.2003.09.001}, Journal = {Computer Languages, Systems {\&} Structures}, Number = {1-2}, Pages = {5--19}, Title = {MudPie: layers in the ball of mud.}, Volume = {30}, Year = {2004} } @inproceedings{Vain06a, Author = {Daniel Vainsencher and Andrew P. Black}, Booktitle = {Proceedings of PLoP 2006}, Title = {A Pattern Language for Extensible Program Representation}, Year = {2006} } @inproceedings{Vala98a, Author = {R.R. Valasareddi and D.L. Carver}, Booktitle = {Proceedings of WCRE '98}, Note = {ISBN: 0-8186-89-67-6}, Pages = {50--59}, Publisher = {IEEE Computer Society}, Title = {A Graph-Based Object Identification Process for Procedural Programs}, Year = {1998} } @book{Vali02a, Author = {Gabriel Valiente}, Keywords = {scglib}, Publisher = {Springer}, Title = {Algorithms on Trees and Grahs}, Year = {2002} } @article{Valv02a, Author = {S. Valverde and R. Ferrer Cancho and RV Sole}, Journal = {Europhysics Letters}, Number = {4}, Pages = {512--517}, Title = {Scale-free networks from optimal design}, Volume = {60}, Year = {2002} } @inproceedings{Van06a, author = {Van Roy, Peter}, title = {Self Management and the Future of Software Design}, booktitle = {FACS'06: Proceedings of the 3rd International Workshop on Formal Aspects of Component Software}, doi = {10.1016/j.entcs.2006.12.043}, address = {Prague, Czech Republic}, month = sep, year = {2006}, pages = {201--217} } @inproceedings{VanE02a, Author = {Eva {van Emden} and Leon Moonen}, Booktitle = {Proc. 9th Working Conf. Reverse Engineering}, Month = oct, Pages = {97--107}, Publisher = {IEEE Computer Society Press}, Title = {Java Quality Assurance by Detecting Code Smells}, Year = {2002} } @inproceedings{VanE02b, Address = {Washington, DC, USA}, Author = {Robert A. Van Engelen and Kyle A. Gallivan}, Booktitle = {CCGRID '02: Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid}, Isbn = {0-7695-1582-7}, Pages = {128}, Publisher = {IEEE Computer Society}, Title = {The gSOAP Toolkit for Web Services and Peer-to-Peer Computing Networks}, Year = {2002} } @inproceedings{VanE03a, Author = {Robert van Engelen}, Booktitle = {In proceedings of the International Conference on Web Services (ICWS)}, Location = {Las Vegas}, Pages = {346--352}, Title = {Pushing the SOAP envelope with web services for scientific computing}, Year = {2003} } @inproceedings{VanE04a, Address = {New York, NY, USA}, Author = {Robert van Engelen}, Booktitle = {SAC '04: Proceedings of the 2004 ACM symposium on Applied computing}, Doi = {10.1145/967900.968075}, Isbn = {1-58113-812-1}, Location = {Nicosia, Cyprus}, Pages = {854--861}, Publisher = {ACM Press}, Title = {Code generation techniques for developing light-weight XML Web services for embedded devices}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/967900.968075} } @book{VanH96a, Author = {Arthur Van Hoff and Sami Shaio and Orca Starbuck}, Isbn = {0-201-48837-X}, Keywords = {java obib?mobility scglib}, Publisher = {Addison Wesley}, Title = {Hooked on {Java}}, Year = {1996} } @inproceedings{VanH96b, Author = {Michael VanHilst and David Notkin}, Booktitle = {Proceedings OOPSLA '96}, Pages = {359--369}, Publisher = {ACM Press}, Title = {{Using Role Components to Implement Collaboration-Based Designs}}, Year = {1996} } @inproceedings{VanH96c, Author = {Michael VanHilst and David Notkin}, Booktitle = {JSSST International Symposium on Object Technologies for Advanced Software}, Pages = {22--37}, Publisher = {Springer Verlag}, Title = {{Using C++ Templates to Implement Role-Based Designs}}, Year = {1996} } @book{VanR96a, Address = {Amsterdam}, Author = {Guido van Rossum}, Keywords = {python}, Publisher = {Stichting Mathematisch Centrum}, Title = {Python Tutorial}, Year = {1996} } @book{VanR96b, Address = {Amsterdam}, Author = {Guido van Rossum}, Keywords = {python}, Publisher = {Stichting Mathematisch Centrum}, Title = {Python Reference Manual}, Year = {1996} } @book{VanR96c, Address = {Amsterdam}, Author = {Guido van Rossum}, Keywords = {python}, Publisher = {Stichting Mathematisch Centrum}, Title = {Python Library Reference}, Year = {1996} } @inproceedings{Vand91a, Author = {B. Vander Zanden and B.A. Myers and D. Giuse and P. Szeleky}, Booktitle = {Proceedings of UIST '91}, Pages = {155--164}, Title = {The importance of Pointer Variables in Constraint Models}, Year = {1991} } @inproceedings{Vand93a, Author = {M.T. Vandevoorde}, Booktitle = {Proceedings TAPSOFT '93}, Keywords = {tapsoft93}, Month = apr, Pages = {199--214}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Specifications Can Make Programs Run Faster}, Volume = {668}, Year = {1993} } @article{Vand97a, Author = {M. G. J. van den Brand and P. Klint and C. Verhoef}, Doi = {10.1145/251759.251849}, Issn = {0163-5948}, Journal = {ACM SIGSOFT Software Engineering Notes}, Number = {1}, Pages = {57--68}, Publisher = {ACM Press}, Title = {Reverse engineering and system renovation an annotated bibliography}, Volume = {22}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/251759.251849} } @inproceedings{Vand98b, Author = {Mark van den Brand and Alex Sellink and Chris Verhoef}, Booktitle = {Proceedings of 6th International Workshop on Program Comprehension (IWPC '98)}, Doi = {10.1109/WPC.1998.693325}, Editor = {S. Tilley and G. Visaggio}, Keywords = {parsing}, Misc = {was: Bran98c}, Month = jun, Pages = {108--117}, Publisher = {IEEE Computer Society}, Title = {Current Parsing Techniques in Software Renovation Considered Harmful}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WPC.1998.693325} } @inproceedings{Vand98a, Author = {Deursen, {Arie van} and Tobias Kuipers}, Booktitle = {Proceedings of ICSE '99 (21st International Conference on Software Engineering)}, Keywords = {fca}, Pages = {246--255}, Publisher = {ACM Press}, Title = {Identifying Objects using Cluster and Concept Analysis}, Year = {1999} } @article{Vand01a, Author = {Michael L. Van De Vanter}, Journal = {Information and Software Technology}, Month = oct, Number = {13}, Pages = {767--782}, Title = {The documentary structure of source code}, Volume = {44}, Year = {2002} } @article{Vanw02a, Author = {Van Wyk, Eric and de Moor, Oege and Backhouse, Kevin and Kwiatkowski, Paul}, Journal = {Lecture Notes in Computer Science}, Keywords = {dsllit}, Pages = {128--142}, Publisher = {Springer}, Title = {{Forwarding in Attribute Grammars for Modular Language Design}}, Year = {2002} } @inproceedings{Vanw07a, Author = {Van Wyk, Eric and Krishnan, Lijesh and Bodin, Derek and Schwerdfeger, August}, booktitle = {ECOOP'07: Proceedings of the 21st European Conference on Object-Oriented Programming}, Keywords = {dsllit silver damiencbib}, Publisher = {Springer}, Title = {Attribute Grammar-Based Language Extensions for Java}, pages = {575--599}, doi = {10.1007/978-3-540-73589-2_27}, address = {Berlin, Germany}, Year = {2007}, month = jul } @inproceedings{Vany08a, Address = {Washington, DC, USA}, Author = {Adam Vanya and Lennart Hofland and Steven Klusener and Pi\"{e}rre van de Laar and Hans van Vliet}, Booktitle = {ICPC '08: Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension}, Doi = {10.1109/ICPC.2008.34}, Isbn = {978-0-7695-3176-2}, Pages = {192--201}, Publisher = {IEEE Computer Society}, Title = {Assessing Software Archives with Evolutionary Clusters}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICPC.2008.34} } @article{Vare74a, Author = {F. J. Varela and H. R. Maturana and R. Uribe}, Journal = {BioSystems}, Pages = {5:187--196}, Title = {Autopoiesis: The organization of living systems, its characterization and a model}, Year = {1974} } @article{Vare99a, Author = {H. R. Maturana}, Journal = {Int. J. Human-Computer Studies}, Pages = {51:149--168}, Title = {The organization of the Living: a Theory of the Living Organization}, Year = {1999} } @techreport{Varo95a, 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.}, Author = {Patrick Varone}, Institution = {University of Bern, Institute of Computer Science and Applied Mathematics}, Keywords = {olit scg-pub skip-doi toBeChecked snf95 jb95}, Month = feb, Number = {IAM-96-005}, Title = {Implementation of `Generic Synchronization Policies' in Pict}, Type = {Technical Report}, Url = {http://scg.unibe.ch/archive/papers/Varo95aGSPinPict.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Varo95aGSPinPict.pdf} } @inproceedings{Vasa03a, 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}, Address = {Darmstadt, Germany}, Author = {Rajesh Vasa and Jean-Guy Schneider}, 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.}, Keywords = {olit selit metrics evolution qaoose03}, Location = {Privat}, Month = jul, Title = {Evolution of Cyclomatic Complexity in Object Oriented Software}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/qaoose03.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/qaoose03.pdf} } @inproceedings{Vasa05a, 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.}, Address = {Noosa Heads, Australia}, Author = {Rajesh Vasa and Jean-Guy Schneider and Clinton Woodward and Andrew Cain}, Booktitle = {Proceedings of 4th International Symposium on Empirical Software Engineering (ISESE '05)}, Doi = {10.1109/ISESE.2005.1541855}, Editor = {Verner, June and Travassos, Guilherme H.}, Issn_Isbn = {ISBN 0-7803-9507-7}, Keywords = {olit selit metrics evolution isese05 cecses-pub}, Location = {Privat}, Month = nov, Pages = {463--470}, Publisher = {IEEE Computer Society Press}, Title = {Detecting Structural Changes in Object-Oriented Software Systems}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/isese05.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/isese05.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ISESE.2005.1541855} } @inproceedings{Vasa07a, 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.}, Address = {Braga, Portugal}, Author = {Rajesh Vasa and Markus Lumpe and Jean-Guy Schneider}, Booktitle = {Proceedings of the 6th International Symposium on Software Composition (SC 2007)}, Editor = {Lumpe, Markus and Vanderperren, Wim}, Keywords = {olit selit metrics evolution sc07 cecses-pub}, Location = {Privat}, Month = mar, Pages = {244--260}, Publisher = {Springer}, Title = {Patterns of Component Evolution}, Url = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc07.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.it.swin.edu.au/personal/jschneider/Pub/sc07.pdf} } @inproceedings{Vasa07b, Abstract = {Real software systems change and become more complex over time. But which parts change and which parts remain stable? Common wisdom, for example, states that in a well-designed object-oriented system, the more popular a class is, the less likely it is to change from one version to the next, since changes to this class are likely to impact its clients. We have studied consecutive releases of several public domain, object-oriented software systems and analyzed a number of measures indicative of size, popularity, and complexity of classes and interfaces. As it turns out, the distributions of these measures are remarkably stable as an application evolves. The distribution of class size and complexity retains its shape over time. Relatively little code is modified over time. Classes that tend to be modified, however, are also the more popular ones, that is, those with greater Fan-In. In general, the more "complex" a class or interface becomes, the more likely it is to change from one version to the next.}, Address = {Los Alamitos CA}, Annote = {internationalconference}, Author = {Rajesh Vasa and Jean-Guy Schneider and Oscar Nierstrasz}, Booktitle = {Proceedings of 23rd IEEE International Conference on Software Maintenance (ICSM '07)}, City = {Paris, France}, Doi = {10.1109/ICSM.2007.4362613}, Keywords = {scg07 scg-pub jb08 snf08}, Medium = {2}, Pages = {4--13}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {The Inevitable Stability of Software Change}, Url = {http://scg.unibe.ch/archive/papers/Vasa07bInevitableChange.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Vasa07bInevitableChange.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2007.4362613} } @inproceedings{Vasa08a, Abstract = {Software systems evolve over time incrementally and sections of code are modified. But, how much does code really change? Lehman's laws suggest that software must be continuously adapted to be useful. We have studied the evolution of several public domain object-oriented software systems and analyzed the rate as well as the amount of change that individual classes undergo as they evolve. Our observations suggest that although classes are modified, the majority of changes are minor and only a small proportion of classes undergo significant modification.}, Annote = {internationalconference}, Author = {Rajesh Vasa and Jean-Guy Schneider and Oscar Nierstrasz and Clint Woodward}, Booktitle = {Proceedings of 3d International ERCIM Symposium on Software Evolution (Software Evolution 2007)}, Editor = {Tom Mens and Maja D'Hondt and Kim Mens}, Issn = {1863-2122}, Keywords = {scg07 scg-pub skip-doi jb08 snf08}, Medium = {2}, Peerreview = {yes}, Publisher = {Electronic Communications of the EASST}, Title = {On the Resilience of Classes to Change}, Url = {http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/121 http://scg.unibe.ch/archive/papers/Vasa08aResilienceToChange.pdf}, Volume = {8}, Year = {2008}, Bdsk-Url-1 = {http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/121%20http://scg.unibe.ch/archive/papers/Vasa08aResilienceToChange.pdf} } @inproceedings{Vasa09a, Abstract = {Software metrics offer us the promise of distilling useful information from vast amounts of software in order to track development progress, to gain insights into the nature of the software, and to identify potential problems. Unfortunately, however, many software metrics exhibit highly skewed, non-Gaussian distributions. As a consequence, usual ways of interpreting these metrics --- for example, in terms of "average" values --- can be highly misleading. Many metrics, it turns out, are distributed like wealth --- with high concentrations of values in selected locations. We propose to analyze software metrics using the Gini coefficient, a higher-order statistic widely used in economics to study the distribution of wealth. Our approach allows us not only to observe changes in software systems efficiently, but also to assess project risks and monitor the development process itself. We apply the Gini coefficient to numerous metrics over a range of software projects, and we show that many metrics not only display remarkably high Gini values, but that these values are remarkably consistent as a project evolves over time.}, Address = {Los Alamitos, CA, USA}, Annote = {internationalconference}, Author = {Rajesh Vasa and Markus Lumpe and Philip Branch and Oscar Nierstrasz}, Booktitle = {Proceedings of the 25th International Conference on Software Maintenance (ICSM 2009)}, Doi = {10.1109/ICSM.2009.5306322}, Journal = {icsm}, Keywords = {scg09 scg-pub snf09 jb10}, Medium = {2}, Pages = {179--188}, Peerreview = {yes}, Publisher = {IEEE Computer Society}, Title = {Comparative Analysis of Evolving Software Systems Using the {Gini} Coefficient}, Url = {http://scg.unibe.ch/archive/papers/Vasa09aGiniICSM.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Vasa09aGiniICSM.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICSM.2009.5306322} } @inproceedings{Vasc92a, Author = {Vasco Vasconcelos and Mario Tokoro}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {141--162}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Traces Semantics for Actor Systems}, Volume = 612, Year = {1992} } @unpublished{Vasc92b, Author = {Vasco Vasconcelos and Kohei Honda}, Keywords = {pcalc-obc mobility types binder}, Misc = {Nov 14}, Month = nov, Note = {Keio University}, Title = {Principle Typing-Schemes in a Polyadic $pi$-calculus (extanded abstract)}, Type = {draft}, Year = {1992} } @unpublished{Vasc92c, Author = {Vasco Vasconcelos}, Keywords = {pcalc-obc mobility types binder}, Misc = {Dec. 17}, Month = dec, Note = {Keio University}, Title = {({A} Preliminary Note on) {A} Simple Polymorphic Object Calculus}, Type = {draft}, Year = {1992} } @incollection{Vasc93a, 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.}, Author = {Vasco T. Vasconcelos and Mario Tokoro}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {460--474}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {A Typing System for a Calculus of Objects}, Volume = {742}, Year = {1993} } @inproceedings{Vasc94a, Address = {Bologna, Italy}, Author = {Vasco T. Vasconcelos}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {100--117}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Typed Concurrent Objects}, Url = {ftp://ftp.cs.keio.ac.jp/pub/keio-cs-papers/mt/theory/1994/vasco-ecoop94.dvi.gz}, Volume = {821}, Year = {1994}, Bdsk-Url-1 = {ftp://ftp.cs.keio.ac.jp/pub/keio-cs-papers/mt/theory/1994/vasco-ecoop94.dvi.gz} } @inproceedings{Vasc04a, Author = {Aline Vasconcelos and Cl\'audia Werner}, Booktitle = {Proceedings of the 18th Brazilian Symposium on Software Engineering}, Month = oct, Title = {Software Architecture Recovery based on Dynamic Analysis}, Year = {2004} } @inproceedings{Vauc88a, Address = {Oslo}, Author = {Jean Vaucher and Guy Lapalme and Jacques Malenfant}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-obc ecoop88proc}, Misc = {August 15-17}, Month = apr, Pages = {191--211}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{SCOOP}, Structured Concurrent Object-Oriented Prolog}, Volume = {322}, Year = {1988} } @mastersthesis{Vauc03a, Author = {Sebastien Vauclair}, Note = {http://ejp.sourceforge.net}, School = {Ecole Polytechnique F\'ed\'erale de Lausanne}, Title = {Extensible {Java} Profiler}, Type = {Master's Thesis}, Year = {2003} } @inproceedings{Vazi07, Author = {Mandana Vaziri and Frank Tip and Stephen Fink and Julian Dolby}, Bibsource = {DBLP, http://dblp.uni-trier.de}, Booktitle = {ECOOP}, Doi = {10.1007/978-3-540-73589-2_4}, Pages = {54-78}, Title = {Declarative Object Identity Using Relation Types}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-73589-2_4} } @inproceedings{Vegd86a, Author = {Steven R. Vegdahl}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl smalltalk oopsla86}, Month = nov, Pages = {466--471}, Title = {Moving Structures between {Smalltalk} Images}, Volume = {21}, Year = {1986} } @phdthesis{Verb91a, Author = {Alexander Verbraeck}, Keywords = {olit binder (shelf)}, School = {Technical University of Delft}, Title = {Developing an Adaptive Scheduling Support Environment}, Type = {{Ph.D}. Thesis}, Year = {1991} } @inproceedings{Verb08a, Abstract = {Industrial software systems are large and complex, both in terms of the software entities and their relationships. Consequently, understanding how a software system works requires the ability to pose queries over the design-level entities of the system. Traditionally, this task has been supported by simple tools (e.g., grep) combined with the programmer's intuition and experience. Recently, however, specialized code query technologies have matured to the point where they can be used in industrial situations, providing more intelligent, timely, and efficient responses to developer queries. This working session aims to explore the state of the art in code query technologies, and discover new ways in which these technologies may be useful in program comprehension. The session brings together researchers and practitioners. We survey existing techniques and applications, trying to understand the strengths and weaknesses of the various approaches, and sketch out new frontiers that hold promise.}, Annote = {internationalconference}, Author = {Mathieu Verbaere and Michael W. Godfrey and Tudor G\^irba}, Booktitle = {Proceedings of International Conference on Program Comprehension (ICPC 2008)}, Doi = {10.1109/ICPC.2008.27}, Keywords = {scg08 scg-pub moose-pub girba jb08 hasler08}, Medium = {2}, Pages = {285--288}, Peerreview = {yes}, Title = {Query Technologies and Applications for Program Comprehension}, Url = {http://scg.unibe.ch/archive/papers/Verb08aQTAPC2008.pdf}, Year = {2008}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Verb08aQTAPC2008.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/ICPC.2008.27} } @proceedings{Verc96a, Author = {Kristina L. Verco and Michael J. Wise}, Booktitle = {Proceedings First Australian Conference on Computer Science Education}, Editor = {John Rosenberg}, Month = jul, Publisher = {ACM}, Title = {Software for Detecting Suspected Plagiarism: A Comparison}, Url = {citeseer.ist.psu.edu/verco96software.html}, Year = {1996}, Bdsk-Url-1 = {citeseer.ist.psu.edu/verco96software.html} } @article{Verc96b, Author = {Kristina L. Verco and Michael J. Wise}, Journal = {The Computer Journal}, Keywords = {plagiarism}, Number = {9}, Title = {Plagiarism a la Mode: A Comparison of Automated Systems for Detecting Suspected Plagiarism}, Volume = {39}, Year = {1996} } @article{Verh78a, Author = {J.S.M. Verhofstad}, Journal = {ACM Computing Surveys}, Keywords = {dblit reliability recovery db}, Month = jun, Number = {2}, Pages = {167--195}, Title = {Recovery Techniques for Database Systems}, Volume = {10}, Year = {1978} } @mastersthesis{Verw06a, Abstract = {The uprise of mobile networks has generated the need for parts of mobile applications to be capable of moving from one device to another. While there are already solutions for moving applications, they are mostly constrained to the mobility of single entities. In this dissertation, we investigate the different types of relations between moving objects that can be found in mobile environments. To easily impose these relations we propose extending the current solutions with declarative field annotations. We validate this technique by using a language extended with it to implement a moving TrafficWare route planner.}, Author = {Toon Verwaest}, Keywords = {tverwaes}, Month = may, School = {Vrije Universiteit Brussel}, Title = {Engineering Mobile Applications using Declarative Field Annotations}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/external/Verwa06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Verwa06a.pdf} } @mastersthesis{Verw07a, Abstract = {When a software engineer has to maintain a system, he needs to understand how the system is built. In order to help engineers understand existing systems, research has been conducted around automating the process of architecture recovery. A first step consists of building a straightforward browsable model of the system. However, the conceptual level of abstraction behind the design might be higher than the available level of abstraction in the used programming paradigm. Therefore, a second step which retrieves this implicit information needs to be undertaken. In his thesis, Rainer Koschke [Kos02] has developed and evaluated several techniques which retrieve implicit architectural information from procedural systems. These techniques resulted in the detection of atomic architectural components, comparable to the concept of prototypes. More and more systems are developed using the object-oriented programming paradigm. Systems built using this paradigm embed a similar, yet more coarsegrained, type of implicit information. Here we think of a higher level of abstraction, comparable to the concept of software components. In this thesis, we investigate if and how some of the component detection heuristics, presented in the thesis by Koschke, can be adapted as such that they are applicable to object-oriented code in order to detect components comparable to software components. Additionaly, we investigate how we can complement them with available object-oriented information.}, Author = {Toon Verwaest}, Keywords = {moose-pub, tverwaes}, Month = sep, School = {Vrije Universiteit Brussel, Ecole des Mines de Nantes, Universidad Nacional de La Plata}, Title = {Object-Oriented Component Detection for Software Understanding}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/external/Verwa07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/external/Verwa07a.pdf} } @inproceedings{Verw09a, Abstract = {Code executed in a fully reflective system switches back and forth between application and interpreter code. These two states can be seen as contexts in which an expression is evaluated. Current language implementations obtain reflective capabilities by exposing objects to the interpreter. However, in doing so these systems break the encapsulation of the application objects. In this paper we propose safe reflection through polymorphism, \ie by unifying the interface and ensuring the encapsulation of objects from both the interpreter and application context. We demonstrate a \emph{homogeneous system} that defines the execution semantics in terms of itself, thus enforcing that encapsulation is not broken.}, Address = {New York, NY, USA}, Annote = {internationalworkshop}, Author = {Toon Verwaest and Lukas Renggli}, Booktitle = {CASTA '09: Proceedings of the first international workshop on Context-aware software technology and applications}, Doi = {10.1145/1595768.1595776}, Isbn = {978-1-60558-707-3}, Keywords = {scg09 scg-pub tverwaes snf09 jb10 schemetalk pinocchio}, Location = {Amsterdam, The Netherlands}, Medium = {1}, Pages = {21--24}, Peerreview = {yes}, Publisher = {ACM}, Title = {Safe Reflection Through Polymorphism}, Url = {http://scg.unibe.ch/archive/papers/Verw09aSafeReflectionThroughPolymorphism.pdf}, Year = {2009}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Verw09aSafeReflectionThroughPolymorphism.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1595768.1595776} } @inproceedings{Verw10a, Abstract = {To support development tools like debuggers, runtime systems need to provide a meta-programming interface to alter their semantics and access internal data. Reflective capabilities are typically fixed by the Virtual Machine (VM). Unanticipated reflective features must either be simulated by complex program transformations, or they require the development of a specially tailored VM. We propose a novel approach to behavioral reflection that eliminates the barrier between applications and the VM by manipulating an explicit tower of first-class interpreters. Pinocchio is a proof-of-concept implementation of our approach which enables radical changes to the interpretation of programs by explicitly instantiating subclasses of the base interpreter. We illustrate the design of Pinocchio through non-trivial examples that extend runtime semantics to support debugging, parallel debugging, and back-in-time object-flow debugging. Although performance is not yet addressed, we also discuss numerous opportunities for optimization, which we believe will lead to a practical approach to behavioral reflection.}, Annote = {internationalconference}, Author = {Toon Verwaest and Camillo Bruni and David Gurtner and Adrian Lienhard and Oscar Nierstrasz}, Booktitle = {OOPSLA Onward! '10}, Keywords = {scg10 scg-pub tverwaes snf10 jb11 pinocchio}, Doi = {10.1145/1869459.1869522}, Url = {http://scg.unibe.ch/archive/papers/Verw10aPinocchio.pdf}, Medium = {0}, Location = {Reno-Tahoe, U.S.A.}, Peerreview = {yes}, Title = {Pinocchio: Bringing Reflection to Life with First-Class Interpreters}, Year = {2010} } @inproceedings{Verw11a, Abstract = {Dynamic updates in object-oriented languages require high-level changes to be translated to low-level changes. For example, removing an unused instance variable from a class may shift the indices of other instance variables. The shift needs to be translated to a change of the bytecodes accessing these instance variables. Current languages do not offer a bridge between the two levels of abstraction. We outline such a model, and demonstrate its usefulness by discussing a prototype implementation in Pharo Smalltalk. In addition to simplifying the implementation of dynamic updates, our model enables easy experiments in modifying the language semantics.}, Annote = {internationalconference}, Author = {Toon Verwaest and Niko Schwarz and Erwann Wernli}, Keywords = {scg11 scg-pub tverwaes nes snf11 jb11 missing-doi}, Url = {http://scg.unibe.ch/archive/papers/Verw11aRuntimeUpdates.pdf}, Booktitle = {Proceedings of the TOOLS 2011 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'11)}, Medium = {1}, Peerreview = {yes}, Title = {Runtime Class Updates using Modification Models}, Year = {2011} } @techreport{Vict94a, Author = {Bj\"orn Victor}, Institution = {Uppsala University (Sweden)}, Issn = {0283-0574}, Keywords = {Vict94a oobib(pcalc) binder}, Month = may, Number = {94/50}, Title = {A Verification Tool for The Polyadic pi-Calculus}, Type = {Report DoCs}, Year = {1994} } @inproceedings{Vieg00a, Author = {John Viega and Paul Reynolds and Reimer Behrends}, Booktitle = {Proceedings of TOOLS 34'00}, Month = jul, Pages = {171--182}, Title = {Automating Delegation in Class-Based Languages}, Year = {2000} } @article{Vieg01a, Author = {John Viega and J. T. Bloch and Pravir Ch}, Journal = {Cutter IT Journal}, Pages = {31--39}, Title = {Applying Aspect-Oriented Programming to Security}, Volume = {14}, Year = {2001} } @inproceedings{Vieg04a, Author = {Fernanda Vi\'egas and Martin Wattenberg and Kushal Dave}, Booktitle = {In Proceedings of the Conference on Human Factors in Computing Systems (CHI 2004)}, Keywords = {visualization evolution}, Month = apr, Pages = {575--582}, Title = {Studying Cooperation and Conflict between Authors with history flow Visualizations}, Year = {2004} } @book{Vine97a, Author = {G\"unther Vinek}, Keywords = {smalltalk scglib}, Publisher = {Springer}, Title = {Objektorientierte Softwareentwicklung mit Smalltalk}, Year = {1997} } @inproceedings{Vinj05a, Author = {Jurgen J. Vinju and James R. Cordy}, Booktitle = {Transformation Techniques in Software Engineering}, Editor = {James R. Cordy and Ralf L{\"a}mmel and Andreas Winter}, Publisher = {Internationales Begegnungs- und Forschungszentrum f{\"u}r Informatik (IBFI), Schloss Dagstuhl, Germany}, Series = {Dagstuhl Seminar Proceedings}, Title = {How to make a bridge between transformation and analysis technologies?}, Volume = {05161}, Year = {2005} } @article{Vino93a, Author = {Steve Vinoski}, Journal = {{C}++ Report Magazine}, Keywords = {odp}, Month = jul, Title = {Distributed Object Computing with Corba}, Year = {1993} } @inproceedings{Vion94a, Author = {Jean-Yves Vion-Dury and Miguel Santana}, Booktitle = {Proceedings of OOPSLA 1994}, Editor = {ACM Press}, Keywords = {sv}, Pages = {65--84}, Title = {Virtual Images: Interactive Visualization of Distributed Object-Oriented Systems}, Year = {1994} } @mastersthesis{Vire96a, Author = {Pierre Viret}, Keywords = {skip-pdf skip-abstract snf-none scg-pub skip-doi oobib toBeChecked Pict concurrency jb96 scg-msc}, Month = mar, School = {Laboratoire de T\'el\'einformatique, Ecole Polytechnique F\'ed\'erale de Lausanne (EPFL), CH}, Title = {Viewing {C}++ Objects as Communicating Processes}, Type = {Master's thesis}, Year = {1996} } @techreport{Viss97a, Author = {Visser, Eelco}, Institution = {Programming Research Group, University of Amsterdam}, Keywords = {parsing}, Month = jul, Number = {P9707}, Title = {Scannerless Generalized-{LR} Parsing}, Url = {http://www.cs.uu.nl/people/visser/ftp/P9707.ps.gz}, Year = {1997}, Bdsk-Url-1 = {http://www.cs.uu.nl/people/visser/ftp/P9707.ps.gz} } @inproceedings{Viss00a, author = {Visser, Willem and Havelund, Klaus and Brat, Guillaume and Park, SeungJoon}, title = {Model Checking Programs}, booktitle = {ASE'00: Proceedings of the 15th International Conference on Automated Software Engineering}, keywords = {damiencbib}, year = {2000}, isbn = {0-7695-0710-7}, pages = {3--12}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @incollection{Viss04a, Author = {Eelco Visser}, Booktitle = {Domain-Specific Program Generation}, Doi = {10.1007/b98156}, Editor = {C. Lengauer and others}, Keywords = {cclit ptlit stratego dsllit}, Month = jun, Pages = {216--238}, Publisher = {Spinger-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {StrategoXT-0.9}}, Url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2004/2004-011.pdf http://www.stratego-language.org/Stratego/ProgramTransformationWithStrategoXT}, Volume = {3016}, Year = {2004}, Bdsk-Url-1 = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2004/2004-011.pdf%20http://www.stratego-language.org/Stratego/ProgramTransformationWithStrategoXT}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b98156} } @techreport{Viss05a, Author = {Eelco Visser}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Keywords = {cclit ptlit stratego dsllit}, Number = {UU-CS-2005-022}, Title = {A Survey of Strategies in Rule-Based Program Transformation Systems}, Url = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-022.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-022.pdf} } @techreport{Viss05b, Author = {Eelco Visser}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Keywords = {cclit ptlit stratego dsllit}, Number = {UU-CS-2005-034}, Pubcat = {techreport}, Title = {Transformations for Abstractions}, Url = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-034.pdf}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-034.pdf} } @article{Viss05c, Author = {Eelco Visser}, Editor = {Bernhard Gramlich and Salvador Lucas}, Journal = {Journal of Symbolic Computation}, Note = {Special issue on Reduction Strategies in Rewriting and Programming}, Number = 1, Pages = {831-873}, Title = {A Survey of Strategies in Rule-Based Program Transformation Systems}, Volume = 40, Year = {2005} } @misc{VisualWorks, Author = {VisualWorks}, Key = {VisualWorks}, Howpublished = {http://www.cincomsmalltalk.com/, archived at http://www.webcitation.org/5p1rRxls5}, Url = {http://www.cincomsmalltalk.com/}, Title = {{Cincom} {Smalltalk}}, Year = {2010} } @techreport{Vite90a, 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.}, Author = {Jan Vitek and Betty Junod and Oscar Nierstrasz and Serge Renfer and Claudia Werner}, Editor = {D. Tsichritzis}, Institution = {Centre Universitaire d'Informatique, University of Geneva}, Keywords = {olit-reuse skip-doi scripting osg om90}, Month = jul, Pages = {345--356}, Title = {Events and Sensors: Enhancing the Reusability of Objects}, Type = {Object Management}, Url = {http://scg.unibe.ch/archive/osg/Vite90aEventsAndSensors.pdf}, Year = {1990}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Vite90aEventsAndSensors.pdf} } @inproceedings{Vite94a, Address = {Bologna, Italy}, Author = {Jan Vitek and R. Nigel Horspool}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {432--449}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Taming Message Passing: Efficient Method Look-up for Dynamically Typed Languages}, Volume = {821}, Year = {1994} } @inproceedings{Vite97a, Address = {Zinal, Valais, Switzerland}, Author = {Jan Vitek}, Booktitle = {European Research Seminar in Advanced Distributed Systems}, Keywords = {oobin(mobility)}, Month = mar, Title = {New Paradigms for Distributed Programming}, Year = {1997} } @inproceedings{Vite99a, Author = {Jan Vitek and Giuseppe Castagna}, Booktitle = {Internet Programming Languages}, Keywords = {pcalc mobility ambients pisem}, Title = {Seal: A framework for secure mobile computations}, Url = {http://www.cs.purdue.edu/homes/jv/publist.html}, Year = {1999}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/jv/publist.html} } @inproceedings{Vitt82a, Author = {J. Vittal}, Booktitle = {Proceedings of the International Symposium on Computer Message Systems, IFIP TC-6, Ottawa, April 1981}, Editor = {R.P. Uhlig}, Keywords = {misc mail}, Pages = {175--195}, Publisher = {North Holland Publishing Co}, Title = {Active Message Processing: Messages as Messengers}, Year = {1982} } @book{Vlis96a, Address = {Reading, Mass.}, Author = {John, Vlissides and Coplien, James O. and Kerth, Norman L.}, Isbn = {0-201-89527-7}, Keywords = {olit-oose oobib design-patterns reuse book scglib}, Publisher = {Addison Wesley}, Title = {Patterns Languages of Program Design 2}, Year = {1995} } @article{Vlis96b, Author = {Vlissides, John}, Journal = {C++ Report}, Month = feb, Title = {The Hollywood Principle}, Volume = 8, Year = {1996} } @article{Vlis96c, Author = {Vlissides, John}, Journal = {C++ Report}, Month = nov, Title = {Generation Gap}, Year = {1996} } @book{Voge97a, Author = {Andreas Vogel and Keith Duddy}, Isbn = {0-471-17986-8}, Keywords = {corba java scglib}, Publisher = {Wiley}, Title = {{Java} Programming with Corba}, Year = {1997} } @techreport{Voge02a, Author = {David Vogel}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = apr, Title = {Studie: Datenbank-Webapplikationen und ihre Technologien}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Voge02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Voge02a.pdf} } @mastersthesis{Voge04a, 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.}, Author = {David Vogel}, Keywords = {scg-msc jb04 smallwiki snf04}, Month = jun, School = {University of Bern}, Title = {Management and Security of Collaborative Web Environments}, Type = {Diploma thesis}, Url = {http://scg.unibe.ch/archive/masters/Voge04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Voge04a.pdf} } @inproceedings{Vogt95a, Address = {Berlin-Heidelberg}, Author = {F. Vogt and R. Wille}, Booktitle = {Proceedings of the DIMACS Int. Workshop on Graph Drawing (GD'94)}, Editor = {R. Tamassia and I.G. Tollis}, Keywords = {fca}, Pages = {226--233}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science 894}, Title = {{TOSCANA} --- a graphical tool for analyzing and exploring data}, Year = {1995} } @mastersthesis{Voin06a, Author = {Violeta Voinescu}, Keywords = {moose-pub meta-modeling}, Month = sep, School = {Politehnica University of Timisoara}, Title = {Supporting Reverse Engineering with (Meta-)Annotations}, Type = {Diploma thesis}, Year = {2004} } @inproceedings{Voin05a, Address = {St. Louis, Missouri, USA}, Author = {Lucian Voinea and Alex Telea and van Wijk, Jarke J.}, Booktitle = {Proceedings of 2005 ACM Symposium on Software Visualization (Softviz 2005)}, Keywords = {evolution, visualization}, Month = may, Pages = {47--56}, Title = {{CVS}scan: visualization of code evolution}, Year = {2005} } @article{Voin07a, Author = {Lucian Voinea and Johan Lukkien and Alexandru Telea}, Journal = {Science of Computer Programming}, Number = {3}, Pages = {222--248}, Title = {Visual Assessment of Software Evolution}, Volume = {365}, Year = {2007} } @article{Vok04a, Author = {Marek Vok}, Doi = {10.1109/TSE.2004.99}, Journal = {IEEE Transactions on Software Engineering}, Pages = {904--917}, Publisher = {IEEE Press}, Title = {Defect Frequency and Design Patterns: An Empirical Study of Industrial Code}, Volume = {30}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2004.99} } @book{Voll91a, Author = {Otto Vollnals}, Isbn = {88-256-0036-4}, Keywords = {book scglib}, Publisher = {Grouppo Editoriale Jackson (Milano)}, Title = {Dictionary of Computer Science}, Year = {1991} } @book{Voss94a, Address = {Reading, Mass.}, Author = {Gottfried Vossen}, Isbn = {3-89319-566-1}, Keywords = {dblit book scglib}, Publisher = {Addison Wesley}, Title = {Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme}, Year = {1994} } @article{Voyd83a, Author = {V.L. Voydock and S.T. Kent}, Journal = {ACM Computing Surveys}, Keywords = {security os networks}, Month = jun, Number = {2}, Pages = {135--171}, Title = {Security Mechanisms in High-Level Network Protocols}, Volume = {15}, Year = {1983} } @proceedings{WCRE99, Keywords = {scglib}, Organization = {IEEE Computer Society}, Title = {Sixth Working Conference on Reverse Engineering}, Year = {1999} } @proceedings{WCRE00a, Keywords = {scglib}, Organization = {IEEE Computer Society}, Title = {Seventh Working Conference on Reverse Engineering}, Year = {2000} } @proceedings{WCRE01a, Keywords = {scglib}, Organization = {IEEE Computer Society}, Title = {Ninth Working Conference on Reverse Engineering}, Year = {2002} } @misc{WO, Key = {WO}, Note = {http://www.apple.com/webobjects/}, Title = {{WebObjects}} } @misc{WS04a, title = {Web Services Architecture}, keywords = {damiencbib architecture}, author = {World Wide Web Consortium}, year = {2004}, Url = {http://www.w3.org/TR/ws-arch} } @misc{WSDL, key = {WSDL}, title = {Web Services Description Language ({WSDL}) 1.1}, author = {{W3C} Note}, year = {2002}, url = {http://www.w3.org/TR/wsdl}, keywords = {damiencbib} } @incollection{Wadl95a, Author = {Philip Wadler}, Booktitle = {Advanced Functional Programming}, Editor = {J. Jeuring and E. Meijer}, Keywords = {monads}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Monads for functional programming}, Volume = 925, Year = {1995} } @inproceedings{Wadl07a, Author = {Philip Wadler and Robert Bruce Findler}, Booktitle = {Proceedings of the Workshop on Scheme and Functional Programming}, Pages = {15--26}, Title = {Well-typed programs can't be blamed}, Year = {2007} } @inproceedings{Waig08a, URL = {http://hal.inria.fr/inria-00311584/en/}, title = {A Model-Based Framework for Statically and Dynamically Checking Component Interactions}, author = {Waignier, Guillaume and Prawee, Sriplakich and Le Meur, Anne-Fran{\c{c}}oise and Duchien, Laurence}, booktitle = {MODELS'08: Proceedings of the 11th International Conference on Model-Driven Engineering Languages and Systems}, address = {Toulouse, France}, pages = {371--385}, volume = {5301}, series = {Lecture Notes in Computer Science}, doi = {10.1007/978-3-540-87875-9_27}, year = {2008}, publisher = {Springer Berlin / Heidelberg} } @book{Wait85a, Address = {Secaucus, NJ, USA}, Author = {W. M. Waite and G. Goos}, Isbn = {0387908218}, Publisher = {Springer-Verlag New York, Inc.}, Title = {Compiler Construction}, Year = {1985} } @incollection{Waki93a, 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.}, Author = {Ken Wakita}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {442--459}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {First Class Messages as First Class Continuations}, Volume = {742}, Year = {1993} } @techreport{Wald94a, Author = {J. Waldo and G. Wyant and A. Wollrath and S. Kendall}, Institution = {Sun Microsystems Labs}, Title = {A note on distributed computing}, Year = {1994} } @inproceedings{Wald99a, 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.}, Address = {Lisbon, Portugal}, Author = {Jim Waldo}, Booktitle = {Proceedings ECOOP '99}, Editor = {R. Guerraoui}, Keywords = {olit ecoop99proc}, Month = jun, Pages = {441--448}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Object-Oriented Programming on the Network}, Volume = 1628, Year = {1999} } @inproceedings{Wale03a, Address = {Victoria, B.C., Canada}, Author = {Andrew Walenstein and Nitin Jyoti and Junwei Li and Yun Yang and Arun Lakhotia}, Booktitle = {Proceedings 10th Working Conference on Reverse Engineering (WCRE'03)}, Month = nov, Organization = {IEEE}, Pages = {285--295}, Title = {Problems Creating Task-relevant Clone Detection Reference Data}, Year = {2003} } @inproceedings{Wale03c, Author = {Andrew Walenstein and Arun Lakhotia}, Booktitle = {Proceedings of the 2nd International Workshop on Detection of Software Clones (IWDSC'03)}, Month = nov, Title = {Clone Detector Evaluation Can Be Improved: Ideas from Information Retrieval}, Year = {2003} } @article{Wale03b, Author = {Andrew Walenstein and Arun Lakhotia and Rainer Koschke}, Doi = {10.1145/979743.979752}, Issn = {0163-5948}, Journal = {SIGSOFT Softw. Eng. Notes}, Number = {2}, Pages = {1--5}, Publisher = {ACM Press}, Title = {The Second International Workshop on Detection of Software Clones: workshop report}, Volume = {29}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/979743.979752} } @techreport{Walk90a, Author = {David Walker}, Institution = {Computer Science Dept., University of Edinburgh}, Keywords = {pcalc-obc mobility semantics ccs binder (shelf)}, Month = oct, Number = {ECS-LFCS-90-122}, Title = {\pi-calculus Semantics of Object-Oriented Programming Languages}, Type = {Report}, Year = {1990} } @incollection{Walk91a, Author = {David Walker}, Booktitle = {Concurrency: Theory, Language and Architecture}, Editor = {A. Yonezawa and T. Ito}, Keywords = {pcalc-obc mobility binder(css)}, Pages = {21--35}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Some Results on the $pi$-calculus}, Volume = {491}, Year = {1991} } @unpublished{Walk93a, Author = {David Walker}, Keywords = {pcalc-obc mobility semantics ccs binder}, Note = {University of Warwick}, Title = {Process Calculus and Parallel Object-Oriented Programming Languages}, Type = {draft manuscript}, Year = {1993} } @article{Walk95a, Author = {David Walker}, Doi = {10.1006/inco.1995.1018}, Journal = {Information and Computation}, Keywords = {pcalc-obc mobility semantics ccs binder (shelf)}, Month = feb, Number = {2}, Pages = {253--271}, Title = {Objects in the {$\pi$}-Calculus}, Url = {ftp://ftp.dcs.warwick.ac.uk/pub/reports/rr/217/all.ps.gz}, Volume = {116}, Year = {1995}, Bdsk-Url-1 = {ftp://ftp.dcs.warwick.ac.uk/pub/reports/rr/217/all.ps.gz}, Bdsk-Url-2 = {http://dx.doi.org/10.1006/inco.1995.1018} } @inproceedings{Walk98a, Author = {Robert J. Walker and Gail C. Murphy and Bjorn Freeman-Benson and Darin Wright and Darin Swanson and Jeremy Isaak}, Booktitle = {Proceedings of International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'98)}, Month = oct, Pages = {271--283}, Publisher = {ACM}, Title = {Visualizing Dynamic Software System Information through High-Level Models}, Year = {1998} } @inproceedings{Walk99a, Address = {Los Alamitos, CA, USA}, Author = {Robert J. Walker}, Booktitle = {ICSE '99: Proceedings of the 21st international conference on Software engineering}, Isbn = {1-58113-074-0}, Keywords = {cop-lit}, Location = {Los Angeles, California, United States}, Pages = {734--735}, Publisher = {IEEE Computer Society Press}, Title = {Contextual programming (doctoral symposium---extended abstract)}, Url = {http://delivery.acm.org/10.1145/310000/303004/p734-walker.pdf}, Year = {1999}, Bdsk-Url-1 = {http://delivery.acm.org/10.1145/310000/303004/p734-walker.pdf} } @inproceedings{Walk00a, Address = {New York, NY, USA}, Author = {Robert J. Walker and Gail C. Murphy}, Booktitle = {SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering}, Doi = {10.1145/355045.355054}, Isbn = {1-58113-205-0}, Keyworks = {cop-lit}, Location = {San Diego, California, United States}, Pages = {69--78}, Publisher = {ACM Press}, Title = {Implicit context: easing software evolution and reuse}, Url = {http://www.cs.ubc.ca/labs/se/papers/2000/fse00-ic.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.ubc.ca/labs/se/papers/2000/fse00-ic.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/355045.355054} } @inproceedings{Walk00b, Author = {Robert J. Walker and Gail C. Murphy and Jeffrey Steinbok and Martin P. Robillard}, Booktitle = {CASCON '00: Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research}, Location = {Mississauga, Ontario, Canada}, Pages = {12}, Publisher = {IBM Press}, Title = {Efficient mapping of software system traces to architectural views}, Year = {2000} } @inproceedings{Walk03a, author = {Walker, David and Zdancewic, Steve and Ligatti, Jay}, title = {A theory of aspects}, booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, year = {2003}, isbn = {1-58113-756-7}, pages = {127--139}, location = {Uppsala, Sweden}, doi = {10.1145/944705.944718}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @article{Wall80a, Author = {P.J.L. Wallis}, Journal = {ACM TOPLAS}, Keywords = {types olit}, Month = apr, Number = {2}, Pages = {137--152}, Title = {External Representations of Objects of User-Defined Type}, Volume = {2}, Year = {1980} } @book{Wall90a, Author = {Larry Wall and Randal L. Schwartz}, Isbn = {0-937175-64-1}, Keywords = {pl perl binder book}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Programming Perl}, Year = {1990} } @book{Wall96b, Author = {Larry Wall and Randal L. Schwartz}, Edition = {2nd}, Isbn = {0-56592-149-6}, Keywords = {pl perl binder (shelf) book scglib}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Programming Perl}, Year = {1990} } @incollection{Wall96a, Author = {Ake Wallin and Simon Moser and Alfred Graber}, Booktitle = {INFORMATIK, Zuerich}, Keywords = {olit toBeChecked jb95}, Month = feb, Publisher = {SVI/FSI}, Title = {Wiederverwendung mit {Smalltalk} in Client/Server Applikationen}, Year = {1996} } @article{Wall99a, Author = {Malcolm Wallace and Colin Runciman}, Journal = {ACM SIG{\-}PLAN Notices}, Month = sep, Note = {Proceedings of {ICFP}'99}, Number = {9}, Pages = {148--159}, Title = {{Haskell} and {XML}: Generic Combinators or Type-Based Translation?}, Volume = {34}, Year = {1999} } @book{Wall00a, Author = {Larry Wall and Tom Christiansen and Jon Orwant}, Edition = {3rd}, Keywords = {perl scglib}, Publisher = {O'Reilly \& Associates, Inc.}, Title = {Programming Perl}, Year = {2000} } @misc{Wall04a, Author = {Larry Wall}, Month = apr, Note = {http://www.perl.com/pub/a/2004/04/16/a12.html}, Title = {Apocalypse 12}, Url = {http://www.perl.com/pub/a/2004/04/16/a12.html}, Year = {2004}, Bdsk-Url-1 = {http://www.perl.com/pub/a/2004/04/16/a12.html} } @inproceedings{Wals92a, Author = {James F. Walsh}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {178--183}, Title = {Preliminary Defect Data from the Iterative Development of a Large {C}++ Program}, Volume = {27}, Year = {1992} } @inproceedings{Walt89a, Author = {Sandra S. Walther and Richard L. Peskin}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {159--168}, Title = {Strategies for Scientific Prototyping in {Smalltalk}}, Volume = {24}, Year = {1989} } @misc{Walt96a, Title = {Domain-Specific Languages}, Author = {Lisa Walton}, Url = {http://www.cse.ogi.edu/~walton/dsdls.html}, Note = {\url{http://www.cse.ogi.edu/~walton/dsdls.html}}, Year = {1996} } @mastersthesis{Wamp06a, 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.}, Author = {Rafael Wampfler}, Keywords = {scg-msc scg-pub skip-doi jb07 snf06}, Month = nov, School = {University of Bern}, Title = {{Eg} --- a Meta-Model and Editor for Unit Tests}, Url = {http://scg.unibe.ch/archive/masters/Wamp06a.pdf}, Year = {2006}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Wamp06a.pdf} } @inproceedings{Wand88a, Author = {Mitchell Wand and Daniel Friedman}, Booktitle = {Meta-level Architectures and Reflection}, Editor = {North-Holland, P. Maes and D. Nardi}, Pages = {111--134}, Title = {{The Mystery of the Tower Revealed: A Non-Reflective Description of the Reflective Tower}}, Year = {1988} } @inproceedings{Wand88b, Author = {M. Wand, Daniel P. Friedman}, Booktitle = {Lisp and Symbolic Computation}, Pages = {298--307}, Title = {The mystery of the tower revealed: A non-reflective description of the reflective tower}, Year = {1988} } @article{Wand04a, author = {Wand, Mitchell and Kiczales, Gregor and Dutchyn, Christopher}, title = {A semantics for advice and dynamic join points in aspect-oriented programming}, journal = {ACM Trans. Program. Lang. Syst.}, volume = {26}, number = {5}, year = {2004}, issn = {0164-0925}, pages = {890--910}, doi = {10.1145/1018203.1018208}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {sos-da} } @inproceedings{Wang92a, Author = {Michael F. Wangler and Peeter Hansen}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {146--153}, Title = {Visualizing Objects: Methods for Exploring Human Computer Interaction Concepts}, Volume = {27}, Year = {1992} } @book{Wang98a, Author = {Jiacun Wang}, Publisher = {Kluwer Academic Publishers}, Title = {Timed Petri Nets}, Year = {1998} } @inproceedings{Wang01a, Address = {Budapest, Hungary}, Author = {Tiejun Wang and Scott F. Smith}, Booktitle = {Proceedings ECOOP '01}, Editor = {G. Goos and J. Hartmanis and J. van Leeuwen}, Month = jun, Pages = {99--118}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Precise Constraint-Based Type Inference for Java}, Volume = {2072}, Year = {2001} } @inproceedings{Wang03a, Author = {Qin Wang and Wei Wang and Rhodes Brown and Karel Driesen and Bruno Dufour and Laurie Hendfren and Clark Verbrugge}, Booktitle = {Proceedings of ACM Symposium on Software Visualization (SOFTVIS 2003)}, Pages = {37--49}, Title = {{EVolve}: an Open Extensible Software Visualization Framework}, Year = {2003} } @book{Ware00a, Author = {Colin Ware}, Keywords = {scglib}, Publisher = {Morgan Kaufmann}, Title = {Information Visualization}, Year = {2000} } @book{Ware04a, Address = {Sansome Street, San Fransico}, Author = {Colin Ware}, Isbn = {1-55860-819-2}, Publisher = {Elsevier}, Title = {Information Visualisation}, Year = {2004} } @mastersthesis{Wark03a, Author = {Elmar Warken}, Month = feb, School = {CS Dept. III, University of Bonn, Germany}, Title = {Mehrfache Delegatioin in Lava (in German)}, Type = {Diploma thesis}, Year = {2003} } @inproceedings{Warn02a, Author = {Brett A. Warneke and Kristofer S.J. Pister}, Booktitle = {Proceedings of IMECE'02, ASME International Mechanical Engineering Congreee \& Exposition}, Keywords = {smartdust}, Month = nov, Title = {Exploring the Limits of System Integration with Smart Dust}, Year = {2002} } @article{Warr80a, Author = {David H.D. Warren}, Journal = {Software --- Practice and Experience}, Keywords = {patterns binder}, Pages = {97--125}, Title = {Logic Programming and Compiler Writing}, Volume = {10}, Year = {1980} } @book{Warr99a, Author = {Nigel Warren and Philip Bishop}, Keywords = {java scglib}, Publisher = {Addison Wesley}, Title = {Java in Practice}, Year = {1999} } @inproceedings{Wart06a, Address = {New York, NY, USA}, Author = {Alessandro Warth and Milan Stanojevi\'{c} and Todd Millstein}, Booktitle = {OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications}, Doi = {10.1145/1167473.1167477}, Isbn = {1-59593-348-4}, Keywords = {ometa parsing}, Location = {Portland, Oregon, USA}, Pages = {37--56}, Publisher = {ACM Press}, Title = {Statically scoped object adaptation with expanders}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1167473.1167477} } @inproceedings{Wart07a, Address = {New York, NY, USA}, Author = {Alessandro Warth and Ian Piumarta}, Booktitle = {DLS '07: Proceedings of the 2007 symposium on Dynamic languages}, Doi = {10.1145/1297081.1297086}, Isbn = {978-1-59593-868-8}, Keywords = {ometa parsing}, Location = {Montreal, Quebec, Canada}, Pages = {11--19}, Publisher = {ACM}, Title = {{OMeta}: an object-oriented language for pattern matching}, Url = {http://www.tinlizzie.org/~awarth/papers/dls07.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.tinlizzie.org/~awarth/papers/dls07.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1297081.1297086} } @inproceedings{Wart07b, Address = {New York, NY, USA}, Author = {Alessandro Warth and James R. Douglass and Todd Millstein}, Booktitle = {PEPM '08: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation}, Doi = {10.1145/1328408.1328424}, Isbn = {978-1-59593-977-7}, Keywords = {parsing}, Location = {San Francisco, California, USA}, Pages = {103--110}, Publisher = {ACM}, Title = {Packrat parsers can support left recursion}, Url = {http://vpri.org/pdf/tr2007002_packrat.pdf}, Year = {2008}, Bdsk-Url-1 = {http://vpri.org/pdf/tr2007002_packrat.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1328408.1328424} } @inproceedings{Wata88a, Author = {Takuo Watanabe and Akinori Yonezawa}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit-obcl abclr oopsla88}, Month = nov, Pages = {306--315}, Title = {Reflection in an Object-Oriented Concurrent Language}, Volume = {23}, Year = {1988} } @article{Wate94a, Author = {Richard C. Waters and Elliot Chikofsky}, Journal = {Communications of the ACM}, Keywords = {reveng famoos}, Month = may, Number = {5}, Pages = {22--93}, Title = {Reverse Engineering: Progress Along Many Dimensions (Special Issue)}, Volume = {37}, Year = {1994} } @techreport{Wats96a, Author = {A. Watson and T. McCabe}, Booktitle = {T. NIST Special Publication 500-235}, Institution = {National Institute of Standards and Technology, Washington, D.C.}, Title = {Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric}, Year = {1996} } @article{Wats02a, Author = {Watson Anne, Mason John H.}, Journal = {Canadian Journal of Science, Mathematics and Technology Education}, Keywords = {examples}, Number = {2}, Pages = {237--249}, Title = {Student-Generated Examples in the Learning of Mathematics}, Volume = {2}, Year = {2002} } @book{Watt90a, Author = {David A. Watt}, Isbn = {0-13-726274-4}, Keywords = {pl-lit book scglib}, Publisher = {Prentice-Hall}, Title = {Programming Language Concepts and Paradigms}, Year = {1990} } @book{Watt91a, Author = {David A. Watt}, Isbn = {0-13-726274-4}, Keywords = {pl book scglib}, Publisher = {Prentice-Hall}, Title = {Programming Language Syntax and Semantics}, Year = {1991} } @book{Watt96a, Author = {Aaron Watters and Guido van Rossum and James C. Ahlstrom}, Isbn = {1-555851-484-8}, Keywords = {pl scglib}, Publisher = {M\&T Books}, Title = {Internet Programming with {Python}}, Year = {1996} } @inproceedings{Watt05a, Author = {Martin Wattenberg}, Booktitle = {Proceedings of 2005 IEEE Symposium on Information Visualization (INFOVIS 2005)}, Pages = {1--6}, Title = {Baby Names Visualization, and Social Data Analysis}, Year = {2005} } @book{Wayn95a, Author = {Peter Wayner}, Isbn = {0-12-738765-X}, Keywords = {agents scglib}, Publisher = {AP Profesional}, Title = {Agents Unleashed}, Year = {1995} } @book{Weav98a, Author = {Lynn Weaver}, Isbn = {0-13-899584-2}, Keywords = {java}, Publisher = {Prentice-Hall}, Title = {Inside {Java} Workshop 2.0}, Year = {1998} } @article{Webb04a, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Diana L. Webber and Hassan Gomaa}, Doi = {10.1016/j.scico.2003.04.004}, Issn = {0167-6423}, Journal = {Sci. Comput. Program.}, Number = {3}, Pages = {305--331}, Publisher = {Elsevier North-Holland, Inc.}, Title = {Modeling variability in software product lines with the variation point model}, Volume = {53}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2003.04.004} } @unpublished{Webe91a, Author = {Franz Weber}, Keywords = {types olit binder}, Month = dec, Note = {submitted for publication}, Title = {Getting Class Correctness and System Correctness Equivalent --- How to Get Covariance Right}, Type = {draft}, Year = {1991} } @article{Webe02a, Author = {Debora Weber-Wulff}, Journal = {c't Magazin f\"ur Computertechnik}, Keywords = {plagiarism}, Month = jan, Number = {1}, Pages = {64--69}, Title = {{Schummeln} mit dem {Internet}}, Url = {http://www.heise.de/ct/02/01/004/}, Volume = {15}, Year = {2002}, Bdsk-Url-1 = {http://www.heise.de/ct/02/01/004/} } @book{Webs89a, Author = {Bruce F. Webster}, Publisher = {Addison-Wesley}, Title = {The {NeXT} book}, Year = {1989} } @book{Wech91a, Author = {Wolfgang Wechler}, Publisher = {Springer-Verlag}, Series = {EATCS}, Title = {Universal Algerbra for Computer Scientists}, Volume = {25}, Year = {1991} } @inproceedings{Weck96a, Author = {Wolfgang Weck and Clemens Szyperski}, Booktitle = {Workshop on Composability Issues in Object-Orientation at ECOOP '96}, Month = jul, Title = {Do We Need Inheritance?}, Year = {1996} } @inproceedings{Weer01a, Address = {Berkeley, California}, Author = {Sanjiva Weerawarana and Francisco Curbera and Matthew J. Duftler and David A. Epstein and Joseph Kesselman}, Booktitle = {Proceedings of the 6th {USENIX} Conference on Object-Oriented Technologies and Systems ({COOTS}-01)}, Month = feb, Pages = {173--188}, Publisher = {USENIX Association}, Title = {Bean Markup Language: {A} Composition Language for {JavaBeans} Components}, Year = {2001} } @incollection{Wegn72a, Author = {Peter Wegner}, Booktitle = {Formal Semantics of Programming Languages}, Editor = {R. Rustin}, Keywords = {pl-semantics}, Pages = {149--248}, Publisher = {Prentice-Hall}, Title = {Programming Language Semantics}, Year = {1972} } @article{Wegn72b, Author = {Peter Wegner}, Journal = {ACM Computing Surveys}, Keywords = {pl-semantics vdl binder}, Month = mar, Number = {1}, Pages = {5--63}, Title = {The Vienna Definition Language}, Volume = {4}, Year = {1972} } @article{Wegn84a, Author = {Peter Wegner}, Journal = {IEEE Software}, Keywords = {olit-reuse}, Month = jul, Number = {3}, Title = {Capital-Intensive Software Technology}, Volume = {1}, Year = {1984} } @article{Wegn86a, Author = {Peter Wegner}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit concepts oopws86 oobib(gen)}, Month = oct, Number = {10}, Pages = {173--182}, Title = {Classification in Object-Oriented Systems}, Volume = {21}, Year = {1986} } @inproceedings{Wegn87a, Author = {Peter Wegner}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit concepts survey oopsla87 oobib(gen) ioom-intro}, Month = dec, Pages = {168--182}, Title = {Dimensions of Object-Based Language Design}, Volume = {22}, Year = {1987} } @book{Wegn87b, Address = {Cambridge, Mass.}, Editor = {B. Shriver and P. Wegner}, Isbn = {0-262-19264-0}, Keywords = {olit research oobib(gen) book scglib}, Publisher = {MIT Press}, Title = {Research Directions in Object-Oriented Programming}, Year = {1987} } @inproceedings{Wegn88a, Address = {Oslo}, Author = {Peter Wegner and Stanley B. Zdonik}, Booktitle = {Proceedings ECOOP '88}, Editor = {S. Gjessing and K. Nygaard}, Keywords = {olit-inheritance ecoop88proc binder(oop) oobib(inh) ioom-types pl-lit-types}, Misc = {August 15-17}, Month = apr, Pages = {55--77}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like}, 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}, Volume = {322}, Year = {1988}, Bdsk-Url-1 = {http://www.ifs.uni-linz.ac.at/~ecoop/cd/tocs/t0322.htm%20http://www.ifs.uni-linz.ac.at/~ecoop/cd/papers/0322/03220055.pdf} } @article{Wegn89a, Author = {Peter Wegner}, Journal = {Byte}, Keywords = {olit binder(oop) oobib(gen)}, Month = mar, Number = {3}, Pages = {245--253}, Title = {Learning the Language}, Volume = {14}, Year = {1989} } @article{Wegn90a, Author = {Peter Wegner}, Journal = {ACM OOPS Messenger}, Keywords = {olit ioom-intro}, Month = aug, Number = {1}, Pages = {7--87}, Title = {Concepts and Paradigms of Object-Oriented Programming}, Volume = {1}, Year = {1990} } @inproceedings{Wegn92a, Author = {Peter Wegner}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc obc91}, Pages = {245--256}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Design Issues for Object-Based Concurrency}, Volume = 612, Year = {1992} } @article{Wegn92b, Author = {Peter Wegner}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee ioom-intro}, Month = oct, Number = {10}, Pages = {12--21}, Title = {Dimensions of Object-Oriented Modeling}, Volume = {25}, Year = {1992} } @techreport{Wegn93a, Author = {Peter Wegner}, Institution = {Brown University}, Keywords = {olit-oose binder (shelf)}, Misc = {July 6}, Month = jul, Number = {CS-93-11}, Title = {Towards Component-Based Software Technology}, Type = {TR No.}, Year = {1993} } @incollection{Wegn93b, Author = {Peter Wegner}, Booktitle = {Research Directions in Concurrent Object-Oriented Programming}, Editor = {Gul Agha and Peter Wegner and Akiro Yonezawa}, Keywords = {olit-oose}, Pages = {22--41}, Publisher = {MIT Press}, Title = {Tradeoffs between Reasoning and Modelling}, Year = {1993} } @inproceedings{Wegn94a, 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.}, Author = {Peter Wegner}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {1--32}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Models and Paradigms of Interaction}, Volume = {791}, Year = {1994} } @techreport{Wegn94b, Author = {Peter Wegner}, Institution = {Brown University}, Keywords = {olit-oose binder (shelf)}, Month = jan, Number = {CS-94-01}, Title = {Beyond Computable Functions or Escape from the Turing Tarpit}, Type = {TR No.}, Year = {1994} } @techreport{Wegn95a, Author = {Peter Wegner}, Institution = {Brown University}, Keywords = {olit-oose interaction binder (shelf)}, Month = sep, Number = {CS-95-21}, Title = {Tutorial Notes: Models and Paradigms of Interaction}, Type = {TR No.}, Year = {1995} } @inproceedings{Wei91a, Author = {Jiawang Wei and Markus Endler}, Booktitle = {Proc. 24th Hawaii Conference on System Science}, Keywords = {olit rex scripting binder}, Month = jan, Title = {A Configuration Model for Dynamically Reconfigurable Distributed Systems}, Year = {1991} } @inproceedings{Wei91b, Author = {Jiawang Wei and Markus Endler}, Booktitle = {Proc. 24th Hawaii Conference on System Science}, Keywords = {olit rex scripting binder}, Month = jan, Title = {Programming Dynamic Reconfigurations for Multi-Language Distributed Applications}, Year = {1991} } @techreport{Wei10a, author = {Yi Wei and Manuel Oriol and Bertrand Meyer}, title = {Is Coverage a Good Measure of Testing Effectiveness?}, institution = {ETH Z\"urich}, year = {2010}, url = {ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/6xx/674.pdf} } @inproceedings{Weid98a, Author = {Johannes Weidl and Harald Gall}, Booktitle = {Proceedings of the 22nd Computer Software and Application Conference (COMPSAC 1998)}, Keywords = {oorp}, Publisher = {IEEE Computer Society Press}, Title = {Binding Object Models to Source Code: An Approach to Object-Oriented Rearchitecting}, Year = {1998} } @techreport{Weih82a, Author = {W. Weihl and Barbara Liskov}, Institution = {MIT Department of EE and CS}, Keywords = {olit-oopl argus reliability}, Month = dec, Number = {#223}, Title = {Specification and Implementation of Resilient Atomic Data Types}, Type = {Computation Structures Group Memo}, Year = {1982} } @inproceedings{Weih05a, 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.}, Aeres = {ACT}, Aeresstatus = {aeres08}, Annote = {internationalconference}, Author = {Marcel Weiher and St\'ephane Ducasse}, Booktitle = {Proceedings of International Symposium on Dynamic Languages (SDL'05)}, Inria = {hors}, Keywords = {stefPub jb06 listic}, Pages = {23--34}, Publisher = {ACM Press}, Selectif = {non}, Title = {High-Order Messaging}, Url = {http://scg.unibe.ch/archive/papers/Weih05aHigherOrderMessagingOOPSLA2005.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Weih05aHigherOrderMessagingOOPSLA2005.pdf} } @book{Wein81a, Author = {D. Weinreb and David Moon}, Keywords = {olit-oopl flavors lisp}, Publisher = {Symbolics Inc.}, Title = {The Lisp Machine Manual}, Year = {1981} } @inproceedings{Wein88a, Author = {Andr\'e Weinand and Erich Gamma and Rudolph Marty}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {46--57}, Title = {{ET}++ --- An Object-Oriented Application Framework in {C}++}, Volume = {23}, Year = {1988} } @book{Wein98a, Author = {Gerald M. Weinberg}, Edition = {Silver Anniversary Edition}, Keywords = {scglib}, Publisher = {Dorset House}, Title = {The Psychology of Computer Programming}, Year = {1998} } @article{Weip03a, Address = {Hingham, MA, USA}, Author = {Edgar Weippl and Wolfgang Essmayr}, Doi = {10.1023/A:1022237215026}, Issn = {1383-469X}, Journal = {Mob. Netw. Appl.}, Number = {2}, Pages = {151--157}, Publisher = {Kluwer Academic Publishers}, Title = {Personal trusted devices for web services: revisiting multilevel security}, Volume = {8}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1022237215026} } @book{Weir00a, Author = {James Noble and Charles Weir}, Month = nov, Publisher = {Addison-Wesley Professional}, Title = {Small Memory Software: Patterns for systems with limited memory}, Year = {2000} } @inproceedings{Weis81a, Address = {Piscataway, NJ, USA}, Author = {Mark Weiser}, Booktitle = {ICSE '81: Proceedings of the 5th international conference on Software engineering}, Isbn = {0-89791-146-6}, Location = {San Diego, California, United States}, Pages = {439--449}, Publisher = {IEEE Press}, Title = {Program slicing}, Year = {1981} } @article{Weis85a, 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.}, Author = {S.P. Weiser}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl oz}, Month = dec, Number = {4}, Pages = {41--48}, Title = {An Object-oriented Protocol for Managing Data}, Url = {http://scg.unibe.ch/archive/osg/Weis85aOz.pdf}, Volume = {8}, Year = {1985}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/osg/Weis85aOz.pdf} } @article{Weis91a, author = {Weiser, Mark}, journal = {Scientific American}, number = 3, pages = {66--75}, title = {The Computer for the 21st Century}, volume = {265}, year = {1991}, keywords = {mobile computing wireless network ubiquitous computing damiencbib}, month = jan } @book{Weis96a, Author = {Michael Weiss and Andy Jhonson and Joe Kiniry}, Keywords = {java olit binder}, Month = feb, Publisher = {Open Software Foundation Version 2.1}, Title = {Overview of {Java} and HotJava}, Year = {1996} } @book{Weis96b, Author = {Michael Weiss and Andy Jhonson and Joe Kiniry}, Keywords = {java olit binder}, Month = feb, Publisher = {Open Software Foundation Version 2.1}, Title = {The {Java} and HotJava Object Models}, Year = {1996} } @book{Weis96c, Author = {Michael Weiss and Andy Jhonson and Joe Kiniry}, Keywords = {java olit binder}, Month = feb, Publisher = {Open Software Foundation Version 2.1}, Title = {Distributed Computing: {Java}, {CORBA}, and {DCE}}, Year = {1996} } @book{Weis96d, Author = {Michael Weiss and Andy Jhonson and Joe Kiniry}, Keywords = {java olit binder}, Month = feb, Publisher = {Open Software Foundation Version 2.1}, Title = {Security Features of {Java} and HotJava}, Year = {1996} } @book{Weis99a, Author = {D. Weiss and Lay, C.T.R}, Publisher = {Addison Wesley}, Title = {Software Product Line Engineering}, Year = {1999} } @inproceedings{Weis07a, Address = {Washington, DC, USA}, Author = {Weiss, Cathrin and Premraj, Rahul and Zimmermann, Thomas and Zeller, Andreas}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.13}, Isbn = {0-7695-2950-X}, Publisher = {IEEE Computer Society}, Title = {How Long Will It Take to Fix This Bug?}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.13} } @inproceedings{Weis07b, Address = {Washington, DC, USA}, Author = {Peter Weissgerber and Mathias Pohl and Michael Burch}, Booktitle = {MSR '07: Proceedings of the Fourth International Workshop on Mining Software Repositories}, Doi = {10.1109/MSR.2007.34}, Isbn = {0-7695-2950-X}, Pages = {9}, Publisher = {IEEE Computer Society}, Title = {Visual Data Mining in Software Archives to Detect How Developers Work Together}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/MSR.2007.34} } @book{Welc97a, Author = {Brent B. Welch}, Isbn = {0-13-616830-2}, Keywords = {tcl tk pl scglib}, Publisher = {Prentice-Hall}, Title = {Practical Programming in {Tcl} and {Tk}}, Year = {1997} } @misc{Welc99a, Author = {Ian Welch and Robert Stroud}, Note = {In Proceedings of the OOPSLA 99 Workshop on Reflective Programming in C++ and Java, Vancouver, Canada, Oct.}, Title = {{Dalang} -- A Reflective {Java} Extension}, Year = {1999} } @inproceedings{Welc01a, Address = {San Antonio, Texas, USA}, Author = {Ian Welch and Robert J. Stroud}, Booktitle = {Proceedings of the 6th USENIX Conference on Object-Oriented Technology (COOTS'2001)}, Month = feb, Pages = {119--130}, Title = {{Kava} --- Using Bytecode Rewriting to add Behavioural Reflection to {Java}}, Year = {2001} } @article{Well92a, Author = {David L. Wells and Jos\'e A. Blakely and Craig W. Thompson}, Journal = {IEEE Computer (Special Issue on Inheritance \& Classification)}, Keywords = {olit-oopl ieee}, Month = oct, Number = {10}, Pages = {74--83}, Title = {Architecture of an Open Object-Oriented Database}, Volume = {25}, Year = {1992} } @inproceedings{Well94a, Address = {San Antonio, Texas, USA}, Author = {J. B. Wells}, Booktitle = {Proceedings of the 9th Annual IEEE Symposium on Logic in Computer Science}, Pages = {176--185}, Title = {Typability and type checking in the second-order $\lambda$-calculus are equivalent and undecidable}, Year = {1994} } @inproceedings{Wen03a, Address = {Los Alamitos CA}, Author = {Zhihua Wen and Vassilios Tzerpos}, Booktitle = {Proceedings 11th IEEE International Workshop on Program Comprehension (IWPC 2003)}, Pages = {227--236}, Publisher = {IEEE Computer Society}, Title = {An Optimal Algorithm for {MoJo} Distance}, Year = {2003} } @inproceedings{Wend03a, Author = {Wendehals, Lothar}, Booktitle = {Proc. of the ICSE 2003 Workshop on Dynamic Analysis (WODA)}, Location = {Portland, USA}, Month = may, Title = {Improving Design Pattern Instance Recognition by Dynamic Analysis}, Year = {2003} } @phdthesis{Wern99a, Author = {Michael M. Werner}, Keywords = {refactoring java}, Month = jul, School = {Northeastern University}, Title = {Facilitating Schema Evolution With Automatic Program Transformation}, Year = {1999} } @inproceedings{West02a, Author = {Bosse Westerlund}, Booktitle = {Proceedings DIS 2002 Serious reflection on designing interactive systems}, Keywords = {naked objects, design}, Month = jul, Pages = {117--124}, Title = {{Form} is {Function}}, Year = {2002} } @misc{West05a, Author = {Westphal, Frank}, Date-Added = {2006-08-12 13:05:03 +0200}, Date-Modified= {2006-08-12 14:33:22 +0200}, Keywords = {testing}, Month = {jul}, Note = {\url{www.frankwestphal.de/JUnit4.0.html}}, Title = {JUnit 4.0}, Url = {http://www.frankwestphal.de/JUnit4.0.html}, Year = {2005}, Bdsk-Url-1 = {http://www.frankwestphal.de/JUnit4.0.html} } @article{Weth80a, Address = {New York, NY, USA}, Author = {C. S. Wetherell}, Doi = {10.1145/356827.356829}, Issn = {0360-0300}, Journal = {ACM Computing Surveys}, Keywords = {parsing}, Number = {4}, Pages = {361--379}, Publisher = {ACM Press}, Title = {Probabilistic Languages: A Review and Some Open Questions}, Volume = {12}, Year = {1980}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/356827.356829} } @mastersthesis{Wett04a, Author = {Richard Wettel}, Keywords = {clone}, Month = jun, School = {Faculty of Automatics and Computer Science, "Politehnica" University of Timi\c{s}oara}, Title = {Automated Detection Of Code Duplication Clusters}, Year = {2004} } @inproceedings{Wett05a, Author = {Richard Wettel and Radu Marinescu}, Booktitle = {Proceedings of the 7th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC 2005)}, Keywords = {clone}, Pages = {??-??}, Title = {Archeology of Code Duplication: Recovering Duplication Chains From Small Duplication Fragments}, Year = {2005} } @inproceedings{Wett07a, Annote = {internationalconference}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {Proceedings of ICPC 2007 (15th International Conference on Program Comprehension)}, Keywords = {sworld visualization 3d moose-pub}, Pages = {231--240}, Publisher = {IEEE CS Press}, Title = {Program Comprehension through Software Habitability}, Year = {2007} } @inproceedings{Wett08b, Annote = {internationalconference}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {Proceedings of ICPC 2007 (15th International Conference on Program Comprehension)}, Keywords = {sworld visualization 3d moose-pub}, Pages = {231--240}, Publisher = {IEEE CS Press}, Title = {Visually Localizing Design Problems with Disharmony Maps}, Year = {2007} } @inproceedings{Wett07b, Annote = {internationalworkshop}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis)}, Doi = {10.1109/VISSOF.2007.4290706}, Isbn = {1-4244-0599-8}, Keywords = {sworld visualization moose-pub 3d}, Mon = jun, Pages = {92--99}, Title = {Visualizing Software Systems as Cities}, Url = {http://dx.doi.org/10.1109/VISSOF.2007.4290706}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/VISSOF.2007.4290706} } @inproceedings{Wett08a, Annote = {internationalconference}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {Proceedings of WCRE 2008 (15th IEEE Working Conference on Reverse Engineering)}, Keywords = {moose-pub pub-iene proj-collapse}, Pages = {219--228}, Publisher = {IEEE CS Press}, Title = {Visual Exploration of Large-Scale System Evolution}, Year = {2008}} @inproceedings{Wett08c, Annote = {internationalworkshop}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques)}, Keywords = {moose-pub pub-iene proj-collapse}, Title = {Code{C}ity}, Year = {2008}} @inproceedings{Wett08d, Annote = {tooldemo}, Author = {Richard Wettel and Michele Lanza}, Booktitle = {ICSE Companion '08: Companion of the 30th ACM/IEEE International Conference on Software Engineering}, Isbn = {978-1-60558-079-1}, Keywords = {moose-pub pub-iene proj-evospaces proj-collapse}, Location = {Leipzig, Germany}, Pages = {921--922}, Publisher = {ACM}, Title = {CodeCity: 3D visualization of large-scale software}, Year = {2008}} @inproceedings{Wett08e, Annote = {internationalworkshop}, Author = {Richard Wettel}, Booktitle = {Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering)}, Keywords = {moose-pub pub-iene proj-collapse}, Title = {Scripting 3D Visualizations with CodeCity}, Year = {2008}} @inproceedings{Wett09a, Annote = {internationalconference}, Author = {Richard Wettel}, Booktitle = {Proceedings of ICSE 2009 (31st International Conference on Software Engineering), Doctoral Symposium}, Keywords = {moose-pub pub-iene proj-collapse}, Pages = {391--394}, Publisher = {ACM Press}, Title = {Visual Exploration of Large-Scale Evolving Software}, Year = {2009}} @techreport{Wett10a, Author = {Richard Wettel and Michele Lanza and Romain Robbes}, Institution = {University of Lugano}, Month = jun, Number = {2010/05}, Title = {Empirical Validation of {CodeCity}: A Controlled Experiment}, Type = {Technical Report}, Keywords = {moose-pub}, Year = {2010}} @phdthesis{Wett10b, Author = {Richard Wettel}, Keywords = {moose-pub pub-iene proj-collapse lib-iene}, Month = sep, School = {University of Lugano, Switzerland}, Title = {Software Systems as Cities}, Year = {2010}} @inproceedings{Wett11a, Annote = {internationalconference}, Author = {Richard Wettel and Michele Lanza and Romain Robbes}, Booktitle = {Proceedings of ICSE 2011 (33rd International Conference on Software Engineeering)}, Keywords = {moose-pub pub-iene proj-sosya}, Pages = {to be published}, Title = {Software Systems as Cities: A Controlled Experiment}, Year = {2011}} @book{Wexe81a, Title = {History of programming languages}, Author = {Richard Wexelblat}, Year = {1981}, Publisher = {Academic Press} } @article{Weye85a, Author = {S.A. Weyer and Alan H. Borning}, Journal = {ACM TOOIS}, Keywords = {olit-appl hypertext}, Month = jan, Number = {1}, Pages = {63--88}, Title = {A Prototype Electronic Encyclopedia}, Volume = {3}, Year = {1985} } @article{Weyu88a, Author = {Elaine J. Weyuker}, Doi = {10.1109/32.6178}, Issn = {0098-5589}, Journal = {IEEE Trans. Softw. Eng.}, Number = {9}, Pages = {1357--1365}, Publisher = {IEEE Press}, Title = {Evaluating Software Complexity Measures}, Volume = {14}, Year = {1988}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/32.6178} } @incollection{Weze90a, Author = {C.D. Wezeman}, Booktitle = {Protocol Specification, Testing and Verification, IX}, Editor = {E. Brinksma and G. Scollo and C.A. Vissers}, Keywords = {pcalc equivalence lotos}, Publisher = {North Holland}, Title = {The {CO}-{OP} Method for Compositional Derivation of Canonical Testers}, Year = {1990} } @article{Whal90a, Author = {G. Whale}, Journal = {The Computer Journal}, Number = {2}, Pages = {140--146}, Title = {Identification of Program Similarity in Large Populations}, Volume = {33}, Year = {1990} } @inproceedings{Whal00a, author = {Whaley, John}, title = {A portable sampling-based profiler for Java virtual machines}, booktitle = {Proceedings of the ACM 2000 conference on Java Grande}, series = {JAVA '00}, year = {2000}, isbn = {1-58113-288-3}, location = {San Francisco, California, United States}, pages = {78--87}, numpages = {10}, url = {http://doi.acm.org/10.1145/337449.337483}, doi = {10.1145/337449.337483}, acmid = {337483}, publisher = {ACM}, address = {New York, NY, USA} } @misc{Wheeler, Author = {Wikipedia}, Key = {Wheeler}, Keywords = {wheeler indirection level}, Note = {Retrieved August 10th 2006, \url{en.wikipedia.org/wiki/David_Wheeler}}, Title = {{David} {Wheeler}}, Url = {http://en.wikipedia.org/wiki/David_Wheeler}, Year = {2006}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/David_Wheeler} } @misc{Whisker, Author = {Doug Way}, Month = dec, Note = {\url{www.mindspring.com/~dway/smalltalk/whisker.html}}, Title = {Whisker: The {O-O} Stacking Browser}, Year = {2005} } @article{Whit84a, Author = {C. Thomas White and Stephen C. Hardies and Hutchison, III, Clyde A. and Marshall H. Edgell}, Journal = {Nucleic Acids Research}, Keywords = {dotplot}, Number = {1}, Pages = {751--766}, Title = {The diagonal-traverse homology search algorithm for locating similarities between two sequences}, Volume = {12}, Year = {1984} } @inproceedings{Whit92a, Address = {Lucca}, Author = {Benjamin R. Whittle and Mark Ratcliffe}, Booktitle = {Proceedings, International Workshop on Software Reuse}, Keywords = {olit-reuse binder}, Note = {To appear}, Title = {The Reuse of Component Interfaces Through Description and Translation}, Year = {1992} } @book{Whorf56a, Author = {B.L. Whorf}, Publisher = {MIT Press}, Title = {Language Thought and Reality}, Year = {1956} } @book{Why05a, Author = {Why Malsky}, Note = {http://www.poignantguide.net}, Publisher = {Creative Commons}, Title = {Why's (poignant) Guide to Ruby}, Url = {http://www.poignantguide.net/ruby/}, Year = {2005}, Bdsk-Url-1 = {http://www.poignantguide.net/ruby/} } @book{Wido96a, Editor = {Jennifer Widow and Stefano Ceri}, Publisher = {Morgan Kaufman Publishers}, Title = {Active Database Systems: Triggers and Rules For Advanced Database Processing}, Year = {1996} } @inproceedings{Wieb86a, Author = {Douglas Wiebe}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-oopl jasmine persistence transactions oopsla86}, Month = nov, Pages = {453--465}, Title = {A Distributed Repository for Immutable Persistent Objects}, Volume = {21}, Year = {1986} } @article{Wiec90a, Author = {Charles Wiecha and William Bennet and Stephen Boies and Jhon Gould}, Journal = {ACM Transactions on Information Systems}, Keywords = {olit binder}, Month = jul, Number = {3}, Pages = {204--236}, Title = {{ITS}: {A} Tool for Rapidly Developing Interactive Applications}, Volume = {8}, Year = {1990} } @book{Wiec01a, Editor = {Martin Wieczorek and Dirk Meyerhoff}, Keywords = {scglib}, Publisher = {Springer}, Title = {Software Quality}, Year = {2001} } @book{Wien95a, Author = {Richard Weiner}, Isbn = {0-13-100686-X}, Keywords = {olit-oopl oobib(oopl) eiffel book}, Publisher = {Prentice-Hall}, Title = {Software Development using Eiffel}, Year = {1995} } @inproceedings{Wier94a, Address = {Bologna, Italy}, Author = {Roel Wieringa and Wiebren de Jonge and Paul Spruit}, Booktitle = {Proceedings ECOOP '94}, Editor = {M. Tokoro and R. Pareschi}, Keywords = {olit ecoop94proc}, Month = jul, Pages = {32--59}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Roles and Dynamic Subclasses: {A} Modal Logic Approach}, Volume = {821}, Year = {1994} } @inproceedings{Wigg97a, Author = {Theo Wiggerts}, Booktitle = {Proceedings of WCRE '97 (4th Working Conference on Reverse Engineering)}, Editor = {Ira Baxter and Alex Quilici and Chris Verhoef}, Keywords = {clustering}, Pages = {33--43}, Publisher = {IEEE Computer Society Press}, Title = {Using Clustering Algorithms in Legacy Systems Remodularization}, Year = {1997} } @techreport{Wiil96a, Author = {{Department of Information and Computer Science --- University of California Irvine --- CA 92717-3425}}, Editor = {Uffe Kock Wiil and Serge Demeyer}, Institution = {Department of Information and Computer Science --- University of California Irvine --- CA 92717-3425}, Keywords = {hypermedia sergedem-wrkproc}, Month = apr, Number = {96-10}, Title = {Proceedings of the 2nd Workshop on Open Hypermedia Systems --- Hypertext '96}, Type = {UCI-ICS Technical Report}, Url = {http://www.iam.unibe.ch/~demeyer/Wiil96a/ http://www.daimi.aau.dk/~kock/OHS-HT96/}, Year = {1996}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Wiil96a/%20http://www.daimi.aau.dk/~kock/OHS-HT96/} } @article{Wiil96m, Author = {Uffe Kock Wiil and Serge Demeyer}, Journal = {SIGLINK Newsletter}, Keywords = {hypermedia sergedem-papunr}, Month = jun, Number = {2}, Publisher = {ACM}, Title = {Workshop report: 2nd Workshop on Open Hypermedia Systems}, Url = {http://www.iam.unibe.ch/~demeyer/Wiil96m}, Volume = {5}, Year = {1996}, Bdsk-Url-1 = {http://www.iam.unibe.ch/~demeyer/Wiil96m} } @misc{WikiPedia, Key = {WikiPedia}, Keywords = {wiki php mysql}, Note = {http://www.wikipedia.org}, Title = {{WikiPedia}, a web-based, free-content encyclopedia}, Url = {http://www.wikipedia.org}, Bdsk-Url-1 = {http://www.wikipedia.org} } @misc{WikipediaUnitTest, Key = {testing faq}, Note = {http://en.wikipedia.org/wiki/Unit_testing}, Title = {Unit Testing}, Url = {http://en.wikipedia.org/wiki/Unit_testing}, Year = {2010}, Bdsk-Url-1 = {http://en.wikipedia.org/wiki/Unit_testing} } @techreport{Wil93a, Author = {L.M. Wills}, Institution = {MIT, AI Laboratory}, Note = {MIT Technical Report 1358}, Title = {Automated Program Recognition by Graph Parsing}, Year = {1993} } @book{Wilc45a, Author = {Frank Wilcoxon}, Booktitle = {Biometrics I}, Pages = {80--83}, Publisher = {International Biometric Society}, Title = {Individual Comparisons by Ranking Methods}, Year = {1945} } @article{Wild92a, Author = {Norman Wilde and Ross Huitt}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {olit}, Month = dec, Number = {12}, Pages = {1038--1044}, Title = {Maintenance Support for Object-Oriented Programs}, Volume = {SE-18}, Year = {1992} } @article{Wild93a, Author = {Norman Wilde and Paul Matthews and Ross Hutt}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {75--80}, Title = {Maintaining Object-Oriented Software}, Volume = {10}, Year = {1993} } @article{Wild95a, Author = {Norman Wilde and Michael Scully}, Journal = {Journal on Software Maintenance: Research and Practice}, Number = {1}, Pages = {49--62}, Title = {Software Reconnaisance: Mapping Program Features to Code}, Volume = {7}, Year = {1995} } @article{Wild03a, Address = {New York, NY, USA}, Author = {Norman Wilde and Michelle Buckellew and Henry Page and Vaclav Rajlich and LaTreva Pounds}, Doi = {10.1016/S0164-1212(02)00052-3}, Issn = {0164-1212}, Journal = {Journal of Systems and Software}, Number = {2}, Pages = {105--114}, Publisher = {Elsevier Science Inc.}, Title = {A Comparison of Methods for Locating Features in Legacy Software}, Volume = {65}, Year = {2003}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0164-1212(02)00052-3} } @inproceedings{Wilk91a, Author = {Michael R. Wilk}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {286--298}, Title = {Equate: An Object-Oriented Constraint Solver}, Volume = {26}, Year = {1991} } @book{Wilk95a, Author = {Nancy M. Wilkinson}, Keywords = {crc scglib}, Publisher = {Cambridge University Press}, Title = {Using CRC Cards --- An Informal Approach to Object-Oriented Development}, Year = {1995} } @incollection{Will81a, Author = {R.R. Willis}, Booktitle = {Software Engineering Environments}, Editor = {H. H{\"u}nke}, Keywords = {misc selit aides cad}, Pages = {27--48}, Publisher = {North-Holland Publishing Co.}, Title = {{AIDES}: Computer Aided Design of Software Systems --- {II}}, Year = {1981} } @article{Will81b, Author = {Rudolf Wille}, Journal = {Ordered Sets, Ivan Rival Ed., NATO Advanced Study Institute}, Month = sep, Pages = {445--470}, Title = {Restructuring Lattice Theory: An Approach Based on Hierarchies of Concepts}, Volume = {83}, Year = {1981} } @article{Will83a, Author = {Geoff Williams}, Journal = {Byte}, Keywords = {olit-appl lisa smalltalk}, Month = feb, Number = {2}, Pages = {33--50}, Title = {The Lisa Computer System}, Volume = {8}, Year = {1983} } @article{Will84a, Author = {Geoff Williams}, Journal = {Byte}, Keywords = {olit-appl macintosh}, Number = {2}, Pages = {30--54}, Title = {The Apple Macintosh Computer}, Volume = {9}, Year = {1984} } @inproceedings{Will87a, Address = {Paris, France}, Author = {Ifor Williams and Mario Wolczko and Trevor Hopkins}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit ecoop87proc}, Misc = {June 15-17}, Month = jun, Pages = {79--88}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Dynamic Grouping in an Object-Oriented Virtual Memory Hierarchy}, Volume = {276}, Year = {1987} } @inproceedings{Will91a, Address = {Geneva, Switzerland}, Author = {Alan Wills}, Booktitle = {Proceedings ECOOP '91}, Editor = {P. America}, Keywords = {types olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {59--76}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Capsules and Types in Fresco}, Volume = 512, Year = {1991} } @inproceedings{Will93a, Author = {Antony S. Williams}, Booktitle = {ACM OOPS Messenger, Addendum to the Proceedings of OOPSLA 1993}, Keywords = {olit odp ole}, Month = apr, Pages = {68--70}, Title = {The {OLE} 2.0 Object Model}, Volume = {5}, Year = {1994} } @inproceedings{Will94a, Address = {Williamsburg, Virginia}, Author = {Linda M. Wills}, Booktitle = {Int. Workshop on Graph Grammars and Their Application to Computer Science}, Ftp = {ftp.cc.gatech.edu//pub/groups/reverse/repository/ggram.ps}, Month = nov, Title = {Using Attributed Flow Graph Parsing to Recognize Programs}, Year = {1994} } @article{Will96a, Author = {Linda Wills and Philip Newcomb}, Journal = {Automated Software Engineering}, Keywords = {reveng famoos}, Month = jun, Number = {1-2}, Pages = {5--172}, Publisher = {Kluwer Academic Publishers}, Title = {Reverse Engineering (Special Issue)}, Volume = {3}, Year = {1996} } @article{Will96b, Author = {Linda Wills and Cross, II, James H.}, Journal = {Automated Software Engineering}, Keywords = {reveng famoos oorp}, Month = jun, Number = {1-2}, Pages = {165--172}, Publisher = {Kluwer Academic Publishers}, Title = {Recent Trends and Open Issues in Reverse Engineering}, Volume = {3}, Year = {1996} } @inproceedings{Will96c, Author = {Graham J. Wills}, Booktitle = {Proceedings of the 1996 IEEE Symposium on Information Visualization (INFOVIS '96)}, Pages = {54--61}, Publisher = {IEEE}, Title = {Selection: 524,288 Ways to Say "This is Interesting"}, Year = {1996} } @inproceedings{Will96d, Author = {Rudolf Wille}, Booktitle = {Conceptual Structures: Knowledge Representation as Interlingua. Proceedings of the 4th International Conference on Conceptual Structures}, Keywords = {fca}, Pages = {23--39}, Series = {LNAI}, Title = {Conceptual Structures of Multicontexts}, Url = {http://citeseer.nj.nec.com/36991.html}, Volume = {1115}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/36991.html} } @article{Will99a, Author = {Graham J. Wills}, Journal = {Journal of Computational and Graphical Statistics}, Number = {2}, Pages = {190--212}, Title = {Nicheworks --- Interactive Visualization of Very Large Graphs}, Volume = {8}, Year = {1999} } @article{Wilm84a, author = {Wilmot, Richard B.}, title = {Foreign keys decrease adaptability of database designs}, journal = {Commun. ACM}, volume = {27}, issue = {12}, month = dec, year = {1984}, issn = {0001-0782}, pages = {1237--1243}, numpages = {7}, url = {http://doi.acm.org/10.1145/2135.2142}, doi = {10.1145/2135.2142}, acmid = {2142}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Wils89a, Author = {Paul R. Wilson and Thomas G. Moher}, Booktitle = {Proceedings OOPSLA '89, ACM SIGPLAN Notices}, Keywords = {olit oopsla89}, Month = oct, Pages = {23--36}, Title = {Design of the Opportunistic Garbage Collector}, Volume = {24}, Year = {1989} } @book{Wils93a, Author = {Leslie B. Wilson and Robert G. Clark}, Isbn = {0-201-56885-3}, Keywords = {pl book scglib}, Publisher = {Addison Wesley}, Title = {Comparative Programming Languages}, Year = {1993} } @book{Wils00a, Author = {Steve Wilson and Jeff Kesselman}, Isbn = {978-0201709698}, Publisher = {Prentice Hall PTR}, Title = {Java Platform Performance}, Url = {http://java.sun.com/docs/books/performance}, Year = {2000}, Bdsk-Url-1 = {http://java.sun.com/docs/books/performance} } @inproceedings{Win03a, Address = {Portland, Oregon}, Author = {Joel Winstead and David Evans}, Booktitle = {Proceedings ICSE International Workshop on Dynamic Analysis (WODA 2003)}, Keywords = {dynamic analysis}, Month = may, Pages = {37--40}, Title = {Towards Differential Program Analysis}, Year = {2003} } @book{Wind98a, Author = {Russel Winder and Graham Roberts}, Keywords = {scglib java}, Publisher = {Wiley}, Title = {Developing {Java} Software}, Year = {1998} } @inproceedings{Wing94a, 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).}, Author = {Jeannette M. Wing}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {111--121}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Decomposing and Recomposing Transactional Concepts}, Volume = {791}, Year = {1994} } @misc{Wing04a, Author = {Eric Winger}, Note = {\url{www.cincomsmalltalk.com/userblogs/eric/blogView?entry=3265627283}, Retrieved August 10th 2006}, Title = {Pragmas: Running tests on method change}, Url = {http://www.cincomsmalltalk.com/userblogs/eric/blogView?entry=3265627283}, Year = {2004}, Bdsk-Url-1 = {http://www.cincomsmalltalk.com/userblogs/eric/blogView?entry=3265627283} } @article{Wing06a, Abstract = {It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.}, Address = {New York, NY, USA}, Author = {Jeannette M. Wing}, Doi = {10.1145/1118178.1118215}, Issn = {0001-0782}, Journal = {Commun. ACM}, Keywords = {computational, ei-lit, thinking}, Month = mar, Number = {3}, Pages = {33--35}, Posted-At = {2009-09-08 17:16:14}, Priority = {2}, Publisher = {ACM}, Title = {Computational thinking}, Url = {http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf}, Volume = {49}, Year = {2006}, Bdsk-Url-1 = {http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/1118178.1118215} } @inproceedings{Wink92a, Address = {Kansas City}, Author = {J{\"u}rgen Winkler and George Die{\ss}l}, Booktitle = {Proceedings 1992 ACM Computer Science Conference}, Keywords = {olit-obc object-chill binder}, Misc = {March 3-5}, Month = mar, Pages = {139--147}, Title = {Object {CHILL} 00 An Object-Oriented Language for Systems Implementaion}, Year = {1992} } @book{Wins84a, Address = {Reading, Mass.}, Author = {P.H. Winston and B.K.P. Horn}, Edition = {second}, Keywords = {fpl lisp}, Publisher = {Addison Wesley}, Title = {{LISP}}, Year = {1984} } @article{Wins87a, Author = {Morton E. Winston and Roger Chaffin and Douglas Herrmann}, Journal = {Cognitive Science}, Pages = {417--444}, Title = {A Taxonomy of Part-Whole Relations}, Volume = {11}, Year = {1987} } @book{Winst98a, Author = {Patrick Henry Winston}, Keywords = {smalltalk scglib}, Publisher = {Addison Wesley}, Title = {On to {Smalltalk}}, Year = {1998} } @inproceedings{Wint02a, 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}, 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}, Booktitle = {Proc. Second International Workshop on Composition Languages}, Keywords = {olit skip-doi scg-pub jb-skip pecos stefPub arevalo onhindex(60)}, Note = {In conjunction with 16th European Conference on Object-Oriented Programming (ECOOP) Malaga, Spain, June 11, 2002}, Title = {Components for Embedded Software --- The PECOS Approach}, Url = {http://scg.unibe.ch/archive/pecos/public_documents/Wint02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/pecos/public_documents/Wint02a.pdf} } @inproceedings{Wirf88a, Author = {Allen Wirfs-Brock and Brian Wilkerson}, Booktitle = {Proceedings OOPSLA '88}, Keywords = {olit oopsla88 modular smalltalk}, Month = nov, Pages = {123--134}, Title = {An Overview of Modular {Smalltalk}}, Year = {1988} } @inproceedings{Wirf88b, Author = {Rebecca Wirfs-Brock}, Booktitle = {Proceedings OOPSLA '88}, Keywords = {olit oopsla88}, Month = nov, Pages = {71--82}, Title = {An Integrated Color {Smalltalk}-80 System}, Year = {1988} } @inproceedings{Wirf89a, Author = {Rebecca Wirfs-Brock and Brian Wilkerson}, Booktitle = {Proceedings OOPSLA '89}, Doi = {10.1145/74877.74885}, Keywords = {olit-ood oopsla89}, Month = oct, Note = {ACM SIGPLAN Notices, volume 24, number 10}, Pages = {71--76}, Title = {Object-Oriented Design: {A} Responsibility-Driven Approach}, Year = {1989}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/74877.74885} } @article{Wirf90a, Author = {Rebecca Wirfs-Brock and Ralph E. Johnson}, Journal = {Communications of the ACM}, Keywords = {olit}, Month = sep, Number = {9}, Pages = {104--124}, Title = {Surveying Current Research in Object-Oriented Design}, Volume = {33}, Year = {1990} } @book{Wirf90b, Author = {Rebecca Wirfs-Brock and Brian Wilkerson and Lauren Wiener}, Isbn = {0-13-629825-7}, Keywords = {olit binder (shelf) book scglib sclit oorp}, Publisher = {Prentice-Hall}, Title = {Designing Object-Oriented Software}, Year = {1990} } @book{Wirf95a, Editor = {Rebecca Wirfs-Brock}, Isbn = {0-201-87810-0}, Keywords = {olit oopsla95 scglib}, Publisher = {ACM Press}, Title = {Proceedings of {OOPSLA}'95}, Year = {1995} } @misc{Wirf96a, Author = {Allen Wirfs-Brock}, Howpublished = {OOPSLA 1996 Extending Smalltalk Workshop}, Month = oct, Title = {Subsystems --- Proposal}, Year = {1996} } @book{Wirf03, Author = {Rebecca Wirfs-Brock and Alan McKean}, Isbn = {0-201-37943-0}, Keywords = {scglib}, Publisher = {Addison-Wesley}, Title = {Object Design --- Roles, Responsibilities and Collaborations}, Year = {2003} } @incollection{Wirs90a, Address = {New York, NY}, Author = {Martin Wirsing}, Booktitle = {Handbook of Theoretical Computer Science}, Chapter = {13}, Editor = {J. van Leewen}, Pages = {675--788}, Publisher = {The MIT Press}, Title = {Algebraic Specification}, Volume = {Formal Models and Semantics}, Year = {1990} } @techreport{Wirs94a, Author = {Martin Wirsing and Friederike Nickl and Ulrike Lechner}, Institution = {Universit{\"a}t M{\"u}nchen}, Keywords = {olit-obcl binder}, Month = dec, Number = {9418}, Title = {Concurrent Object-Oriented Design Specification in {SPECTRUM}}, Type = {Bericht}, Year = {1994} } @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}, Bdsk-Url-1 = {ftp://ftp.umh.ac.be/pub/ftp_infofs/2006/BTH-TG6-SoftwareIntensive.pdf} } @article{Wirt77a, Address = {New York, NY, USA}, Author = {Niklaus Wirth}, Doi = {10.1145/359863.359883}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {11}, Pages = {822--823}, Publisher = {ACM}, Title = {What can we do about the unnecessary diversity of notation for syntactic definitions?}, Volume = {20}, Year = {1977}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/359863.359883} } @book{Wirt83a, Address = {Berlin}, Author = {Niklaus Wirth}, Keywords = {olit lang modula}, Publisher = {Springer-Verlag}, Title = {Programming in Modula-2}, Year = {1983} } @book{Wirt87a, Address = {Paris}, Author = {N. Wirth}, Publisher = {Eyrolles}, Title = {Algorithmes et structures de donn\'ees}, Year = {1987} } @book{Wirt92a, Author = {Niklaus Wirth and Jurg Gutknecht}, Isbn = {0-201-54428-8}, Keywords = {oobib(gen) olit-oopl oobib(oopl) book}, Publisher = {MIT Press}, Title = {Project Oberon: The Design of an Operating System and Compiler}, Year = {1992} } @article{Wirt06a, 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}, Author = {Niklaus Wirth}, Doi = {10.1109/MC.2006.20}, Issn = {0018-9162}, Journal = {Computer}, Number = {1}, Pages = {28--39}, Publisher = {IEEE Computer Society}, Title = {Good Ideas, through the Looking Glass}, Url = {http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf}, Volume = {39}, Year = {2006}, Bdsk-Url-1 = {http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/MC.2006.20} } @inproceedings{Wise92a, Author = {Michael J. Wise}, Booktitle = {Twenty-Third SIGSCE Technical Symposium}, Location = {Kansas City, USA}, Pages = {268--271}, Title = {Detection of Similarities in Student Programs: {YAP}'ing may be preferable to Plague'ing}, Year = {1992} } @inproceedings{Wise95a, Author = {Michael J. Wise}, Booktitle = {Proceedings Third International Conference on Intelligent Systems for Molecular Biology}, Month = jul, Pages = {393--401}, Title = {Neweyes: A System for Comparing Biological Sequences Using the Running Karp-Rabin Greedy String-Tiling Algorithm}, Year = {1995} } @article{Wise95b, Address = {Los Alamitos, CA, USA}, Author = {James A. Wise and James J. Thomas and Kelly Pennock and David Lantrip and Marc Pottier and Anne Schur and Vern Crow}, Doi = {10.1109/INFVIS.1995.528686}, Isbn = {0-8186-7201-3}, Journal = {infovis}, Keywords = {themescapes}, Pages = {51}, Publisher = {IEEE Computer Society}, Title = {Visualizing the non-visual: spatial analysis and interaction with information from text documents}, Volume = {00}, Year = {1995}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/INFVIS.1995.528686} } @article{Wise96a, Author = {Michael J. Wise}, Journal = {SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education)}, Keywords = {plagiarism}, Title = {{YAP3}: Improved Detection of Similarities in Computer Program and Other Texts}, Url = {http://citeseer.ist.psu.edu/wise96yap.html}, Volume = {28}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/wise96yap.html} } @article{Wise99a, Address = {New York, NY, USA}, Author = {James A. Wise}, Doi = {10.1002/(SICI)1097-4571(1999)50:13<1224::AID-ASI8>3.0.CO;2-4}, Issn = {0002-8231}, Journal = {J. Am. Soc. Inf. Sci.}, Keywords = {themescape}, Number = {13}, Pages = {1224--1233}, Publisher = {John Wiley \& Sons, Inc.}, Title = {The ecological approach to text visualization}, Url = {http://www.geog.ucsb.edu/~sara/teaching/geo234_02/papers/wise.pdf}, Volume = {50}, Year = {1999}, Bdsk-Url-1 = {http://www.geog.ucsb.edu/~sara/teaching/geo234_02/papers/wise.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1002/(SICI)1097-4571(1999)50:13%3C1224::AID-ASI8%3E3.0.CO;2-4} } @article{Wish69a, Author = {David Wishart}, Editor = {A. J. Cole}, Journal = {Numerical Taxonomy}, Keywords = {clustering}, Title = {Mode Analysis: A Generalization of {Nearest Neighbour} which reduces chaining effects}, Year = {1969} } @book{Wiss90a, Address = {Heidelberg}, Author = {P. Wisskirchen}, Keywords = {olit graphics}, Publisher = {Springer-Verlag}, Title = {Object-Oriented Graphics}, Year = {1990} } @book{Witt53a, Author = {Ludwig Wittgenstein}, Location = {Oxford}, Publisher = {Blackwell, Oxford}, Title = {Philosophische Untersuchungen}, Year = {1953} } @book{Witt00a, Author = {Ian Witten and Eibe Frank}, Isbn = {1-55860-552-5}, Keywords = {scglib}, Publisher = {Morgan Kauffmann}, Title = {Data Mining}, Year = {2000} } @mastersthesis{Witt03a, Author = {A. Wittmann}, Keywords = {virtual classes familyj}, School = {Technische Universit\"at Darmstadt, Fachbereich Informatik}, Title = {Towars {Caesar}: Family polymorphism for {Java}}, Type = {Diploma thesis}, Year = {2003} } @book{Wohl00a, Author = {Wohlin, Claes and Runeson, Per and H\"ost, Martin and Ohlsson, Magnus C. and Regnell, Bj\"orn and Wessl\'en, Anders}, Isbn = {978-0792386827}, keywords = {scglib damiencbib empirical}, Publisher = {Kluwer Academic Publishers}, Title = {Experimentation in Software Engineering}, Year = {2000} } @phdthesis{Wojc00a, Author = {Pawel T. Wojciechowski}, Keywords = {pisem}, Month = mar, School = {Wolfson College, University of Cambridge}, Title = {Nomadic {Pict}: Language and Infrastructure Design for Mobile Computation}, Year = {2000} } @inproceedings{Wolc87a, Address = {Paris, France}, Author = {Mario Wolczko}, Booktitle = {Proceedings ECOOP '87}, Editor = {J. B\'ezivin and J-M. Hullot and P. Cointe and H. Lieberman}, Keywords = {olit semantics smalltalk ecoop87proc oobib(gen)}, Misc = {June 15-17}, Month = jun, Pages = {108--120}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Semantics of {Smalltalk}-80}, Volume = {276}, Year = {1987} } @article{Wolc92a, Author = {Mario Wolczko}, Journal = {IEEE Software Engineering Journal}, Keywords = {olit ois}, Month = mar, Number = {2}, Pages = {95--102}, Publisher = {IEEE}, Title = {Encapsulation, delegation and inheritance in object-oriented languages}, Volume = {7}, Year = {1992} } @inproceedings{Wolf92a, Author = {David Wolfram and Joseph A. Goguen}, Booktitle = {Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing}, Editor = {Mario Tokoro and Oscar Nierstrasz and Peter Wegner}, Keywords = {olit-obc concurrency obc91}, Pages = {81--98}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {A Sheaf Semantics for {FOOPS} Expressions}, Volume = 612, Year = {1992} } @book{Wolf02a, Author = {Stephen Wolfram}, Keywords = {scglib}, Publisher = {Wolfram Media Inc.}, Title = {A New Kind of Science}, Year = {2002} } @techreport{Wolf10a, Author = {R. Wolff and R. Garcia and E. Tanter and J. Aldrich}, Institution = {Carnegie Mellon University}, Title = {Gradual Featherweight Typestate}, Number = {CMU-ISR-10-116}, Month = jul, Year = {2010} } @inproceedings{Woli91a, Address = {Geneva, Switzerland}, Author = {Francis Wolinski and Jean-Fran{\c{c}}ois Perrot}, Booktitle = {Proceedings ECOOP '91}, Editor = {Pierre America}, Keywords = {olit ecoop91proc}, Misc = {July 15--19}, Month = jul, Pages = {288--306}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Representation of Complex Objects: Multiple Facets with Part-Whole Hierarchies}, Volume = 512, Year = {1991} } @book{Woma96a, Author = {James P. Womack and Daniel T. Jones}, Keywords = {scglib}, Publisher = {Simon \& Schuster}, Title = {Lean Thinking}, Year = {1996} } @article{Wong94a, Author = {Kenny Wong and Scott R. Tilley and Hausi A. M{\"u}ller and Margaret-Anne D. Storey}, Journal = {IEEE Software}, Keywords = {reverse engineering documentation binder}, Month = jan, Title = {Structural Redocumentation: {A} Case Study}, Year = {1994} } @article{Wong95a, Author = {Kenny Wong and Scott R. Tilley and Hausi A. M{\"u}ller and Margaret-Anne D. Storey}, Journal = {IEEE Software}, Keywords = {oorp}, Month = jan, Number = {1}, Pages = {46--54}, Publisher = {IEEE}, Title = {Structural Redocumentation: A Case Study}, Volume = {12}, Year = {1995} } @inproceedings{Wong97a, Author = {W. E. Wong and J. R. Horgan and S. London and H. Agrawal}, Booktitle = {Proceedings of the Eighth International Symposium on Software Reliability Engineering}, Month = nov, Pages = {230--238}, Title = {A Study of Effective Regression Testing in Practice}, Year = {1997} } @techreport{Wong98a, Author = {Kenny Wong}, Institution = {University of Victoria}, Title = {The Rigi User's Manual --- Version 5.4.4}, Year = {1998} } @article{Wong99a, Address = {Los Alamitos, CA, USA}, Author = {W. Eric Wong and Joseph R. Horgan and Swapna S. Gokhale and Kishor S. Trivedi}, Doi = {10.1109/ASSET.1999.756769}, Isbn = {0-7695-0122-2}, Journal = {asset}, Pages = {194}, Publisher = {IEEE Computer Society}, Title = {Locating Program Features using Execution Slices}, Volume = {00}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ASSET.1999.756769} } @article{Wong00a, Author = {Eric Wong and Swapna Gokhale and Joseph Horgan}, Journal = {Journal of Systems and Software}, Keywords = {feature}, Number = {2}, Pages = {87--98}, Title = {Quantifying the closeness between program components and features}, Volume = {54}, Year = {2000} } @article{Wong03a, Author = {Pak Chung Wong and Kwong Kwok Wong and Harlan Foote and Jim Thomas}, Journal = {IEEE Transactions On Visualization and Computer Graphics}, Month = jul, Number = {3}, Pages = {361--377}, Title = {Global Visualization and Alignments of Whole Bacterial Genomes}, Volume = {9}, Year = {2003} } @article{Woo85a, Author = {Carson Woo and Frederick H. Lochovsky}, Journal = {IEEE Database Engineering}, Keywords = {olit ois}, Month = dec, Number = {4}, Pages = {14--22}, Title = {An Object-Based Approach to Modelling Office Work}, Volume = {8}, Year = {1985} } @article{Woo86a, Author = {Carson Woo and Frederick H. Lochovsky}, Journal = {ACM TOOIS}, Keywords = {olit ois}, Month = jul, Number = {3}, Pages = {185--204}, Title = {Supporting Distributed Office Problem Solving in Organizations}, Volume = {4}, Year = {1986} } @article{Wood84a, author = {Woods, David D.}, title = {Visual momentum: a concept to improve the cognitive coupling of person and computer}, journal = {Int. J. Man-Mach. Stud.}, volume = {21}, issue = {3}, month = sep, year = {1984}, issn = {0020-7373}, pages = {229--244}, numpages = {16}, url = {http://portal.acm.org/citation.cfm?id=2292.2296}, doi = {10.1016/S0020-7373(84)80043-7}, acmid = {2296}, publisher = {Academic Press Ltd.}, address = {London, UK, UK} } @article{Wood99a, Author = {Woods, Steven G. and Carri\`{e}re, S. Jeromy and Kazman, Rick}, number = 3, Journal = {SEI Interactive, The Architect}, Month = sep, Title = {The Perils and Joys of Reconstructing Architectures}, Volume = 2, Year = {1999} } @misc{Wool95a, Author = {Michael Wooldridge and Nicholas Jennings}, Keywords = {agents}, Series = {LNAI 890}, Title = {Intelligent Agents}, Year = {1995} } @inproceedings{Wool96a, Author = {Bobby Woolf}, Booktitle = {Design Patterns, PLoP 1996}, Publisher = {Robert Allerton Park and Conference Center, University of Illinois at Urbana-Champaign, Monticello, Illinois}, Title = {The Null Object Pattern}, Year = {1996} } @incollection{Wool98a, Author = {Bobby Woolf}, Booktitle = {Pattern Languages of Program Design 3}, Editor = {Robert Martin and Dirk Riehle and Frank Buschmann}, Keywords = {olit patterns oorp}, Pages = {5--18}, Publisher = {Addison Wesley}, Title = {Null Object}, Year = {1998} } @inproceedings{Work85a, Author = {David Workman and Farahangiz Arefi and Mahesh Dodani}, Booktitle = {Proceedings of Software Tools '85}, Keywords = {obib(gen) binder}, Pages = {138--203}, Publisher = {IEEE Computer Society}, Title = {{GRIP}: {A} Formal Framework for Developing a Support Environment for Graphical Interactive Programming}, Year = {1985} } @article{Work86a, Author = {{OOP Workshop}}, Editor = {P. Wegner and B. Shriver}, Institution = {OOP Workshop}, Journal = {ACM SIGPLAN Notices (Special Issue)}, Keywords = {olit survey oopws86 oobib(gen)}, Month = oct, Number = {10}, Title = {Object-Oriented Programming Workshop}, Volume = {21}, Year = {1986} } @article{Wrig94a, Address = {Duluth, MN, USA}, Author = {Andrew K. Wright and Matthias Felleisen}, Doi = {10.1006/inco.1994.1093}, Issn = {0890-5401}, Journal = {Inf. Comput.}, Number = {1}, Pages = {38--94}, Publisher = {Academic Press, Inc.}, Title = {A syntactic approach to type soundness}, Volume = {115}, Year = {1994}, Bdsk-Url-1 = {http://dx.doi.org/10.1006/inco.1994.1093} } @inproceedings{Wrig09a, author = {Wrigstad, Tobias and Pizlo, Filip and Meawad, Fadi and Zhao, Lei and Vitek, Jan}, title = {Loci: Simple Thread-Locality for Java}, booktitle = {Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming}, series = {Genoa}, year = {2009}, isbn = {978-3-642-03012-3}, location = {Italy}, pages = {445--469}, numpages = {25}, url = {http://dx.doi.org/10.1007/978-3-642-03013-0_21}, doi = {10.1007/978-3-642-03013-0_21}, acmid = {1615214}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @inproceedings{Wrig10a, Author = {Tobais Wrigstad and Francesco Zappa Nardelli and Sylvain Lebresne and Johan \"{O}stlund and Jan Vitek}, Booktitle = {Proceedings of the 37th Symposium on Principles of Programming Languages}, Pages = {377--388}, Publisher = {ACM}, Doi = {10.1145/1706299.1706343}, Title = {Integrating typed and untyped code in a scripting language}, Year = {2010} } @techreport{Wrob02a, Author = {Nicolas Wrobel}, Institution = {University of Bern}, Keywords = {snf-none scg-ip skip-abstract jb02}, Month = may, Title = {Projektarbeit im Rahmen der Universit\"at Bern}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Wrob02a.pdf}, Year = {2002}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Wrob02a.pdf} } @article{Wu84a, Author = {M. Wu and T. Hwang}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {security os}, Month = mar, Number = {3}, Pages = {185--191}, Title = {Access Control with Single-Key-Lock}, Volume = {SE-10}, Year = {1984} } @inproceedings{Wu92a, Author = {Sun Wu and Udi Manber}, Booktitle = {Proceedings of the Usenix Winter 1992 Technical Conference}, Pages = {153-162}, Title = {AGREP --- A fast approximate pattern matching tool}, Year = {1992} } @misc{Wu98a, Author = {Zhixue Wu}, Note = {In Proceedings of the ACM OOPSLA 98 Workshop on Reflective Programming in Java and C++, Oct. 1998}, Title = {Reflective {Java} and a reflective component-based transaction architecture}, Year = {1998} } @inproceedings{Wu04a, Address = {Los Alamitos CA}, Author = {Jingwei Wu and Richard Holt and Ahmed Hassan}, Booktitle = {Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004)}, Keywords = {evolution visualization}, Month = nov, Pages = {80--89}, Publisher = {IEEE Computer Society Press}, Title = {Exploring Software Evolution Using Spectrographs}, Year = {2004} } @inproceedings{Wu04b, Address = {Los Alamitos CA}, Author = {Xiaomin Wu and Adam Murray and Margaret-Anne Storey and Rob Lintern}, Booktitle = {Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004)}, Keywords = {evolution visualization}, Month = nov, Pages = {90--99}, Publisher = {IEEE Computer Society Press}, Title = {A Reverse Engineering Approach to Support Software Maintenance: Version Control Knowledge Extraction}, Year = {2004} } @inproceedings{Wu04c, Author = {Lei Wu and Houari Sahraoui and Petko Valtchev}, Booktitle = {CASCON'04: Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research}, Location = {Markham, Ontario, Canada}, Pages = {56--67}, Publisher = {IBM Press}, Title = {Program Comprehension With Dynamic Recovery of Code Collaboration Patterns and Roles}, Year = {2004} } @inproceedings{Wu05a, Address = {New York, NY, USA}, Author = {Hui Wu and Jeff Gray and Suman Roychoudhury and Marjan Mernik}, Booktitle = {SAC '05: Proceedings of the 2005 ACM symposium on Applied computing}, Doi = {10.1145/1066677.1066986}, Isbn = {1-58113-964-0}, Location = {Santa Fe, New Mexico}, Pages = {1370--1374}, Publisher = {ACM Press}, Title = {Weaving a debugging aspect into domain-specific language grammars}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1066677.1066986} } @book{Wuer08a, Author = {Rolf P. W{\"u}rtz}, Isbn = {978-3-540-77656-7}, Keywords = {bioinspired}, Publisher = {Springer-Verlag}, Title = {Organic Computing}, Year = {2008} } @inproceedings{Wuer10a, title = {Supporting Developers with Natural Language Queries}, author = {Michael W{\"u}rsch and Giacomo Ghezzi and Gerald Reif and Harald C. Gall}, year = {2010}, publisher = {IEEE Computer Society}, booktitle = {Proceedings of the 32nd International Conference on Software Engineering (ICSE 2010)}, month = may } @article{Wulf74a, Author = {W. Wulf and E. Cohen and W. Corwin and A. Jones and R. Levin and C. Pierson and F. Pollack}, Journal = {CACM}, Keywords = {security olit hydra capabilities}, Month = jun, Number = {6}, Pages = {337--345}, Title = {{HYDRA}: The Kernel of a Multiprocessor Operating System}, Volume = {17}, Year = {1974} } @inproceedings{Wurt10a, author = {W\"{u}rthinger, Thomas and Wimmer, Christian and Stadler, Lukas}, title = {Dynamic code evolution for {Java}}, booktitle = {Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java}, series = {PPPJ '10}, year = {2010}, isbn = {978-1-4503-0269-2}, location = {Vienna, Austria}, pages = {10--19}, numpages = {10}, acmid = {1852764}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Java, class hierarchy, dynamic software updating, evolution, garbage collection, runtime evolution, virtual machine}, doi ={10.1145/1852761.1852764} } @inproceedings{Wuyt96a, Annote = {internationalconference}, Author = {Wuyts, Roel}, Booktitle = {Proceedings of GRONICS '96}, Editor = {I. Polak}, Keywords = {olit}, Pages = {61--67}, Title = {Class-management using Logical Queries, Application of a Reflective User Interface Builder}, Url = {http://scg.unibe.ch/archive/papers/Wuyt96a.pdf}, Year = {1996}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt96a.pdf} } @inproceedings{Wuyt98a, Annote = {internationalconference}, Author = {Roel Wuyts}, Booktitle = {Proceedings of the TOOLS USA '98 Conference}, Keywords = {olit reveng SOUL oorp}, Pages = {112--124}, Publisher = {IEEE Computer Society Press}, Title = {Declarative Reasoning about the Structure Object-Oriented Systems}, Url = {http://scg.unibe.ch/archive/papers/Wuyt98a.pdf}, Year = {1998}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt98a.pdf} } @techreport{Wuyt99a, 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}, Author = {Wuyts, Roel and Mens, Kim and D'Hondt, Theo}, Institution = {Vrije Universiteit Brussel}, Keywords = {scg-old scg-pub skip-doi}, Number = {vub-prog-tr-99-07}, Title = {Explicit Support for Software Development Styles throughout the Complete Life Cycle}, Url = {http://scg.unibe.ch/archive/papers/Wuyt99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt99a.pdf} } @inproceedings{Wuyt01a, 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}, Author = {Roel Wuyts and St\'ephane Ducasse}, Booktitle = {ECOOP 2001 International Workshop on MultiParadigm Programming with Object-Oriented Languages}, Keywords = {scg-pub skip-doi snf01 snf02 jb01 component Pecos stefPub}, Title = {Symbiotic Reflection between an Object-Oriented and a Logic Programming Language}, Url = {http://scg.unibe.ch/archive/papers/Wuyt01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt01a.pdf} } @phdthesis{Wuyt01b, Author = {Wuyts, Roel}, Keywords = {SOUL}, School = {Vrije Universiteit Brussel}, Title = {A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation}, Url = {http://scg.unibe.ch/archive/phd/Wuyts-phd.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/phd/Wuyts-phd.pdf} } @inproceedings{Wuyt01c, 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}, Author = {Roel Wuyts and St\'ephane Ducasse}, Booktitle = {First OOPSLA Workshop on Language Mechanisms for Programming Software Components}, Keywords = {scg-pub skip-doi snf01 jb01 component piccola Pecos stefPub}, Title = {Composition Languages for Black-Box Components}, Url = {http://scg.unibe.ch/archive/papers/Wuyt01c.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt01c.pdf} } @inproceedings{Wuyt01d, 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}, Author = {Roel Wuyts and St\'ephane Ducasse and Gabriela Ar{\'e}valo}, Booktitle = {Ecoop 6th International Workshop on Component-Oriented Programming}, Keywords = {scg-pub skip-doi snf01 jb01 component Pecos stefPub arevalo}, Title = {Applying Experiences with Declarative Codifications of Software Architectures on COD}, Url = {http://scg.unibe.ch/archive/papers/Wuyt01d.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt01d.pdf} } @inproceedings{Wuyt01e, 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}, Author = {Roel Wuyts and St\'ephane Ducasse}, Booktitle = {International Workshop on Specification and Verification of Component-Based Systems}, Keywords = {scg-pub skip-doi snf01 jb01 component Pecos stefPub}, Title = {Non-Functional Requirements in a Component Model for Embedded Systems}, Url = {http://scg.unibe.ch/archive/papers/Wuyt01e.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt01e.pdf} } @inproceedings{Wuyt01f, 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 leave 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}, Author = {Roel Wuyts}, Booktitle = {International Workshop on (Constraint) Logic Programming for Software Engineering}, Keywords = {scg-pub skip-doi snf01 snf02 jb01}, Month = dec, Title = {Synchronising Changes to Design and Implementation using a Declarative Meta-Programming Language}, Url = {http://scg.unibe.ch/archive/papers/Wuyt01f.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt01f.pdf} } @article{Wuyt04a, 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}, Author = {Roel Wuyts and St\'ephane Ducasse}, Doi = {10.1016/j.cl.2003.08.003}, Journal = {Journal of Computer Languages, Systems and Structures}, Keywords = {recast04 scg-pub jb04 decomp-pub}, Misc = {SCI impact factor 0.176}, Number = {1-2}, Pages = {63--77}, Publisher = {Elsevier}, Title = {Unanticipated Integration of Development Tools using the Classification Model}, Url = {http://scg.unibe.ch/archive/papers/Wuyt04aClassifications.pdf}, Volume = {30}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt04aClassifications.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.cl.2003.08.003} } @inproceedings{Wuyt04x, 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}, Author = {Roel Wuyts and Serge Demeyer and St\'ephane Ducasse and Kim Mens}, Booktitle = {Object-Oriented Technology. ECOOP'04 Workshop Reader}, Doi = {10.1007/b104146}, Isbn = {978-3-540-23988-8}, Keywords = {scg-pub jb04 stefPub recast04}, Pages = {177--186}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Report of the {ECOOP}'04 Workshop on Object-Oriented Reengineering}, Url = {http://scg.unibe.ch/archive/papers/Wuyt04x-OOR04Report.pdf}, Volume = {3344}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt04x-OOR04Report.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/b104146} } @article{Wuyt05a, 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.}, Aeres = {ACL}, Aeresstatus = {aeres08}, Annote = {internationaljournal}, Author = {Roel Wuyts and St\'ephane Ducasse and Oscar Nierstrasz}, Cvs = {PecosJournalPaper}, Doi = {10.1016/j.jss.2003.05.004}, Inria = {hors}, Journal = {Journal of Systems and Software --- Special Issue on Automated Component-Based Software Engineering}, Keywords = {scg-pub jb03 pecos stefPub}, Misc = {SCI impact factor 0.744}, Number = {1}, Pages = {25--34}, Publisher = {Elsevier}, Title = {A Data-centric Approach to Composing Embedded, Real-time Software Components}, Url = {http://scg.unibe.ch/archive/papers/Wuyt05aPecosElsevier.pdf}, Volume = {74}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/papers/Wuyt05aPecosElsevier.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.jss.2003.05.004} } @book{Wuyt05b, Annote = {book}, Author = {Roel Wuyts}, Isbn = {1-59593-283-6}, Keywords = {dynamic languages proceedings}, Publisher = {ACM Digital Library}, Title = {Proceedings of the Dynamic Languages Symposium 2005}, Year = {2005} } @inproceedings{Wuyt07a, Aeres = {OV}, Aeresstatus = {aeres08}, Annote = {workshopproceedings}, Author = {Roel Wuyts and Serge Demeyer and Yann-Ga\"el Gu\'e{e}h\'{e}neuc and Kim Mens and St\'ephane Ducasse}, Booktitle = {Object-Oriented Technology. ECOOP'06 Workshop Reader}, Inria = {hors}, Keywords = {stefPub}, Pages = {69--71}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Report of the 7th ECOOP'06 Workshop on Object-Oriented Reengineering}, Url = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_report/WR_2007_ECOOP2006_WOOR.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.info.ucl.ac.be/~km/MyResearchPages/publications/workshop_report/WR_2007_ECOOP2006_WOOR.pdf} } @inproceedings{Wuyt09a, Abstract = {The objective of the 1st International Workshop on Advanced Software Development Tools and Techniques (WASDeTT-1) was to provide interested researchers with a forum to share their tool building experiences and to explore how tools can be built more effectively and efficiently. The theme for this workshop did focus on tools that target object-oriented languages and that are implemented with object-oriented languages. This workshop report provides a brief overview of the presented tools and of the discussions that took place. The presented tools, 15 in total, covered a broad range of functionalities, among them: refactoring, modeling, behavioral specification, static and dynamic program checking, user interface composition, and program understanding. The discussion during the workshop centered around the following topics: language independent tools, tool building in an industrial context, tool building methodology, tool implementation language, and building tools with external code.}, Author = {Wuyts, Roel and Kienle, Holger and Mens, Kim and van den Brand, Mark and Kuhn, Adrian}, Booktitle = {Object-Oriented Technology. ECOOP 2008 Workshop Reader}, Doi = {10.1007/978-3-642-02047-6_10}, Keywords = {wasdett-pub}, Pages = {87--103}, Posted-At = {2009-09-14 12:57:56}, Title = {Academic Software Development Tools and Techniques}, Url = {http://dx.doi.org/10.1007/978-3-642-02047-6_10}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-02047-6_10} } @article{Wyat92a, Author = {Barbara B. Wyatt and Krishna Kavi and Steve Hufnagel}, Journal = {IEEE Software}, Keywords = {olit-obcl}, Month = nov, Number = {6}, Pages = {56--66}, Title = {Parallelism in Object-Oriented Language: {A} Survey}, Volume = {9}, Year = {1992} } @article{Wyck99a, Author = {P. Wyckoff and S.W. McLaughry and T.J. Lehman and D.A. Ford}, Journal = {IBM Systems Journal}, Number = 3, Title = {T Spaces}, Volume = 37, Year = {1999} } @techreport{Wyss99a, Author = {Serge Wyssmann}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = jul, Title = {Design Resource Wizard Design}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Wyss99a.pdf}, Year = {1999}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Wyss99a.pdf} } @techreport{Wyss04a, 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.}, Author = {Christoph Wysseier}, Institution = {University of Bern}, Keywords = {scg-ip jb04 recast04}, Month = jun, Title = {{CCJun} --- Polymetric Views in Three-dimensional Space}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Wyss04a.pdf}, Year = {2004}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Wyss04a.pdf} } @mastersthesis{Wyss05a, 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.}, Author = {Christoph Wysseier}, Keywords = {scg-msc jb06 recast06}, Month = nov, School = {University of Bern, Switzerland}, Title = {Interactive {3-D} Visualization of Feature-Traces}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Wyss05a.pdf}, Year = {2005}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Wyss05a.pdf} } @misc{X10, Url = {http://software.x10.com/pub/manuals/xtdcode.pdf}, Title = {Standard and Extended X10 Code Protocol}, keywords = {damiencbib}, key = {X10}, year = {1993} } @misc{XHTML1, Author = {{W3C} Recommendation}, Key = {XHTML1}, Note = {http://www.w3.org/TR/xhtml1}, Title = {{XHTML} 1.0, The Extensible HyperText Markup Language}, Year = {1998} } @techreport{XLink00a, Author = {Steve DeRose and Eve Maler and David Orchard}, Institution = {World Wide Web Consortium}, Month = dec, Number = {PR-xlink-20001220}, Title = {{XML} {Linking} {Language} ({XL}ink) Version 1.0 --- {W3C} Proposed Recommendation 20 December 2000}, Url = {http://www.w3.org/TR/2000/PR-xlink-20001220}, Year = {2000}, Bdsk-Url-1 = {http://www.w3.org/TR/2000/PR-xlink-20001220} } @techreport{XMI98a, Author = {{Object} {Management} {Group}}, Institution = {{Object} {Management} {Group}}, Month = feb, Number = {ad/98-10-05}, Title = {{XML} {Metadata} {Interchange} ({XMI})}, Year = {1998} } @misc{XMI20, Key = {XMI 2.0}, Note = {http://www.omg.org/cgi-bin/doc?formal/05-05-01}, Title = {XML Metadata Interchange (XMI), v2.0}, Year = {2005} } @techreport{XML98a, Author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen}, Institution = {World Wide Web Consortium}, Month = feb, Number = {REC-xml-19980210}, Title = {Extensible {Markup} {Language} ({XML}) 1.0 --- W3C Recommendation 10-February-1998}, Year = {1998} } @inproceedings{Xeno00a, Author = {M. Xenos and D. Stavrinoudis and K. Zikouli and D. Christodoulakis}, Booktitle = {Proceedings of FESMA'00}, Title = {Object-Oriented Metrics --- a Survey}, Year = {2000} } @inproceedings{Xie02a, Author = {Yichen Xie and Dawson Engler}, Booktitle = {Proceedings of the Tenth ACM SIGSOFT Symposium on Foundations of Software Engineering}, Doi = {10.1145/587051.587060}, Isbn = {1-58113-514-9}, Location = {Charleston, South Carolina, USA}, Pages = {51--60}, Publisher = {ACM Press}, Title = {Using redundancies to find errors}, Url = {citeseer.ist.psu.edu/xie02using.html}, Year = {2002}, Bdsk-Url-1 = {citeseer.ist.psu.edu/xie02using.html}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/587051.587060} } @inproceedings{Xie03a, Author = {Tao Xie and David Notkin}, Booktitle = {Proceedings of International Conference on Automated Software Engineering (ASE '03)}, Keywords = {testing}, Month = oct, Organization = {IEEE}, Pages = {40--48}, Title = {Tool-Assisted Unit Test Selection Based on Operational Violations}, Year = {2003} } @inproceedings{Xie06a, Address = {Washington, DC, USA}, Author = {Xinrong Xie and Denys Poshyvanyk and Andrian Marcus}, Booktitle = {WCRE'06: Proceedings of the 13th Working Conference on Reverse Engineering}, Doi = {10.1109/WCRE.2006.55}, Isbn = {0-7695-2719-1}, Pages = {231--242}, Publisher = {IEEE Computer Society}, Title = {Visualization of {CVS} Repository Information}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2006.55} } @inproceedings{Xing04a, Address = {Los Alamitos CA}, Author = {Zhenchang Xing and Eleni Stroulia}, Booktitle = {Proceedings 12th IEEE International Workshop on Program Comprehension (IWPC'04)}, Keywords = {evolution}, Mon = jun, Pages = {34--43}, Publisher = {IEEE Computer Society Press}, Title = {Understanding Class Evolution in Object-Oriented Software}, Year = {2004} } @inproceedings{Xing04b, Address = {Los Alamitos CA}, Author = {Zhenchang Xing and Eleni Stroulia}, Booktitle = {Proceedings 20th IEEE International Conference on Software Maintenance (ICSM '04)}, Keywords = {evolution}, Location = {Illinois, USA}, Mon = sep, Pages = {242--251}, Publisher = {IEEE Computer Society Press}, Title = {Understanding Phases and Styles of Object-Oriented Systems' Evolution}, Year = {2004} } @inproceedings{Xing04c, Address = {New York NY}, Author = {Zhenchang Xing and Eleni Stroulia}, Booktitle = {Proceedings of the 16th International Conference on Software Engineering {\&} Knowledge Engineering (SEKE 2004)}, Keywords = {evolution}, Location = {Banff, Alberta, Canada}, Mon = jun, Pages = {123--128}, Publisher = {ACM Press}, Title = {Data-mining in Support of Detecting Class Co-evolution}, Year = {2004} } @inproceedings{Xiny07a, Author = {Xinyi Dong and Godfrey, M.W.}, Booktitle = {ICSM 2007: IEEE International Conference on Software Maintenance}, Doi = {10.1109/ICSM.2007.4362650}, Isbn = {978-1-4244-1256-3}, Month = oct, Pages = {375--384}, Title = {System-level Usage Dependency Analysis of Object-Oriented Systems}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICSM.2007.4362650} } @inproceedings{Xu04a, Author = {Xia Xu and Chung-Horng Lung and Maria Zaman and Anand Srinivasan}, Booktitle = {Proceedings of International Workshop on Source Code Analysis and Manipulation}, Keywords = {clustering}, Location = {Chicago, IL}, Month = sep, Organization = {IEEE}, Pages = {75--84}, Publisher = {IEEE Computer Society Press}, Title = {Program Restructure through Clustering Technique}, Year = {2004} } @inproceedings{Xu07a, Address = {New York, NY, USA}, Author = {Guoqing Xu and Atanas Rountev and Yan Tang and Feng Qin}, Booktitle = {Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (ESEC-FSE'07)}, Doi = {10.1145/1287624.1287638}, Isbn = {978-1-59593-811-4}, Location = {Dubrovnik, Croatia}, Pages = {85--94}, Publisher = {ACM}, Title = {Efficient checkpointing of java software using context-sensitive capture and replay}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1287624.1287638} } @inproceedings{Xu07b, Address = {New York, NY, USA}, Author = {Haiying Xu and Christopher J. F. Pickett and Clark Verbrugge}, Booktitle = {Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE '07)}, Doi = {10.1145/1251535.1251548}, Isbn = {978-1-59593-595-3}, Location = {San Diego, California, USA}, Pages = {75--82}, Publisher = {ACM}, Title = {Dynamic purity analysis for java programs}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1251535.1251548} } @inproceedings{Yahi96a, Author = {Sihem Amer-Yahia and Lotfi Lakhal and Rosine Cicchetti and Jean Paul Bordat}, Booktitle = {Proceedings of ER'96 (15th International Conference on Conceptual Modeling)}, Pages = {422--437}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {i{O2} --- An Algorithmic Method for Building Inheritance Graphs in Object Database Design}, Volume = {1157}, Year = {1996} } @article{Yama93a, Author = {Seiichi Yamazaki and Kiyohiko Kajihara and Mitsutaka Ito and Ryuichi Yasuhara}, Journal = {IEEE Software (Special Issue on "Making O-O Work")}, Keywords = {olit ieee}, Month = jan, Number = {1}, Pages = {81--87}, Title = {Object-Oriented Design of Telecommunication Software}, Volume = {10}, Year = {1993} } @incollection{Yama93b, 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.}, Author = {Kenishi Yamazaki and Yoshiji Amagai and Masaharu Yoshida and Ikuo Takeuchi}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {61--76}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {{TAO}: an object orientation kernel}, Volume = {742}, Year = {1993} } @techreport{Yama02a, Author = {Tetsuo Yamamoto and Makoto Matsushita and Toshihiro Kamiya and Katsuro Inoue}, Institution = {Osaka University, Department of Information and Computer Scineces, IIP Lab}, Keywords = {clones}, Month = mar, Number = {IIP-03-03-02}, Title = {Measuring Similarity of Large Software Systems Based on Source Code Correspondence}, Url = {http://sel.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/contents.en/369.html}, Year = {2002}, Bdsk-Url-1 = {http://sel.ics.es.osaka-u.ac.jp/~lab-db/betuzuri/contents.en/369.html} } @inproceedings{Yamau98a, title = {Frontier-based exploration using multiple robots}, doi = {10.1145/280765.280773}, author = {Yamauchi, Brian}, booktitle = {AGENTS'98: Proceedings of the 2nd International Conference on Autonomous agents}, pages = {47--53}, year = {1998}, address = {Minneapolis, MN, USA}, publisher = {ACM}, keywords = {exploration, map-building, mobile robots, multi-agent coordination, multi-robot teams damiencbib} } @inproceedings{Yan04a, Author = {Hong Yan and David Garlan and Bradley Schmerl and Jonathan Aldrich and Rick Kazman}, Booktitle = {International Conference on Software Engineering (ICSE)}, Pages = {470--479}, Title = {{DiscoTect}: A System for Discovering Architectures from Running Systems}, Year = {2004} } @article{Yan07a, Address = {Los Alamitos, CA, USA}, Author = {Ning Yan}, Doi = {10.1109/ICWS.2007.61}, Isbn = {0-7695-2924-0}, Journal = {icws}, Pages = {xli}, Publisher = {IEEE Computer Society}, Title = {Build Your Mashup with Web Services}, Volume = {0}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/ICWS.2007.61} } @techreport{Yang89a, Author = {Wuu Yang and Susan Horwitz and Thomas Reps}, Institution = {University of Wisconsin--Madison}, Number = {CS-TR-1989-840}, Title = {Detecting Program Components with Equivalent Behaviors}, Url = {citeseer.ist.psu.edu/yang89detecting.html}, Year = {1989}, Bdsk-Url-1 = {citeseer.ist.psu.edu/yang89detecting.html} } @article{Yang09a, author = {Yang, Qian and Li, J. Jenny and Weiss, David M.}, title = {{A Survey of Coverage-Based Testing Tools}}, volume = {52}, number = {5}, pages = {589-597}, year = {2009}, doi = {10.1093/comjnl/bxm021}, abstract = {Test coverage is sometimes used to measure how thoroughly software is tested and developers and vendors sometimes use it to indicate their confidence in the readiness of their software. This survey studies and compares 17 coverage-based testing tools primarily focusing on, but not restricted to, coverage measurement. We also survey features such as program prioritization for testing, assistance in debugging, automatic generation of test cases and customization of test reports. Such features make tools more useful and practical, especially for large-scale, commercial software applications. Our initial motivations were both to understand the available test coverage tools and to compare them to a tool that we have developed, called eXVantage (a tool suite that includes code coverage testing, debugging, performance profiling and reporting). Our study shows that each tool has some unique features tailored to its application domains. The readers may use this study to help pick the right coverage testing tools for their needs and environment. This paper is also valuable to those who are new to the practice and the art of software coverage testing, as well as those who want to understand the gap between industry and academia.}, URL = {http://comjnl.oxfordjournals.org/content/52/5/589.abstract}, eprint = {http://comjnl.oxfordjournals.org/content/52/5/589.full.pdf+html}, journal = {The Computer Journal} } @inproceedings{Yase91a, Author = {Rahim Yaseen and Stanley Y.W. Su and Herman Lam}, Booktitle = {Proceedings OOPSLA '91, ACM SIGPLAN Notices}, Keywords = {olit oopsla91}, Month = nov, Pages = {247--263}, Title = {An Extensible Kernel Object Management System}, Volume = {26}, Year = {1991} } @inproceedings{Yasu92a, Address = {Washington D.C.}, Author = {Masahiro Yasugi and Satoshi Matsuoka and Akinori Yonezawa}, Booktitle = {Proceedings, ACM Supercomputing '92}, Keywords = {olit-obc abcl binder}, Title = {{ABCL}/onEM-4: {A} New Software/Hardware Architecture for Object-Oriented Concurrent Computing on an Extended Dataflow Supercomputer}, Url = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/supercomputing92-abcl.ps.gz}, Year = {1992}, Bdsk-Url-1 = {ftp://camille.is.s.u-tokyo.ac.jp/pub/papers/supercomputing92-abcl.ps.gz} } @inproceedings{Yau78, Author = {Stephen S. Yau and J. S. Collofello and T. MacGregor}, Booktitle = {The IEEE Computer Society's Second International Computer Software and Applications Conference}, Month = {nov}, Pages = {60--65}, Publisher = {IEEE Press}, Title = {Ripple effect analysis of software maintenance}, Year = {1978} } @article{YeFi05a, Author = {Yunwen Ye and Gerhard Fischer}, Doi = {10.1007/s10515-005-6206-x}, Journal = {Autom. Softw. Eng.}, Number = {2}, Pages = {199--235}, Title = {Reuse-Conducive Development Environments}, Url = {http://l3d.cs.colorado.edu/~gerhard/papers/J-ASE-final.pdf}, Volume = {12}, Year = {2005}, Bdsk-Url-1 = {http://l3d.cs.colorado.edu/~gerhard/papers/J-ASE-final.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1007/s10515-005-6206-x} } @misc{Yegg04a, Author = {Steve Yegge}, Howpublished = {http://sites.google.com/site/steveyegge2/singleton-considered-stupid archived at http://www.webcitation.org/5wLbsQ4ft}, Month = sep, Title = {Singleton Considered Stupid}, Url = {http://www.webcitation.org/5wLbsQ4ft}, Year = {2004} } @inproceedings{Yeh97b, Author = {A.S. Yeh and D.R. Harris and M.P. Chase}, Booktitle = {Proceedings of International Conference Software Engineering (ICSE'97)}, Title = {Manipulating Recovered Software Architecture Views}, Year = {1997} } @inproceedings{Yell89a, Address = {Nottingham}, Author = {Phillip M. Yelland}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit semantics scglib ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {347--364}, Publisher = {Cambridge University Press}, Title = {First Steps Towards Fully Abstract Semantics for Object-Oriented Languages}, Year = {1989} } @inproceedings{Yell92a, Author = {Phillip M. Yelland}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {235--246}, Title = {Experimental Classification Facilities for {Smalltalk}}, Volume = {27}, Year = {1992} } @inproceedings{Yell94a, Author = {Daniel M. Yellin and Robert E. Strom}, Booktitle = {Proceedings of OOPSLA '94}, Month = oct, Organization = {ACM}, Pages = {176--190}, Title = {{Interfaces, Protocols, and the Semi-Automatic Construction of Software Adaptors}}, Year = {1994} } @article{Yell97a, Author = {Daniel M. Yellin and Robert E. Strom}, Doi = {10.1145/244795.244801}, Journal = {ACM Transactions on Programming Languages}, Keywords = {olit glue adapting mismatch concurrency}, Month = mar, Number = {2}, Pages = {292--333}, Title = {Protocol Specifications and Component Adaptors}, Volume = {19}, Year = {1997}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/244795.244801} } @article{Ying04a, Author = {Annie Ying and Gail Murphy and Raymond Ng and Mark Chu-Carroll}, Journal = {Transactions on Software Engineering}, Number = {9}, Pages = {573--586}, Title = {Predicting Source Code Changes by Mining Change History}, Volume = {30}, Year = {2004} } @inproceedings{Yode01a, Author = {Joseph Yoder and Federico Balaguer and Ralph Johnson}, Booktitle = {Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '01)}, Doi = {10.1145/583960.583966}, Pages = {50--60}, Title = {Architecture and Design of Adaptive Object Models}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/583960.583966} } @inproceedings{Yode02a, Author = {Joseph W. Yoder and Ralph Johnson}, Booktitle = {Proceeding of The Working IEEE/IFIP Conference on Software Architecture 2002 (WICSA3 '02)}, Month = aug, Title = {The Adaptive Object Model Architectural Style}, Year = {2002} } @inproceedings{Yoko86a, Author = {Yasuhiko Yokote and Mario Tokoro}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-obcl concurrentsmalltalk oopsla86}, Month = nov, Pages = {331--340}, Title = {The Design and Implementation of {Concurrent}{Smalltalk}}, Volume = {21}, Year = {1986} } @incollection{Yoko87a, Address = {Cambridge, Mass.}, Author = {Yasuhiko Yokote and Mario Tokoro}, Booktitle = {Object-Oriented Concurrent Programming}, Editor = {A. Yonezawa and M. Tokoro}, Keywords = {olit-obcl concurrentsmalltalk oobib(obcp)}, Pages = {129--158}, Publisher = {MIT Press}, Title = {Concurrent Programming in {Concurrent}{Smalltalk}}, Year = {1987} } @inproceedings{Yoko87b, Author = {Yasuhiko Yokote and Mario Tokoro}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit-obcl concurrentsmalltalk oobib(obcp) oopsla87}, Month = dec, Pages = {406--415}, Title = {Experience and Evolution of {Concurrent}{Smalltalk}}, Volume = {22}, Year = {1987} } @inproceedings{Yoko89a, Address = {Nottingham}, Author = {Yasuhiko Yokote and Fumio Teraoka and Mario Tokoro}, Booktitle = {Proceedings ECOOP '89}, Editor = {S. Cook}, Keywords = {olit-oopl muse reflection scglib ecoop89proc}, Misc = {July 10-14}, Month = jul, Pages = {89--106}, Publisher = {Cambridge University Press}, Title = {A Reflective Architecture for an Object-Oriented Distributed Operating System}, Year = {1989} } @book{Yoko90a, Author = {Yasuhiko Yokote}, Keywords = {smalltalk concurrentsmalltalk scglib}, Publisher = {World Scientific}, Series = {World Scientific Series in Computer Science}, Title = {The Design and Implementation of {Concurrent}{Smalltalk}}, Volume = {21}, Year = {1990} } @inproceedings{Yoko92a, Author = {Yasuhiko Yokote}, Booktitle = {Proceedings OOPSLA '92, ACM SIGPLAN Notices}, Keywords = {olit oopsla92}, Month = oct, Pages = {414--434}, Title = {The Apertos Reflective Operating System: The Concept and its Implementation}, Volume = {27}, Year = {1992} } @incollection{Yoko93a, 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.}, Author = {Yasuhiko Yokote}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Keywords = {olit isotas93}, Month = nov, Pages = {145--162}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Kernel Structuring for Object-Oriented Operating Systems: The Apertos Approach,}, Volume = {742}, Year = {1993} } @inproceedings{Yone86a, Author = {Akinori Yonezawa and Jean-Pierre Briot and Etsuya Shibayama}, Booktitle = {Proceedings OOPSLA '86, ACM SIGPLAN Notices}, Keywords = {olit-obcl abcl1 lisp oopsla86 oobib(obcp)}, Month = nov, Pages = {258--268}, Title = {Object-Oriented Concurrent Programming in {ABCL}/1}, Volume = {11(21)}, Year = {1986} } @book{Yone87a, Address = {Cambridge, Mass.}, Author = {Akinori Yonezawa and Mario Tokoro}, Isbn = {0-262-24026-2}, Keywords = {olit-obc oobib(obcp) book scglib}, Publisher = {MIT Press}, Title = {Object-Oriented Concurrent Programming}, Year = {1987} } @incollection{Yone87b, Address = {Cambridge, Mass.}, Author = {Akinori Yonezawa and Etsuya Shibayama and T. Takada and Yasuaki Honda}, Booktitle = {Object-Oriented Concurrent Programming}, Editor = {A. Yonezawa and M. Tokoro}, Keywords = {olit-obcl abcl}, Pages = {55--89}, Publisher = {MIT Press}, Title = {Modelling and Programming in an Object-Oriented Concurrent Language {ABCL}/1}, Year = {1987} } @book{Yone89a, Address = {Oxford, UK}, Editor = {A. Yonezawa}, Isbn = {3-540-53932-8}, Keywords = {olit scglib}, Month = sep, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Concurrency: Theory, Language, and Architecture}, Volume = {491}, Year = {1989} } @incollection{Yoo93a, 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.}, Author = {Suk I. Yoo and Hai Jin Chang}, Booktitle = {Object Technologies for Advanced Software, First JSSST International Symposium}, Editor = {Nishio, S. and Yonezawa, A}, Keywords = {olit isotas93}, Month = nov, Pages = {251--263}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {An Object-Oriented Query Model Supporting Views}, Volume = {742}, Year = {1993} } @inproceedings{Yosh88a, Author = {Nobuko Yoshida and Kouji Hino}, Booktitle = {Proceedings OOPSLA '88, ACM SIGPLAN Notices}, Keywords = {olit oopsla88}, Month = nov, Pages = {259--266}, Title = {An Object-Oriented Framework of Pattern Recognition Systems}, Volume = {23}, Year = {1988} } @phdthesis{Yosh90a, Author = {Kaoru Yoshida}, Keywords = {olit-obcl a'um binder(shelf)}, Month = mar, School = {Keio University}, Title = {A'{UM} --- {A} Stream-Based Concurrent Object-Oriented Programming Language}, Type = {{Ph.D}. Thesis}, Year = {1990} } @article{Youn38a, Author = {Gale Young and Alston S. Householder}, Journal = {Psychometrika}, Number = {1}, Pages = {19--22}, Publisher = {Sage Publication}, Title = {Discussion of a set of points in term of their mutual distances}, Volume = {3}, Year = {1938} } @inproceedings{Youn87a, Author = {Robert L. Young}, Booktitle = {Proceedings OOPSLA '87, ACM SIGPLAN Notices}, Keywords = {olit oopsla87}, Month = dec, Pages = {78--90}, Title = {An Object-Oriented Framework for Interactive Data Graphics}, Volume = {22}, Year = {1987} } @book{Youn92a, Author = {Douglas A. Young}, Isbn = {0-13-630252-1}, Keywords = {oobib(oopl) olit-oopl book scglib}, Publisher = {MIT Press}, Title = {Object-Oriented Programming wih {C}++ and {OSF}/{MOTIF}}, Year = {1992} } @book{Your79a, Author = {Edward Yourdon}, Publisher = {Yourdon Press}, Title = {Classics in Software Engineering}, Year = {1979} } @book{Your79b, Author = {E. Yourdon and L. Constantine}, Publisher = {Yourdon Press/Prentice Hall}, Title = {Structured Design: Fundamentals of a Discipline of Computer Programs and System Design}, Year = {1979} } @book{Your97a, Author = {Edward Yourdon}, Keywords = {scglib oorp}, Publisher = {Prentice-Hall}, Title = {Death March}, Year = {1997} } @inproceedings{Yu01a, author = {Zhifeng Yu, V\'aclav Rajlich}, title = {Hidden Dependencies in Program Comprehension and Change Propagation}, booktitle = {Proceedings of the 9th International Workshop on Program Comprehension}, year = {2001}, pages = {293--299}, url = {http://portal.acm.org/citation.cfm?id=876902.881279}, acmid = {881279}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA} } @incollection {Yu05a, author = {Yu, Jia and Yang, Jun and Chen, Shaojie and Luo, Yan and Bhuyan, Laxmi}, affiliation = {Department of Computer Science and Engineering}, title = {Enhancing Network Processor Simulation Speed with Statistical Input Sampling}, booktitle = {High Performance Embedded Architectures and Compilers}, series = {Lecture Notes in Computer Science}, editor = {Conte, Tom and Navarro, Nacho and Hwu, Wen-mei and Valero, Mateo and Ungerer, Theo}, publisher = {Springer Berlin / Heidelberg}, pages = {68-83}, volume = {3793}, url = {http://dx.doi.org/10.1007/11587514_6}, year = {2005} } @inproceedings{YuSe02a, Author = {Yu-Seung Ma and Yong-Rae Kwon and Jeff Offutt}, Booktitle = {Proceedings of the 13th International Symposium on Software Reliability Engineering}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:27:08 +0100}, Month = {nov}, Organization = {EEE Computer Society Press}, Pages = {352--363}, Publisher = {Annapolis MD}, Title = {Inter-Class Mutation Operators for Java}, Year = {2002} } @article{YuSe04a, Author = {Jeff Offut and Yu-Seung M and Yong-Rae Kwon}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:27:08 +0100}, Journal = {ACM SIGSOFT Software Engineering Notes, Workshop on Empirical Research in Software Testing}, Month = {sep}, Number = {5}, Pages = {1--4}, Read = {Yes}, Title = {An Experimental Mutation System for Java}, Volume = {29}, Year = {2004} } @article{YuSe05a, Author = {Yu-Seung Ma and Jeff Offutt and Yong Rae Kwon}, Date-Added = {2007-01-31 10:27:08 +0100}, Date-Modified= {2007-01-31 10:27:08 +0100}, Journal = {Journal of Software Testing, Verification and Reliability}, Month = {jun}, Number = {2}, Pages = {97--133}, Title = {MuJava : An Automated Class Mutation System}, Url = {http://ise.gmu.edu/~offutt/mujava/}, Volume = {15}, Year = {2005}, Bdsk-Url-1 = {http://ise.gmu.edu/~offutt/mujava/} } @misc{ZOPE, Key = {ZOPE}, Note = {http://www.zope.org}, Title = {{Zope}} } @inproceedings{Zaid04a, Address = {Los Alamitos CA}, Author = {Andy Zaidman and Serge Demeyer}, Booktitle = {Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR'04)}, Keywords = {reengineering}, Month = mar, Pages = {329--338}, Publisher = {IEEE Computer Society Press}, Title = {Managing trace data volume through a heuristical clustering process based on event execution frequency}, Year = {2004} } @inproceedings{Zaid05a, Address = {Los Alamitos CA}, Author = {A. Zaidman and T. Calders and S. Demeyer and J. Paredaens}, Booktitle = {Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR'05)}, Keywords = {Dynamic Analysis}, Location = {Manchester, United Kingdom}, Pages = {134--142}, Publisher = {IEEE Computer Society Press}, Title = {Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process}, Year = {2005} } @inproceedings{Zaid05b, Author = {A. Zaidman and S. Demeyer}, Booktitle = {Proceedings of the 5th International Workshop on Reverse Engineering (WOOR 2005)}, Keywords = {Dynamic Analysis}, Title = {Mining ArgoUML with Dynamic Analysis to Establish a Set of Key Classes for Program Comprehension}, Year = {2005} } @inproceedings{Zaid06a, Annote = {internationalconference}, Author = {Andy Zaidman and Orla Greevy and Abdelwahab Hamou-Lhadj}, Booktitle = {Proceedings of IEEE 13th Working Conference on Software Maintenance and Reengineering (WCRE)}, Doi = {10.1109/WCRE.2006.45}, Keywords = {scg-pub skip-abstract greevy jb07 fb06 Dynamic Analysis moose-pub recast07}, Medium = {2}, Month = oct, Pages = {315--315}, Peerreview = {yes}, Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})}, Url = {http://www.lore.ua.ac.be/Events/PCODA2006/index.html http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf http://scg.unibe.ch/archive/papers/Zaid06a-pcoda2006proceedings.pdf}, Year = {2006}, Bdsk-Url-1 = {http://www.lore.ua.ac.be/Events/PCODA2006/index.html%20http://www.lore.ua.ac.be/Events/PCODA2006/pcoda2006proceedings.pdf%20http://scg.unibe.ch/archive/papers/Zaid06a-pcoda2006proceedings.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2006.45} } @inproceedings{Zaid06b, Address = {Washington, DC, USA}, Author = {Andy Zaidman and Serge Demeyer and Bram Adams and Kris De Schutter and Ghislain Hoffman and Bernard De Ruyck}, Booktitle = {Proceedings of the Conference on Software Maintenance and Reengineering (CSMR'06)}, Isbn = {0-7695-2536-9}, Pages = {91--102}, Publisher = {IEEE Computer Society}, Title = {Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation}, Year = {2006} } @article{Zaid06c, author = {Andy Zaidman}, title = {Scalability Solutions for Program Comprehension through Dynamic Analysis}, journal ={Software Maintenance and Reengineering, European Conference on}, volume = {0}, issn = {1052-8725}, year = {2006}, pages = {327--330}, doi = {10.1109/CSMR.2006.46}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA} } @inproceedings{Zaid08a, Annote = {internationalconference}, Author = {Andy Zaidman and Orla Greevy and Abdelwahab Hamou-Lhadj and David R\"othlisberger}, Bdsk-Url-1 = {http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008 http://scg.unibe.ch/archive/papers/Zaid08a-pcoda2008proceedings.pdf}, Booktitle = {Proceedings of IEEE 15th Working Conference on Software Maintenance and Reengineering (WCRE)}, Doi = {10.1109/WCRE.2008.21}, Keywords = {scg08 scg-pub skip-abstract greevy roethlisberger jb09 snf09 Dynamic Analysis}, Medium = {2}, Month = oct, Pages = {345--346}, Peerreview = {yes}, Title = {Workshop on Program Comprehension through Dynamic Analysis ({PCODA})}, Url = {http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008 http://scg.unibe.ch/archive/papers/Zaid08a-pcoda2008proceedings.pdf}, Year = {2008}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/WCRE.2008.21}, Bdsk-Url-3 = {http://swerl.tudelft.nl/bin/view/PCODA/PCODA2008%20http://scg.unibe.ch/archive/papers/Zaid08a-pcoda2008proceedings.pdf} } @article {Zaid08b, Author = {Zaidman, Andy and Hamou-Lhadj, Abdelwahab and Greevy, Orla}, Title = {Introduction to the special issue on program comprehension through dynamic analysis (PCODA)}, Journal = {Journal of Software Maintenance and Evolution: Research and Practice}, Volume = {20}, Number = {4}, Publisher = {John Wiley & Sons, Ltd.}, Issn = {1532-0618}, Url = {http://dx.doi.org/10.1002/smr.376}, Doi = {10.1002/smr.376}, Pages = {223--225}, Year = {2008} } @inproceedings{Zayo00a, Author = {Iyad Zayour and Timothy C. Lethbridge}, Booktitle = {Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research}, Keywords = {reengineering}, Month = nov, Title = {A Cognitive and User Centric Based Approach For Reverse Engineering Tool Design}, Year = {2000} } @inproceedings{Zdon84a, Author = {Stanley Zdonik}, Booktitle = {Proceedings of the Second ACM SIGOA Conference}, Keywords = {olit-db ois}, Pages = {13--19}, Title = {Object Management System Concepts}, Year = {1984} } @article{Zdon85a, Author = {Stanley Zdonik}, Journal = {IEEE Database Engineering}, Keywords = {olit-oopl encore}, Month = dec, Number = {4}, Pages = {23--30}, Title = {Object Management Systems for Design Environments}, Volume = {8}, Year = {1985} } @inproceedings{Zdon86a, Address = {Trondheim, Norway}, Author = {Stanley B. Zdonik}, Booktitle = {IFIP WG2.4 International Workshop on Advanced Programming Environments}, Keywords = {olit-db versions}, Misc = {June 16-18}, Month = jun, Title = {Version Management in an Object-Oriented Database}, Year = {1986} } @article{Zdon86b, Author = {Stanley B. Zdonik}, Journal = {ACM SIGPLAN Notices}, Keywords = {olit-db versions oopws86 oobib(oodb)}, Month = oct, Number = {10}, Pages = {120--127}, Title = {Maintaining Consistency in a Database with Changing Types}, Volume = {21}, Year = {1986} } @inproceedings{Zdon86c, Address = {Trondheim}, Author = {Stanley B. Zdonik}, Booktitle = {Advanced Programming Environments, Proc of an Int Workshop}, Editor = {R. Conradi and T.M. Didriksen and D.H. Wanvik}, Keywords = {olit-oodb versions (smc)}, Month = jun, Pages = {405--422}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Version Management in an Object-Oriented Database}, Volume = {244}, Year = {1986} } @incollection{Zehn03a, Address = {Heidelberg}, Author = {Carl August Zehnder}, Booktitle = {Digital Economy --- Anspruch und Wirklichkeit. Eine Festschrift f\"ur Beat Schmid}, Publisher = {Springer Verlag}, Title = {Wer sind denn diese Informatiker? Eine Ann\"aherung aus Schweizer Sicht}, Year = {2003} } @inproceedings{Zeid94a, 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.}, Author = {Christian Zeidler and Bernhard Fank}, Booktitle = {Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming}, Editor = {Rachid Guerraoui and Oscar Nierstrasz and Michel Riveill}, Keywords = {olit-obc obdp93}, Pages = {55--72}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Integrating Structural and Operational Programming to Manage Distributed Systems}, Volume = {791}, Year = {1994} } @article{Zele77a, Author = {M. Zeleny}, Journal = {nt. J. General Systems}, Pages = {13--28}, Title = {Self-Organization of Living Systems: {A} Formal Model of Autopoiesis}, Volume = {4}, Year = {1977} } @article{Zelk79a, Author = {Marvin Zelkowitz}, Coden = {CMSVAN}, Issn = {0010-4892}, Journal = {j-COMP-SURV}, Month = mar, Number = {1}, Pages = {69--69}, Title = {{Surveyor's Forum}: The Real Costs of Software}, Volume = {11}, Year = {1979} } @book{Zelk79b, Author = {Marvin Zelkowitz and Alan Shaw and John Gannon}, Publisher = {Prentice Hall}, Title = {Principles of Software Engineering and Design}, Year = {1979} } @article{Zelk98a, Address = {Los Alamitos, CA, USA}, Author = {Marvin V. Zelkowitz and Dolores R. Wallace}, Doi = {10.1109/2.675630}, Journal = {Computer}, Number = {5}, Pages = {23--31}, Publisher = {IEEE Computer Society Press}, Title = {Experimental Models for Validating Technology}, Volume = {31}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.675630} } @article{Zell96a, Address = {New York, NY, USA}, Author = {Andreas Zeller and Dorothea L\"{u}tkehaus}, Doi = {10.1145/249094.249108}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {1}, Pages = {22--27}, Publisher = {ACM Press}, Title = {{DDD} --- a free graphical front-end for {U}nix debuggers}, Volume = {31}, Year = {1996}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/249094.249108} } @article{Zell97a, Author = {Andreas Zeller and Gregor Snelting}, Journal = {ACM Transactions of Software Engineering and Methodology}, Keywords = {scm}, Month = oct, Number = {4}, Pages = {397--440}, Title = {Unified Versioning through Feature Logic}, Volume = {6}, Year = {1997} } @inproceedings{Zell99a, Address = {London, UK}, Author = {Andreas Zeller}, 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}, Doi = {10.1145/318773.318946}, Isbn = {3-540-66538-2}, Location = {Toulouse, France}, Pages = {253--267}, Publisher = {Springer-Verlag}, Title = {Yesterday, my program worked. Today, it does not. Why?}, Year = {1999}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/318773.318946} } @article{Zell01a, Address = {Los Alamitos, CA, USA}, Author = {Andreas Zeller}, Doi = {10.1109/2.963440}, Issn = {0018-9162}, Journal = {Computer}, Number = {11}, Pages = {26--31}, Publisher = {IEEE Computer Society}, Title = {Automated Debugging: Are We Close}, Volume = {34}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/2.963440} } @article{Zell02a, Author = {Andreas Zeller and Ralf Hildebrandt}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {testing}, Month = feb, Number = {2}, Pages = {183--200}, Title = {Simplifying and Isolating Failure-Inducing Input}, Volume = {SE-28}, Year = {2002} } @inproceedings{Zell02b, Address = {New York, NY, USA}, Author = {Andreas Zeller}, Booktitle = {SIGSOFT '02/FSE-10: Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering}, Doi = {10.1145/587051.587053}, Isbn = {1-58113-514-9}, Location = {Charleston, South Carolina, USA}, Pages = {1--10}, Publisher = {ACM Press}, Title = {Isolating cause-effect chains from computer programs}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/587051.587053} } @inproceedings{Zell03a, Author = {Andreas Zeller}, Booktitle = {Proceedings of the ICSE 2003 Workshop on Dynamic Analysis}, Pages = {6--9}, Title = {Program analysis: A hierarchy}, Year = {2003} } @book{Zell05a, Author = {Andreas Zeller}, Isbn = {1558608664}, Keywords = {testing}, Month = oct, Publisher = {Morgan Kaufmann}, Title = {Why Programs Fail: A Guide to Systematic Debugging}, Year = {2005} } @inproceedings{Zell05b, Author = {Holger Cleve and Andreas Zeller}, Booktitle = {ICSE'05: Proceedings of the 27th International Conference on Software Engineering}, Doi = {10.1145/1062455.1062522}, Isbn = {1-59593-963-2}, Location = {St. Louis, MO, USA}, Pages = {342--351}, Title = {Locating causes of program failures}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1145/1062455.1062522} } @inproceedings{Zend06a, Author = {Olivier Zendra}, Booktitle = {Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOPLPS'06), co-located with ECOOP'06}, Month = jul, Title = {Memory and compiler optimizations for low-power and -energy}, Year = {2006} } @inproceedings{Zeng02a, Address = {Malaga, Spain}, Author = {Matthias Zenger}, Booktitle = {Proceedings ECOOP 2002}, Keywords = {olit ecoop02proc}, Month = jun, Pages = {470--497}, Publisher = {Springer Verlag}, Series = {LNCS}, Title = {Type-Safe Prototype-Based Component Evolution}, Url = {http://lampwww.epfl.ch/~zenger/research.html}, Volume = 2374, Year = {2002}, Bdsk-Url-1 = {http://lampwww.epfl.ch/~zenger/research.html} } @inproceedings{Zeng02b, Address = {Malaga, Spain}, Author = {Matthias Zenger}, Booktitle = {International Workshop on Unanticipated Software Evolution}, Keywords = {keris module}, Month = jun, Title = {Evolving Software with Extensible Modules}, Url = {http://lampwww.epfl.ch/~zenger/research.html}, Year = {2002}, Bdsk-Url-1 = {http://lampwww.epfl.ch/~zenger/research.html} } @phdthesis{Zeng03a, Author = {Matthias Zenger}, Keywords = {keris virtual class}, School = {University of Lausanne, EPFL}, Title = {Programming Language Abstractions for Extensible Software Components}, Year = {2003} } @article{Zhan94a, Author = {Kaizhong Zhang and Dennis Shasha and Jason L. Wang}, Journal = {Journal of Algorithms}, Month = jan, Number = 1, Pages = {33--66}, Title = {Approximate Tree Matching in the Presence of Variable Length Don't Cares}, Volume = 16, Year = {1994} } @inproceedings{Zhan02a, Author = {Youtao Zhang and Rajiv Gupta}, Booktitle = {Proceedings of the 11th International Conference on Compiler Construction (CC'02)}, Pages = {14--28}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Data compression transformations for dynamically allocated data structures}, Volume = {2304}, Year = {2002} } @inproceedings{Zhan05a, author = {Zhang, Xiangyu and Gupta, Rajiv}, title = {Matching execution histories of program versions}, booktitle = {ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering}, year = {2005}, isbn = {1-59593-014-0}, pages = {197--206}, location = {Lisbon, Portugal}, doi = {10.1145/1081706.1081738}, publisher = {ACM}, address = {New York, NY, USA} } @article{Zhan08a, Address = {Los Alamitos, CA, USA}, Author = {Zhang, Hongyu}, Doi = {10.1109/WCRE.2008.37}, Issn = {1095-1350}, Journal = {Reverse Engineering, Working Conference on}, Pages = {101--110}, Posted-At = {2009-07-01 20:15:22}, Priority = {0}, Publisher = {IEEE Computer Society}, Title = {Exploring Regularity in Source Code: Software Science and {Zipf's} Law}, Url = {http://dx.doi.org/10.1109/WCRE.2008.37}, Volume = {0}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/WCRE.2008.37} } @inproceedings{Zhao03a, Address = {New York, NY, USA}, Author = {Tian Zhao and Jens Palsberg and Jan Vitek}, Booktitle = {OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications}, Doi = {10.1145/949305.949318}, Isbn = {1-58113-712-5}, Keywords = {nonstandard types}, Location = {Anaheim, California, USA}, Pages = {135--148}, Publisher = {ACM Press}, Title = {Lightweight confinement for featherweight {Java}}, Url = {http://www.cs.purdue.edu/homes/jv/pubs/oopsla03.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.cs.purdue.edu/homes/jv/pubs/oopsla03.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1145/949305.949318} } @inproceedings{Zhao04a, Address = {Washington, DC, USA}, Author = {Tian Zhao and James Noble and Jan Vitek}, Booktitle = {RTSS '04: Proceedings of the 25th IEEE International Real-Time Systems Symposium (RTSS'04)}, Doi = {10.1109/REAL.2004.51}, Isbn = {0-7695-2247-5}, Keywords = {nonstandard types}, Pages = {241--251}, Publisher = {IEEE Computer Society}, Title = {Scoped Types for Real-Time {Java}}, Url = {http://jiangxi.cs.uwm.edu/publication/drafts/scoped04.pdf http://jiangxi.cs.uwm.edu/publication/rtss04.pdf}, Year = {2004}, Bdsk-Url-1 = {http://jiangxi.cs.uwm.edu/publication/drafts/scoped04.pdf%20http://jiangxi.cs.uwm.edu/publication/rtss04.pdf}, Bdsk-Url-2 = {http://dx.doi.org/10.1109/REAL.2004.51} } @article{Zhu87a, Author = {Xinming Zhu and Herbert A. Simon}, Journal = {Cognition and Instruction}, Month = jan, Number = 3, Pages = {137--166}, Title = {Learning Mathematics From Examples and by Doing}, Volume = 4, Year = {1987} } @inproceedings{Zhu09a, author = {Zhu, Angela Yun and Inoue, Jun and Peralta, Marisa Linnea and Taha, Walid and O'Malley, Marcia K. and Powell, Dane}, Doi = {10.1109/ICESS.2009.90}, title = {Implementing Haptic Feedback Environments from High-Level Descriptions}, booktitle = {ICESS'09: Proceedings of the 6th International Conference on Embedded Software and Systems}, year = {2009}, pages = {482--489}, numpages = {8}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, keywords = {haptic feedback systems, simulation, virtual environments damiencbib acumen iacumen} } @inproceedings{Zhu10a, author = {Y. Zhu and E. Westbrook and J. Inoue and A. Chapoutot and C. Salama and M. Peralta and T. Martin and W. Taha and M. O'Malley and R. Cartwright and A. Ames and R. Bhattacharya}, keywords = {damiencbib acumen}, title = {Mathematical Equations as Executable Models of Mechnical Systems}, booktitle = {ICCPS'10: Proceedings of the 1st International Conference on Cyber-Physical Systems}, year = {2010} } @inproceedings{Zhua08a, author = {Zhuang, Xiaotong and Kim, Suhyun and Serrano, Mauri io and Choi, Jong-Deok}, title = {Perfdiff: a framework for performance difference analysis in a virtual machine environment}, booktitle = {CGO '08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization}, year = {2008}, isbn = {978-1-59593-978-4}, pages = {4--13}, location = {Boston, MA, USA}, doi = {10.1145/1356058.1356060}, publisher = {ACM}, address = {New York, NY, USA} } @inproceedings{Ziar08a, Author = {L. Ziarek and S. Jagannathan}, Title = {Memoizing multi-threaded transactions}, Booktitle = {Proceedings of the Workshop on Declarative Aspects of Multicore Programming}, year = {2008} } @inproceedings{Ziar09a, author = {Ziarek, Lukasz and Sivaramakrishnan, KC and Jagannathan, Suresh}, title = {Partial memoization of concurrency and communication}, booktitle = {Proceedings of the 14th ACM SIGPLAN international conference on Functional programming}, series = {ICFP '09}, year = {2009}, isbn = {978-1-60558-332-7}, location = {Edinburgh, Scotland}, pages = {161--172}, numpages = {12}, url = {http://doi.acm.org/10.1145/1596550.1596575}, doi = {10.1145/1596550.1596575}, acmid = {1596575}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {concurrent ml, concurrent programming, multicore systems, partial memoization, software transactions} } @techreport{Zimm84a, Address = {Rocquencourt}, Author = {H. Zimmermann and M. Guillemont and G. Morisset and J. Banino}, Institution = {INRIA}, Keywords = {olit-obc messages chorus actors binder (shelf)}, Month = sep, Number = {328}, Title = {Chorus: {A} Communication and Processing Architecture for Distributed Systems}, Type = {Research report no.}, Year = {1984} } @book{Zimm96a, Author = {Chris Zimmermann (ed.)}, Keywords = {scglib}, Publisher = {CRC Press}, Title = {Advances in Object-Oriented Metalevel Architectures and Reflection}, Year = {1996} } @inproceedings{Zimm03a, Address = {Los Alamitos CA}, Author = {Thomas Zimmermann and Stephan Diehl and Andreas Zeller}, Booktitle = {6th International Workshop on Principles of Software Evolution (IWPSE 2003)}, Keywords = {evolution iwpse design-recovery}, Pages = {73--83}, Publisher = {IEEE Computer Society Press}, Title = {How History Justifies System Architecture (or not)}, Url = {http://www.st.cs.uni-sb.de/papers/iwpse2003/iwpse.pdf}, Year = {2003}, Bdsk-Url-1 = {http://www.st.cs.uni-sb.de/papers/iwpse2003/iwpse.pdf} } @inproceedings{Zimm04a, Address = {Los Alamitos CA}, Author = {Thomas Zimmermann and Peter Wei{\ss}gerber and Stephan Diehl and Andreas Zeller}, Booktitle = {26th International Conference on Software Engineering (ICSE 2004)}, Keywords = {evolution clustering}, Pages = {563--572}, Publisher = {IEEE Computer Society Press}, Title = {Mining Version Histories to Guide Software Changes}, Url = {http://www.st.cs.uni-sb.de/papers/icse2004/icse.pdf}, Year = {2004}, Bdsk-Url-1 = {http://www.st.cs.uni-sb.de/papers/icse2004/icse.pdf} } @inproceedings{Zimm04b, Address = {Los Alamitos CA}, Author = {Thomas Zimmermann and Peter Wei{\ss}gerber}, Booktitle = {Proceedings 1st International Workshop on Mining Software Repositories (MSR 2004)}, Keywords = {evolution}, Pages = {2--6}, Publisher = {IEEE Computer Society Press}, Title = {Preprocessing {CVS} Data for Fine-Grained Analysis}, Year = {2004} } @article{Zimm05a, Author = {Thomas Zimmermann and Peter Wei{\ss}gerber and Stephan Diehl and Andreas Zeller}, Journal = {IEEE Transactions on Software Engineering}, Month = jun, Number = {6}, Pages = {429--445}, Title = {Mining Version Histories to Guide Software Changes}, Volume = {31}, Year = {2005} } @inproceedings{Zimm07a, 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.}, Address = {Minneapolis, MN}, Author = {Thomas Zimmermann and Rahul Premraj and Andreas Zeller}, Booktitle = {Proceedings of the Third International Workshop on Predictor Models in Software Engineering}, Month = may, Note = {To appear}, Title = {Predicting Defects for Eclipse}, Year = {2007} } @article{Zimm08a, Author = {Thomas Zimmermann and Nachiappan Nagappan and Andreas Zeller}, Journal = {Software Evolution}, Pages = {69--88}, Publisher = {Springer}, Title = {Predicting bugs from history}, Year = {2008} } @book{Zins06a, author = {William Zinsser}, edition = {Anniversary.}, publisher = {B\&T}, title = {On Writing Well: The Classic Guide to Writing Nonfiction}, year = {2006}, ean = {9780060891541}, keywords = {book classic guide location:straba nonfiction rating:5 read:2008 well writing}, asin = {0060891548}, description = {I strongly recommend reading this book, even if English is not your native language.}, isbn = {0060891548}, dewey = {808.042} } @book{Zipf49a, Address = {Cambridge 42, MA, USA}, Author = {George Kingsley Zipf}, Keywords = {inversely proportional probability distribution}, Notes = {Zipf's law}, Publisher = {Addison-Wesley Press Inc.}, Size = {573 pages}, Title = {Human Behavior and the Principle of Least Effort: An Introduction to Human Ecology}, Year = {1949} } @article{Zloo77a, Author = {M.M. Zloof}, Journal = {IBM System Journal}, Keywords = {oislit qbe forms}, Number = {4}, Pages = {324--343}, Title = {Query-by-Example: {A} Database Language}, Volume = {16}, Year = {1977} } @inproceedings{Zloo80a, Address = {Atlanta, USA}, Author = {M.M. Zloof}, Booktitle = {AFIPS Office Automation Conference Digest}, Keywords = {oislit sba}, Month = mar, Title = {A Language for Office and Business Automation}, Year = {1980} } @article{Zloo81a, Author = {M.M. Zloof}, Journal = {IEEE Computer 14}, Keywords = {oislit qbe sba}, Month = may, Pages = {13--22}, Title = {{QBE}/{OBE}: {A} Language for Office and Business Automation}, Year = {1981} } @article{Zloo82a, Author = {M.M. Zloof}, Journal = {IBM System Journal}, Keywords = {oislit sba mail}, Number = {3}, Pages = {272--304}, Title = {Office-by-Example: {A} Business Language that Unifies Data and Word Processing and Electronic Mail}, Volume = {21}, Year = {1982} } @article{Zobe98a, Author = {Justin Zobel and Alistair Moffat}, Journal = {ACM SIGIR Forum}, Keywords = {text retrieval}, Number = {1}, Pages = {18--34}, Title = {Exploring the Similarity Space}, Volume = {32}, Year = {1998} } @article{Zobe01a, Author = {Justin Zobel and Steffen Heinz and Hugh E. Williams}, Doi = {10.1016/S0020-0190(01)00239-3}, Issn = {0020-0190}, Journal = {Inf. Process. Lett.}, Number = {6}, Pages = {271--277}, Publisher = {Elsevier North-Holland, Inc.}, Title = {In-memory hash tables for accumulating text vocabularies}, Volume = {80}, Year = {2001}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/S0020-0190(01)00239-3} } @book{Zobe04a, Author = {J. Zobel}, Edition = {Second}, Isbn = {1-85233-802-4}, Keywords = {book scglib}, Publisher = {Springer-Verlag}, Title = {Writing for Computer Science}, Year = {2004} } @inproceedings{Zou03a, Address = {Los Alamitos CA}, Author = {Lijie Zou and Michael Godfrey}, Booktitle = {Proceedings 10th Working Conference on Reverse Engineering (WCRE '03)}, Keywords = {olit evolution}, Month = nov, Pages = {146--154}, Publisher = {IEEE Computer Society Press}, Title = {Detecting Merging and Splitting using Origin Analysis}, Url = {http://plg.uwaterloo.ca/~migod/papers/}, Year = {2003}, Bdsk-Url-1 = {http://plg.uwaterloo.ca/~migod/papers/} } @article{Zou05a, Address = {Piscataway, NJ, USA}, Author = {Lijie Zou and Michael Godfrey}, Doi = {10.1109/TSE.2005.28}, Issn = {0098-5589}, Journal = {IEEE Transactions on Software Engineering}, Keywords = {evolution}, Number = {2}, Pages = {166--181}, Publisher = {IEEE Press}, Title = {Using Origin Analysis to Detect Merging and Splitting of Source Code Entities}, Volume = {31}, Year = {2005}, Bdsk-Url-1 = {http://dx.doi.org/10.1109/TSE.2005.28} } @article{Zucc07a, Author = {Giovanni Lagorio and Elena Zucca}, Journal = {Journal of Object Technology}, Month = feb, Number = {2}, Pages = {71 -- 100}, Title = {Just: safe unknown types in Java-like languages}, Url = {http://www.jot.fm//issues/issue_2007_02/article4.pdf}, Volume = {6}, Year = {2007}, Bdsk-Url-1 = {http://www.jot.fm//issues/issue_2007_02/article4.pdf} } @techreport{Zuer01a, Author = {Martin Z\"urcher}, Institution = {University of Bern}, Keywords = {scg-ip skip-abstract jb-none}, Month = may, Title = {Training {IT} \& Operations}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Zuer01a.pdf}, Year = {2001}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Zuer01a.pdf} } @book{Zull98a, Author = {Heinz Zuellighoven}, Keywords = {olit scglib}, Publisher = {dpunkt Verlag}, Title = {Das objektorientierte Konstruktionshandbuch}, Year = {1998} } @mastersthesis{Zumk07a, 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.}, Author = {Pascal Zumkehr}, Keywords = {scg-msc scg-pub skip-doi snf07 jb07}, Month = feb, School = {University of Bern}, Title = {Changeboxes --- Modeling Change as a First-Class Entity}, Type = {Master's thesis}, Url = {http://scg.unibe.ch/archive/masters/Zumk07a.pdf}, Year = {2007}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/masters/Zumk07a.pdf} } @inproceedings{Zund96a, Author = {A. Z{\"u}ndorf}, Booktitle = {Proc. Fifth Intl. Workshop on Graph Grammars and Their Application to Comp. Sci.}, Pages = {454--468}, Publisher = {Springer}, Title = {Graph pattern matching in PROGRES}, Url = {http://citeseer.nj.nec.com/zundorf96graph.html}, Volume = {1073}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.nj.nec.com/zundorf96graph.html} } @techreport{Zurb03a, Author = {Reto Zurbuchen}, Institution = {University of Bern}, Keywords = {snf-none scg-ip skip-abstract jb04}, Month = aug, Title = {Stroke Datenbank}, Type = {Informatikprojekt}, Url = {http://scg.unibe.ch/archive/projects/Zurb03a.pdf}, Year = {2003}, Bdsk-Url-1 = {http://scg.unibe.ch/archive/projects/Zurb03a.pdf} } @book{Zuse90a, Author = {Horst Zuse}, Keywords = {book scglib}, Publisher = {Walter De Gruyter}, Title = {Software Complexity, Measures and Methods}, Year = {1990} } @book{Zwie89a, Author = {J. Zwiers}, Keywords = {concurrency tnp}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Compositionality, Concurrency and Partial Correctness}, Volume = {321}, Year = {1989} } @misc{inCode, Author = {inCode}, Key = {inCode}, Note = {http://www.intooitus.com/inCode.html}, Title = {{inCode} --- Eclipse plugin for code analysis}, Url = {http://www.intooitus.com/inCode.html}, Year = {2009}, Bdsk-Url-1 = {http://www.intooitus.com/inCode.html} }